[AMORO-1457]Support computed columns in Flink DDL

Why are the changes needed?

Close #1457 .
Brief change log

suppoort serialized  compute columns and watermarks into arctic table properties
compute columns and watermark in arctic properties like below

support deserializing compute columns and watermarks into flink tableSchema

Only convert flink physicalColums into arctic(iceberg) schema during create table, compute columns and watermarks should be serialized into arctic table properties

when get table(write and read), deserializing compute columns and watermarks into flink TableSchema ,and combine with flink TableSchema convert by arctic(iceberg) schema

only support one watermark strategy

not support alter properties for compute columns and watermark strategy now.

if dim_table.enabled=true, do not use points above

How was this patch tested?

TestJoin.testLookupJoin:221->FlinkTestBase.exec:203->FlinkTestBase.exec:207 » IllegalArgument Field op_time not found in source schema TestJoin.testLookupJoinWithPartialFields:316->FlinkTestBase.exec:203->FlinkTestBase.exec:207 » IndexOutOfBounds Index: 0, Size: 0 TestJoin.testRightEmptyLookupJoin:130->FlinkTestBase.exec:203->FlinkTestBase.exec:207 » IllegalArgument Field op_time not found in source schema

Thanks , I had  separate function getPhysicalSchemaForDimTable when dim_table.enabled=true. TestJoin can work normally

@YesOrNo828 @zhoujinsong zhou Could you please review this pr

BTW, I'm curious about the property design of compute columns. The index in the property key doesn't seem to have a specific use. Would a design like this be better for users to understand these properties, such as:
flink.compute-column.cal_id.data_type=INT,
flink.compute-column.cal_id.expr=`id`+5

BTW, I'm curious about the property design of compute columns. The index in the property key doesn't seem to have a specific use. Would a design like this be better for users to understand these properties, such as:
flink.compute-column.cal_id.data_type=INT,
flink.compute-column.cal_id.expr=`id`+5

HDYT? @xieyi888 @YesOrNo828

The index is depedended on flink TableSchema index.  It just to specify the different columns. Although It seems not very convenient for users to understand the properties. It's better for serialize/deserialize When the field name contains some exception string. HDYT? @YesOrNo828

It's better for serialize/deserialize When the field name contains some exception string.

Yes, Including column names in property names can indeed introduce some special characters.
So perhaps we can still use an index to differentiate different compute columns. The index would only count the number of compute columns, starting from 1, and we would maintain this order when reassembling the schema. This might make it easier for users to understand.

I agree with using the index to determine the order of fields(including physical and computed columns) instead of the field name.
There would be a data type mismatching exception. If we only use an index to differentiate different compute columns, not include physical columns.
For example:
CREATE TABLE amoro.db.T (
  id int,
  id2 as id + 2,
  id3 as id * 2,
  name string);

INSERT INTO R
SELECT * FROM T;

The query of select * from T would return the schema: id, name, id2, id3.  But this is a disorder with the original table R's data types(int, int, int, name).

I agree with using the index to determine the order of fields(including physical and computed columns) instead of the field name.
There would be a data type mismatching exception. If we only use an index to differentiate different compute columns, not include physical columns. For example:
CREATE TABLE amoro.db.T (
  id int,
  id2 as id + 2,
  id3 as id * 2,
  name string);

INSERT INTO R
SELECT * FROM T;

The query of select * from T would return the schema: id, name, id2, id3. But this is a disorder with the original table R's data types(int, int, int, name).

I agree with it.  In order to make the same for create and read table with columns(physical column,  computed column, metadata column. ) and watermark
so Maybe we can design as below, and make somn documents for users.

when create table with DDL,  We serialized  columns(expect physical column) into table properties as below, ${index} means the column index(order) in table.

flink.schema.column.${index}.name= **
flink.schema.column.${index}.data-type=**

if it's computed column, we also serialized  the expresion
flink.schema.column.${index}.expr=**

if it's  computed column, we also serialized  metadata and virtual
flink.schema.column.${index}.metadata=**
flink.schema.column.${index}.virtual=**

when create table with DDL,  We serialized watermark into table properties as below

flink.schema.watermark.rowtime=**
flink.schema.watermark.strategy.expr=**
flink.schema.watermark.strategy.data-type=**

HDYT @YesOrNo828 @zhoujinsong

It's better for serialize/deserialize When the field name contains some exception string.

Yes, Including column names in property names can indeed introduce some special characters.
So perhaps we can still use an index to differentiate different compute columns. The index would only count the number of compute columns, starting from 1, and we would maintain this order when reassembling the schema. This might make it easier for users to understand.

if physical column was deleted by spark or other engine, property for compute column would be destroed and leading to deserializing compute column inaccuracy, we deside to make compute column  listed after all physical columns and validate column order during create table

It's better for serialize/deserialize When the field name contains some exception string.

Yes, Including column names in property names can indeed introduce some special characters.
So perhaps we can still use an index to differentiate different compute columns. The index would only count the number of compute columns, starting from 1, and we would maintain this order when reassembling the schema. This might make it easier for users to understand.

if physical column was deleted by spark or other engine, property for compute column would be destroed and leading to deserializing compute column inaccuracy, we deside to make compute column listed after all physical columns and validate column order during create table

done

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

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


Use HTTPS for update site

GitHub provides HTTPS access to the web resources - hence the update site can be accessed via HTTPS without any changes.
Therefore I recommend to change all occurrences of the Update site URL to
https://basti1302.github.io/startexplorer/update/

Nice catch. Done.

The web page of StartExplorer again states that the Update site is on HTTP not HTTPS:
The URL http://basti1302.github.com/startexplorer/update/ is used two times on this page.


Create missing structural design patterns

Currently there are adapter, bridge, composite and decorator.
To finish the list of structural patterns the following should be added:

Facade
Flyweight
Proxy

Keep in mind, that implementation is thematic, so somehow it should relate to the popular Mortal Kombat game. You may found some ideas in existed implementations...
Note: before you start, install Crystal programming language.

I'm willing to contribute to this issue, do you prefer separate pull requests for each patterns or a single one?

Great 👍  It's up to you!

Good :)
I think I'll keep them separate to ease reviewing then.

Nice job, thanks a lot. I have added you to the list of contributors 9de5a04e19b04fb6f238a0c33ac26b68d60ab2ef
Are you interested in working on missing creational patters? I am going to create two separate issues for this with hacktoberfest label.

Why not? I enjoy writing crystal :)

Great, checkout #9 and #10.
Also, note, i just moved repo to crystal-community org... So you will need to change git remote.


[Bug]: Test got stucked after execution of container.startAsync()

Testcontainers version
3.5.0
Using the latest Testcontainers version?
Yes
Host OS
Windows
Host arch
64-bit operating system, x64-based processor
.NET version
8
Docker version
24.

Docker info
warn: Microsoft.AspNetCore.Hosting.Diagnostics[15]
      Overriding HTTP_PORTS '8080' and HTTPS_PORTS ''. Binding to values defined by URLS instead 'https://+443'.
warn: Microsoft.AspNetCore.Server.Kestrel[0]
      Overriding address(es) 'https://+443'. Binding to endpoints defined via IConfiguration and/or UseKestrel() instead.
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: https://[::]:5001
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
      Content root path: /app

What happened?
I am trying to run test for my web app running in https.
When debugging test, my code is able to create image and start container. I am able to access my web app via browser.
The problem is once it passes this line
 await container.StartAsync();
it get stucked and  doesnot go to further code. I couldn't find any relative information regarding this.
However I am able to run it for http. Following is for http which works fine and proceed to next code line after start of container.
 var image = new ImageFromDockerfileBuilder()
      .WithDockerfileDirectory(CommonDirectoryPath.GetSolutionDirectory(), string.Empty)
      .WithDockerfile("Dockerfile")
      .WithCleanUp(true)

      .Build();

  // create image from Dockerfile
  await image.CreateAsync();

  container = new ContainerBuilder()
      .WithImage(image)
      .WithPortBinding(80, assignRandomHostPort: true)
      // use environment variables to add configuration options
      .WithEnvironment("ASPNETCORE_URLS", "http://+:80")
      .WithWaitStrategy(Wait.ForUnixContainer().UntilHttpRequestIsSucceeded(r => r.ForPath("/")))
      .Build();

  // build container
  await container.StartAsync();
Console.Writeline("Success");

Here is my code snippet for https, which get stucked  after executing code of starting container.
var image = new ImageFromDockerfileBuilder()
     .WithDockerfileDirectory(CommonDirectoryPath.GetSolutionDirectory(), string.Empty)

     .WithDockerfile("Dockerfile")
     .WithCleanUp(true)
     .Build();

 // create image from Dockerfile
 await image.CreateAsync();

 container = new ContainerBuilder()
     .WithImage(image)
     .WithPortBinding(443, true)
     .WithEnvironment("ASPNETCORE_URLS", "https://+443")
     .WithEnvironment("ASPNETCORE_Kestrel__Certificates__Default__Path", "mycertificate.pfx")
     .WithEnvironment("ASPNETCORE_Kestrel__Certificates__Default__Password", "***")
     .WithResourceMapping(new FileInfo("C:\\SNAC_Project\\TestingWithContainers\\TestingWithContainers.WebApp\\appsettings.json"), "/app/")
     .WithBindMount("C:\\SNAC_Project\\Document\\certificates\\mycertificate.pfx", "/app/mycertificate.pfx")
     .WithExposedPort(443)
     .WithWaitStrategy(Wait.ForUnixContainer().UntilHttpRequestIsSucceeded(r => r.ForPort(443)))
     .Build();

 // build container
 await container.StartAsync();
 Console.WriteLine("Success");

Could you please let me know what might went wrong or anything I missed configuring.
Thanks
Relevant log output
No response
Additional information
No response

This is very likely an issue with the wait strategy and its configuration. I am pretty sure the wait strategy never indicates readiness (success), and Testcontainers keeps trying it over and over again. Can you please check if the app inside the container really starts on 443? According to the logs, it starts on 5001.
Now listening on: https://[::]:5001

If it starts on the right port, make sure the HTTP client is able to verify the certificate.

Thank you for the reply. Configuring with wait strategy worked for me.
Cheers


jenkins-spock when used with gradle

Summary
This pull requests provides several examples for jenkins-spock when used from gradle.
Checklist
Testing
"N/A - no code changes"
Documentation
"N/A - no code changes"

Not sure if your schedule has eased up or if you have had a chance to further pursue this pull request.

While this works fine in the Gradle build (on CLI), when opening this in IntelliJ (v2020.3.2 CE) I failed to get it working (for a very long time):

in IntelliJ the tests always failed with something like:

