type issues during build

While deploying<EMAIL_ADDRESS>I've noticed that a strange error pops while trying to build the module with<EMAIL_ADDRESS>This is easily reproducible by checking out the dev branch before reverting back to 14.0.0 here, then doing:
pnpm install && pnpm dev:prepare && pnpm prepack

The following error comes up
><EMAIL_ADDRESS>prepack A:\github\Intevel\nuxt-directus
> nuxt-module-build build

ℹ Building nuxt-directus-next                                                                                20:10:20
ℹ Cleaning dist directory: ./dist                                                                                20:10:20
src/runtime/composables/use-directus-files.ts(21,17): error TS7056: The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed.
src/runtime/composables/use-directus-notifications.ts(21,17): error TS7056: The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed.
src/runtime/composables/use-directus-revisions.ts(15,17): error TS7056: The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed.
src/runtime/composables/use-directus-users.ts(33,17): error TS7056: The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed.

 ERROR  Failed to compile. Check the logs above.                                                                                20:10:25

  at error (/A:/github/Intevel/nuxt-directus/node_modules/.pnpm/rollup@3.29.4/node_modules/rollup/dist/es/shared/node-entry.js:2287:30)
  at Object.error (/A:/github/Intevel/nuxt-directus/node_modules/.pnpm/rollup@3.29.4/node_modules/rollup/dist/es/shared/node-entry.js:25351:20)
  at Object.error (/A:/github/Intevel/nuxt-directus/node_modules/.pnpm/rollup@3.29.4/node_modules/rollup/dist/es/shared/node-entry.js:24472:42)
  at generateDtsFromTs (/A:/github/Intevel/nuxt-directus/node_modules/.pnpm/rollup-plugin-dts@6.1.0_rollup@3.29.4_typescript@5.3.3/node_modules/rollup-plugin-dts/dist/rollup-plugin-dts.mjs:1833:30)
  at Object.transform (/A:/github/Intevel/nuxt-directus/node_modules/.pnpm/rollup-plugin-dts@6.1.0_rollup@3.29.4_typescript@5.3.3/node_modules/rollup-plugin-dts/dist/rollup-plugin-dts.mjs:1842:38)
  at /A:/github/Intevel/nuxt-directus/node_modules/.pnpm/rollup@3.29.4/node_modules/rollup/dist/es/shared/node-entry.js:25544:40
  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

 ERROR  Failed to compile. Check the logs above.                                                                                20:10:25

 ELIFECYCLE  Command failed with exit code 1.

While checking out those files the only thing that I could find in common was that they had a number of types like this one:
id: DirectusRevision<TSchema>['id']

And if I try in fact to change TSchema with a generic any (to those affected functions as well their related clients), the error goes away and builds successfully.

Maybe you have found this already, but there is a type import change from sdk v14 to v15: https://github.com/directus/directus/commit/a7e32f386e15d247c5de731aceab5d4ea4ed019e. Maybe the directus sdk imports need to be updated? And yes, this is somewhat related to #244 . 😄

Note to myself: double check if this helps.

released with<EMAIL_ADDRESS>

With #250 it is clear that this issue isn't fully solved yet, but now the main limitation comes from nuxt during build

With #250 it is clear that this issue isn't fully solved yet, but now the main limitation comes from nuxt during build

I'm closing this for now, since not only<EMAIL_ADDRESS>does solve the last few issues related to #250, but also I'm starting to think of an environment issue that I'm using to build the module (Win11Pro 23H2-22631.3296<EMAIL_ADDRESS>node@20.11.1).
Currently I don't have much time to debug it further.


SDK generation from TypeSpec for CLU

Generating the SDK for CLU from TypeSpec

API change check
API changes are not detected in this pull request.

@m-nash I am currently working on migrating the CLU SDK to TypeSpec, but I have been running into a few issues when trying to generate code. When running the command "dotnet build /t:GenerateCode" I ran into this error:

Do you have any insight on how to solve this?
This is the complete command output:

MSBuild version 17.6.3+07e294721 for .NET
Determining projects to restore...
All projects are up-to-date for restore.
Using module powershell-yaml with version 0.4.7.
Reading configuration from C:\Users\t-kingzach\Documents\SDK\azure-sdk-for-net\sdk\cognitivelanguage\Azure.AI.Language.Conversations\tsp-location.yaml
Checking remote origin        https://github.com/Zach-King2/azure-sdk-for-net.git (fetch)
Found git remote https://github.com/Zach-King2/azure-rest-api-specs.git
from tsplocation.yaml 'repo' is: Zach-King2/azure-rest-api-specs
Setting up sparse clone for Azure.AI.Language.Conversations at C:\Users\t-kingzach\Documents\SDK\sparse-spec\Azure.AI.Language.Conversations
Updating sparse checkout file with directory:specification/cognitiveservices/Language.Conversations
git checkout commit: e57839dc71bb80d16a8038eb3829ed4d4b2cc466
EXEC : warning : unrecognized pattern: 'specification/cognitiveservices/Language.Conversations' [C:\Users\t-kingzach\Documents\SDK\azure-sdk-for-net\sdk\cognitivelanguage\Azure.AI.Language.Conversations\src\Azure.AI.Language.Conversations.csproj]
EXEC : warning : disabling cone pattern matching [C:\Users\t-kingzach\Documents\SDK\azure-sdk-for-net\sdk\cognitivelanguage\Azure.AI.Language.Conversations\src\Azure.AI.Language.Conversations.csproj]
HEAD is now at e57839dc71 added csharp emitter
Copying spec from C:\Users\t-kingzach\Documents\SDK\sparse-spec\Azure.AI.Language.Conversations\specification\cognitiveservices\Language.Conversations to C:\Users\t-kingzach\Documents\SDK\azure-sdk-for-net\sdk\cognitivelanguage\Azure.AI.Language.Conversations\src/../TempTypeSpecFi
les
Using module powershell-yaml with version 0.4.7.
Reading configuration from C:\Users\t-kingzach\Documents\SDK\azure-sdk-for-net\sdk\cognitivelanguage\Azure.AI.Language.Conversations\tsp-location.yaml
Generating from C:\Users\t-kingzach\Documents\SDK\azure-sdk-for-net\sdk\cognitivelanguage\Azure.AI.Language.Conversations\TempTypeSpecFiles\Language.Conversations
Copying package.json from C:\Users\t-kingzach\Documents\SDK\azure-sdk-for-net\eng\common\scripts....\emitter-package.json
added 295 packages, and audited 296 packages in 11s
56 packages are looking for funding
run npm fund for details
found 0 vulnerabilities
npx tsp compile C:\Users\t-kingzach\Documents\SDK\azure-sdk-for-net\sdk\cognitivelanguage\Azure.AI.Language.Conversations\TempTypeSpecFiles\Language.Conversations\client.tsp --emit @azure-tools/typespec-csharp --option @azure-tools/typespec-csharp.emitter-output-dir=C:\Users\t-kin
gzach\Documents\SDK\azure-sdk-for-net\sdk\cognitivelanguage\Azure.AI.Language.Conversations/src
TypeSpec compiler v0.46.0
{"level":"info","message":"routes:1"}
{"level":"info","message":"load operation: analyzeConversation, path:/language/:analyze-conversations "}
{"level":"info","message":"Checking if C:/Users/t-kingzach/Documents/SDK/azure-sdk-for-net/sdk/cognitivelanguage/Azure.AI.Language.Conversations/src/Azure.AI.Language.Conversations.csproj exists"}
{"level":"info","message":"dotnet --roll-forward Major<EMAIL_ADDRESS>--project-path C:/Users/t-kin
gzach/Documents/SDK/azure-sdk-for-net/sdk/cognitivelanguage/Azure.AI.Language.Conversations/src   --clear-output-folder true"}
Unhandled exception. System.NotSupportedException: No deserialization logic exists for ConversationalTaskResult
at AutoRest.CSharp.Generation.Writers.JsonCodeWriterExtensions.GetDeserializeImplementationFormattable(TypeProvider implementation, FormattableString element, JsonSerializationOptions options) in D:\a_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Generation\Writers\JsonC
odeWriterExtensions.cs:line 816
at AutoRest.CSharp.Generation.Writers.SerializationWriter.WriteJsonDeserialize(CodeWriter writer, TypeDeclarationOptions declaration, JsonObjectSerialization serialization) in D:\a_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Generation\Writers\SerializationWriter.cs:li
ne 205
at AutoRest.CSharp.Generation.Writers.SerializationWriter.WriteObjectSerialization(CodeWriter writer, SerializableObjectType model, TypeDeclarationOptions declaration, JsonObjectSerialization jsonSerialization, XmlObjectSerialization xmlSerialization, Boolean isStruct, Boolean
includeSerializer, Boolean includeDeserializer) in D:\a_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Generation\Writers\SerializationWriter.cs:line 100
at AutoRest.CSharp.Generation.Writers.SerializationWriter.WriteObjectSerialization(CodeWriter writer, SerializableObjectType model) in D:\a_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Generation\Writers\SerializationWriter.cs:line 45
at AutoRest.CSharp.Generation.Writers.SerializationWriter.WriteSerialization(CodeWriter writer, TypeProvider schema) in D:\a_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Generation\Writers\SerializationWriter.cs:line 35
at AutoRest.CSharp.AutoRest.Plugins.LowLevelTarget.ExecuteAsync(GeneratedCodeWorkspace project, InputNamespace inputNamespace, SourceInputModel sourceInputModel, Boolean isTspInput) in D:\a_work\1\s\autorest.csharp\src\AutoRest.CSharp\LowLevel\AutoRest\LowLevelTarget.cs:line 3
2
at AutoRest.CSharp.AutoRest.Plugins.CSharpGen.ExecuteAsync(InputNamespace rootNamespace) in D:\a_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\AutoRest\Plugins\CSharpGen.cs:line 59
at AutoRest.CSharp.AutoRest.Communication.StandaloneGeneratorRunner.RunAsync(CommandLineOptions options) in D:\a_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\AutoRest\Communication\StandaloneGeneratorRunner.cs:line 51
at AutoRest.CSharp.Program.Run(CommandLineOptions options) in D:\a_work\1\s\autorest.csharp\src\AutoRest.CSharp\Program.cs:line 47
at AutoRest.CSharp.Program.<>c.<b__2_0>d.MoveNext() in D:\a_work\1\s\autorest.csharp\src\AutoRest.CSharp\Program.cs:line 29
--- End of stack trace from previous location ---
at AutoRest.CSharp.Program.Main(String[] args) in D:\a_work\1\s\autorest.csharp\src\AutoRest.CSharp\Program.cs:line 26
at AutoRest.CSharp.Program.(String[] args)
{"level":"info","message":"Command failed: dotnet --roll-forward Major<EMAIL_ADDRESS>--project-pat
h C:/Users/t-kingzach/Documents/SDK/azure-sdk-for-net/sdk/cognitivelanguage/Azure.AI.Language.Conversations/src   --clear-output-folder true"}
ExternalError: Emitter "@azure-tools/typespec-csharp" failed!
File issue at https://github.com/Azure/autorest.csharp/issues
EXEC : error : Command failed: dotnet --roll-forward Major<EMAIL_ADDRESS>--project-path C:/Users/t-k
ingzach/Documents/SDK/azure-sdk-for-net/sdk/cognitivelanguage/Azure.AI.Language.Conversations/src   --clear-output-folder true [C:\Users\t-kingzach\Documents\SDK\azure-sdk-for-net\sdk\cognitivelanguage\Azure.AI.Language.Conversations\src\Azure.AI.Language.Conversations.csproj]
at checkExecSyncError (node:child_process:885:11)
at execSync (node:child_process:957:15)
at Object.$onEmit [as emitFunction] (file:///C:/Users/t-kingzach/Documents/SDK/azure-sdk-for-net/sdk/cognitivelanguage/Azure.AI.Language.Conversations/TempTypeSpecFiles/Language.Conversations/node_modules/@azure-tools/typespec-csharp/dist/src/emitter.js:105:21)
at async runEmitter (file:///C:/Users/t-kingzach/Documents/SDK/azure-sdk-for-net/sdk/cognitivelanguage/Azure.AI.Language.Conversations/TempTypeSpecFiles/Language.Conversations/node_modules/@typespec/compiler/dist/src/core/program.js:563:13)
at async compile (file:///C:/Users/t-kingzach/Documents/SDK/azure-sdk-for-net/sdk/cognitivelanguage/Azure.AI.Language.Conversations/TempTypeSpecFiles/Language.Conversations/node_modules/@typespec/compiler/dist/src/core/program.js:257:9)
at async Object.handler (file:///C:/Users/t-kingzach/Documents/SDK/azure-sdk-for-net/sdk/cognitivelanguage/Azure.AI.Language.Conversations/TempTypeSpecFiles/Language.Conversations/node_modules/@typespec/compiler/dist/src/core/cli/cli.js:125:25)
at checkExecSyncError (node:child_process:885:11)
at execSync (node:child_process:957:15)
at Object.$onEmit [as emitFunction] (file:///C:/Users/t-kingzach/Documents/SDK/azure-sdk-for-net/sdk/cognitivelanguage/Azure.AI.Language.Conversations/TempTypeSpecFiles/Language.Conversations/node_modules/@azure-tools/typespec-csharp/dist/src/emitter.js:105:21)
  at async runEmitter (file:///C:/Users/t-kingzach/Documents/SDK/azure-sdk-for-net/sdk/cognitivelanguage/Azure.AI.Language.Conversations/TempTypeSpecFiles/Language.Conversations/node_modules/@typespec/compiler/dist/src/core/program.js:563:13)
  at async compile (file:///C:/Users/t-kingzach/Documents/SDK/azure-sdk-for-net/sdk/cognitivelanguage/Azure.AI.Language.Conversations/TempTypeSpecFiles/Language.Conversations/node_modules/@typespec/compiler/dist/src/core      at execSync (node:child_process:957:15)
  at Object.$onEmit [as emitFunction] (file:///C:/Users/t-kingzach/Documents/SDK/azure-sdk-for-net/sdk/cognitivelanguage/Azure.AI.Language.Conversations/TempTypeSpecFiles/Language.Conversations/node_modules/@azure-tools/typespec-csharp/dist/src/emitter.js:105:21)
  at async runEmitter (file:///C:/Users/t-kingzach/Documents/SDK/azure-sdk-for-net/sdk/cognitivelanguage/Azure.AI.Language.Conversations/TempTypeSpecFiles/Language.Conversations/node_modules/@typespec/compiler/dist/src/core/program.js:563:13)
  at async compile (file:///C:/Users/t-kingzach/Documents/SDK/azure-sdk-for-net/sdk/cognitivelanguage/Azure.AI.Language.Conversations/TempTypeSpecFiles/Language.Conversations/node_modules/@typespec/compiler/dist/src/core/program.js:257:9)
  at async Object.handler (file:///C:/Users/t-kingzach/Documents/SDK/azure-sdk-for-net/sdk/cognitivelanguage/Azure.AI.Language.Conversations/TempTypeSpecFiles/Language.Conversations/node_modules/@typespec/compiler/dist/src/core/cli/cli.js:125:25)
  at runEmitter (file:///C:/Users/t-kingzach/Documents/SDK/azure-sdk-for-net/sdk/cognitivelanguage/Azure.AI.Language.Conversations/TempTypeSpecFiles/Language.Conversations/node_modules/@typespec/compiler/dist/src/core/program.js:583:19)
  at async compile (file:///C:/Users/t-kingzach/Documents/SDK/azure-sdk-for-net/sdk/cognitivelanguage/Azure.AI.Language.Conversations/TempTypeSpecFiles/Language.Conversations/node_modules/@typespec/compiler/dist/src/core/program.js:257:9)
  at async Object.handler (file:///C:/Users/t-kingzach/Documents/SDK/azure-sdk-for-net/sdk/cognitivelanguage/Azure.AI.Language.Conversations/TempTypeSpecFiles/Language.Conversations/node_modules/@typespec/compiler/dist/src/core/cli/cli.js:125:25)

C:\Users\t-kingzach.nuget\packages\microsoft.azure.autorest.csharp\3.0.0-beta.20230717.1\buildMultiTargeting\Microsoft.Azure.AutoRest.CSharp.targets(60,5): error MSB3073: The command "pwsh -NoProfile -NonInteractive -executionpolicy Unrestricted -File C:\Users\t-kingzach\Documents
SDK\azure-sdk-for-net\sdk\cognitivelanguage\Azure.AI.Language.Conversations\src/../../../../eng/common/scripts/TypeSpec-Project-Generate.ps1 C:\Users\t-kingzach\Documents\SDK\azure-sdk-for-net\sdk\cognitivelanguage\Azure.AI.Language.Conversations\src/..  " exited with code 1. [C:\Us
ers\t-kingzach\Documents\SDK\azure-sdk-for-net\sdk\cognitivelanguage\Azure.AI.Language.Conversations\src\Azure.AI.Language.Conversations.csproj]
Build FAILED.
EXEC : warning : unrecognized pattern: 'specification/cognitiveservices/Language.Conversations' [C:\Users\t-kingzach\Documents\SDK\azure-sdk-for-net\sdk\cognitivelanguage\Azure.AI.Language.Conversations\src\Azure.AI.Language.Conversations.csproj]
EXEC : warning : disabling cone pattern matching [C:\Users\t-kingzach\Documents\SDK\azure-sdk-for-net\sdk\cognitivelanguage\Azure.AI.Language.Conversations\src\Azure.AI.Language.Conversations.csproj]
EXEC : error : Command failed: dotnet --roll-forward Major<EMAIL_ADDRESS>--project-path C:/Users/t-k
ingzach/Documents/SDK/azure-sdk-for-net/sdk/cognitivelanguage/Azure.AI.Language.Conversations/src   --clear-output-folder true [C:\Users\t-kingzach\Documents\SDK\azure-sdk-for-net\sdk\cognitivelanguage\Azure.AI.Language.Conversations\src\Azure.AI.Language.Conversations.csproj]
C:\Users\t-kingzach.nuget\packages\microsoft.azure.autorest.csharp\3.0.0-beta.20230717.1\buildMultiTargeting\Microsoft.Azure.AutoRest.CSharp.targets(60,5): error MSB3073: The command "pwsh -NoProfile -NonInteractive -executionpolicy Unrestricted -File C:\Users\t-kingzach\Documents
SDK\azure-sdk-for-net\sdk\cognitivelanguage\Azure.AI.Language.Conversations\src/../../../../eng/common/scripts/TypeSpec-Project-Generate.ps1 C:\Users\t-kingzach\Documents\SDK\azure-sdk-for-net\sdk\cognitivelanguage\Azure.AI.Language.Conversations\src/..  " exited with code 1. [C:\Us
ers\t-kingzach\Documents\SDK\azure-sdk-for-net\sdk\cognitivelanguage\Azure.AI.Language.Conversations\src\Azure.AI.Language.Conversations.csproj]
2 Warning(s)
2 Error(s)

@chunyu3, @lirenhe, @m-nash, @AlexanderSher:  The failure looks generator-related and we could use some help diagnosing how to fix/work-around.   There is some time-sensitivity here, so your expertise would be greatly appreciated.
Would one of you please assist?

No deserialization logic exists for ConversationalTaskResult

Hello @jsquire The root cause is the usage of Model ConversationalTaskResult is none.

Thank you, @chunyu3!

@chunyu3 @m-nash that seems to have gotten @Zach-King2 further, but generated source is invalid. Take a look at .cs and object.cs.

@chunyu3 @m-nash that seems to have gotten @Zach-King2 further, but generated source is invalid. Take a look at .cs and object.cs.
hello @Zach-King2  @heaths
.cs file because there are anonymous models defined, see following. anonymous model is not supported, please provide a model name for it.

@doc("It is a wrap up of LUIS Generally Available response.")
model LuisTargetIntentResult extends TargetIntentResult {
  @doc("It is a wrap up of LUIS Generally Available response.")
  targetProjectKind: targetProjectKind.Luis;

  #suppress "@azure-tools/typespec-azure-core/bad-record-type" "LuisTargetIntentResult.result should not use ': Record<unknown>'. Use ': Record<string>' instead."
  @doc("The actual response from a LUIS Generally Available application.")
  result?: {};
}

object.cs file because a property metadata is defined as object type. Can you update to Record or something else, we will discuss whether or not and how to support build-in type object
model KnowledgeBaseAnswer {
    @doc("List of questions associated with the answer.")
    questions?: Array<string>;

    @doc("Answer text.")
    answer?: string;

    @doc("Answer confidence score, value ranges from 0 to 1.")
    @minValue(0)
    @maxValue(1)
    @projectedName("client", "confidence")
    confidenceScore?: float64;

    @doc("ID of the QnA result.")
    @projectedName("client", "qnaId")
    id?: int32;

    @doc("Source of QnA result.")
    source?: string;

    #suppress "deprecated" " Deprecated: object is deprecated. Please use {} for an empty model, `Record<unknown>` for a record with unknown property types, `unknown[]` for an array."
    @doc("Metadata associated with the answer, useful to categorize or filter question answers.")
    metadata?: object;

    @doc("Dialog associated with Answer.")
    dialog?: KnowledgeBaseAnswerDialog;

    @doc("Answer span object of QnA with respect to user's question.")
    @projectedName("client", "shortAnswer")
    answerSpan?: AnswerSpan;
}

Hello @Zach-King2  @heaths
There are some problems in the polymorphism definition.  Each polymorphism model should has distinct discriminator value.
In the spec, the base model has the same discriminator value with the derived model. see following example.
@doc("The base class of a conversation input task result.")
@discriminator("kind")
model AnalyzeConversationTaskResult {
  @doc("The base class of a conversation input task result.")
  kind: AnalyzeConversationTaskResultsKind.ConversationResult;
}

model ConversationalTaskResult extends AnalyzeConversationTaskResult {
  @doc("The results of a Conversation task.")
  kind: AnalyzeConversationTaskResultsKind.ConversationResult;

  @doc("Represents a conversation analysis response.")
  result: AnalyzeConversationResult;
}

You can define the base model without any discriminator as following
@doc("The base class of a conversation input task result.")
@discriminator("kind")
model AnalyzeConversationTaskResult {
  @doc("The base class of a conversation input task result.")
  kind: AnalyzeConversationTaskResultsKind;
}

.cs file because there are anonymous models defined, see following. anonymous model is not supported, please provide a model name for it.

@chunyu3 @m-nash that's valid JSON, and what we were told to use in this case. Seems like a bug in the emitter if valid, recommended TypeSpec can't be represented. This is intentionally not modeled because the service wants to declare "any valid JSON object". The TypeSpec team is actually meeting to discuss this and might add something like a json type to represent this, but for now they told us to use {} instead of unknown, which can be any valid JSON type e.g., object, array, or primitive.
This is blocking. /cc @jsquire

@Zach-King2 or @quentinRobinson can you make the changes noted here: https://github.com/Azure/azure-sdk-for-net/pull/37820#issuecomment-1669216976
I'll file a bug regarding the result?: {}, but for now you might also make that Record<unknown>. It's not ideal but will hopefully unblock. I'm pushing discussions of how we might solve this long-term.

@chunyu3 @m-nash even the suppress method says to use {}:

Deprecated: object is deprecated. Please use {} for an empty model, Record<unknown> for a record with unknown property types, unknown[] for an array.

While, long term, {} is probably not what we want, it's still valid TypeSpec. I'll file a bug, but I think we're going to want some new Json type we're discussing in our teams channel.

I opened https://github.com/Azure/autorest.csharp/issues/3653 to track the .cs file and invalid source, but I still think you should change this to Record<unknown> for now. We'll hopefully land on something better soon.

@Zach-King2 or @quentinRobinson can you make the changes noted here: #37820 (comment)
I'll file a bug regarding the result?: {}, but for now you might also make that Record<unknown>. It's not ideal but will hopefully unblock. I'm pushing discussions of how we might solve this long-term.

@heaths I just created a PR for this: https://github.com/Azure/azure-rest-api-specs/pull/25250

@chunyu3 Hello, we were able to clean up a bunch of the errors we were having before but now we are running into a new error.
{"level":"info","message":"dotnet --roll-forward Major<EMAIL_ADDRESS>--project-path C:/src/typespec/azure-sdk-for-net/sdk/cognitivelang
  uage/Azure.AI.Language.Conversations/src   --clear-output-folder true"}
  Unhandled exception. System.NotSupportedException: No deserialization logic exists for MultiLanguageConversationAnalysisInput
     at AutoRest.CSharp.Generation.Writers.JsonCodeWriterExtensions.GetDeserializeImplementationFormattable(TypeProvider implementation, FormattableString element, JsonSerializationOptions options) in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Generation\Writers\JsonCodeWriterExtensions
  .cs:line 833
     at AutoRest.CSharp.Generation.Writers.JsonCodeWriterExtensions.GetDeserializeValueFormattable(FormattableString element, CSharpType serializationType, SerializationFormat serializationFormat, JsonSerializationOptions serializationOptions) in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\Comm
  on\Generation\Writers\JsonCodeWriterExtensions.cs:line 691
     at AutoRest.CSharp.Generation.Writers.JsonCodeWriterExtensions.GetDeserializeValueFormattable(JsonValueSerialization serialization, FormattableString element) in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Generation\Writers\JsonCodeWriterExtensions.cs:line 671
     at AutoRest.CSharp.Generation.Writers.JsonCodeWriterExtensions.DeserializeValue(CodeWriter writer, JsonSerialization serialization, FormattableString element) in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Generation\Writers\JsonCodeWriterExtensions.cs:line 549
     at AutoRest.CSharp.Generation.Writers.JsonCodeWriterExtensions.DeserializeIntoObjectProperties(CodeWriter writer, IEnumerable`1 propertySerializations, FormattableString itemVariable, Dictionary`2 propertyVariables, Boolean shouldTreatEmptyStringAsNull) in D:\a\_work\1\s\autorest.csharp\src\AutoR
  est.CSharp\Common\Generation\Writers\JsonCodeWriterExtensions.cs:line 354
     at AutoRest.CSharp.Generation.Writers.JsonCodeWriterExtensions.WriteObjectInitialization(CodeWriter writer, JsonObjectSerialization serialization) in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Generation\Writers\JsonCodeWriterExtensions.cs:line 0
     at AutoRest.CSharp.Generation.Writers.SerializationWriter.WriteJsonDeserialize(CodeWriter writer, TypeDeclarationOptions declaration, JsonObjectSerialization serialization) in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Generation\Writers\SerializationWriter.cs:line 220
     at AutoRest.CSharp.Generation.Writers.SerializationWriter.WriteObjectSerialization(CodeWriter writer, SerializableObjectType model, TypeDeclarationOptions declaration, JsonObjectSerialization jsonSerialization, XmlObjectSerialization xmlSerialization, Boolean isStruct, Boolean includeSerializer,
  Boolean includeDeserializer) in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Generation\Writers\SerializationWriter.cs:line 100
     at AutoRest.CSharp.Generation.Writers.SerializationWriter.WriteObjectSerialization(CodeWriter writer, SerializableObjectType model) in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Generation\Writers\SerializationWriter.cs:line 45
     at AutoRest.CSharp.Generation.Writers.SerializationWriter.WriteSerialization(CodeWriter writer, TypeProvider schema) in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Generation\Writers\SerializationWriter.cs:line 35
     at AutoRest.CSharp.AutoRest.Plugins.LowLevelTarget.ExecuteAsync(GeneratedCodeWorkspace project, InputNamespace inputNamespace, SourceInputModel sourceInputModel, Boolean isTspInput) in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\LowLevel\AutoRest\LowLevelTarget.cs:line 33
     at AutoRest.CSharp.AutoRest.Plugins.CSharpGen.ExecuteAsync(InputNamespace rootNamespace) in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\AutoRest\Plugins\CSharpGen.cs:line 62
     at AutoRest.CSharp.AutoRest.Communication.StandaloneGeneratorRunner.RunAsync(CommandLineOptions options) in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\Common\AutoRest\Communication\StandaloneGeneratorRunner.cs:line 51
     at AutoRest.CSharp.Program.Run(CommandLineOptions options) in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\Program.cs:line 47
     at AutoRest.CSharp.Program.<>c.<<Main>b__2_0>d.MoveNext() in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\Program.cs:line 29
  --- End of stack trace from previous location ---
     at AutoRest.CSharp.Program.Main(String[] args) in D:\a\_work\1\s\autorest.csharp\src\AutoRest.CSharp\Program.cs:line 26
     at AutoRest.CSharp.Program.<Main>(String[] args)
  {"level":"info","message":"Command failed: dotnet --roll-forward Major<EMAIL_ADDRESS>--project-path C:/src/typespec/azure-sdk-for-net/s
  dk/cognitivelanguage/Azure.AI.Language.Conversations/src   --clear-output-folder true"}
  Emitter "@azure-tools/typespec-csharp" crashed! This is a bug.
  Please file an issue at https://github.com/Azure/autorest.csharp/issues

The error goes away if we set @convenientAPI(false)
#suppress "@azure-tools/typespec-azure-core/no-operation-id" "Operation ID is automatically generated by the OpenAPI emitters and should not normally be specified."
@added(Versions.v2023_04_01)
@doc("Analyzes the input conversation utterance.")
@pollingOperation(analyzeConversationJobStatus)
@convenientAPI(false)
op analyzeConversationSubmitJob is Operations.LongRunningResourceCreateWithServiceProvidedName<AnalyzeConversationJobsInput>;

#suppress "@azure-tools/typespec-azure-core/no-operation-id" "Operation ID is automatically generated by the OpenAPI emitters and should not normally be specified."
@added(Versions.v2023_04_01)
@doc("Cancel a long-running job for text analysis of conversations.")
@summary("Cancel a long-running Text Analysis conversations job")
@pollingOperation(analyzeConversationJobStatus)
@actionSeparator(":")
@convenientAPI(false)
@action("cancel")
op analyzeConversationCancelJob is Operations.LongRunningResourceDelete<AnalyzeConversationJobState, TypeSpec.Http.AcceptedResponse>;


Retrieve image text pairs

[3/3] Retrieve complement candidates when enabled in config. The complement candidate of an original retrieved candidate has a complement modality so that candidate and complement candidate are always image-text pairs.
The complement candidate for each original candidate is retrieved by using the original candidate as an interactive query.
The complement candidate is the top most relevant candidate with complement modality but different from the original query.

Thank you for your contributions! I noticed that the InteractiveRetriever requires a pre-built candidate index file to function correctly. To assist users with this setup, could we consider adding a script, such as bash run_interactive_retriever_pipeline.sh, that demonstrates the entire pipeline? This script would cover embedding, indexing, and loading the index for the interactive retriever and retrieve demo queries. Additionally, incorporating a step-by-step guide in the README could greatly enhance the user experience.

@lim142857 I applied the requested changes, PTAL


Use license

I want to use your technology to build a website to help people modify pictures. I won't use it for revenue. I'll point out the source. Can I get your permission?I will be deeply grateful。

Hi! Thank you for your interest! Main code in this repo is licensed under Apache-2.0, which is very permissive - so you can assemble an app based on it.
Btw, there is a very good and free app based on LaMa Inpainting - https://cleanup.pictures/ - maybe it already satisfies your needs?

Thank you for your reply!I'll try the program you recommend.

@18201117 if you make the website, please share the link with us.


RNN Example not supported for MXNet Scala

This model has not been updated since 2017/07, the RNN example for LstmBucketing is no longer runnable.
Please contribute to RNN support on Scala for the current version. If you would like to run this example for now, please revert your MXNet version to v0.12.
In summary, I suspect that some operator changes caused this issue.

[ ] LstmBucketing
[ ] TestCharRnn
[x] TrainCharRNN

Please contact @lanking520 or @nswamy if you would like to dig in and fix this problem. The following is a way to reproduce the issues I found:
LSTM Bucketing
Setup
Download the required ptb file from here:
wget https://raw.githubusercontent.com/dmlc/web-data/master/mxnet/ptb/ptb.train.txt
wget https://raw.githubusercontent.com/dmlc/web-data/master/mxnet/ptb/ptb.valid.txt

You can use this script to run the model
or manually identify the file path by following this
Additional step to get it work
Please add the follows to IO.scala
if (shapes.toIndexedSeq(0)._2.length == 2) {
   shapes.map { case (k, s) => new DataDesc(k, s, layout = "NT") }.toIndexedSeq
}
else shapes.map { case (k, s) => new DataDesc(k, s) }.toIndexedSeq

Problem that I found
Segmentation fault caused by C++ backend
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x000000012d026fd8, pid=56081, tid=0x0000000000000e03
#
# JRE version: Java(TM) SE Runtime Environment (8.0_171-b11) (build 1.8.0_171-b11)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.171-b11 mixed mode bsd-amd64 compressed oops)
# Problematic frame:
# C  [mxnet-scala+0x120afd8]
[error occurred during error reporting (printing problematic frame), id 0xe0000000]

# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /Users/qingla/Downloads/ITJ-Proj/hs_err_pid56081.log
Compiled method (nm)    2499 1793     n 0       org.apache.mxnet.LibInfo::mxNDArrayGetShape (native)
 total in heap  [0x00000001133e7c50,0x00000001133e7fc0] = 880
 relocation     [0x00000001133e7d78,0x00000001133e7db8] = 64
 main code      [0x00000001133e7dc0,0x00000001133e7fb8] = 504
 oops           [0x00000001133e7fb8,0x00000001133e7fc0] = 8
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

Process finished with exit code 134 (interrupted by signal 6: SIGABRT)

NDArray size mismatch
2018-07-05 14:20:37,771 [main] [org.apache.mxnet.examples.rnn.LstmBucketing] [ERROR] - requirement failed: array size (320) do not match the size of NDArray (1)
java.lang.IllegalArgumentException: requirement failed: array size (320) do not match the size of NDArray (1)
	at scala.Predef$.require(Predef.scala:224)
	at org.apache.mxnet.NDArray.syncCopyfrom(NDArray.scala:623)
	at org.apache.mxnet.NDArray.set(NDArray.scala:755)
	at org.apache.mxnet.examples.rnn.BucketIo$BucketSentenceIter.next(BucketIo.scala:185)
	at org.apache.mxnet.module.BaseModule$$anonfun$fit$1.apply$mcVI$sp(BaseModule.scala:417)
	at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:160)
	at org.apache.mxnet.module.BaseModule.fit(BaseModule.scala:411)
	at org.apache.mxnet.examples.rnn.LstmBucketing$.main(LstmBucketing.scala:118)
	at org.apache.mxnet.examples.rnn.LstmBucketing.main(LstmBucketing.scala)

Data name not the same
2018-07-05 14:41:46,508 [main] [org.apache.mxnet.examples.rnn.LstmBucketing] [ERROR] - Data provided by data_shapes don't match names specified by data_names (DataDesc[data,(32,20),float32,NT], DataDesc[l0_init_c_beta,(32,200),float32,NT], DataDesc[l1_init_c_beta,(32,200),float32,NT], DataDesc[l0_init_h_beta,(32,200),float32,NT], DataDesc[l1_init_h_beta,(32,200),float32,NT] vs. data)
java.lang.IllegalArgumentException: Data provided by data_shapes don't match names specified by data_names (DataDesc[data,(32,20),float32,NT], DataDesc[l0_init_c_beta,(32,200),float32,NT], DataDesc[l1_init_c_beta,(32,200),float32,NT], DataDesc[l0_init_h_beta,(32,200),float32,NT], DataDesc[l1_init_h_beta,(32,200),float32,NT] vs. data)
	at org.apache.mxnet.module.Module._checkNamesMatch(Module.scala:317)
	at org.apache.mxnet.module.Module._parseDataDesc(Module.scala:329)
	at org.apache.mxnet.module.Module.reshape(Module.scala:342)
	at org.apache.mxnet.module.Module.forward(Module.scala:450)
	at org.apache.mxnet.module.BucketingModule.forward(BucketingModule.scala:314)
	at org.apache.mxnet.module.BaseModule.forwardBackward(BaseModule.scala:153)
	at org.apache.mxnet.module.BaseModule$$anonfun$fit$1.apply$mcVI$sp(BaseModule.scala:420)
	at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:160)
	at org.apache.mxnet.module.BaseModule.fit(BaseModule.scala:411)
	at org.apache.mxnet.examples.rnn.LstmBucketing$.main(LstmBucketing.scala:118)
	at org.apache.mxnet.examples.rnn.LstmBucketing.main(LstmBucketing.scala)
2018-07-05 14:41:46,516 [Thread-0] [org.apache.mxnet.util.NativeLibraryLoader] [INFO] - Deleting /var/folders/qy/41_sjvss273_xcdjd_y74rzmzrh5b6/T/mxnet7527817581344011515/mxnet-scala
 --cpus VAL            : the cpus will be used, e.g. '0,1,2,3'
2018-07-05 14:41:46,516 [Thread-0] [org.apache.mxnet.util.NativeLibraryLoader] [INFO] - Deleting /var/folders/qy/41_sjvss273_xcdjd_y74rzmzrh5b6/T/mxnet7527817581344011515

TestCharRNN
Please follow this tutorial
The problem I have
2018-07-05 15:49:03,982 [main] [org.apache.mxnet.examples.rnn.TrainCharRnn] [ERROR] - [15:49:03] src/operator/contrib/../tensor/../elemwise_op_common.h:123: Check failed: assign(&dattr, (*vec)[i]) Incompatible attr in node  at 0-th output: expected [84,256], got [83,256]

Stack trace returned 10 entries:
[bt] (0) 0   mxnet-scala                         0x00000001287b0420 mxnet-scala + 25632
[bt] (1) 1   mxnet-scala                         0x00000001287b01cf mxnet-scala + 25039
[bt] (2) 2   mxnet-scala                         0x00000001288c2093 mxnet-scala + 1147027
[bt] (3) 3   mxnet-scala                         0x00000001288c1d16 mxnet-scala + 1146134
[bt] (4) 4   mxnet-scala                         0x00000001288c023b mxnet-scala + 1139259
[bt] (5) 5   mxnet-scala                         0x0000000129a83a41 mxnet-scala + 19765825
[bt] (6) 6   mxnet-scala                         0x0000000129a82439 mxnet-scala + 19760185
[bt] (7) 7   mxnet-scala                         0x00000001299d2745 mxnet-scala + 19040069
[bt] (8) 8   mxnet-scala                         0x00000001299d3707 mxnet-scala + 19044103
[bt] (9) 9   mxnet-scala                         0x000000012a01ae68 Java_org_apache_mxnet_LibInfo_mxImperativeInvoke + 424

org.apache.mxnet.MXNetError: [15:49:03] src/operator/contrib/../tensor/../elemwise_op_common.h:123: Check failed: assign(&dattr, (*vec)[i]) Incompatible attr in node  at 0-th output: expected [84,256], got [83,256]

Stack trace returned 10 entries:
[bt] (0) 0   mxnet-scala                         0x00000001287b0420 mxnet-scala + 25632
[bt] (1) 1   mxnet-scala                         0x00000001287b01cf mxnet-scala + 25039
[bt] (2) 2   mxnet-scala                         0x00000001288c2093 mxnet-scala + 1147027
[bt] (3) 3   mxnet-scala                         0x00000001288c1d16 mxnet-scala + 1146134
[bt] (4) 4   mxnet-scala                         0x00000001288c023b mxnet-scala + 1139259
[bt] (5) 5   mxnet-scala                         0x0000000129a83a41 mxnet-scala + 19765825
[bt] (6) 6   mxnet-scala                         0x0000000129a82439 mxnet-scala + 19760185
[bt] (7) 7   mxnet-scala                         0x00000001299d2745 mxnet-scala + 19040069
[bt] (8) 8   mxnet-scala                         0x00000001299d3707 mxnet-scala + 19044103
[bt] (9) 9   mxnet-scala                         0x000000012a01ae68 Java_org_apache_mxnet_LibInfo_mxImperativeInvoke + 424

	at org.apache.mxnet.Base$.checkCall(Base.scala:131)
	at org.apache.mxnet.NDArray$.genericNDArrayFunctionInvoke(NDArray.scala:101)
	at org.apache.mxnet.NDArray.copyTo(NDArray.scala:968)
	at org.apache.mxnet.examples.rnn.RnnModel$LSTMInferenceModel$$anonfun$3.apply(RnnModel.scala:44)
	at org.apache.mxnet.examples.rnn.RnnModel$LSTMInferenceModel$$anonfun$3.apply(RnnModel.scala:42)
	at scala.collection.Iterator$class.foreach(Iterator.scala:893)
	at scala.collection.AbstractIterator.foreach(Iterator.scala:1336)
	at scala.collection.MapLike$DefaultKeySet.foreach(MapLike.scala:174)
	at org.apache.mxnet.examples.rnn.RnnModel$LSTMInferenceModel.<init>(RnnModel.scala:42)
	at org.apache.mxnet.examples.rnn.TestCharRnn$.main(TestCharRnn.scala:62)
	at org.apache.mxnet.examples.rnn.TestCharRnn.main(TestCharRnn.scala)
2018-07-05 15:49:03,988 [Thread-0] [org.apache.mxnet.util.NativeLibraryLoader] [INFO] - Deleting /var/folders/qy/41_sjvss273_xcdjd_y74rzmzrh5b6/T/mxnet607484524537890023/mxnet-scala
2018-07-05 15:49:03,989 [Thread-0] [org.apache.mxnet.util.NativeLibraryLoader] [INFO] - Deleting /var/folders/qy/41_sjvss273_xcdjd_y74rzmzrh5b6/T/mxnet607484524537890023

Note that we're no longer using ptb. Instead we're using Sherlock Holmes dataset.

@szha , Do you know if there is any operator changes/abandoned related the RNN for the past 1 year? The code we have written 1 year ago cannot work for now. I believe there shouldn't be any changes on Scala side.

Not that I'm aware of. Other than the fused RNN kernels in CPU, there hasn't been much change since September 2016. https://github.com/apache/incubator-mxnet/commits/master/src/operator/rnn-inl.h

I can reproduce the same issue on

v1.1.0
However, v1.0.0 works just fine for LSTMBucketing. There has to be something changed from 1.0.0 -> 1.1.0 cause that break. @yzhliu Any major change on Scala happened in the middle?

The TestCharRNN still contains the same issue on both 1.1.0 and 1.0.0

Can we confirm whether it is caused by Scala frontend changes? e.g., use scala frontend @v1.0.0 but backend @v1.1.0 (or inverse) to see if it also crashes.

The root cause of this issue is this line. The databatch got disposed due to the implementation of DataIter is different. The RNN module define the .next() as a reference copy of NDArray. Dispose that will cause losing the training data

@lanking520 The code you pointed out is correct, it disposes the NDArrays in the DataBatch created using the Slice operator. Slice operator does not create new NDArrays instead gives a reference to the original NDArray with an offset. The pointers to the NDArrays(both sliced and original) use shared_ptr which only decrements the reference count, so it won't free the original NDArray correspondingly if you don't dispose the Sliced NDArray it won't free the original even if the original NDArray is freed.
I suspect the corruption to be elsewhere.

@nswamy and @yzhliu , thanks for your recommendation on the changes. There should be no problem when we dispose a dataBatch in the DataIter. The core problem happened in the RNN BucketingIter. The next() method did not brings a copy. Instead, a reference of NDArray created in the Iterator and passed to the DataIter. The C++ side only see one reference in the original data. In that case, we lose information and that cause the crash.
Solution: pass copies to the BucketIter and this will solve the problem, I will send a PR regarding to this and see how well it can perform

Thanks for all of you for your help, I have added a PR for RNN example here: https://github.com/apache/incubator-mxnet/pull/11753


Refactor pruner examples

@chicm-ms could you update the corresponding doc, since you delete some example files, there might be some broken links.

@chicm-ms could you update the corresponding doc, since you delete some example files, there might be some broken links.

Thanks, slim example updated, other examples in doc are linking to the examples code directory, no need to update.


ci: use lockfiles for restoring nuget packages

:tada: This PR is included in version 2.1.8 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add alias_target property for Route53 types

The alias_target of a route53 resource record is a stand in value that
allows resources to shift behind the scenes without requiring action on
the part of the user.  Without this change, we are unable to set or
retrieve the alias_target of a route53 record.  Here we simply add a
alias_target property to enumerate the value if its found to exist.

This also needs an ability to set the alias in create/flush.

Thank you @hunner.  This took me a little longer than I was expecting, but it all works.  Let me know if the docs aren't clear, or the fail() messages don't sound right.  I need a conflictswith param or something.  Anyway, maybe this is good now.


docs: fix env var typo in README

Works much better like this :)
Thanks for the really small but useful Docker image!

It's not even a matter of grade, but simply "it works" :)
Thanks for noticing that!


Refused to load the font

Operating system: Fedora 25
Messenger for Desktop version: v2.0.9-stable

Yesterday, the app was working just fine, today app launches but nothing is shown. In webview dev tools I get following error:
Refused to load the font 'https://static.xx.fbcdn.net/rsrc.php/yH/r/jJ5jE8KIrbS.ttf' because it violates the following Content Security Policy directive: "font-src *.messenger.com data:".

Have you tried disabling ad-block?

I don't have ad-block running. Funny thing is that sometimes app works and sometimes I get the blank page and error in console. I can't reproduce it since I can't figure out what could cause it. Also, messenger.com in browser always works.

I'm also experiencing the same problem... I get the blank page with error in the console. I don't know why but it happens only when I try to access via "chrome bookmark". Unless I access through the bookmark, it works fine.


changing email subject on password reset rquest

Hello,
I'am trying to change the email subject with
reset_password_email_subject "Passwort zurücksetzen"
in lib/rodauth_app.rb.
I also changed the mail template which works great, but the email subject still says "Reset password".
I would be very grateful for a tip.

de:
rodauth:
reset_password_email_subject: "Passwort zurücksetzen"
does not work, too.

The default rodauth-rails installation in recent versions sets up a custom mailer class, which doesn't use Rodauth settings, so this is where you configure subject, body and other.

Yihhhaaaa!
Thanks - just found it ;-)
Everything works now as expected.


[SPARK-46145][SQL] spark.catalog.listTables does not throw exception when the table or view is not found

What changes were proposed in this pull request?

There is a race condition case when using spark.catalog.listTables. It happens when one client is calling listTables while another client is delete some of the tables. In this case listTables might throw TABLE_OR_VIEW_NOT_FOUND when it tries to access a table or view that is deleted concurrently.
This PR proposes to improve spark.catalog.listTables not throw the exception but return normally.
Why are the changes needed?

This is to improve user experience when using spark.catalog.listTables under the concurrent case.
Does this PR introduce any user-facing change?

No
How was this patch tested?

UT
Was this patch authored or co-authored using generative AI tooling?

NO

@cloud-fan

thanks, merging to master/3.5!


Race condition in CachedDict.getitem

YPlan/gargoyle#50 reports a race condition that exists inside CachedDict.__getitem__, when using a threaded server that can touch the CachedDict instance in parallel. Stack trace:
  File "/var/www/env/local/lib/python2.7/site-packages/gargoyle/manager.py", line 59, in is_active
    switch = self[key]
  File "/var/www/env/local/lib/python2.7/site-packages/gargoyle/manager.py", line 35, in __getitem__
    return SwitchProxy(self, super(SwitchManager, self).__getitem__(key))
  File "/var/www/env/local/lib/python2.7/site-packages/modeldict/base.py", line 26, in __getitem__
    return self._local_cache[key]
TypeError: 'NoneType' object has no attribute '__getitem__'

Probably _populate should be updated to be race-condition free and return the state of the local cache.

Apologies for the late reply on this. We were using a gevented ioloop when we were seeing this error. We have since stopped using gevent and have moved to 1 request per process, and haven't seen this error since. However, due to the infrequent nature I've the error, I am hesitant to draw conclusions thus far. I will post further if this error crops up again in a non-threaded environment.

No worries. I guess this issue is on freeze until it reappears...

#20 might have fixed this

or #25 might have

I can confirm this is not fixed currently.  It appears that one thread can cause a reset while another thread checks the value.  Several approaches to fixing this:
_populate could return an object safe to use for the rest of the thread.
_local_cache could be improved to be a read-through cache to the remote cache and reset behavior would empty the local dictionary instead of setting to None and __getitem__ to read and populate.

@adamchainz We opened a PR that we're using that should address fix the thread safety issue.

Thanks for the bump, the PR slipped my radar. Reviewing now.

Fixed by #40


yarn audit parser fails on CWE field

I don't know if this is something new, but yarn imports are failing when multiple CWE values are references for an advisory:
          "cwe":"[\"CWE-918\",\"CWE-1333\"]",

Experiencing the same with:
docker run -it node:16.13.0 yarn --version
1.22.15

Same problem with single CWE values, e.g.
"cwe":"[\"CWE-79\"]"

this PR fixes that as well, covered by a unit test. I think yarn gets their advisories from upstream, which is where something might have changed. it's a weird format anyway.

Fixed in 'dev' / 2.9.0

Thanks for fixing this so quickly, looking forward to v2.9.0 <3

Reopened as of today it seems npm audit reports are now suffering from the same issue:
"cwe": "[\"CWE-22\",\"CWE-59\"]",

finally fixed also yarn.... now they have seemed to change the format again....
  File "./dojo/tools/utils.py", line 10, in get_npm_cwe
    if cwe_node.startswith('CWE-'):
AttributeError: 'list' object has no attribute 'startswith'

        "cwe": [
          "CWE-346",
          "CWE-453"
        ],

let's wait if this stabilizes.

Yeah, what a mess.

merged into dev for 2.9.0


Upgrade composer version

new regression group looks good: https://wandb.ai/mosaic-ml/llm-foundry-regressions/groups/09-05-2023%3A%3A19%3A27%3A44%3A%3A2a791a1ceb7ac620ad3149cc1792b6f1fcc815e7/workspace?workspace=user-danielking

@dakinggg What should we generally look for with the regression tests you posted? I suppose decreasing loss for training?

I'm just comparing to my previous runs of them. Each run is a group within that wandb project. Once Chuck's stuff is done they will be compared against a fixed "golden" run.

So in this case I'm just seeing that the curves and number are identical to the ones I ran before.

Although one of the runs actually failed...so looking into that now

Ok one of them didn't actually ever run and I just missed it on my original PR. Gonna update in this PR.

Ok, the failing regression test was user erorr. updated to mixed init. I'm comfortable merging given that validation done. We will set up proper regression tests once Chuck's stuff is ready.


Unable to use webpage to login with qr optiom

I am trying to login toy jade using qr option and used this website https://jadefw.blockstream.com/pinqr/index.html
The website scans the step 1/4 qr and i see progress bar updated and finished. But once finished animated qr is not shown on the webpage. I see the attached image screen.

Is it a temperory issue or is it something wrong with my jade. Could it be that I recieved a non spam hardware and it creates wrong animated qr?

Just tried it just now on my (Android) phone, and the phone scanned the jade QR and then automatically moved to step 2/4 and displayed its own code for Jade to scan ... again the phone app/page moved automatically between steps 3 and 4, as expected.  Unlock was completed as expected - so not sure what's going on above.


add date parameter to EODBatchPrices and fix EODBatchPrices unmarshal

The v4 batch price endpoint takes a date parameter. This change lets us pass in a date.
Additionally, the v4 batch price endpoint returns data in CSV format. This unmarshals using the correct format.

Thanks, did not notice when I added =) All filled in, in the near future, I will run through all api requests and begin to update all the information.


Validation returns Error Message

Is the feature "Validation returns Error Message" planned?
Example - Schema:
[...]
"password": {
      "type": "string",
      "title": "Password",
      "minLength": 3,
      "maxLength": 10
    }
[...]

Example - Error Message:
Password
•••••••••••
does not meet maximum length of 10
Hint: Make it strong!

okay i got a further:
var err = _this.zschema.getLastErrors();
returns error array with objects which contain the error message

@ebrehault what is your adivce to show an Error Message:
MIN_LENGTH : String is too short (0 chars), minimum 5 (example)

which i get from z-schema

Well, it should be the responsibility of the widget to render error messages.


highlightSearchTermsOnTargetPage in Code blocks only works if page already selected

This can be reproduced in the Live Demo:
https://easyops-cn.github.io/docusaurus-search-example/docs
If you search for Python the highlighting only works if the page "Style Guide" was selected. If you select the page "Document Number 2" and do the search, the term is not highlighted.

Does it only happen with words in code blocks? This is probably caused by that code being rendered after search term highlighting.

I have seen this problem only in code blocks. Yes, seems that the code
syntax highlighting is done after the search term highlighting.
Am Do., 3. Juni 2021 um 11:02 Uhr schrieb Shenwei Wang <
@.***>:

Does it only happen with words in code blocks? This is probably caused by
that code being rendered after search term highlighting.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/easyops-cn/docusaurus-search-local/issues/92#issuecomment-853711099,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABOITS23WPRHF364AV5AVUTTQ5AMFANCNFSM456BVC7A
.

There is a workaround to fix it, and released in v.018.1


"Cannot create directory: %HOMEPATH%\AppData\Local\Temp\vim-syntastic-40456"

Hi and thanks for this plugin!
I'm editting java file under Windows 8 and vim with configuration close to https://github.com/amix/vimrc. But my vim breaks each time I do :w with this error:
syntastic: error: Vim(call):E739: Cannot create directory: %HOMEPATH%\AppData\Local\Temp\vim-syntastic-40456

How to fix it?

Please open your test file, run :SyntasticInfo, and post the output.
Then set g:syntastic_debug to 1, run the checker, run :mes, and post the output again (copy & paste please, no screenshots).
Also post the output of:
:echo string($TEMP)

@lcd047
It's Powershell integration...
Here is :mes after commands ( %HOMEPATH% -- inserted):
"WordNet.java" 299L, 11332C written
syntastic: 503.864236: &shell = 'powershell -ExecutionPolicy Unrestricted -NoProfile -NoLogo -NonInteractive' (!), &shellcmdflag = '-command' (!), &shellpipe = '' (!), &shellquote = '"' (!), &shellredir = '>', &shellslash = 0, &shelltemp = 1, &shellxquote = '', &shellxescape = '"&|<>()@^'
syntastic: 503.865712: UpdateErrors (auto): default checkers
syntastic: 503.866980: CacheErrors: default checkers
syntastic: 503.868597: g:syntastic_aggregate_errors = 0
syntastic: 503.869153: getcwd() = 'C:\coding\princeton\algorithms2\week1'
syntastic: 503.870141: CacheErrors: Invoking checker: java/javac
syntastic: error: Vim(call):E739: Cannot create directory: %HOMEPATH%\AppData\Local\Temp\vim-syntastic-86984
syntastic: 503.873036: SyntasticMake: called with options: {'postprocess': ['cygwinRemoveCR'], 'errorformat': '%E%f:%l: error: %m,%W%f:%l: warning: %m,%E%f:%l: %m,%Z%p^,%-G%.%#', 'makeprg': 'javac -Xlint -d . "C:\coding\princeton\algorithms2\week1\WordNet.java"'} syntastic: 504.842983: getLocList: checker java/javac returned 1

:SyntasticInfo command:
Syntastic version: 3.7.0-112 (Vim 704, Windows)
Info for filetype: java
Global mode: active
Filetype java is active
The current file will be checked automatically
Available checker: javac
Currently enabled checker: javac

It's Powershell integration...

Well, that isn't going to work as is.  Please read :h syntastic-powershell.


In events scraper, handle click events pointing to agenda item video

Clicks on the "Video" link don't include an href, but rather trigger an event listener that opens a link on http://pittsburgh.granicus.com/player in a new window. It'd be good to capture that pittsburgh.granicus.com player href and store it as an eventagendamedialink via this function: https://github.com/CityofPittsburgh/scrapers-us-municipal/blob/master/pittsburgh/events.py#L124-L127

closed via https://github.com/jtotoole/scrapers-us-municipal/commit/23c70b69beb234ee35bd3ed549424a5848f4a02b


If using disabled variant it will not prevent onClick from firing

Bug report
Describe the bug
When you use the disabled variant on a button, the onClick will fire. If you don't add this variant, it will prevent the onClick from firing as expected.
const ButtonDisabledVariant = styled("button", {
  variants: {
    disabled: {
      true: {
        opacity: 0.5
      }
    }
  }
});

To Reproduce
This example has two buttons, one with the disabled variant and one without to illustrate:
https://codesandbox.io/s/gallant-sky-up4h1s
Expected behavior
I expect the onClick handler to not fire when when it's disabled even when I'm adding disabled as a variant.
System information

OS: macOS
Browser: Firefox, Safari, Chrome
Version of Stitches: 1.2.7
Version of Node.js: 16.8.0

Additional context
I suspect this might happen because the disabled part of the button will be completely replaced with stitches own implementation?

just use

pointerEvents: none

on disabled props

Interesting, that actually works. Didn't expect this to be solvable using just CSS. I think I would still expect it to do this by default considering that's the default behavior of the button, but maybe there's more to it below the surface.

pointerEvents only works for clicks but does not really disable the button. It will still be enabled and "clickable" for keyboard users and screen readers.
You can remove the disabled variant and use "&:disabled" to style a disabled button. This will add the disabled attribute on the button and correctly disable it.

Yeah, should probably have though of that actually. I guess I would personally still expect the above to not override that default. But maybe that's just me :)

Another possibility is to use something like:
const ButtonDisabledVariant = styled("button", {
  "&[disabled]": {
    opacity: 0.5
  }
});

we don't forward variant values to the underlying DOM elements and because of that, when setting a variant disabled and then use it, your component would prevent it from appearing on the DOM and in return it would not be disabled.
I would suggest that you follow the example @paul-sachs provided


Typo in activemq.md

Provide a description of what has been changed
Checklist

[x] Commits are signed with Developer Certificate of Origin (DCO)

Fixes #

@AndriyKalashnykov thanks a lot for the fix, could you please also fix the other affected versions? 2.13, 2.11, 2.10.. ?

All of the versions, 2.6 through 2.12

@AndriyKalashnykov thanks a lot for the fix, could you please also fix the other affected versions? 2.13, 2.11, 2.10.. ?

All of the versions, 2.6 through 2.12

Yes please, through 2.13


Update dependencies that do not break controller-runtime

Summary

Change Type

Check List Before Merging

[ ] This PR passes all pre-commit hook validations.
[ ] This PR is fully tested and regression tests are included.
[ ] Relevant documentation has been updated.

Additional Information

/lgtm
/approve


fix(a11y): fixes duplicate ids by moving SVG filter to scss

Having the background filter SVG inline in the HTML causes duplicate IDs when the A11y checker is run. This PR moves the SVG out of the HTML and into the SCSS for the background image component.
However, this fix works in Chrome and Firefox, but not in Safari. In Safari, the filter is correctly assigned to the variable, the variable is showing up for the filter property, however, the SVG is unaffected. In the inspector, everything appears to be properly escaped.
Turning the SVG to Base64 did not work for me at all, so I may have been doing it wrong. However, according to CSS-Tricks that should not be necessary.
Some relevant links:
https://stackoverflow.com/questions/10768451/inline-svg-in-css
https://stackoverflow.com/questions/13925736/inline-svg-filter-in-css
https://github.com/Fyrd/caniuse/issues/3803
https://benfrain.com/applying-multiple-svg-filter-effects-defined-in-css-or-html/
https://css-tricks.com/probably-dont-base64-svg/
Useful tools:
SVG minifier: https://jakearchibald.github.io/svgomg/
https://www.mobilefish.com/services/base64/base64.php
Would fix #1912  if it worked in Safari.

Deploy preview for pf-next ready!
Built with commit 5037de5984963d53ad026519fa9ecb936743ecd1
https://deploy-preview-1480--pf-next.netlify.com

I tinkered with this and couldn't get it to work in Safari, either.

@srambach this PR is pretty stale. Any objections to closing it and re-visiting it if someone reports an issue resulting from the duplicate ID's? I'm fine just living with this error in the workspace a11y checks.

Yeah, I guess if we can live with the a11y checks then it's fine until someone hits the problem irl.


Launch app with Mac OS?

First of all, thanks for this framework!
I want to make some ShinyApps accessible for my colleagues by using DesktopDeployR. I managed to use the framework to make apps launch from a shared folder and it works great. However, some colleagues use Mac instead of Windows. I am trying to make a separate launch file that would work for them. I have never worked with Macs before so my knowledge is limited.
Things I am aware off:

Mac uses a .COMMAND file instead of a .bat file
cscript / wscript are windows exclusive (not entirely sure)

Is there a way to make the framework work for Mac os? Does the .wsf file need to be replace with a Mac specific file?
Any help would be much appreciated!
Kind Regards,
Hybride

@PimSpatial
You are correct that wscript is exclusive to Windows. Unfortunately, I don't have access to a macOS device I can use to develop this framework.
Note, I originally developed this in an environment that did not allow use of containers, because at the time they were a relatively new technology.
Containers are now much more mature and accepted. If I were to revisit this framework today I would use a container instead of an R-portable installation. This has several benefits, like:

better portability across OSes and CPU architectures
better dependency management

Hope this helps.

@PimSpatial
You can take a look at this  https://github.com/eddelbuettel/rinside/tree/master/inst/examples/qt. If this works for you but I couldn't get it to run
If not then you have to wait until webR gets matured but there has been talks on it :  https://github.com/r-wasm/webr/issues/309

@wleepang Thanks for the information! For now I am using the shinyapps.io environment, but when I need to develop something but more security I will for sure include your suggestion.
@nev-awaken Also much appreciated! It does look very promising so I will keep an eye out. It would be awesome if it gets more attention.


hardware-exporter service wasn't installed by the charm

The hardware-exporter service was not installed and config-changed hooks failed.
Versions: latest/edge rev 86
First, I tried with latest/stable rev 84 and ran into the same problem.
Hardware: Lenovo ThinkSystem SR665
Steps:

juju deploy ... and relate to infra-node (principal charm) and grafana-agent
all units blocked, asking to attach-resource storcli-deb
I attached the required resource
config-changed hooks crashing, output below

unit-hardware-observer-7: 15:03:28 INFO unit.hardware-observer/7.juju-log Writing file to /etc/hardware-exporter-config.yaml.
unit-hardware-observer-7: 15:03:28 INFO unit.hardware-observer/7.juju-log Writing file to /etc/hardware-exporter-config.yaml - Done.
unit-hardware-observer-7: 15:03:28 INFO unit.hardware-observer/7.juju-log Restarting exporter - hardware-exporter
unit-hardware-observer-7: 15:03:28 WARNING unit.hardware-observer/7.juju-log Restarting exporter - 1 retry
unit-hardware-observer-7: 15:03:28 ERROR unit.hardware-observer/7.juju-log Exporter hardware-exporter crashed unexpectedly: Command ['systemctl', 'restart', 'hardware-exporter'] failed with returncode 5. systemctl output:
Failed to restart hardware-exporter.service: Unit hardware-exporter.service not found.

unit-hardware-observer-7: 15:03:28 ERROR unit.hardware-observer/7.juju-log Uncaught exception while in charm code:
Traceback (most recent call last):
  File "/var/lib/juju/agents/unit-hardware-observer-7/charm/lib/charms/operator_libs_linux/v1/systemd.py", line 90, in _systemctl
    proc = subprocess.run(
  File "/usr/lib/python3.10/subprocess.py", line 526, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['systemctl', 'restart', 'hardware-exporter']' returned non-zero exit status 5.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/var/lib/juju/agents/unit-hardware-observer-7/charm/src/service.py", line 215, in restart
    self._restart()
  File "/var/lib/juju/agents/unit-hardware-observer-7/charm/src/service.py", line 113, in _restart
    systemd.service_restart(self.exporter_name)
  File "/var/lib/juju/agents/unit-hardware-observer-7/charm/lib/charms/operator_libs_linux/v1/systemd.py", line 177, in service_restart
    return _systemctl("restart", *args, check=True) == 0
  File "/var/lib/juju/agents/unit-hardware-observer-7/charm/lib/charms/operator_libs_linux/v1/systemd.py", line 104, in _systemctl
    raise SystemdError(
charms.operator_libs_linux.v1.systemd.SystemdError: Command ['systemctl', 'restart', 'hardware-exporter'] failed with returncode 5. systemctl output:
Failed to restart hardware-exporter.service: Unit hardware-exporter.service not found.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/var/lib/juju/agents/unit-hardware-observer-7/charm/./src/charm.py", line 302, in <module>
    ops.main(HardwareObserverCharm)  # type: ignore
  File "/var/lib/juju/agents/unit-hardware-observer-7/charm/venv/ops/main.py", line 563, in __call__
    return main(charm_class, use_juju_for_storage=use_juju_for_storage)
  File "/var/lib/juju/agents/unit-hardware-observer-7/charm/venv/ops/main.py", line 551, in main
    manager.run()
  File "/var/lib/juju/agents/unit-hardware-observer-7/charm/venv/ops/main.py", line 530, in run
    self._emit()
  File "/var/lib/juju/agents/unit-hardware-observer-7/charm/venv/ops/main.py", line 519, in _emit
    _emit_charm_event(self.charm, self.dispatcher.event_name)
  File "/var/lib/juju/agents/unit-hardware-observer-7/charm/venv/ops/main.py", line 147, in _emit_charm_event
    event_to_emit.emit(*args, **kwargs)
  File "/var/lib/juju/agents/unit-hardware-observer-7/charm/venv/ops/framework.py", line 348, in emit
    framework._emit(event)
  File "/var/lib/juju/agents/unit-hardware-observer-7/charm/venv/ops/framework.py", line 860, in _emit
    self._reemit(event_path)
  File "/var/lib/juju/agents/unit-hardware-observer-7/charm/venv/ops/framework.py", line 950, in _reemit
    custom_handler(event)
  File "/var/lib/juju/agents/unit-hardware-observer-7/charm/./src/charm.py", line 243, in _on_config_changed
    exporter.restart()
  File "/var/lib/juju/agents/unit-hardware-observer-7/charm/src/service.py", line 225, in restart
    raise ExporterError() from err
service.ExporterError
unit-hardware-observer-7: 15:03:28 ERROR juju.worker.uniter.operation hook "config-changed" (via hook dispatching script: dispatch) failed: exit status 1
unit-hardware-observer-7: 15:03:28 INFO juju.worker.uniter awaiting error resolution for "config-changed" hook
unit-hardware-observer-7: 15:03:30 INFO juju.worker.uniter awaiting error resolution for "config-changed" hook
unit-hardware-observer-7: 15:03:25 INFO juju.worker.uniter awaiting error resolution for "config-changed" hook
unit-hardware-observer-7: 15:03:27 INFO unit.hardware-observer/7.juju-log Config changed called before install complete, deferring event: HardwareObserverCharm/on/config_changed[17]
unit-hardware-observer-7: 15:03:27 INFO unit.hardware-observer/7.juju-log Attempt 1 of /redfish/v1/
unit-hardware-observer-7: 15:03:27 INFO unit.hardware-observer/7.juju-log Response Time for GET to /redfish/v1/: 0.15704713099694345 seconds.
unit-hardware-observer-7: 15:03:27 INFO unit.hardware-observer/7.juju-log Attempt 1 of /redfish/v1/SessionService/Sessions
unit-hardware-observer-7: 15:03:27 INFO unit.hardware-observer/7.juju-log Response Time for POST to /redfish/v1/SessionService/Sessions: 0.32879110499925446 seconds.
unit-hardware-observer-7: 15:03:27 INFO unit.hardware-observer/7.juju-log Login returned code 201: {"Oem":{"Lenovo":{}},"SessionType":"Redfish","@odata.id":"/redfish/v1/SessionService/Sessions/1205","@odata.etag":"\"1a429ea800b5242071d\"","Id":"1205","Name":"1205","@odata.type":"#Session.v1_3_0.Session","UserName":"admin","@odata.context":"/redfish/v1/$metadata#Session.Session","Password":null}

unit-hardware-observer-7: 15:03:27 INFO unit.hardware-observer/7.juju-log Attempt 1 of /redfish/v1/SessionService/Sessions/1205
unit-hardware-observer-7: 15:03:28 INFO unit.hardware-observer/7.juju-log Response Time for DELETE to /redfish/v1/SessionService/Sessions/1205: 0.12732572499953676 seconds.

The work-around is to force execute the install hook again with juju exec ./hooks/install, this will install the exporter service if all the resources is ready.
The part make me confuse is that the juju attach step should trigger the upgrade hook then config-change hook. And the upgrade hook and install hook have the same handler in hw-observer. Need to verify why the attach resource step doesn't install the resource.

From the log shared internally, the install hook -> config_changed hook caused the issue (the charm continue to run the config hook even though the install is not successful), but it could have been prevented by deferred(). But due to the technical dept: https://github.com/canonical/hardware-observer-operator/issues/215, it does not work.

Fixing #203 may also help here

iiuc the current approach is to not install the exporter unless all the resources we expect are available. While I think that's a valid approach, given that attaching resources triggers a config_changed event, it would seem cleaner to me if we were to segment the lifecycle in:

install event → install the charm (but not the exporter)
config_changed

missing resources → set to blocked, don't install the exporter
all resources available → install the exporter, start the service

Another approach would possibly be making prometheus-hardware-exporter be able to deal with missing binaries, so we can install it and start it in the install event and dynamically enable extra metrics if/when binaries like storcli become available.

I agree with @chanchiwai-ray 's guess.
We should defer the event and return the _on_config_changed function immediately.
#215
Furthermore, based on the description, it seems we can easily reproduce this issue when the resource is unavailable. Please ensure this case is covered in the functional test cases when we address this issue.
Regarding @aieri 's idea, it seems feasible and it's a clear strategy. But I am a bit concerned that we might be doing too much in the _on_config_changed function, which is not intuitive given its name. Additionally, there is an implicit assumption that the 'config_change' event must be sent out after the installation event. Anyway, we can discuss that later. I suggest we fix the issue first and then refactor under the stable state.


DBZ-5075: Clean up MySQL connector codebase

DdlChanges#groupStatementStringsByDatabase() and DatabaseStatementStringConsumer interface were introduced in #49 but weren't used anywhere since then.
DdlChanges#groupStatementsByDatabase, DatabaseStatementConsumer and HaltingPredicate are unused since #3373.
MySqlSchema#applyDdl() is also no longer available.
The only terminator used in DdlChanges is a semicolon.

@morozov Hi, nice initiative! Overall LGTM, I've just dropped a single question.

@morozov Applied, go for more chopping :-)


Functional tests needed for f5_ltm_virtualserver

Functional tests are need for this plugin. These are a combination of happy path tests and negative tests.

Closed by PR #34


[Card] Content model documentation

Create content model of Card component.
Referencing format of the current one, but feel free to propose improvements.
Example of current documentation of content model as a table: https://www.ibm.com/standards/carbon/components/callout-quote#content-guidance

https://app.zenhub.com/files/202376156/0cafd109-d3e3-4c9f-b160-2cdc7678e9fe/download
Hi @shixiedesign,
This is ready for review.
Note, there are some questions in the doc. Also, card section and card section images already have content models but I included them as to be updated, both for the new heading names and because I have a couple of questions about them.
Components included are:
Card
Card group
Card in card
Card link
Card section
Card carousel
Card section images

Reviewed and answered questions. There are a few more things to figure out, so rolling into next sprint to get more time. Also will need to loop in @RichKummer 's ticket #6643 as well.

@shixiedesign
See attached for the card components we reviewed today.
Thanks!
https://app.zenhub.com/files/202376156/d1918f88-a36b-454b-a151-836810ef8f03/download


Version 3.5.5 Tagged Release Checklist

Product owner assigned Release notes

Updates NewsItem.js component.
Sinopia Wiki

[x] Create release.

[x] Pull latest master.
For the sinopia_editor only (sinopia_indexing_pipeline does not need to update the version number in the package.json file):

[x] Check out a branch and update the version in package.json
[x] npm i to regenerate package-lock.json (see note below)
[x] npm publish to publish the version to npm registry.
[x] Commit change to branch and push; create PR for version bump.  (You can't push directly to master, since it's a protected branch).

https://github.com/LD4P/sinopia_editor/pull/2722

[x] Once PR is merged, publish a new release with a version like v1.0.2 and wait for Circleci to complete building and pushing docker images.

https://github.com/LD4P/sinopia_editor/releases/tag/v3.5.5

[x] AWS Images for supporting projects - the Sinopia stack requires
a number of other projects to run successfully both locally and on AWS. If any of
these projects changed between tagged releases, you will need to update and tag the
latest image on Dockerhub along with corresponding update to Terraform with the tagged
release.

[x] Sinopia Indexing Pipeline https://github.com/LD4P/sinopia_indexing_pipeline

[x] Publish a new release with a version like v1.0.2 and wait for Circleci to complete building and pushing docker images.

https://github.com/LD4P/sinopia_indexing_pipeline/releases/tag/v2.1.8

[x] Sinopia Exporter https://github.com/LD4P/sinopia_exporter

[x] Publish a new release with a version like v1.0.2 and wait for Circleci to complete building and pushing docker images.

https://github.com/LD4P/sinopia_exporter/releases/tag/v2.0.5

[x] Sinopia API https://github.com/LD4P/sinopia_api

[x] Publish a new release with a version like v1.0.2 and wait for Circleci to complete building and pushing docker images.

https://github.com/LD4P/sinopia_api/releases/tag/v1.1.7

[ ] Deploy to staging

[ ] Follow instructions for pushing a release to staging. Make sure to update versions to Sinopia Editor, Sinopia Indexing Pipeline, and Sinopia Exporter.
[ ] Submit a new terraform PR.

[ ] Product owner decides whether to deploy to production (which may not occur for every tagged release)

[ ] Create a new terraform PR for production, making similar changes to staging.
[ ] Request that Ops deploy to production.

NOTE: if package-lock.json has links to unsecured http:// registries, try
deleting package-lock.json, remove the node modules rm -rf ./node_modules,
run npm cache clean --force, and then run npm i --prefer-online

docker images:

https://hub.docker.com/layers/ld4p/sinopia_api/v1.1.7/images/sha256-f76e022035cd3ee62bb5cc7432bd6a422ec8658447779dc92be628beb7902e89?context=explore
https://hub.docker.com/layers/ld4p/sinopia_exporter/v2.0.5/images/sha256-d4bc843417797217c2a117cbac5f7a82906411e8bbca8d4ab8263f05ab2285b6?context=explore
https://hub.docker.com/layers/ld4p/sinopia_indexing_pipeline/v2.1.8/images/sha256-d96ccfe20cdca0e111b15f77552fd9b2aa77526d9f5834be18cea1aebf00738d?context=explore
https://hub.docker.com/layers/ld4p/sinopia_editor/v3.5.5-stage/images/sha256-51149d4221985a09dad1d73558412348eff251375871037e393f261b7ed0c942?context=explore
https://hub.docker.com/layers/ld4p/sinopia_editor/v3.5.5-prod/images/sha256-57a72494c09ddc5488d349c08852bcdf790fb22281e0bfb7e4209e530d9c384e?context=explore


When opening an installed xcode release, I get error alert: "Loading a plug-in failed"

Describe the bug
When attempting to open Xcode release 13.2.1 (already installed) in the xcodes GUI, an error window pops up saying:
"Loading a plug-in failed.
The plug-in or one of its prerequisite plug-ins may be missing or damaged and may need to be reinstalled."
I have the xcodes helper installed if that matters.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots

Version

OS: 12.3.1
Xcodes: 1.4.0

Hi @Caleb-Bolton - Curious on a few fronts:

Does opening through the regular way through Finder give you the same error?
Do you have any Xcode plugins installed?

I forgot what it was, but a popup saying a process started (during installation or startup) was shown and I believe I cancelled it as I thought it was unrelated to Xcodes. I think this is what caused the issue, because I either started it up or reinstalled and let that process finish and I had no more problems.


fix: change search input type on token list

This PR closes #1273

 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.

Excellent! thanks @zarakk
@He1DAr lets review and merge this one please 🙏

LG! Thanks for the PR


color < > symbols in JSX/HTML tags the same as tag names

Hi, is there a way to have the < > and </ /> symbols around HTML/JSX elements colored the same as the component name / tag name?
in this  you can see that the < > brackets are blue and I'm trying to see if there's a way to make them red. Perhaps this is a problem with the color theme, but it irks me slightly that they're different colors. thanks a lot for this great extension too.

That should be adjustable in the individual themes themselves on the punctuation.definition.tag scopes.


Add helm dep manifest

After MVP, add helm deployment manifest.
https://github.com/kubernetes/helm/blob/master/docs/workflow/developer-workflows.md#get-fully-generated-manifest-files

This functionality is available on the server side already and the client side is similar to describe, which is already implemented, so it should be quick. More importantly, it's one of the DM features that people value. Let's consider it a stretch goal for MVP.


Added How do i use this project section

This project shows one of the major aspects of what an offline first app would contain. There are many ways of using it including simply exploring the code to understand the offline concepts and challenges. Forking it to bootstrap a new project is not necessarily how I meant to bootstrap a new project.
So while I appreaciate your contribution, that’s not how I invisioned this project would be used. Thanks


Implement spyOn

Heavily inspired by expect one: https://github.com/mjackson/expect/blob/master/modules/SpyUtils.js#L96-L112

Current coverage is 87.53% (diff: 100%)

Merging #2413 into master will not change coverage

@@             master      #2413   diff @@
==========================================
  Files            40         40
  Lines          1653       1653
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           1447       1447
  Misses          206        206
  Partials          0          0

Powered by Codecov. Last update f597c07...3a559a5

We probably need some documentation on this eh. Is this just a new method on mock functions?

For context, I'm trying to get feature parity with expect.
Example use case:
const spy = mock.spyOn(window, 'setInterval');
window.setInterval(fn, 10);
expect(spy).toHaveBeenCalled();
spy.mockRestore();

Thanks @vjeux. It seems like the Jasmine version of this has ".and.callThrough()" which seems kinda odd. Can you think of a simpler API that allows to use spyOn and call the original implementation?
tbh it really is odd to me, when calling "spyOn" I'd expect the original function to be called too, that's what a "spy" is supposed to do but all testing libraries seem to have agreed on the opposite behavior. Do you think it is worth breaking behavior here, like this:

jest.spyOn(foo, 'fn') will run the original function.
jest.mockFn(foo, 'fn') will take the new spyOn behavior. This is really just the same as foo.fn = jest.fn() but it will work if the test file is using flow.

In Objective-C we used a function called "andForwardToOriginal". On those specific cases.


fix(ci): add patch to PR title validator

What's the difference between patch and fix?

whenever cutting a patch release, I like to use patch(...) so I can distinguish between PRs to main and PRs to a patch release branch. Personal preference tbh

looks good to me
though we should add patch (and anything else in this validator) to the development workflow style guide as one of the preferred titles:
https://go-vela.github.io/docs/community/contributing_guidelines/#development-workflow

@ecrupper @plyr4 agree. if this is a new pattern for the team, we should add some notes somewhere.


Sets a default for document slug

This PR aims to reduce the size of the response of the /api/v1/ndcs calls. We already had the possibility of filtering these calls by document, by passing document=indc as a parameter to the call. But when the parameter was not passed it was defaulting to all of the values. This PR sets a default to first_ndc. By doing this it reduced the response size by half, so using it alongside of the subcategory can have a really positive impact in performance.
But this change has some caveats, as by setting a default it means that where we were relying on the whole data being available, it no longer is, so we need to test it carefully.
The document filter supports multiple values, so where needed we could pass a comma separated list of document slugs: e.g.: document=first_ndc,indc .
One thing still outstanding related with these document slugs is the first page of the NDC Country page: http://localhost:3000/ndcs/country/BRA/?document=first_ndc, we are not passing the document slug to the content_overview endpoint, so we are always displaying the same data. We should update it to call the dataset with the selected document_slug.
Álvaro if you feel that this would require more information or is too much trouble, we can also ignore it!

I think we should leave this improvement for later if it doesn't fix some bugs. It might need some changes

Makes sense! Added labels to reflect that! =)

this PR no longer makes sense. deleting it.


Expose feed unsubscribe

WIP, exposing unsubscribe functionality for faye subscriptions

Preparing a cleaner PR. Will re-raise.


Microphone.IsRecording(string) does not return the right value

This function always returns false.
The function JS_Microphone_IsRecording() in your jslib may not return a bool value.
In javascript , return ctx && ctx.stream; will actually return ctx.stream when it is expected to return true , making Microphone.IsRecording(string) returns wrong bool value
Change that line into
if (ctx && ctx.stream)
    return true;
else
    return false;

and the problem is resolved

Ah Javascript! Thanks for the report.


[WIP] Polishing repo

CHANGELOG:

reworked usage examples in Readme
added uploading df.csv to Neptune
fixed hydra searchpath in configs


Large JSON file don't even recognized

In 2016 it is really disappointing when a new editor don't even recognize the format of a large JSON file (6.5 MB)

VSCode Version: 1.3.0
OS Version: Windows 10

Steps to Reproduce:

Create a new minified JSON file and fill it with data > over 5+ MB
Open in VS Code
Facepalm

@kristofzerbe I cannot reproduce this problem.
From the 190MB sized citylots.json from here https://github.com/zemirco/sf-city-lots-json I extracted a 15 MB sized json and opened that with VS Code.
It opened in < 1 sec and edition works without problems. Only the syntax coloring needs some time until it reaches the end.
Please provide more details about what problem you are seeing and how to reproduce.

@kristofzerbe please explain what "minified JSON" means, e.g. eliminating all line breaks?
What tool did you use to minify JSON?

@alexandrudima I believe the issue is a 5+ MB json file that has a single long line.

@kristofzerbe we don't colorize lines over 20k chars with TextMate grammars because TextMate grammars are built with regular expressions and each regular expression check takes a minimum of O(N) where N is the string length and some, due to how they are spelled out can lead to O(N^2) or even worse. I had to make a decision between executing arbitrary regexes that colorize from TextMate grammars on arbitrary length strings and introducing a cut-off point so the UI has less chances of freezing waiting for a regex to match. It is still possible to craft bad regular expressions in the TextMate grammars that lead to O(2^N) complexity levels -- see here. I chose to introduce an arbitrary cut-off point of 20k chars above which lines don't get colorized.
It is definitely possible to colorize gigabytes of JSON in a very fast way, but IMHO not with TextMate grammars.

Hi,
sry for the late response ... yes, the JSON is one line, generated by
System.Web.Script.Serialization.JavaScriptSerializer.
Problem is, that under some circumstances I have to check or edit some
attributes manually and therefore I need some basic formatting. There are
some formatting plugins out there, like 'beautify', but the JSON file isn't
recognized by VSC as JSON in the first place ... so, no chance to format
and no chance to review or edit. I had to switch to the good old Notepad++
to get my job done, because VS 2014 is able to do it, but it is to slow.
Kristof
2016-07-14 12:24 GMT+02:00 Alexandru Dima<EMAIL_ADDRESS>
@kristofzerbe https://github.com/kristofzerbe we don't colorize lines
over 20k chars with TextMate grammars because TextMate grammars are built
with regular expressions and each regular expression check takes a minimum
of O(N) where N is the string length and some, due to how they are spelled
out can lead to O(N^2) or even worse. I had to make a decision between
executing arbitrary regexes that colorize from TextMate grammars on
arbitrary length strings and introducing a cut-off point so the UI has less
chances of freezing waiting for a regex to match. It is still possible to
craft bad regular expressions in the TextMate grammars that lead to O(2^N)
complexity levels -- see here
http://www.regular-expressions.info/catastrophic.html. I chose to
introduce an arbitrary cut-off point of 20k chars above which lines don't
get colorized.
It is definitely possible to colorize gigabytes of JSON in a very fast
way, but IMHO not with TextMate grammars.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/vscode/issues/9058#issuecomment-232626261,
or mute the thread
https://github.com/notifications/unsubscribe/AAO1qRagsysPe-ICLnBdlSUraQKyTgkaks5qVg5QgaJpZM4JJJSh
.

@kristofzerbe you can always set the 'language' of a file explicitly from the status line:

Click on the 'Plain Text' and then pick 'JSON' and do the 'Format'.

Let's track in #9832


Missing 'spruned' in /venv/bin/

Followed instructions on github on ubuntu 18, I seem to be missing the spruned daemon in the given location
~/src/spruned/venv/bin/spruned
I can start the application with ./spruned.py in /spruned/, but bitcoin-cli can't seem to communicate with the .spruned datadir.

solved by running setup.3.6.sh


Hello React Rails!

In this PR, I've tried to make RoR and React app into a single project that handles both front-end and back-end. However, as much as both the front-end and back-end work on their own, they are not connecting.

Hi @skyv26. I... didn't open a new pull request? What is this warning about?
As for the div tag not rendering anything, I was hoping you could guide me. All three previous reviewers kept asking me to add changes that didn't seem to solve my issue. I've Googled several articles and even tried to make an entire new project to no avail. I can't find a way to make this work. Please help me diagnose what I'm missing.


Enabled base infrastructure for Hardware Isolation (aka Guard) feature

In this PR enabled base infrastructure for Hardware Isolation (aka Guard).
Please refer design document:
https://github.com/openbmc/docs/blob/master/designs/guard-on-bmc.md
DBus interfaces:
https://gerrit.openbmc-project.xyz/q/topic:%2522hardware-isolation%2522+(status:open+AND+-is:wip+OR+status:merged+AND+project:openbmc/phosphor-dbus-interfaces)

My force update messed the PR so opened new pr https://github.com/ibm-openbmc/openpower-hw-isolation/pull/2


ConstantBuffer handling.

I'm just started using Gfx and faced with problem passing [[f32; 2]; 2] array in ConstantBuffer to shader as uniform block. Minimal code showing the problem is here. In that code I'm trying to pass [[1.0,1.0],[1.0,1.0]] to the shader as view uniform mat2 and for debug purposes apply its values as vertices color. I expected to see white (1.0,1.0,1.0,1.0) rectangle, but the color is magenta (1.0,0.0,1.0,1.0). RenderDoc confirms that view uniform value is not that I'm trying to pass. Is it me using gfx incorrect or is a bug?

Welcome!
If it doesn't work it's for sure a bug on our side :) Unfortunately this issue is caused by aligment differences between OpenGL and Rust, which is non-trivial to fix.
Easiest workaround:
Use mat4 for your matrices, which avoids alignment issues.
In-depth details:
Regarding your issue it's related to alignment of uniform blocks in OpenGL (https://www.khronos.org/registry/OpenGL/specs/gl/glspec44.core.pdf, page 131):

mat2 is a matrix so we have to apply rule 5 or 7
Which leads us to .. stored identically to an array of C column vectors with R components each, according to rule (4)
Rule 4 defines the alignment for such arrays of vectors: rounded up to the base alignment of a vec4.
So we actually have [[f32; 4]; 2] in terms of alignment but we can't specify the alignment in Rust!

How to deal with this (there are multiple ways):

Use gfx::Global which might not be that portable but shouldn't cause any issue
Use mat4 for your matrices, which avoids alignment issues. (easiest way!)
Workaround of it with padding and mem::transmute (tricky!):

constant Globals {
        view: [[f32; 2]; 2] = "view",
        _pad: [f32; 4] = "", // Additional padding to ensure size compatibility + alignment of following elements
}

// Specify the values according to the alignment of OpenGL, padding with 0.0 at the end
const GLOBALS: [[f32; 4]; 2] = [
    [1.0, 1.0, 0.0, 0.0],
    [1.0, 1.0, 0.0, 0.0],
];

// Can't pass GLOBALS as value for the constant buffer, need to transmute it first, which is unsafe ofc!
let globals: Globals = unsafe {
    std::mem::transmute(GLOBALS)
};
encoder.update_constant_buffer(&data.globals, &globals);

Triaged. Sounds like we still need to enforce alignment in Rust.


createCluster is stuck without throwing any error with TLS mode

Description
I am running my NextJS application which uses AWS Elasticahe Redis Cluster on server side.
Now I am trying use a different redis cluster but in TLS mode with these settings:

This is my cluster connection code:
    console.log("🚀 ~ file: index.ts:58 ~ redisConfig:", redisConfig)
    const NAMESPACE = redisConfig.expCachePrefix;
    const cluster = createCluster({
      rootNodes: [
        {
          socket: {
            host: redisConfig.host,
            port: redisConfig.port,
            tls: true,
            checkServerIdentity: () => undefined,
          },
        },
      ],
    });
    console.log("🚀 ~ file: index.ts:72 ~ cluster created:")

    cluster.on('error', (err) => {
      console.log('Redis Cluster Error', err);
      throw err;
    });

    await cluster.connect(); // This will throw error if unsuccessful
    console.log("🚀 ~ file: index.ts:83 ~ below cluster connect")
    await cluster.set("appKey","appVaue");
    console.log("🚀 ~ file: index.ts:85 ~ below cluster set command:")
    cluster.on('ready', () => console.log("Cluster is ready now"))
    cluster.on('error', (err) => debugLog('Redis Cluster Error', err));

In my console I see log till "🚀 ~ file: index.ts:83 ~ below cluster connect" only, the client is stuck at   await cluster.set("appKey","appVaue"); not moving ahead leading to block the application from moving ahead and serve requests.

The interesting part is that I am able to connect to redis and perform set and get operations via cli.
Please note that my VPN is already whitelisted in the security group of redis cluster.
Node.js Version
v16.20.1
Redis Server Version
No response
Node Redis Version
4.4.0
Platform
macOS
Logs
No response

Whatever you set in rootNodes[*] will be used only for that specific node, while what you set in defaults will be used for every node in the cluster. You should move the tls: true to the defaults to make all the sockets use TLS:
const cluster = createCluster({
  rootNodes: [{
    socket: {
      host: redisConfig.host,
      port: redisConfig.port
    }
  }],
  defaults: {
    tls: true,
    checkServerIdentity: () => undefined // do you actually need that?
  }
});

Whatever you set in rootNodes[*] will be used only for that specific node, while what you set in defaults will be used for every node in the cluster. You should move the tls: true to the defaults to make all the sockets use TLS:
const cluster = createCluster({
  rootNodes: [{
    socket: {
      host: redisConfig.host,
      port: redisConfig.port
    }
  }],
  defaults: {
    tls: true,
    checkServerIdentity: () => undefined // do you actually need that?
  }
});

checkServerIdentity: () => undefined // do you actually need that? I am using this for my local machine only as I am not passing certificates.
I tried your suggestion as well and even that's not working

When you connect to one of the nodes and run CLUSTER NODES, do you get local or remote addresses? Cause if it's local addresses, use "node address map" to map between the local addresses and the remote ondes

When you connect to one of the nodes and run CLUSTER NODES, do you get local or remote addresses?

we are using remote address for the host url.

Run CLUSTER NODES on one of the nodes in the cluster
Copy the host:port part (the 2 column in every row)
Try to connect to them using redis-cli (from the same machine you run the node script)
Did it work? are you able to connect to all of them?

Run CLUSTER NODES on one of the nodes in the cluster
Copy the host:port part (the 2 column in every row)
Try to connect to them using redis-cli (from the same machine you run the node script)
Did it work? are you able to connect to all of them?

Tried this as well with the below code but no lead:
import { createCluster } from 'redis';
const cluster = createCluster({
  rootNodes: [
    {
      //   url:"rediss://clustercfurl:6379",
      // tlsConfig:{
      //     checkServerIdentity: () => undefined,
      // }
      socket: {
        host: 'cache-0001-001(with node url)',
        port: 6379,
        tls: true,
        checkServerIdentity: () => undefined,
      },
    },
    {
      socket: {
        host: 'cache-0002-001',
        port: 6379,
        tls: true,
        checkServerIdentity: () => undefined,
      },
    },
    {
      socket: {
        host: 'cache-0001-002',
        port: 6379,
        tls: true,
        checkServerIdentity: () => undefined,
      },
    },
    {
      socket: {
        host: 'cache-0001-003',
        port: 6379,
        tls: true,
        checkServerIdentity: () => undefined,
      },
    },
    {
      socket: {
        host: 'cache-0002-002',
        port: 6379,
        tls: true,
        checkServerIdentity: () => undefined,
      },
    },
    {
      socket: {
        host: 'cache-0002-003',
        port: 6379,
        tls: true,
        checkServerIdentity: () => undefined,
      },
    },
  ],
//   defaults: {
//     tls: true,
//     checkServerIdentity: () => undefined, // do you actually need that?
//   },
});

console.log('🚀 ~ file: index.ts:72 ~ cluster created:');

cluster.on('error', (err) => {
  console.log('Redis Cluster Error', err);
  throw err;
});

cluster
  .connect()
  .then((c) => {
    console.log('Cluster Connected', c);
    cluster
      .set('node-redis', 'redis-value')
      .then(() => console.log('Cluster value set'))
      .then(() => console.log('value set succesfully'))
      .catch((err) => console.log('Set error', err));
  })
  .catch((err) => console.log(err));

// This will throw error if unsuccessful
console.log('🚀 ~ file: index.ts:83 ~ below cluster connect');

// cluster.set('value', 'value').then(() => console.log('Cluster value set'));
// await cluster.set("appKey","appVaue");
console.log('🚀 ~ file: index.ts:85 ~ below cluster set command:');
cluster.on('ready', () => console.log('Cluster is ready now'));
cluster.on('error', (err) => console.error('Redis Cluster Error', err));

Output:

In my Elasticache config, I have 2shards and 3 nodes per shard.
Also, I am able to access (both get and set) via redis-cli.

The client is able to make connection to the redis cluster but not able to perform any get or set operation.
I am able to get the master nodes by running this cluster.masters

@prameet-verma
Anything that should be on all the sockets opened by the cluster should be in defaults, not in rootNodes (so you should uncomment defaults and remove tls and checkServerIdentity from every root node.
I'm actually not exactly sure whats going on here, but I'm pretty sure that one of the nodes is unreachable..
can you loop over cluster.masters and check if the clients are connected?

Would you mind hopping on a call? @leibale

One more interesting observation is that the below code works perfectly fine with TLS disabled in cluster mode.
const cluster = createCluster({
  rootNodes: [{
    socket: {
      host: redisConfig.host,
      port: redisConfig.port
    }
  }],

});

@prameet-verma Anything that should be on all the sockets opened by the cluster should be in defaults, not in rootNodes (so you should uncomment defaults and remove tls and checkServerIdentity from every root node.
I'm actually not exactly sure whats going on here, but I'm pretty sure that one of the nodes is unreachable..
can you loop over cluster.masters and check if the clients are connected?

I tried this as well and now it's not able to connect to the cluster as well.

@prameet-verma I'm in the middle of doing some things, we can have a call next week if u want ;)

@prameet-verma I actually have 20-30 min now, send me a meet/zoom/whatever link here if you got time..

Sorry @leibale , I am in IST timezone and was up till 1am only.
We can hop on call now, if you are available or I can book your calendar (please share email).

is there any way to using Configuration endpoint from aws instead of config each node for cluster mode?

Hey same here, how did this end up? @lnwu @prameet-verma