> Task :compileJava NO-SOURCE
> Task :compileGroovy
> Task :processResources NO-SOURCE
> Task :classes
> Task :cleanSharedLibraries
> Task :prepareSharedLibraries
> Task :compileTestJava NO-SOURCE
> Task :compileTestGroovy
> Task :processTestResources UP-TO-DATE
> Task :testClasses
> Task :test
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/C:/Users/r.fuereder/.gradle/caches/modules-2/files-2.1/org.codehaus.groovy/groovy/2.5.13/ac054525fdc81cbd0bc2552b57052ebb1a93cd40/groovy-2.5.13.jar) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[2021-02-25 12:01:26,151](Test worker)([]) WARN WholeClasspathPipelineExtensionDetector - Failed to get some classes annotated with [interface hudson.Extension] of type [class org.jenkinsci.plugins.workflow.steps.StepDescriptor] in package [Optional.empty]. For detailed error messages, set the system property PipelineExtensionDetector.expandFailures=true. Failures: [[com.cloudbees.plugins.credentials.cli.CreateCredentialsByXmlCommand, com.cloudbees.plugins.credentials.cli.ImportCredentialsAsXmlCommand, hudson.cli.UpdateNodeCommand, org.jenkinsci.plugins.workflow.cps.CpsFlowExecution$PipelineTimings, hudson.cli.ReloadConfigurationCommand, hudson.cli.DeleteJobCommand, com.cloudbees.plugins.credentials.cli.ListCredentialsProvidersCommand, hudson.cli.ListJobsCommand, com.cloudbees.plugins.credentials.cli.DeleteCredentialsDomainCommand, hudson.cli.DisconnectNodeCommand, hudson.cli.BuildCommand, hudson.cli.GetJobCommand, hudson.cli.DeleteViewCommand, com.cloudbees.plugins.credentials.cli.CreateCredentialsDomainByXmlCommand, com.cloudbees.plugins.credentials.cli.GetCredentialsAsXmlCommand, hudson.cli.ConnectNodeCommand, hudson.cli.VersionCommand, hudson.cli.DeleteNodeCommand, com.cloudbees.plugins.credentials.cli.UpdateCredentialsDomainByXmlCommand, hudson.cli.OnlineNodeCommand, org.jenkinsci.plugins.gitserver.ssh.SshCommandFactoryImpl, hudson.cli.ReloadJobCommand, hudson.cli.InstallPluginCommand, com.cloudbees.plugins.credentials.cli.UpdateCredentialsByXmlCommand, org.jenkinsci.plugins.workflow.cps.CpsThreadDumpAction$PipelineThreadDump, com.cloudbees.plugins.credentials.cli.DeleteCredentialsCommand, hudson.cli.GetNodeCommand, com.cloudbees.plugins.credentials.cli.GetCredentialsDomainAsXmlCommand, com.cloudbees.plugins.credentials.cli.ListCredentialsContextResolversCommand, hudson.cli.CancelQuietDownCommand, hudson.cli.CreateJobCommand, hudson.cli.GetViewCommand, org.jenkinsci.plugins.workflow.cps.replay.ReplayPipelineCommand, hudson.cli.HelpCommand, hudson.cli.SetBuildDisplayNameCommand, hudson.cli.ClearQueueCommand, hudson.cli.SetBuildDescriptionCommand, hudson.cli.GroovyshCommand, hudson.cli.QuietDownCommand, hudson.cli.EnablePluginCommand, com.cloudbees.plugins.credentials.casc.CredentialsRootConfigurator, hudson.cli.ConsoleCommand, com.cloudbees.plugins.credentials.casc.SystemCredentialsProviderConfigurator, hudson.cli.WaitNodeOnlineCommand, hudson.cli.GroovyCommand, hudson.cli.WhoAmICommand, hudson.cli.WaitNodeOfflineCommand, hudson.cli.CopyJobCommand, hudson.cli.RemoveJobFromViewCommand, hudson.cli.ListPluginsCommand, jenkins.cli.StopBuildsCommand, hudson.cli.ListChangesCommand, hudson.cli.SessionIdCommand, hudson.cli.CreateNodeCommand, hudson.cli.DeleteBuildsCommand, jenkins.plugins.slack.SlackMatrixBridge, com.cloudbees.plugins.credentials.cli.ListCredentialsCommand, hudson.cli.DisablePluginCommand, hudson.cli.AddJobToViewCommand, hudson.cli.OfflineNodeCommand, hudson.cli.UpdateJobCommand, hudson.cli.CreateViewCommand, com.cloudbees.plugins.credentials.cli.ListCredentialsAsXmlCommand, hudson.cli.UpdateViewCommand]]
[2021-02-25 12:01:29,815](Test worker)([]) WARN WholeClasspathPipelineExtensionDetector - Failed to get some classes annotated with [interface hudson.Extension] of type [class org.jenkinsci.plugins.workflow.cps.GlobalVariable] in package [Optional.empty]. For detailed error messages, set the system property PipelineExtensionDetector.expandFailures=true. Failures: [[com.cloudbees.plugins.credentials.cli.CreateCredentialsByXmlCommand, com.cloudbees.plugins.credentials.cli.ImportCredentialsAsXmlCommand, hudson.cli.UpdateNodeCommand, org.jenkinsci.plugins.workflow.cps.CpsFlowExecution$PipelineTimings, hudson.cli.ReloadConfigurationCommand, hudson.cli.DeleteJobCommand, com.cloudbees.plugins.credentials.cli.ListCredentialsProvidersCommand, hudson.cli.ListJobsCommand, com.cloudbees.plugins.credentials.cli.DeleteCredentialsDomainCommand, hudson.cli.DisconnectNodeCommand, hudson.cli.BuildCommand, hudson.cli.GetJobCommand, hudson.cli.DeleteViewCommand, com.cloudbees.plugins.credentials.cli.CreateCredentialsDomainByXmlCommand, com.cloudbees.plugins.credentials.cli.GetCredentialsAsXmlCommand, hudson.cli.ConnectNodeCommand, hudson.cli.VersionCommand, hudson.cli.DeleteNodeCommand, com.cloudbees.plugins.credentials.cli.UpdateCredentialsDomainByXmlCommand, hudson.cli.OnlineNodeCommand, org.jenkinsci.plugins.gitserver.ssh.SshCommandFactoryImpl, hudson.cli.ReloadJobCommand, hudson.cli.InstallPluginCommand, com.cloudbees.plugins.credentials.cli.UpdateCredentialsByXmlCommand, org.jenkinsci.plugins.workflow.cps.CpsThreadDumpAction$PipelineThreadDump, com.cloudbees.plugins.credentials.cli.DeleteCredentialsCommand, hudson.cli.GetNodeCommand, com.cloudbees.plugins.credentials.cli.GetCredentialsDomainAsXmlCommand, com.cloudbees.plugins.credentials.cli.ListCredentialsContextResolversCommand, hudson.cli.CancelQuietDownCommand, hudson.cli.CreateJobCommand, hudson.cli.GetViewCommand, org.jenkinsci.plugins.workflow.cps.replay.ReplayPipelineCommand, hudson.cli.HelpCommand, hudson.cli.SetBuildDisplayNameCommand, hudson.cli.ClearQueueCommand, hudson.cli.SetBuildDescriptionCommand, hudson.cli.GroovyshCommand, hudson.cli.QuietDownCommand, hudson.cli.EnablePluginCommand, com.cloudbees.plugins.credentials.casc.CredentialsRootConfigurator, hudson.cli.ConsoleCommand, com.cloudbees.plugins.credentials.casc.SystemCredentialsProviderConfigurator, hudson.cli.WaitNodeOnlineCommand, hudson.cli.GroovyCommand, hudson.cli.WhoAmICommand, hudson.cli.WaitNodeOfflineCommand, hudson.cli.CopyJobCommand, hudson.cli.RemoveJobFromViewCommand, hudson.cli.ListPluginsCommand, jenkins.cli.StopBuildsCommand, hudson.cli.ListChangesCommand, hudson.cli.SessionIdCommand, hudson.cli.CreateNodeCommand, hudson.cli.DeleteBuildsCommand, jenkins.plugins.slack.SlackMatrixBridge, com.cloudbees.plugins.credentials.cli.ListCredentialsCommand, hudson.cli.DisablePluginCommand, hudson.cli.AddJobToViewCommand, hudson.cli.OfflineNodeCommand, hudson.cli.UpdateJobCommand, hudson.cli.CreateViewCommand, com.cloudbees.plugins.credentials.cli.ListCredentialsAsXmlCommand, hudson.cli.UpdateViewCommand]]

org/jboss/modules/ModuleLoadException
java.lang.NoClassDefFoundError: org/jboss/modules/ModuleLoadException
	at java.base/java.lang.Class.forName(Class.java:315)
	at com.homeaway.devtools.jenkins.testing.LocalProjectPipelineExtensionDetector.getClassesOfTypeInPackage(LocalProjectPipelineExtensionDetector.java:88)
	at com.homeaway.devtools.jenkins.testing.JenkinsPipelineSpecification.setupSpec(JenkinsPipelineSpecification.groovy:1122)
Caused by: java.lang.ClassNotFoundException: org.jboss.modules.ModuleLoadException
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
	... 3 more

DeployerSpec > classMethod FAILED
    java.lang.NoClassDefFoundError at Class.java:315
        Caused by: java.lang.ClassNotFoundException at BuiltinClassLoader.java:581
1 test completed, 1 failed
> Task :test FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':test'.
> There were failing tests. See the report at: file:///C:/Users/r.fuereder/Documents/TK-QS/Research-Pipeline-unit-testing/jenkins-spock-PR67/examples/shared-library-gradle/build/reports/tests/test/index.html
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 21s
6 actionable tasks: 5 executed, 1 up-to-date

It started working when I replaced the usage of Gradle plugin "org.jenkins-ci.jpi":
plugins {
    ...
    // Apply Gradle JPI plugin to simplify dependency management
    //id 'org.jenkins-ci.jpi' version '0.39.0' // !!!
}

...  (Because IntelliJ by default uses Gradle for test execution too, for some time being.)
How are you executing tests (without Gradle) or in which IDE?

Hm, my problem looks very related to #89

@reinholdfuereder : I could never get the Gradle tests to work in IntelliJ, so I cheated and manually created jUnit tests

@awittha : any progress on merging this pull request?

@reinholdfuereder : I could never get the Gradle tests to work in IntelliJ, so I cheated and manually created jUnit tests

Thanks for the "outing" ;-)
(I think besides the aforementioned "manual transitive dependency resolution" approach, IIRC switching to Java 8 -- as mentioned by @wheelerlaw in #89 -- also helped me; and maybe/presumably #90 might be the actual -- by comparison really easy -- final solution according to @wheelerlaw)

@reinholdfuereder : I went back to my IntelliJ project and ran a Gradle test and it ran fine with Gradle this time.
What is your Project SDK?

And what is your Gradle JVM?

As I tried to convey it failed initially (with Java 11) and succeeded when switching to Java 8 (inspired on the aforementioned #89 and #90). And IIRC in shell Gradle CLI succeeded right away, because there Java 8 was default.

Gotcha. Thanks for the explanation.

Happy birthday to the pull request (opened 1 year ago).

Happy birthday to the pull request (opened 1 year ago).

I think this project is dead.

@corporate-gadfly Thanks for the work, works great for me.

@atopuzov 👍

Hello, all. Some version bumps in latest commit.

Happy new year! Some more version bumps in latest commits.

Happy two year anniversary (opened 2 years ago).

how can I run your branch in a project @corporate-gadfly?
thank you for the work

@pablogrs : Thanks for the kind words.
Assuming you have a gradle project, you can find 3 gradle examples in my fork. Here's a link to one example. And here is a link to a specific test.

I have encountered the this Exeaption that was mentioned in you branch.
Renaming the Class did help, thanks for the big help. Do you have any ideas or background why this is happening ?
java.lang.NoClassDefFoundError: active (wrong name: Active)

I created yet another fork for it
https://github.com/pablogrs/jenkins-spock
and ended up using in Gradle with https://jitpack.io/#pablogrs/jenkins-spock to make it work with Java 11


Chrome Dev Editor. Cool New Features to Add!

Version:
OS: Chrome
Steps to reproduce:

You should add python!!!! I have not found anything as perfect as this program. Now I just need it in Python! I'm sure others would appreciate it too!
Fix that issue with the polymer not allowed by chrome or whatever it is...
Include a code reference, or something to look at for some codes and samples of them. Otherwise it's the best app I've seen yet!

Frequency: Always
Expected behavior: Almost there! Better than any other program! I almost expected there to be more coding languages. So please add more - or at least Python.
Actual behavior: Only Javascript and Dart... Or Polymer thingy...
Thanks, Connor00116

This is a tool for writing apps on the web/chrome, for the web/chrome.
They have also fixed that issue a long time ago with the Refactor for CSP right-click option on all projects.
I am not addressing this issue.

This is not a bug, why are you treating it like one? There is no expected behavior. These are all feature requests, and they are supposed to make web developer's lives easier.
Side note:
Python is available on Chrome OS using Python Editor and the Python NaCl, or a cloud VM such as cloud9.io and koding.com

I know it's a tool used for that. I am using it now more than ever and at the time I was looking for python programs. Now I looked a little more into Javascript and this app is perfect!

 I tried at least 10 times.

You aren't going to address the issue of having some kind of dictionary? I know, I know. You can go online and find everything. But what happens when you are offline? The program runs offline, but not the web. So I think you should at least have a small dictionary of codes, with the way you use them too.

Thank you for responding. I actually didn't know why I got this email. I totally forgot I commented here.
Also, I was not treating any of that stuff up there like a bug. I was only treating the Refractor as a bug.

Oh sorry, I didn't address number 3 because I didn't understand what you meant. Do you mean Intellisense (autocomplete)? Remember though, this is not a tool for learning to code. I had to learn too, but after you become fluent at it, you shouldn't have to be constantly looking at a dictionary of "codes." Sure, if you're using a new library, you may need to look at the docs, but you're probably online because you had to download the library. Plus, we all run in to bugs and frustration sometimes, but you can wait until you get online and then ask the guys at StackOverflow.
About the refactor: It seems to work for me. Are you even using Polymer? When you run your app, do you get a white screen?
You were kind of treating as a bug that it doesn't support Python because it was in the 'expected behavior.'
Sorry... I was kind of critical to you last time. Thanks for replying!
Thanks,
richiksc
P.S. The plural of code is 'code' when referring to computer programming. The plural of code is 'codes' when referring to cryptography, and wartime ciphers.

Yeah, that's true. Once I became fluent (Which happened actually pretty
quickly) it wasn't that hard. I don't know about the refractor thing. I
know how to use css and html now. Thanks, man. I'll contact you if I have
anymore ideas. Also, ever made any games in whatever coding language you
use? Just asking.

Oh sorry, I didn't address number 3 because I didn't understand what you
meant. Do you mean Intellisense (autocomplete)? Remember though, this is
not a tool for learning to code. I had to learn too, but after you become
fluent at it, you shouldn't have to be constantly looking at a dictionary
of "codes." Sure, if you're using a new library, you may need to look at
the docs, but you're probably online because you had to download the
library. Plus, we all run in to bugs and frustration sometimes, but you
can wait until you get online and then ask the guys at StackOverflow.
About the refactor: It seems to work for me. Are you even using Polymer?
When you run your app, do you get a white screen?
You were kind of treating as a bug that it doesn't support Python because
it was in the 'expected behavior.'
Sorry... I was kind of critical to you last time. Thanks for replying!
Thanks,
richiksc
P.S. The plural of code is 'code' when referring to computer programming.
The plural of code is 'codes' when referring to cryptography, and wartime
ciphers.

Reply to this email directly or view it on GitHub:
https://github.com/GoogleChrome/chromedeveditor/issues/3988#issuecomment-154743079

Yeah, I've made a game in JavaScript @ssgl. You should check it out: http://github.com/ssgl/stickdude

Good job on the game. I just checked it out. I was also just getting to
thinking that, because my dad makes websites and I help him sometimes, do
you know anyone that may need a website? I just wanted a project to do you
know. That probably sounds weird though.

Yeah, I've made a game in JavaScript @ssgl. You should check it out:
http://github.com/ssgl/stickdude

Reply to this email directly or view it on GitHub:
https://github.com/GoogleChrome/chromedeveditor/issues/3988#issuecomment-162714419


Merge editor should offer action to open regular file

Same as when opening a diff editor, a merge editor should offer a way to open the regular file (not in 3 way merge mode).
Same as diff editor it could use an action in the editor title area

Let's move this to July

To verify:

open a merge editor
verify its title bar has a command to open the result file

I wonder if "Open Changes" button should go back to the merge editor then?


Add mouse region for InputDecorationIcons in the textfield

Fixed: #112048
Add mouse region for InputDecorationIcons in the textfield.
The mouse cursor will be "basic" on the basic icons and "click" on icons buttons. Test case updated.
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Sorry for the mess, I am closing this PR and creating a new one


[SP-3073][BACKLOG-10203] Making use of Const.getDocUrl to resolve hel…

…p link. (#3096)

Build Completed
:white_check_mark: This pull request has passed all validations.
Build Commands
mvn -B -fn -DrunITs=true -f plugins/repositories-plugin/pom.xml clean install && mvn -B -f plugins/repositories-plugin/pom.xml site

Cleanup Commands
mvn -B -f plugins/repositories-plugin/pom.xml build-helper:remove-project-artifact

Changed files
  plugins/repositories-plugin/src/main/java/org/pentaho/di/ui/repo/RepositoryDialog.java

@pamval @mbatchelor please take a look.
This is a backport of #3096.


PDF checking: copy all diffferent PDFS to a folder for easy replacement

Consider adding a line to the log of "If this new PDF is what you want it to be, just replace it". In the future, consider a tool (or addition to Kiln itself) that copies the new PDFs into a separate artifact folder, for easy copy-replacing into the sources folder.

100% agree. Also, remember to add to the end of that sentence where to find the new file. i.e:
If this new PDF is what you want it to be, just replace it with the one that ALKiln just downloaded to ""


Refactor crypto code into standalone lib

We need a @spacemesh/crypto lib that:

allows generation of new mnemonics, keypairs, and accounts
reads/writes wallet files
contains the Wallet data structures and methods
can validate all of these things

This code all lives in this repository today and can be factored out into a separate library. This will be broadly useful across the Spacemesh ecosystem.
The ed25519-related code, including the wasm library, should probably be moved there too.

This codebase is quite clean and well organized. It also uses Wasm under the hood as a global standard. Please have a look: https://github.com/polkadot-js/common/tree/master/packages/keyring


Add user groups as a permission option

At present I can restrict permissions to create streams and post in certain channels to all users or admins only. I'd like an option between these two extremes, to allow the permissions to a single user group, so I could have a group of leaders who can post in a channel, who aren't all admins of the Zulip organisation, or allow a set of semi-trusted users (mods?) to create channels without giving everyone that ability, and again without giving them admin to the whole organisation.

@iainhallam yep, totally agreed that we should have this, and that's part of our vision for what user groups should be able to do.

@zulipbot claim

@pragatiagrawal31 are you still working on this?

I started working on some other high priority issues, but I'm still working on this one too, claiming again to avoid confusion @zulipbot claim.

@mateuszmandera can I work on this issue it appears that previous wip pr #11376  has no progress from about 2 years. Also I wanted to ask if the approach in #11376 of adding a separate model should be right for it as could not find any related conversation for it.

@zulipbot claim

This should be solved as a follow-up to #19525.

Closing this as effectively part of the #19525; I don't think tracking it separately is helpful -- we're planning to move all settings to such a model in that issue and this one doesn't focus too much on a specific setting.


Set up longhorn to manage storage by git.

In infrastructure part, add longhorm helm manifest for flux cd.
namespace to use : longhorn-system
Helm url : https://charts.longhorn.io
version to use : v1.7.2
To make sure all nodes match the prerequisites, use longhorn clt
https://longhorn.io/docs/1.7.2/advanced-resources/longhornctl/
verify nodes
longhornctl check preflight --kube-config path/to/kubeconfig
install prerequisites on nodes
longhornctl install preflight --kube-config path/to/kubeconfig

already completed in past commit.
no pull request where done.
direct commit on master.


h2o: modifying the response

x-fallthru-set-x-ngx-omniauth-* will be stored in env,
it is seems that the upstream can't read env... :(


Update: omit

typing omit same as pick
Additional fix for optional properties for pick

@lautarodragan it was easier to fix your issue https://github.com/ramda/types/pull/81#issuecomment-1849569492 by making my own MR
The problem as far as I can tell is Typescript itself. Record<ElementOf<Names>, any> won't take an object if one of the keys is optional, but making it Partial<Record<ElementOf<Names>, any>> will allow objects that are missing keys from the array
While not the ideal solution, what I was able to do is make it return never for the latter case by comparing ElementOf<Names> to keyof U in the return type

@lautarodragan

Maybe unrelated, but it didn't feel nice to see my PR being closed, replaced by another, after the effort and time I spent on it. I don't assume any bad intentions, but definitely doesn't feel welcoming.

Thank you for the constructive criticism, I'll work on communication so instead of close+replace we can just do it in the initial PR

@lautarodragan

Nice! I've tested this PR my code and it works as expected.

I pushed some additional changes, can you retest and let me know if everything is still working as expected, please and thank you

Thank you for the constructive criticism, I'll work on my communication so for the future instead of close+replace we'll keep the initial MR for these cases

Thanks :heart:

I pushed some additional changes, can you retest and let me know if everything is still working as expected, please and thank you

I just did a couple of manual tests in my code base and it works perfectly! It correctly reports errors when I try to access fields I've omitted, both with the curried and non-curried versions; and the non-omitted fields are still accessibly and correctly typed.
When including in the omit list a field that does not exist in the object type it infers the type as never and stops there, too.
I think this even uncovered an existing bug in the code base.
:rocket:

@lautarodragan accepting that as a Virtual "Approve" and merging


Debug console repeats the same information

In VS Code debug console, I see all the information basically repeated like below:

info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
Microsoft.Hosting.Lifetime: Information: Application started. Press Ctrl+C to shut down.

How can I avoid this?

This isn't really a question related to this extension, and therefore you are outside of my area of expertise, but I believe what you would need to do is replace the default logger, or the default IHostLifetime with one that doesn't log on startup. Here is a different but related stack overflow post that I saw when searching for this: https://stackoverflow.com/questions/68534062/disable-ctrlc-shutdown-in-asp-net-core-web-api-application

Thank you @gregg-miskelly. Closing the issue, then.


Remove redundant RepartitionExec from plan

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
I was running benchmarks this morning and noticed this fragment of the query plan when running TPC-H query 5.
CoalesceBatchesExec: target_batch_size=4096
  RepartitionExec: partitioning=Hash([Column { name: "n_nationkey" }], 24)
    RepartitionExec: partitioning=RoundRobinBatch(24)
      ParquetExec: batch_size=8192,

It seems redundant to repartition with round-robin and then immediately repartition again using a hash.
A more complex example:
RepartitionExec: partitioning=Hash([Column { name: "r_regionkey" }], 24)
  CoalesceBatchesExec: target_batch_size=4096
    FilterExec: r_name = ASIA
      RepartitionExec: partitioning=RoundRobinBatch(24)
        ParquetExec: batch_size=8192,

In this example, we could push the repartition on r_regionkey down to the scan.
Describe the solution you'd like
Implement new optimizer rule to remove redundant repartitions and/or push down repartitions.
Describe alternatives you've considered
None
Additional context
None

I am wondering whether this helps for DataFusion, as Repartition earlier adds some more parallelism and doing a hash repartion before the filter would be more expensive than after the filter.
For Ballista this might be different if the data needs to be shuffled to multiple machines.


Add graphql context in request logs

Codecov Report

Merging #14 (1edcbf0) into master (37a6516) will decrease coverage by 0.70%.
The diff coverage is 52.94%.

@@            Coverage Diff             @@
##           master      #14      +/-   ##
==========================================
- Coverage   74.87%   74.17%   -0.71%
==========================================
  Files          22       22
  Lines         621      635      +14
==========================================
+ Hits          465      471       +6
- Misses         96      103       +7
- Partials       60       61       +1

Impacted Files
Coverage Δ

...al/app/api/net/http/handler/api/graphql/handler.go
36.36% <36.36%> (-63.64%)
:arrow_down:

internal/app/api/net/http/middleware/logging.go
95.45% <83.33%> (-4.55%)
:arrow_down:

Continue to review full report at Codecov.

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


fix: tidy workspaces

This PR

Tidies workspaces, as a result of security issue by outdated dependency: https://app.snyk.io/org/open-feature/project/afd22c13-fb4f-4a9a-823d-e2e8ddaf2eda/pr-check/48fe59cd-e1af-4680-b46e-895a96793eae

Related Issues

Notes

Follow-up Tasks

How to test

Force merging this since it's only deps


dartdocs.org 404

http://www.dartdocs.org/
and therefore
http://www.dartdocs.org/documentation/aqueduct/latest/
doesn't work.
But
https://pub.dev/documentation/aqueduct/latest/
seems to work.

Broken links appear to have been temporary. Retested and all 3 links listed above work as expected. The dartdocs.org URLs redirect to their new pub.dev URL.


Delete unused folder, Artifact of old README gen system

what

Deprecate https://github.com/cloudposse/build-harness/tree/master/modules/terraform/template

why

Artifact of old README gen system

references

https://github.com/cloudposse/build-harness/issues/93

Let's deprecate all other references as well
https://github.com/cloudposse/build-harness/search?q=DATASOURCES&unscoped_q=DATASOURCES


data-parsley-excluded option not working for disabled inputs

[x] Bug report.

Overview
The data-parsley-excluded attribute doesn't seem to work.
Expected behaviour
I'm having a Rails form field where I'm using the following (note the disabled attribute):
<%= user.text_field
                   :first_name,
                   class: 'form-control',
                   disabled: true,
                   autocomplete: "off",
                   'data-parsley-required': "true",
                   'data-parsley-excluded': "[disabled] :hidden",
                   'data-parsley-group': "fieldset-5" %>

I'm expecting the validation to be skipped unless I remove the disabled attribute from that particular field.
Actual behaviour
The validation always runs on the disabled input field even if the "data-parsley-excluded": "[disabled] :hidden" attribute is present.
Proof of concept
I made a tiny jsfiddle to demonstrate what's happening here: jsfiddle
System
JQuery v3.3.1
Parsley v2.8.1
Perhaps related to https://github.com/guillaumepotier/Parsley.js/issues/664

First, sorry that :disabled is not excluded by default by Parsley, it really should be.
Second, it could be clearer, but data-parsley-excluded can be a filter at the form or global level only; it can be set to true at the input level. If you move that parameter to the form you should get the result you wanted.
Not related: you can use data: {parsleyRequired: true,  parsleyGroup: 5} in your Rails view if you want. Also not related, but data-parsley-required is not needed if required is already specified.


Student status and roles should not be case sensitive when adding contact

I made a pull request first, haven't triple confirm if all is in working order.

Need to check why undergraduate 1 - 6


Look into adding a function for retrieving all information about an ecological site from EDIT

It seems like it should be possible to write a wrapper for fetch_edit() that would take one or more ecological site IDs and return everything from all the accessible tables that relates to them. Maybe something like:
# Get the ecosite ID as an argument for this wrapper function
ecosite_id <- "R036XB006NM"

# Extract the MLRA code
mlra_code <- stringr::str_extract(string = ecosite_id,
        pattern = "(?<=^[RFW])\\d{3}[A-Z]")

# Get a list of all the tables
data <- lapply(X = c("data", "table", "names"),
        keys = ecosite_id,
        mlra = mlra_code,
        key_type = "ecological_site_id",
        FUN = fetch_edit)

# Then some step to bind them together (or just return the list)

I have thoughts about how to make it work cleanly with multiple ecosites at once, but proof of concept first!

This is just pulled directly from the SRM 2024 workshop document, but it could be slotted in. I'd've used a lapply() but that would've spooked the attendees.
# These are our ecological sites of interest
ecosites <- c("R036XB006NM",
              "R036XB007NM",
              "R042BB012NM")

# Don't panic! This is over-engineered so that it'll work dynamically with any
# ecological site IDs. You can always hardcode the MLRA codes if you want!
mlras <- unique(unlist(stringr::str_extract(string = ecosites,
                                            # This just looks through the IDs
                                            # for the MLRA codes, specifically
                                            # the bits of the IDs where there's
                                            # three digits and a letter that had
                                            # an R, F, or W just before them and
                                            # a letter immediately following them
                                            pattern = "(?<=[RFW])\\d{3}[A-Z](?=[A-Z])")))

# Then we can grab and filter the data
# We'll issue a series of data requests, one for each data table we want, and
# store all the results in a list
# First up, we'll define which data tables we want. These will be used as the
# data_type argument
data_types <- c("climate", "landforms", "soil profile", "annual production")

# The second step is to make a list we can put the data into
ecosite_data <- list()

# Then we can actually get, filter, and store the data
for (current_data_type in data_types) {
  current_data <- trex::fetch_edit(mlra = mlras,
                                   data_type = current_data_type)

  # This keeps only the records in the data where the ecological site ID matches
  # one of the ecological site IDs we actually care about
  current_relevant_data <- dplyr::filter(.data = current_data,
                                         `Ecological site ID` %in% ecosites)

  # This stores the data in the list we made, using the name of the data table
  ecosite_data[[current_data_type]] <- current_relevant_data
}


[nrf fromlist] boards: arm: nrf9151dk: fix broken link

This patch fixes a broken link in the docs for the nrf9151dk.
It points to the SiP's product page for now.
Upstream PR: https://github.com/zephyrproject-rtos/zephyr/pull/69516
Signed-off-by: Maximilian Deubel<EMAIL_ADDRESS>(cherry picked from commit be17e6e7133a99156191e64ca3ca6233dc0fad0e)

There is no information in Infocenter about the 9151.

The PS, hardware guides would be added only during the launch time and that will be to Zoomin - https://docs.nordicsemi.com/category/nrf-91-series. We could removed this link for now, and once the guides are added we could add this zoomin link to the page?

Yes, that would work.


Reco Love: Gold Beach [PCSG00782]

App summary

App name: レコラヴ Gold Beach
App serial: PCSG00782
App version: 01.00

Vita3K summary

Version: v0.1.2
Build number: 1996
Commit hash: https://github.com/vita3k/vita3k/commit/5d0e6547

Test environment summary

Tested by: Yunotchi
OS: Windows 10
CPU: AMD Ryzen 7 2700X
GPU: NVIDIA GTX 1080 Ti
RAM: 16 GB

Issues

Game boots but freezes on black screen

Screenshots

Log
PCSG00782 - [レコラヴ Gold Beach].log
Recommended labels

Bootable

App summary

App name: RecoLove: Gold Beach
App serial: PCSG00782
App version: 1.0

Vita3K summary

Version: v0.1.5
Build number: 2723
Commit hash: https://github.com/vita3k/vita3k/commit/c32ac263
CPU backend: Dynamic

Test environment summary

Tested by: othmanead
OS: Windows 11
CPU: Intel i5-10300H
GPU: RTX 3060 mobile
RAM: 16 GB

Issue:
Characters don't show up in the visual novel part
Screenshots:

Log
vita3k.log
Recommended labels

Ingame +
Graphics issues

App summary
App name: RecoLove: Gold Beach
App serial: PCSG00782
App version: 1.07
Vita3K summary
Version: v0.1.6
Build number: 2944
Commit hash:
CPU backend: Dynamic
Test environment summary
Tested by: phantasina
OS: Windows 10
CPU: ryzen 5500
GPU: RTX 3060 ti
RAM: 16 GB
Issue:
can't display


Add zstd port

Hi @saulthu, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

Thanks again for this PR!
I removed the patch to the upstream's CMake, since the DLLs don't need to be renamed. Instead, the import libs get renamed during installation to remove the version and architecture. This means that their name is also reverted back to zstdlib.lib instead of just zstd.lib. You may need to clear out the buildtrees\zstd directory when you pull from master again.


connection not reused? slow performance?

I am having performance trouble with this implementation.
Data suggests, that the connections are not properly reused.
small sample:
1 message 1.59917497635s
5 messages: 5.86858487129s
4 messages: 4.87945485115
I build my own quick and dirty implementation based on simplepush.php from here:
(http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1)
and the comments here:
(http://stackoverflow.com/questions/14563097/sending-multiple-iphone-push-notifications-apns-php-tutorial)
Performance data is almost constant no matter how many messages:
1: 0.842793564642
4: 0.841887950897
5: 0.855985164642
Can anyone confirm or debunk?
p.s.: Yes, my code does loop with "$pushManager->add($push);" and does send only once after the loop with "$pushManager->push();". this is not the cause.
foreach ($todolive as $val) {
    $push = new Push($apnsAdapterlive, $val[0], $val[1]);
    $pushManagerlive->add($push);
}
$pushManagerlive->push();

+1 slow performance for mass apn pushes

experiencing the same issue. had to create a designated request url and snd push via an async call using curl request to it. Any pull requests or some sort?

I'm having the same issue, about 1 second per apn push message. Does anyone have a solution?


Can not find the entrance of training

Hi,
It seems in the train.py file, "module" object can not correct initialization.

And in the "pl_module.py" file, the training step can not be called and "batch_index" parameter doesn't be used.

It seems the "dist_graph" object can not be finished correctly, but the trainning can continue running.

I run the code several times on Server, all of them can not get result and failed. Besides, "batch_size" seems doesn't work either. The program can not correctly initilize, but still can run, very strange. The reason is metioned above.  The "dist_graph" tensor can not return.


Error while importing sqlite: ImportError: No module named _sqlite3

[x] Ran brew update and retried your prior step?
[x] Ran brew doctor, fixed as many issues as possible and retried your prior step?
[x] If you're seeing permission errors tried running sudo chown -R $(whoami) $(brew --prefix)?

I basically tried everything. Whatever I found online regarding this issue and people were mentioning that it worked I did it.. but it doesn't work for me. For example brew rm python python3 sqlite --force and other things that I could remove I did it.. but no luck..
I'm recently updated all of my Homebrew stuff when I upgraded to macOS 10.12.. and here is the current situation.. is there anything I can try before throwing away this Macbook Pro outside of my window?
$ brew install python sqlite
Warning: python-2.7.12 already installed
Warning: sqlite-3.14.2 already installed

#-----------------------------------------------------------------------------

$ which python
/usr/local/bin/python

#-----------------------------------------------------------------------------

$ find /usr/local -name sqlite
/usr/local/Cellar/sqlite
/usr/local/opt/sqlite

#-----------------------------------------------------------------------------

$ python
Python 2.7.12 (default, Sep 27 2016, 20:06:01)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.38)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

>>> import sqlite
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named sqlite

>>> import sqlite3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sqlite3/__init__.py", line 24, in <module>
    from dbapi2 import *
  File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sqlite3/dbapi2.py", line 28, in <module>
    from _sqlite3 import *
ImportError: No module named _sqlite3

Did you install python from source? Or did you pour our bottle? Please post of the output of the following commands:
brew info python
/bin/ls -l /usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_sqlite3.so

Used your bottles. Here is the gist to avoid crappy comments.

@zmwangx I'm guessing it's not what you wanted to see.. :(

I just came back to my computer.

Used your bottles.

Info disagrees.
/usr/local/Cellar/python/2.7.12 (6,288 files, 85.3M) *
  Built from source on 2016-09-27 at 20:06:59

Judging from your desperateness, you should really consider pouring our bottle instead of trying to debug your source build.
But if you really want to debug your source build, show us your
brew config

and the conversation might be able to continue.

I don't care about debugging.. I just want to make it work.. I thought by running brew install python would use your bottle :) Am I missing something?! How do I override.. solve my problem?

HOMEBREW_VERSION: 1.0.5-25-g7e93340
ORIGIN: https://github.com/Homebrew/brew.git
HEAD: 7e93340073106f9f5a4bef057823210fb432c064
Last commit: 8 hours ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 81697c641696ca9249ff9c6b1a24095ccb0c04d8
Core tap last commit: 3 hours ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_REPOSITORY: /usr/local/Homebrew
HOMEBREW_CELLAR: /usr/local/Cellar
HOMEBREW_BOTTLE_DOMAIN: https://homebrew.bintray.com
CPU: octa-core 64-bit haswell
Homebrew Ruby: 2.0.0-p648
Clang: 8.0 build 800
Git: 2.10.0 => /usr/local/bin/git
Perl: /usr/bin/perl
Python: /usr/local/bin/python => /usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/bin/python2.7
Ruby: /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
Java: 1.8.0_60
macOS: 10.12-x86_64
Xcode: 8.0
CLT: N/A
X11: 2.7.9 => /opt/X11

That's weird. Could you please try
sudo xcode-select --install

to install CLT and try again (brew update --force; brew uninstall --force python; brew install python)?
If that doesn't work I'll tell you a secret way.

The beauty of Python! On it..

Magic! I really can't believe that it worked :) Thank you very very nice..! Spent the whole evening on that.. :)

I still want to know the secret way though.. in case of trouble in the future I can always come back here..

Glad to hear.

The secret way is
# Depending on current version of formula and OS
curl -LO https://homebrew.bintray.com/bottles/python-2.7.12.sierra.bottle.tar.gz
brew install ./python-2.7.12.sierra.bottle.tar.gz

But brew install python should really pull the bottle. Guess it's because you're missing CLT, but not sure, I'm not familiar with no-CLT configurations.

I'm sure I had them installed on that machine.. as I think Homebrew requires that at one point.. but after the Sierra upgrade things went sideways (as always)... thanks again! Cheers.. 🍺 🍻 🍺

$ pkgutil --lsbom com.apple.pkg.DevSDK_OSX1012 | cut -d / -f 2 | uniq
.
System
usr

As you can see, CLT package installs its contents into /System and /usr, both of which are overwritten by a major OS upgrade.

I might need to throw away this computer (or maybe just have clean install) after all.. :(
Not sure if that's related but it looks like something is wrong again.. that happens every time that I'm trying to deploy the app on App Engine.. In case that matters.. and yes I deleted every single trace of google-cloud-sdk and installed it again.. no luck :)
Maybe @zmwangx you have some other black magic that could help me..?

Unfortunately no, I'm not running into such issues on Sierra, and I doubt it's our problem (most of my stuff run on Python 3 though, and almost always with a non system wide Python). Maybe you could give pyenv a try?

Something is odd with my machine :( thanks man.. I installed pyenv used all the versions from 2.7.8 - 2.7.12 and I downgraded the App Engine sdk as well.. no luck.. I'm ready!

Huh sorry to hear that but no idea... I myself did run into "Python quit unexpectedly" issue intermittently since 3.5 I believe (which is roughly the same time as 2.7.11), but it was pretty rare and never reproducible.

Now you may try a binary installer from python.org directly but I doubt it would help much...

Or you can try installing just Python in a clean VM.

It's just sucks.. but that's life :) When you play dangerous games..
 I wanted to do that for quite some time now.. so it looks like that day/night just arrived :)

👍 Good luck with your clean install.

By the way..! Homebrew is on #43.. http://githubstats.lip.is

And legacy-homebrew is 28. 😂

Opened https://github.com/Homebrew/homebrew-core/issues/5347 to see if we can prevent more users from wasting time on Python due to missing CLT.

Maybe also change the first CLT to: Command Line Tools (CLT)
@reitermarkus Let's see when the new one will overpass it..

@zmwangx and now everything is nice and clean! :) Can I ask your opinion about brew cask.. I used to have it like a million years ago.. is it OK to use it?

and I'm also ready to run this beauty: brew.sh any other magic to add or remove?
(you can also totally ignore my questions..)

Can I ask your opinion about brew cask

My personal opinion of cask is it's pretty awful for any sort of management, but it's useful for one off installations, and that's what I use it for. Any cask lovers out there: I do not intend to spark an argument.

brew.sh

It's fine, but
ln -s /usr/local/bin/gsha256sum /usr/local/bin/sha256sum

is pointless since the non-prefixed version is already in gnubin. Also, you should hard code
$(brew --prefix coreutils)/libexec/gnubin (e.g. /usr/local/opt/coreutils/libexec/gnubin) to speed up shell init.

Awesome man! Much appreciated..

So the good news is that my machine is very clean and nice..!!
the bad news is that I still have the error: https://gist.github.com/lipis/946c17457cdd8acf45d6270091ebc63a
Segmentation fault: 11

If there are any clues above.. fine.. but in the meantime I'll try to work on my older machine.. and maybe downgrade (somehow) to El Capitan :(
(Maybe also posting this somewhere else would make sense.. I can't be the only one..)

not sure if this contributes here, but I am having the same issue, except only on the deployed app, not the local python install (which runs perfectly). is App Engine using brew? does knowing this help your issue?

is App Engine using brew?

No.

does knowing this help your issue?

Python compiled without SQLite is common enough. It happens whenever sqlite.h is not found in this short list of paths, regardless of CPATH, CFLAGS, etc. We have this patched in homebrew/core, and knowing another unrelated case of failure doesn't really help us. But thanks anyway.


Hibernate Validator doesn't always work.

I have noticed that when I try to use the bean validation, sometimes it compiles, sometimes it fails to compile. I occationally get this error.
[ERROR] ~/avaje_test2/target/generated-sources/annotations/edu/wgu/ai/service/impl/MyController$Route.java:[15,8] No dependency provided for io.avaje.http.api.Validator on edu.wgu.ai.service.impl.MyController$Route
[ERROR] Dependencies [io.avaje.http.api.Validator] are not provided - missing @Singleton, @Component, @Factory/@Bean or specify external dependency via @InjectModule requires attribute

In my app I do this.
@Valid
public class MyObj {
}

@Valid
@Controller
@Path("/path")
public class MyController {
    private final MyReadService myReadService;

    @Inject
    public MyController(MyReadService myReadService) {
        this.myReadService = myReadService;
    }

    @Post("/{id}")
    public void create(MyObj obj) {
    }
}

import io.avaje.http.api.Validator;

@InjectModule(name = "app", requires = Validator.class)
@OpenAPIDefinition(info = @Info(title = "Example service", description = "Example Javalin controllers with Java and Maven"))
public class Main {
    public static void main(String[] args) {
         Javalin app = Javalin.create(config -> {
            config.showJavalinBanner = false;
            config.addStaticFiles("public", Location.CLASSPATH);
            config.accessManager((handler, ctx, permittedRoles) -> {
                log.debug("allow access ...");
                handler.handle(ctx);
            });
          });

         BeanScope beanScope = BeanScope.builder().build();
        List<WebRoutes> webRoutes = beanScope.list(WebRoutes.class);
        app.routes(() -> webRoutes.forEach(WebRoutes::registerRoutes));

        app.start(port);
        return app;
    }
}

Sometimes this works, sometimes this fails. Not sure why it fails or works. Not sure how to fix it when it is failing. It is almost like something is cached somewhere.
When it is failing the only way I can get around it is add the class manually by doing this.
@Component
public class BeanValidation extends BeanValidator {
}

I'm thinking this is maybe related to the version of avaje-inject and the version of avaje-http-hibernate-validator in that they need to be compatible.
In short, check that you are using the latest of both which is 8.5 of avaje-inject and 2.8 of avaje-http-hibernate-validator.
Unfortunately I made a change to avaje-inject which meant updating the avaje-http-hibernate-validator. They should be all good if we are using the latest of both.

So when I mvn clean test it compiles fine.  IntelliJ IDE Rebuild, reproduces the error.
Looking closer, the mvn clean test generates a AppModule as expected with  @InjectModule(requires={io.avaje.http.api.Validator.class}) ... but the IntelliJ IDE Rebuild instead produces a ImplModule without the requires={io.avaje.http.api.Validator.class}
So there seems some interesting difference there.   Ah, I think I found the issue.
@Scope
@InjectModule()
public @interface MyCustomScope {
}

Custom scopes are not supposed to have @InjectModule and we should really only have 1 of them.  The presence of the @InjectModule() here on MyCustomScope seems to cause the problem. Specifically I think this is making it lose the requires={io.avaje.http.api.Validator.class} that we want on the module.
So, remove the @InjectModule() from MyCustomScope and do a clean rebuild ... and then from then on we should be good.
We should see the AppModule being generated and it should have the requires={io.avaje.http.api.Validator.class} (and we should no longer see the ImplModule being generated).

Hmmm, there is definately a bug here with IDE rebuild - the @InjectModule on the custom scope is messing with the @InjectModule of the default module.

Ok, found the bug !!  It took me a couple of goes to "spot" it.
the avaje-inject-generator had code:
    Set<? extends Element> elementsAnnotatedWith = roundEnv.getElementsAnnotatedWith(InjectModule.class);
    if (!elementsAnnotatedWith.isEmpty()) {
      Iterator<? extends Element> iterator = elementsAnnotatedWith.iterator();
      if (iterator.hasNext()) {
        Element element = iterator.next();
        Scope scope = element.getAnnotation(Scope.class);
        if (scope == null) {
          // it it not a custom scope annotation
          InjectModule annotation = element.getAnnotation(InjectModule.class);
          if (annotation != null) {
            defaultScope.details(annotation.name(), element);
          }
        }
      }
    }

The problem here is ... it only goes through the first element of the iterator regardless ... so IF the first element returned in this set is the custom scope it will get ignored (because the @scope is not null) BUT it then stops and doesn't look at any other element annotated with @InjectModule.
This is why sometimes it worked and sometimes it didn't ... it depended on the order of the elements returned by roundEnv.getElementsAnnotatedWith(InjectModule.class) - dang !!!
The fix is to iterate ALL elements in that iterator, in fact replace the iterator with enhanced for loop.
Nice bug.  Thanks hugely for creating this little test project !!

Fixed in avaje-inject version 8.6

avaje-inject version 8.6 has been released.  I'll close this and reopen if necessary.

Thanks for the fixes!
In your documentation you have the new @Scope with an @InjectModule on the MyCustomScope class under the heading "Custom scope dependencies". That is why I was adding it to my scope object. Looking at the documentation it looks like it is on purpose though.
Another question though. I have the ability to automatically use @RequestScope if I inject that JavalinContext into my controller. Is there a way to use RequestScope outside of this? For example if I want to have a service class that is recreated for every request?

documentation you have the new @Scope with an @InjectModule on the MyCustomScope

Yes, the docs are correct. Yes you were correct to use @Scope with an @InjectModule. My comment about removing it was wrong really.

For example if I want to have a service class that is recreated for every request?

@Prototype will create a new instance each time it is requested. If a service class is "stateful", it could be a @Prototype but then it would need to be injected into things that are also either prototype scope or request scoped. As I see it, all service classes should be stateless and not need to be @Prototype - keen to here more detail on this case, the motivations for the service class to be prototype/request scope.
What makes this "request scope" special is that they need the appropriate [web framework specific] request &/or response objects injected into the controller - these are created externally to avaje-inject. In this way these "request scope beans" are always expected to be controllers (not service classes, because in  theory the web request/response objects don't get past the controller into the service classes - we are not expected to need the Javalin Context in a service class).
A alternative way to do this is via "custom scopes" (that is a more general approach):

We put all our request scoped things into a "custom scope" (say @WebRequest).
For each request we programmatically create the custom scope passing the [Javalin Context or Helidon request/response etc]
This scope lives only for the life of the web request
We use a parent BeanScope that has all the things that are singleton/stateless

This approach works but it isn't ideal in the sense that it is more overhead creating a custom scope for each request relative to just invoking a factory method (BeanFactory<ControllerType, JavalinContextType>.
Not sure I've answered your question here. Let me know if this made some sense.


OS packages for CLI script

The README documentation for setting up wartremover is fantastic! But I'd like to go one step further in ease of use. Some users, especially newbies like me, may want to install wartremover as a global CLI script for all .scala code (acting like checkstyle but for Scala code), without having to know anything about sbt.
Ideally, users could install wartremover for CLI with:

sudo install wartremover (apt for Debian/Ubuntu Linux)
brew install wartremover (brew for Mac OS X)
chocolatey install wartremover (chocolatey for Windows)

I'd really appreciate a setup process like this, as a new Scala/sbt user. Later, when I'm more versed in sbt, I might integrate wartremover into my structured sbt/maven workflow. But I'd prefer to use my OS package manager and bash, no sbt fussing for now.
What do you think?

I've requested that wartremover be added to Homebrew at Homebrew/homebrew#41216.


Docker container issue

A issue when I run the "new goaccess container"

Seems like an issue from here.


Enable SDG batching with vLLM

Epic: https://github.com/instructlab/sdg/issues/135
Requires: https://github.com/instructlab/sdg/pull/157
When using a serving backend that supports batches of requests (i.e. vLLM), the current SDG pipeline sends the entire dataset as a single large batch of requests to the OpenAI server. This may lead to some requests waiting too long for the response, resulting in timeout errors and potentially overloading the backend server with extremely large batches.
SDG now supports launching parallel tasks to send smaller batches in parallel to the OpenAPI server. This is controlled by the batch_size argument to generate_data():

batch_size=None - use the library's built-in default batch size (currently 0, but will change to 8 in a future release)
batch_size=0 - disable batching, just use one batch
batch_size=<int> - use batches of the specified size

If the user sets the batch size to 8, the system will run a concurrent thread on each CPU on the system, each sending a batch of 8 prompts. So, on an 8 CPU system, this would result in a total of 64 requests processed simultaneously by the backend server.
This PR adds --batch-size to ilab data generate to allow overriding the default behaviour of a batch size of 8 with vLLM and zero with llama-cpp.
Supports https://github.com/instructlab/sdg/issues/135

CI issue:
INFO 2024-07-27 09:35:02,958 instructlab.sdg.pipeline:139: Running pipeline with multi-threaded batching. Using 4 workers for batches of size 8

gabe-l-hart force-pushed the SDGBatchArguments branch from 7954527 to fcb84b3
3 hours ago

@gabe-l-hart was that intentional? Sorry I didn't coordinate - just looking to get this merged quickly

@markmc Sorry if that wasn't wanted! I got the mergebot conflict notifuvation and wanted to clear the notification before diving into kid time. Feel free to force push back if needed.


Decode base64 encoded object store access key

Signed-off-by: sahare<EMAIL_ADDRESS>Fix for https://github.com/open-cluster-management/backlog/issues/12239
cherry picked from  https://github.com/open-cluster-management/application-ui/pull/1124/files#diff-f1cc228dab9b7ccf9bd7fbb360d558[…]de3c999c3bf262b4d072228cc5069d4daR16

@birsanv do we need to change the success number as well? https://github.com/open-cluster-management/application-ui/pull/1124/files#diff-cee57311fbc8bff6969d4dba9d093254d31d86ba55977c07a9e5606e3d6d20c9R92

no, we don't have to Maggie, we actually need to enable that in 2.3

kk then it's good to merge then!

@chenz4027 SonarCloud report is not reliable for this build, it doesn't find the base branch and reporting unrelated issues, we may need to force merge as an admin for this PR or resolve the sonar issue:

@sahare Sounds good! Let's merge it once other tests complete. We may need to add release-2.2 branch as well. @ray-harris ^^^^

@chenz4027 You need to adjust your git clone in Travis to fetch all refs:
https://docs.travis-ci.com/user/customizing-the-build/#git-clone-depth

@chenz4027 You need to adjust your git clone in Travis to fetch all refs:
https://docs.travis-ci.com/user/customizing-the-build/#git-clone-depth

We never had to do this before though. Could it be because this is our first 2.2 PR since the Sonar project was deleted and re-created?

Possibly. I'm not sure.

hmmm does that mean we need to add a section like
git:
  depth: 3


Update to dutch translations

Some translations were not translated yet. I have added them and can be contacted if you want more English-Dutch translations.
Description
Fixes #(issue)
Wrong Dutch(Nederlandse) translations.
Type of change
Changed some translations, thats really it.
Please delete options that are not relevant.

Translation update

Checklist

[x ] My code follows the style guidelines of this project
[x ] I ran ESLint and other linters for modified files
[x ] I have performed a self-review of my own code and test it
[x ] I have commented my code, particularly in hard-to-understand areas
[x ] My changes generate no new warnings

Screenshots (if any)
Please do not use any external image service. Instead, just paste in or drag and drop the image here and it will be uploaded automatically.

Please run npm run update-language-files to sync nl-NL.js with latest en.js


Add OASys import risk information screens to Apply from AP (Part 1)

Changes in this PR
This PR is part 1 of adding screens to our Apply journey to allow users to import information on the person to be placed from OASys. On the screen we add in this PR, a user can select which of the optional OASys sections they wish to import. These will be imported in the next PR
Screenshots of UI changes
Before

After

Release checklist
As part of our continuous deployment strategy we must ensure that this work is
ready to be released at any point. Before merging to main we must first
confirm:
Pre merge checklist

[ ] Have all changes to any dependencies been deployed to both preprod and
production in a backwards compatible way? (This includes our API,
infrastructure, third-party integrations and any secrets or environment variables)
[ ] Has a required data migration been included in this change or been done in
advance?

Post merge checklist
Once we've merged we now need to release this through to production before
considering it done.
Find the build-and-deploy job in CircleCI
and work through the following steps:

[ ] Has the product manager asked to provide approval for this feature?

[ ] Has the product manager approved?

[ ] Manually approve release to preprod
[ ] Verify change released to preprod
[ ] Manually approve release to prod
[ ] Verify change released to production

Should a release fail at any step, you as the author should now lead the work to
fix it as soon as possible.

 Add documents screens to Apply from AP

 Add OAsys import/risk information screens to Apply from AP

@patrickjfl Yeah - ideally it'd go in with this, but it's a non-trivial piece of API work and Apply is deprioritised for now


53 remove hardcodede values from vision

I have made the code way more simple to use as well as moving reformatting how the startup sequence works.

I have made changes according to the suggestions.
I have not touched upon the python comments, as we are to delete python part in separate branch.

I have made it thread safe, by wrapping the balls arguments in setBalls, with Collections.SynchronizedList().


Implement English-to-Cree search, based on WordNet senses

Here's a mock-up HTML version representing what an implementation of searching with English words would look like, when matched with WordNet senses under which the Cree entries would be organized based on their manual classifications according to WN (in some order, here in decreasing corpus frequency).

English WN sense → Cree CW entries: WAIT

WAIT (V): stay in one place and anticipate or expect something
[ (v) wait#1 (100) ]

pêhêw (VTA-1)

s/he waits for s.o.

pêhow (VAI-1)

s/he waits
s/he expects, s/he is in expectation (of someone's arrival)

pêhtâw (VTI-2)

s/he waits for s.t.

aswaham (VTI-1)

s/he waits eagerly for s.t., s/he lies in wait for s.t.
s/he catches s.t. as it drips

pa-pêhêw (VTA-1)

s/he is still waiting for s.o.

WAIT (V): look forward to the probable occurrence of
[ (v) wait#3 (33) - (v) await#1 (25) - (v) expect#3 (12) - (v) look#8 (1) ]

pêhow (VAI-1)

s/he waits
s/he expects, s/he is in expectation (of someone's arrival)

âswamêw (VTA-1)

s/he awaits s.o. (as food) with an open mouth

âswahtam (VTI-1)

s/he awaits s.t. (as food) with an open mouth

âswahcikêw (VAI-1)

s/he awaits food with an open mouth (e.g. baby, bird)

WAIT (V): wait before acting
[ (v) wait#2 (49) - (v) hold_off#2 (0) - (v) hold_back#4 (0) ]

WAIT (N): the act of waiting (remaining inactive in one place while expecting something)
[ (n) waiting#1 (2) - (n) wait#2 (2) ]

pêhowin (NI-1)

waiting
expecting someone

WAIT (N): time during which some action is awaited
[ (n) wait#1 (2) - (n) delay#1 (2) - (n) time_lag#1 (0) - (n) postponement#1 (0) - (n) hold#4 (0) ]

WAIT (V): serve as a waiter or waitress in a restaurant
[ (v) wait#4 (2) - (v) waitress#1 (0) ]

The above is created with the following incantation, run in the ALTLab repo in: altlab/eng/bin/:
./sort-cw-entries-by-wn-senses.sh ../../crk/dicts/Wolvengrey_WN_RW.tsv ../dicts/WordNet-3.0 ../../crk/generated/ahenakew_wolfart_bloomfield.fst+cg.freq-sorted.txt | ./organize-cw-wn-senses-by-wn-synsets.sh | ./pretty-print-wn-sense-search.sh 'wait' '' html | less
What this would require are the following:

Whether the Wordnet senses pertaining to a WN synset should be shown or not should be considered.
Most if not all Cree entries in all the dictionaries have been classified (manually or otherwise) according to WN senses
All Cree entries with WN senses that belong to the same synset are grouped together (so we would need to incorporate the WN ontology).
WN synsets are shown in their descending frequency (as known from the SEMCOR corpus, and included in the WN source data).
Cree entries under synsets need to be sorted in some way. The above implementation uses descending corpus-frequencies from the AW+B corpus, though an alternative could be the glossary counts. Nevertheless, one might want to be able to manually adjust and improve this ordering.
Potentially some Cree entries might be missing from some WN synset / sense. This can be fixed by adding the WN semantic class to the Cree entry in question.

Some further thinking would be needed for the following:

multiword searches should be tokenized using a list of known multiword phrases, when applicable, e.g. blow up or give up.
The English phrase translation module should perhaps be expanded to be able to analyze the inflected word forms of any WordNet nouns or verbs.
for English search words that do not match with the WN classification of any Cree word entry, we could either apply the semantic-vector method, or in the case of such a word nevertheless occurring in WordNet, providing the Cree entries that have a semantic classification from the same synset as the search term, or it that is not the case, then CW entries for which the semantic classification is graph-edge-wise closest to the search term.

@nienna73 @DBDacanay I couldn't resist creating a full-fledged mock-up example case, illustrating what the English-to-Cree search could actually look like, describing the broad strokes and open questions in this meta-issue. When you need a break, you might consider whether the above would make sense, or might benefit from some further tweaking.

I think it would be better to only show the wordnet senses that have words in the dictionary (in the example, omitting 3., 5., and 6.)

Current example, sorts WN senses by frequency in WN corpus, and then by frequency in `lemma_freq.txt.  I've added a link to the next WN meaning just as there might be many words and definitions on each. We can discuss this when we meet.

There a version of a corpus-based reverse frequency file that I was intending to be used for morphodict purposes, having all sorts of information useful for other purposes as well, which has been created for the Ahenakew-Wolfart and Bloomfield corpora, but not yet to the full extent for the Supplementary corpus, cf.
cat generated/ahenakew_wolfart_bloomfield.fst+cg.freq-sorted.txt | cut -f3,4 | sort | uniq | sort -k1,1nr | gawk 'match($2, "[[:punct:]]")==0 && $2!=""' | head -15
6589	êkwa
3457	mâna
3214	awa
2669	êkosi
2595	itêw
2558	itwêw
2524	ôma
1751	mîna
1566	êkota
1300	ôhi
1207	êwako
1148	mistahi
1136	kîkway
1060	êsa
1057	mâka

It is this (type of) file that I'd use to get the lemma-frequencies. I've only picked the columns for the lemmas and their frequencies, though one might need the linguistic analysis field as well to get the POS-tags for disambiguation. Also, as discussed there would be the dictionary-based morpheme-aggregate frequencies, that we may also want to consider, as well as the glossary-frequencies, when ranking the Cree entries within each English-based synset.

Other features to be explored:

Numbering the senses incrementally, per each part-of-speech, i.e. 1. wait (v), 1. wait (n), 2. wait (v), ...
Encoding the English parts-of-speech with relabeling, i.e. Code: (n) --> Linguistic: Noun, Plain English: Naming word, Plain nêhiyawêwin: wihowin-itwêwin, and so on. These should be added to the relabeling file.

Added a draft encoding for relabellings (if changing before deployment to .app, please make sure changes are made in the dev branch and not in main)
https://github.com/UAlbertaALTLab/morphodict/blob/dev/src/morphodict/resources/crk.altlabel.tsv

I can see the expand/collapse/forward/backward buttons, but they are not changing anything visually, as far as I can see.

I've been debugging that situation and should be solved but I am in the process of deploying it

[x]  Implement an option to use primarily symbols/icons to toggle features and navigate results. E.g. Use a down-arrow ⬇ to hop to the next sense in WN search, plusses and minuses to expand/collapse accordion panes ➕/➖, etc.

Update with icons should be working now.  Do we want to have a text option or just the icons will suffice?

Personally, I've been a fan of icons, as they could keep the output concise and minimalistic (in my mind), but some have liked textual explanations.
Perhaps we could have icons vs. text (not just for this, but generally) as an option (and/or seeing textual instructions when hovering over an icon)?

Perhaps we could have icons vs. text (not just for this, but generally) as an option (and/or seeing textual instructions when hovering over an icon)?

That could be done, maybe on a separate issue.  I'll start that.

Of the remaining subtasks, getting the English phrase analysis/generation incorporated in the WN search would seem the one remaining worthwhile item - while I’ll have to regenerate the corpus frequency data, and we’ll need to add in the new CW entries as well as their WN classifications.
Among other longstanding issues, being able to link entries/wordforms/lemmas to Korp (opening a new tab. I’d think) would be another longstanding request. (#156)

Taking a look at previous issues, the metaissue #516 seems like a good overview of possible next steps, and which of these we might prioritize (now check-marked).


Check change indication on PR

We missed to check the change indication on open PRs.

Shouldn't we do it on both push and pull request?

We could. That would be helpful for running the checks before opening a PR. The downside is that each test is listed twice on the PR. Once for the one running on the PR and once for the one that was running on push.

Yeah, but I think it's acceptable, because we want it to run on master on pushes/when PRs are merged.

@mhkabir  This should be exactly what we want. See newest commit.


Add Verifier interface to tests/gm

Make it possible to customize Golden Master comparison and data generation. The tests now support not just JSON-based output comparison but also text and YAML-based output comparison, too.
This is a spinoff from #598 to make it smaller. The idea is to use Golden Master to verify plugin.yaml generation. I thought to make the test output for all the commands initially and thus the need for this GM thing (verify by comparing yaml not json). The test output turned out to be much smaller in the end (although GM is still used), but this mechanism is important anyway because later we can use it quite easily to switch libvirttools test from comparing JSON representation of libvirt objects to comparing their "real" XML form.

This change is

 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.foo seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Reviewed 33 of 33 files at r1.
Review status: all files reviewed at latest revision, 3 unresolved discussions.

tests/gm/data.go, line 53 at r1 (raw file):

}

type textVerifier string

It would be nice to add there:
var _ Verifier = &textVerifier

tests/gm/data.go, line 69 at r1 (raw file):

type jsonVerifier struct {
	data interface{}
}

Same as above.

tests/gm/data.go, line 109 at r1 (raw file):

type YamlVerifier struct {
	data interface{}
}

Same as above.

Comments from Reviewable

Review status: 17 of 18 files reviewed at latest revision, 3 unresolved discussions.

tests/gm/data.go, line 53 at r1 (raw file):
Previously, jellonek (Piotr Skamruk) wrote…
It would be nice to add there:
var _ Verifier = &textVerifier

Done.

tests/gm/data.go, line 69 at r1 (raw file):
Previously, jellonek (Piotr Skamruk) wrote…
Same as above.

Done.

tests/gm/data.go, line 109 at r1 (raw file):
Previously, jellonek (Piotr Skamruk) wrote…
Same as above.

Done.

Comments from Reviewable

Review status: 17 of 18 files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Reviewed 32 of 33 files at r1, 1 of 1 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


documentation.winhighlight

Loving The Plugin so much , and Thanks to ❤
But is there any verbose documentation on how to use documentation.winhighlight ??
It would be really helpfull. 😀

Please see https://neovim.io/doc/user/options.html#'winhighlight'

Please see https://neovim.io/doc/user/options.html#'winhighlight'

But how to define it for cmp ?? any examples ??

require('cmp').setup({
  documentation = {
    winhighlight = 'SomeHlGroup1:OverrideForHlGroup1,SomeHlGroup2:OverrideForHlGroup2',
  },
})

Thank you @dmitmel
@arpangreat @dmitmel is correct. Please use it.

Thanks @dmitmel so much ❤
And specially @hrsh7th for making such great plugin ❤

Well @hrsh7th if I configure like this
 documentation = {
    border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" },
    winhighlight = { "Normal:#51A266, NormalNC:#0C0C0C" },
  },

It throws an error as:
Error executing vim.schedule lua callback: ...site/pack/packer/start/nvim-cmp/lua/cmp/utils/window.lua:53: Option 'winhighlight' requires a string value

Error executing vim.schedule lua callback: ...site/pack/packer/start/nvim-cmp/lua/cmp/utils/window.lua:53: Option 'winhighlight' requires a string value

 documentation = {
    border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" },
    winhighlight = "Normal:#51A266,NormalNC:#0C0C0C",
  },

You should specify comma separated string.

Error executing vim.schedule lua callback: ...site/pack/packer/start/nvim-cmp/lua/cmp/utils/window.lua:53: Option 'winhighlight' requires a string value

 documentation = {
    border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" },
    winhighlight = "Normal:#51A266,NormalNC:#0C0C0C",
  },

You should specify comma separated string.

And It still giving another error as:
W18: Invalid character in group name
Error executing vim.schedule lua callback: ...site/pack/packer/start/nvim-cmp/lua/cmp/utils/window.lua:94: E474: Invalid argument

See :h winhighlight. You should specify hi-buildin:hi not color code.

See :h winhighlight. You should specify hi-buildin:hi not color code.

Thanks ❤

By using winhighlight you have this issue (notice weird highlight of parentheses in the docs float):

Can't open issue now as I'm short in time for filling issue template, but the above screenshots were taken with a very minimal setup (as I don't use nvim-cmp and just wanted to verify everyone relying on winhighlight was indeed hit by this).
For more information:

https://github.com/neoclide/coc.nvim/pull/3487
https://github.com/neoclide/coc.nvim/issues/1251
https://github.com/neovim/neovim/issues/16419


Structs and enums not getting generated

Actual behavior
I am trying to generate all the methods, structs, enums, etc. within a module (User32.dll here). I am able to get the methods but not the structs or enums (like ImageType, MENUITEMINFOA, etc.
Repro steps

NativeMethods.txt content:

// Tried using just 'User32' too
User32.*

NativeMethods.json content (if present):
Not present

Any of your own code that should be shared?
Not relevant

Context

CsWin32 version: 0.1.635-beta
Win32Metadata version (if explicitly set by project): Not set
Target Framework: net6.0-windows10.0.19041
LangVersion (if explicitly set by project): Not set

Structs and enums are not in the dll. Those are declared in headers, which can be consumed from anywhere. As such, User32.* does not select them. That wildcard only gives you methods, and the types to support their signatures. If you want a struct or enum that isn't automatically brought in by a method in user32, you'll have to ask for it explicitly in your NativeMethods.txt file.


Driver improvements

Not tested...

the first commit needs to also rename the 2nd driver: scripts/lib/mkcloud-dirmaint.sh

the first commit needs to also rename the 2nd driver: scripts/lib/mkcloud-dirmaint.sh

Done


nix: add proper nix support

This PR adds a flake.nix file into this project, it also includes a dev env with LSP embed into it.
However, I didn't have the time to check the codebase yet, it seems the build it's failing because of a type mistmatch.
❯ nix build
warning: input 'flake-utils' has an override for a non-existent input 'nixpkgs'
error: builder for '/nix/store/12zxa5i1gkg6zdkzcig1khbvm8d18p2d-spatula-<IP_ADDRESS>.drv' failed with exit code 1;
       last 10 log lines:
       >                          (TForall
       >                             (AbstractionInfo
       >                                "typeB"
       >                                (TArrow
       >                                   (TArrow (TVariable "typeA") (TVariable "typeB"))
       >                                   (TArrow (TVariable "typeA") (TVariable "typeB"))))))
       >             typeCheck abst `shouldBe` Right type'’
       >    |
       > 41 |         typeCheck abst `shouldBe` Right type'
       >    |                                   ^^^^^^^^^^^
       For full logs, run 'nix log /nix/store/12zxa5i1gkg6zdkzcig1khbvm8d18p2d-spatula-<IP_ADDRESS>.drv'.

as of now I can't compile this with a pure nix build.
if you want to test just the devenv, I've only put cabal build tools and other goodies, no stack bs. Make sure to comment the following lines:

      in rec {
        #packages.${packageName} = # (ref:haskell-package-def)
        #  haskellPackages.callCabal2nix packageName self rec {
        #    # Dependency overrides go here
        #  };

        #defaultPackage = self.packages.${system}.${packageName};

        devShell = haskellPackages.shellFor {
          #inputsFrom = builtins.attrValues self.packages.${system};
          withHoogle = true;

then run
nix develop

@MMagueta @EduardoLR10 Please let me know what is wrong with the build.

Probably the build error comes from the tests, which probably are not compiling anymore due to significant changes that we did on the code but were not reflected back to the tests.

Probably the build error comes from the tests, which probably are not compiling anymore due to significant changes that we did on the code but were not reflected back to the tests.

Here's what I did:

Comment test-suit in spatula.cabal

--test-suite spatula-test
--  type: exitcode-stdio-1.0
--  main-is: Spec.hs
--  other-modules:
--      TestTyper
--      Paths_spatula
--  hs-source-dirs:
--      test
--  ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N
--  build-depends:
--      QuickCheck
--    , base >=4.7 && <5
--    , bytestring
--    , containers
--    , envparse
--    , haskeline >=0.8.2
--    , hspec
--    , mtl
--    , optparse-applicative
--    , parsec
--    , quickcheck-arbitrary-adt
--    , quickcheck-text
--    , random
--    , spatula
--    , terminal-size
--    , text
--    , vector
--  default-language: Haskell2010

Run nix build
Run nix develop

Seems to work fine

@EduardoLR10 can we merge this?

@mtrsk Could you add stack also to the tool set?

@mtrsk Could you add stack also to the toolset? You can also comment the test-suite in this PR, that would be handy. Given that this is a better nix solution overall, I think we can nuke shell.nix also.

Ok. let me add stack and configure some pipelines that ignore the test cases (for now).

@EduardoLR10 Done, there is no need to modify the cabal file, since the testing suite is automatically ignored by Nix now.

Perfect! Thanks, @mtrsk!


Custom 404 page added

@ mention of reviewers
@Didayolo @bbearce @dtuantran
A brief description of the purpose of the changes contained in this PR.
Custom 404 page addded
Screenshot

A checklist for hand testing

use any invalid URL to check e.g. https://www.codabench.org/aaa/

Checklist

[x] Code review by me
[x] Hand tested by me
[x] I'm proud of my work
[ ] Code review by reviewer
[ ] Hand tested by reviewer
[ ] CircleCi tests are passing
[ ] Ready to merge

Fixing #700

@ihsaan-ullah

I have changed the "return home" URL from codabench.org to /, to avoid local instances and other deployments of the platform to return to the production instance

I have fixed flake8 formatting

I removed the changes in src/urls.py. What was the purpose of it? It just created a string variable, not using it:

from django.conf.urls import handler404
handler404 = "pages.views.page_not_found_view"


CRUD Courses

Ticket: https://seng499-b01-company2.atlassian.net/browse/C2-8
This PR adds CRUD operations for courses. The following endpoints are added:

GET /courses/{courseShortHand}
GET /courses
POST /courses
PUT /courses/{courseShortHand}
DELETE /courses/{courseShortHand}

The endpoints check whether course shorthand is in the form of ABC101/ ABC101B.
For GET /courses/{courseShortHand}, PUT /courses/{courseShortHand} and DELETE /courses/{courseShortHand} throws an error if the given course shorthand is already not in the courses DB.

LGTM!

I think we should still keep our .gitignore file. Was there any reason to delete it?
@jakecomp I thought we were not supposed to push .gitignore. Let me just add it back.

I think we should still keep our .gitignore file. Was there any reason to delete it?

@jakecomp Done

I don't think it hurts to have it on the repo. Other than that everything looks great!


Fix an ownership bug when configuring the Sentry logger.

Sentry's default logger turns out to be a reference to Rails.logger by default, despite the sentry-rails docs saying that it defaults to an instance of Sentry::Logger. So I was unwittingly mutating Rails.logger through a shared reference. Oops.
Kudos to super sharp-eyed @kevindew for catching this!
Instead of trying to set the log level for the Sentry gem, just disable the "auto session tracking feature" that generates the spammy log messages, since it turns out we don't use that feature.
Fixes a bug introduced in #263.

Thanks!


change async requirementAt to sync getRequirement

change async requirementAt to sync getRequirement
remove dead code

Pull Request Test Coverage Report for Build<PHONE_NUMBER>0
Details

22 of 22 (100.0%)  changed or added relevant lines in 3 files are covered.
17 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.5%) to 82.418%

Files with Coverage Reduction
New Missed Lines
%

src/util/read-file.ts
17
0.0%

Totals

Change from base Build<PHONE_NUMBER>4:
-0.5%

Covered Lines:
3227

Relevant Lines:
4019

💛  - Coveralls


Feature Request - Plax CLI should error out if you send a Plaxt test request without supplying all the parameters required in a test

Plax should return an error if a plax test contains variables that are not defined / supplied in the plax test run command.
For example, a test may contain a section like this:
        payload:
          url: '{?!HOSTANDPORT}/api/{?!ACCOUNTID}?userid={?!USERID}'
          method: GET

If you then send the plax test run command without supplying those variables, the test currently runs and fails without an error explaining that those variables weren't defined.
Bad request that should produce an error:
plax -test get-account.yaml -p '?!HOSTANDPORT=http://localhost:9090' -log debug
Properly formatted request:
plax -test get-account.yaml -p '?!HOSTANDPORT=http://localhost:9090' -p '?!ACCOUNTID'='12345abcde' -p '?!USERID'='test-users' -log debug

The commit referenced above includes some explanatory comments.
When doing string-based substitutions, an unbound var should (at least in conventional settings) result in an error. The pending PR #64  works this way, and the commit above adds an explicit unit test.
Note that in the context of a recv, a var subject to structural substitution ({"send":"?X"}) that isn't bound is not an error. The whole purpose could be to get a binding for that var. Without additional information, Plax would have a hard time knowing when to complain. The whole topic of analyzing/learning what structural variables should be bound when is interesting and challenging.

When doing string-based substitutions, an unbound var should (at least in conventional settings) result in an error.

Nope -- unless recv regular expressions are unconventional.
Probably should re-open so that an unbound var in a regular expression in a recv does _not result in an error.

Possible work-around, which might even be the right approach: Use blackslashes to escape the braces in the regular expression:
recv:
  regexp: param \{FOO\}={?P<BAR>.*}`


require(electron) is not defined

Context
Good morning, i'm having a persistent issue across all electron projects, including test projects. Nothing seems to get this strange issue away. Any help would be greatly appreciated!
Note
There is one additional error:
VS Code console is showing strange errors when opening devtools inside of electron. Bug?
[14312:1030/100255.584:ERROR:CONSOLE(1)] "Request Autofill.setAddresses failed. {"code":-32601,"message":"'Autofill.setAddresses' wasn't found"}", source: devtools://devtools/bundled/core/protocol_client/protocol_client.js (1)

View the project files
I downloaded the example project via this repo itself
since electron does not come installed with the project, i used the bash commands from README.md
Error
> Uncaught ReferenceError: require is not defined
    at main.js:1

Things i've tried
None working as of now...

Uninstalled & reinstalled electron
Checked global installations for electron
Researched with AI
Installed latest version of electron

Version & info
index.html is loading properly, along with preload.js & renderer.js

IDE
VSCode

OS
Windows 10

Package manage
NPM

Node
Node.js 20.18.0

Electron
33.0.2

Chromium
130.0.6723.59

Thanks for reading, here, take this 🍪 Virtual cookie.

Error
> Uncaught ReferenceError: require is not defined
    at main.js:1

const mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
preload: path.join(__dirname, 'preload.js')
},
contextIsolation: false,
nodeIntegration: true
})
#try this now