ngen segfaults and crashes when using csv file without enough columns and not using csvPerFeature provider

If passed a realization config with forcing data defined without a provider key (defualt provider), then ngen can crash attempting to read the forcing data if the csv file used doesn't have the correct number of columns.
Current behavior
Segfaults and crashes with no useful information.
Expected behavior
Inform user of mal-formed forcing data and crash with a reportable error.
Steps to replicate behavior (include URLs)

Construct a custom csv file with LESS THAN 10 columns
Point a realization to this csv file as it's forcing input
DO NOT set forcingProvider: "csvPerFeature" in the forcing config
run ngen with this configuration.

example_crash_input.tar.gz
Attached here is a small, reproducible example when ngen is built with gcc 8.3.1.


Add projects model

Currently a draft model, waiting for tasks model to be completed.
Closes #63.

Looks good to merge. Minor errors. I suggest adding comments to all the methods now so that it's clearer and won't be a bigger hassle in the future.

Which methods are you referring to? There is no need for javadoc comments on getters and setters. Method with @Override tag inherit javadoc comments from superclass, and there is generally no need to add a javadoc comment unless the behaviour has been modified or there is something of note. e.g. equals, toString, hashcode.


Lower transfer expiration for dApp

In https://github.com/raiden-network/team/issues/894 and https://github.com/raiden-network/team/issues/891 we made the case for a shorter time between receiving a secret and the on-chain transaction in case we don't receive an unlock.
A decision has been made, and we need to implement it for the dApp (and possibly the CLI).

SDK

[ ] Make lock expiration configurable
[ ] Add test for the minimal expiration

dApp

[ ] Use lower expiration by default

CLI

[ ] Decide if lower expirations should be used

@palango to implement Python client part.

I read the code and tested it manually: The PC accepts mediations up until the reveal timeout, so no action on the python side is necessary.


[CELEBORN-1317][FOLLOWUP] ServerConnector supports celeborn.master.http.stopTimeout and celeborn.worker.http.stopTimeout

What changes were proposed in this pull request?
ServerConnector supports celeborn.master.http.stopTimeout and celeborn.worker.http.stopTimeout.
Why are the changes needed?
Jetty Server supports celeborn.master.http.stopTimeout and celeborn.worker.http.stopTimeout, but ServerConnector does not support, which default stop timeout is 5min.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Local test.

Ping @RexXiong, @turboFei.


Recaptcha is rendering off screen

The Recaptcha is overflowing the webview.

Hi! many time from this! some workaround now?

I think this may be related to https://github.com/plaid/react-native-plaid-link-sdk/issues/219. Will take a look.


⚠ Bofrost.ch has degraded performance

In c4c455e, Bofrost.ch (https://www.bofrost.ch) experienced degraded performance:

HTTP code: 200
Response time: 2447 ms

Resolved: Bofrost.ch performance has improved in ad1438d.


Init Strawberry-Shake

WIP

[ ] Did you write/update appropriate tests
[ ] Release notes updated (if appropriate)
[ ] Appropriate logging output
[ ] Issue linked

Going to close this b/c dotnet format doesn't work nicely with source generator generated code. Apparently it's a bug and I have already opened an issue for that. Nonetheless we are probably good with the latest GQL changes in our codebase and it's now more maintainable.


Code editor overlay

Theme & syntax: one light

This is a duplicate of #188. Please subscribe there for updates. :bow:


TypeScript error for seemingly legitimate use of the SDK.

When I try to use the SendMessageBatchCommand command in the send function of the SQS client I get this type error.
Example code:
import {
  SQSClient,
  SendMessageBatchCommand,
  SendMessageBatchCommandOutput,
} from "@aws-sdk/client-sqs";

export const sqsClient = new SQSClient({});

...

    const command = new SendMessageBatchCommand({
        QueueUrl: "QUEUE_URL",
        Entries: entries.map(([messageId, message]) => {
           ...
        }),
      });
      const commandOutput = await sqsClient.send(command);

I get the type error:

Argument of type 'SendMessageBatchCommand' is not assignable to parameter of type 'Command<ServiceInputTypes, SendMessageBatchCommandInput, ServiceOutputTypes, SendMessageBatchCommandOutput, SmithyResolvedConfiguration<...>>'.
  Types of property 'resolveMiddleware' are incompatible.
    Type '(clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>, configuration: SQSClientResolvedConfig, options?: HttpHandlerOptions | undefined) => Handler<...>' is not assignable to type '(stack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>, configuration: SmithyResolvedConfiguration<HttpHandlerOptions>, options: any) => Handler<...>'.
      Types of parameters 'clientStack' and 'stack' are incompatible.
        Type 'import("/Users/richard.garner/git/my-project/node_modules/@smithy/signature-v4/node_modules/@smithy/types/dist-types/middleware").MiddlewareStack<import("/Users/richard.garner/git/my-project/node_modules/@aws-sdk/client-sqs/dist-types/SQSClient").ServiceInputTypes, import("/Users/ri...' is not assignable to type 'import("/Users/richard.garner/git/my-project/node_modules/@smithy/types/dist-types/middleware").MiddlewareStack<import("/Users/richard.garner/git/my-project/node_modules/@aws-sdk/client-sqs/dist-types/SQSClient").ServiceInputTypes, import("/Users/richard.garner/git/hazardwatch/packa...'.
          Types of property 'concat' are incompatible.
            Type '<InputType extends import("/Users/richard.garner/git/my-project/node_modules/@aws-sdk/client-sqs/dist-types/SQSClient").ServiceInputTypes, OutputType extends import("/Users/richard.garner/git/my-project/node_modules/@aws-sdk/client-sqs/dist-types/SQSClient").ServiceOutputTypes>(from...' is not assignable to type '<InputType extends import("/Users/richard.garner/git/my-project/node_modules/@aws-sdk/client-sqs/dist-types/SQSClient").ServiceInputTypes, OutputType extends import("/Users/richard.garner/git/my-project/node_modules/@aws-sdk/client-sqs/dist-types/SQSClient").ServiceOutputTypes>(from...'. Two different types with this name exist, but they are unrelated.
              Types of parameters 'from' and 'from' are incompatible.
                Type 'MiddlewareStack<InputType, OutputType>' is not assignable to type 'MiddlewareStack<InputType, ServiceOutputTypes>'.
                  Types of property 'addRelativeTo' are incompatible.
                    Type '(middleware: MiddlewareType<InputType, OutputType>, options: RelativeMiddlewareOptions) => void' is not assignable to type '(middleware: MiddlewareType<InputType, ServiceOutputTypes>, options: RelativeMiddlewareOptions) => void'.
                      Types of parameters 'middleware' and 'middleware' are incompatible.
                        Type 'MiddlewareType<InputType, ServiceOutputTypes>' is not assignable to type 'MiddlewareType<InputType, OutputType>'.
                          Type 'InitializeMiddleware<InputType, ServiceOutputTypes>' is not assignable to type 'MiddlewareType<InputType, OutputType>'.
                            Type 'InitializeMiddleware<InputType, ServiceOutputTypes>' is not assignable to type 'InitializeMiddleware<InputType, OutputType>'.
                              Call signature return types 'InitializeHandler<InputType, ServiceOutputTypes>' and 'InitializeHandler<InputType, OutputType>' are incompatible.
                                Type 'Promise<InitializeHandlerOutput<ServiceOutputTypes>>' is not assignable to type 'Promise<InitializeHandlerOutput<OutputType>>'.
                                  Type 'InitializeHandlerOutput<ServiceOutputTypes>' is not assignable to type 'InitializeHandlerOutput<OutputType>'.
                                    Types of property 'output' are incompatible.
                                      Type 'ServiceOutputTypes' is not assignable to type 'OutputType'.
                                        'ServiceOutputTypes' is assignable to the constraint of type 'OutputType', but 'OutputType' could be instantiated with a different subtype of constraint 'ServiceOutputTypes'.
                                          Type 'SendMessageBatchCommandOutput' is not assignable to type 'OutputType'.
                                            'SendMessageBatchCommandOutput' is assignable to the constraint of type 'OutputType', but 'OutputType' could be instantiated with a different subtype of constraint 'ServiceOutputTypes'.ts(2345)

On further investigation it seems to be resolved by rolling back @aws-sdk/client-sqs from 3.363.0 to 3.362.0.

check your lockfile for multiple installed versions of @smithy/types. Upgrade the dependency such that your lockfile only contains one version of it, and that should fix the compilation error.


Merge pull request #7 from westernmarslab/2023-10-19-WWU-visit

2023 10 19 wwu visit

changed version to 1.7


all: remove dead code

Don't hesitate to ask some questions or say something, if you want to :)

A general comment would be that we are in a freeze period waiting for the Hugo 0.17 release. I know we have improvements to be had in the release speed department, but that is another story.

Done

Should I fix something more?

Merged -- but notice my slightly modified commit message for future reference. Thanks for your contribution.

Ok, I will keep it in mind


Consul catalog provider

Implement consul catalog provider
Issue #10

As it market as a draft and review wasn't requested I haven't reviewed it for real, just took a quick look. I glad to see you have not used some SDK/library for this and kept it all with stdlib, I like it a lot.  The code looks clean and readable. I notice just a few minor things, like TrimRight instead of TrimSuffix you probably meant.
thx

I use TrimRight for 'path//' cases

Oops, I have to add documentation.

see also https://github.com/umputun/reproxy/pull/56/checks?check_run_id=2426021843
running the same linter locally is a good way to catch all of them before it hits CI


⚠ ClamAV has degraded performance

In 3385ff3, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 64 ms

Resolved: ClamAV performance has improved in eb7fb29.


dateFormat not respected when options set in dateChanged callback

Description
I'm attempting to have the datepicker display the date ordinal as a day of the month rather than the entire date, for instance "3rd of the month" or "16th of the month". In the dateChanged callback I calculate the ordinal, create a new dateFormat, and copy the current options and reassign with the new date format. Sometimes this date format is respected immediately, sometimes the format lags one selection behind the current date.
Steps to Reproduce
See my source code here. Snippets below:
home.page.ts
...
options: IAngularMyDpOptions;
onDateChanged(event: IMyDateModel) {
  const date = event.singleDate.day;
  const copy = JSON.parse(JSON.stringify(this.options));
  copy.dateFormat = this.getDateFormat(date); // Returns 'd' + the ordinal ('st', 'nd', 'rd', th')
  this.options = copy;
}
...

home.page.html
...
    <input angular-mydatepicker #dp="angular-mydatepicker" [(ngModel)]="model" (dateChanged)="onDateChanged($event)" [options]="options"/>
...

Open the calendar
Select a date
Select a date that ends in a different ordinal (1st, 2nd, 3rd, 4th, etc)
Observe the ordinal lags behind the date

I can more reliably set the ordinal by updating the options, then updating the bound model in a setTimeout, but that isn't always effective.
Expected Results

Updating options uses the new dateFormat.
Text field is updated and text reflects the dateFormat.

I added this kind of feature to the component. Install newest version of the component from npm (0.11.5).
In the dateFormat option you can define ordinal dates (d##) for example
dateFormat: 'd## of mmm yyyy'

Works perfectly. Thank you!


✨ Add cluster-api category

Signed-off-by: Chuck Ha<EMAIL_ADDRESS>What this PR does / why we need it:
Similar to the recent work done in CAPA, CAPI and CABPK, this adds cluster-api categories to our cluster-api CRDs.
Special notes for your reviewer:
Release note:
NONE

/lgtm


Question for this.AsReference in timers

getting the following when testing a timer
System.ArgumentException : Passing a half baked grain as an argument. It is possible that you instantiated a grain class explicitly, as a regular object and not via Orleans runtime or via proper test mocking (Parameter 'grain')

  Stack Trace:
GrainExtensions.AsWeaklyTypedReference(IAddressable grain)
GrainExtensions.AsReference[TGrainInterface](IAddressable grain)
MyGrain.SnapshotTimerFired() line 1029
TestTimerRegistry.FireAllAsync() line 37

using
            await Silo.FireAllTimersAsync();
on
            var myGrain = await Silo.CreateGrainAsync<MyGrain>(myguid, myspecialstring);
timer is registered in OnActivateAsync
timer callback looks like this:
        private async Task SnapshotTimerFired()
        {
            var me = this.AsReference<IMyGrain>();

            await me.CheckForExpiredCallsAndSendSnapshotHACK();
        }

the AsReference is used so the timer execution counts as a grain call.
does the testkit handle this, or it this some other grain having an issue?

Hi Alex, you can use the following workaround. Add the below extension method and use it instead of AsReference<T>(). It will catch the exception during testing and return your mocked object.
    public static class GrainExtensions
    {
        public static TGrainInterface AsSafeReference<TGrainInterface>(this IAddressable grain)
        {
                        try
			{
				return grain.AsReference<TGrainInterface>();
			}
			catch (ArgumentException ex) when (ex.Message.Contains("Passing a half baked grain as an argument"))
			{
				return (TGrainInterface)grain;
			}
        }
    }


Der Sarkissian 2016

Reference
10.1111/1755-0998.12679

Ok, you caught me. I've had this one on my mind for a while but have no idea how to categorise it, they almost do everything :sweat_smile:

Ha! I figured environmental was the bigger umbrella, but you're right.

I tried searching for the data on ENA, but I don't see any files listed. Am I looking in the right place?
Here's their project page: https://www.ebi.ac.uk/ena/browser/view/PRJEB20113
And here's Gaffney et al. 2020 for comparison: https://www.ebi.ac.uk/ena/browser/view/PRJEB33717

Yes the PRNJ thing works for me, I see files listed:
https://www.ebi.ac.uk/ena/browser/view/PRJEB20113

You might need to check the right columns, but as we just need the ERS codes files are somewhat secondary (unless there is a disconnect)

Welp, now I do see the files. Thanks!


Basic authentication failed. Using digest.

Hi,
I do face error
[pyhik.hikvision] pyHik 0.2.5 initializing new hikvision device at: http://<IP_ADDRESS>
[pyhik.hikvision] Basic authentication failed. Using digest.
[pyhik.hikvision] Authentication failed
under HA 0.105.2 with configuration
`binary_sensor:

platform: hikvision
host: <IP_ADDRESS>
port: 80
ssl: false
username: user
password: pwd`

while camera HIKVISION DS-2CD2032F-I (V5.4.5 build 170123, latest) is fully accessible under those credentials and rstp video also in browser, ISAPI xml as well. Any ideas what to try?

Try going to this URL in a browser and logging in with your credentials.  Does it work?
 http://<IP_ADDRESS>/ISAPI/System/deviceInfo

Yes, that works with login. I do get xml...

Garaz
16c685bf-0117-11b4-8267-c42f90425f1a
IPCamera
hangzhou
Hikvision.China
DS-2CD2032F-I
DS-2CD2032F-I20150615CCWR523830719
c4:2f:90:42:5f:1a
V5.4.5
build 170123
V5.0
build 170105
V1.3.4
100316
0x0
IPCamera
88
false
false

Can you post the full formatted XML response?

<DeviceInfo xmlns="http://www.hikvision.com/ver20/XMLSchema" version="2.0"> <deviceName>Garaz</deviceName> <deviceID>16c685bf-0117-11b4-8267-c42f90425f1a</deviceID> <deviceDescription>IPCamera</deviceDescription> <deviceLocation>hangzhou</deviceLocation> <systemContact>Hikvision.China</systemContact> <model>DS-2CD2032F-I</model> <serialNumber>DS-2CD2032F-I20150615CCWR523830719</serialNumber> <macAddress>c4:2f:90:42:5f:1a</macAddress> <firmwareVersion>V5.4.5</firmwareVersion> <firmwareReleasedDate>build 170123</firmwareReleasedDate> <encoderVersion>V5.0</encoderVersion> <encoderReleasedDate>build 170105</encoderReleasedDate> <bootVersion>V1.3.4</bootVersion> <bootReleasedDate>100316</bootReleasedDate> <hardwareVersion>0x0</hardwareVersion> <deviceType>IPCamera</deviceType> <telecontrolID>88</telecontrolID> <supportBeep>false</supportBeep> <supportVideoLoss>false</supportVideoLoss> </DeviceInfo>

Thanks.  Can you check in the camera GUI on the Configuration tab, then the Advanced Configuration category and finally the Security menu option and let me know what type of Authentication is configured for the camera?

Sure. This firmware allows to set for RTSP Disable or Basic. Behavior is the same for both values.

 I found it. I haven't noticed HA warned me about two binary_sensor definitions. And f course, second one defined the same one under same IP, but different password and lower in the config file. It took this last credentials I haven't noticed as valid. Sorry for wasting your time.

No problem.  Seems like Hikvision is always changing things and not updating the API docs so anything can happen.


Extraneous compose button tooltips in logged out view

Repro:

Open the app in the logged out view.
Click any of the compose buttons.
Click x to exit the login modal.

A tooltip unexpectedly shows up on the compose button.

@karlstolley FYI, in case you know how to fix this.

Hi @alya , I was trying to figure out about the bug and i found another similar type of bug.
Bug description

Repeat the 3 steps described in above message.
Press any shortcut key of compose buttons on keyboard ( e.g., x for new direct message )
close the login modal
Hover on any other element of the page

This is also showing unexpected tooltip on the compose button.
I also attached a short video describing it:
Screencast from 27-10-23 09:32:14 AM IST.webm

Hmmmmm. I'm not clear on a fix. What appears to be happening is the modal is stepping in line in front of the tooltip somehow, and once the modal is cleared, the Tippy is being shown as though it were still being hovered. Something in the clearing logic seems like a likely culprit.

Also, I'm able to reproduce this clicking anywhere off of the modal, not just on the closing X. Thanks @Jenil-Dobariya for your report on the keyboard phenomenon, too.

@zulipbot claim

Thanks @Victoria-27 for your interest. I am taking over as this is a priority bug to fix.


feat: CFX Maestro - initial implementation

Note: this connector will not include calculated data as the replicate number field was not exported with the example file and the calculates cannot be made without it. The structure that was excluded because of this include:
Calculated Data Aggregate Document
Calculated Data Source Aggregate Document
Data Source  Aggregate Document
Data Source Document
Data Processing Document
A future update will be required were the replicate number is included in the example file to include these pieces.

@james-leinas to review ASM output

@slopez-b @alejandro-salgado I approve this code, but I made some contributions so need another reviewer, if one of you could take a look!

Re-uploaded here: https://github.com/Benchling-Open-Source/allotropy/pull/744 with signed commits


Wrong IP for the device

I had a rogue DHCP Server in my network who gave the homekit device a wrong IP. No it seams to be saved some where in the instance. If I change the IP in the object folder nothing change.
Is there any place where I can change the IP? Or something else I can do to reach the device again?
the protocol gave me this:
<html>
<body>
<!--StartFragment-->

debug | Service: {"name":"VELUX Gateway","address":"<IP_ADDRESS>","port":5001,"c#":15,"ff":1,"id":"","md":"VELUX Gateway\u0000","pv":"1.1","s#":1,"sf":0,"ci":2,"availableToPair":false}
-- | --

<!--EndFragment-->
</body>
</html>

and later a timeout. Make sense this IP is not valid.

Which adapzter version do you use? There is 0.5.7 in Beta that should optimize in such cases. Please try this version. If still not helps I need a full debug log with info on right and pot wrong IPs

I use 0.5.1. I'll try it.

It worked with 0.5.7. Many thanks.


@turbo/codemod Unexpected error. Please report it as a bug

Verify canary release

[X] I verified that the issue exists in the latest Turborepo canary release.

Link to code that reproduces this issue
na
What package manager are you using / does the bug impact?
npm, Yarn v2/v3/v4 (node_modules linker only)
What operating system are you using?
Mac
Which canary version will you have in your reproduction?
1.13.4
Describe the Bug
I tried to migrate from 1.13.4 -> 2.x using: npx @turbo/codemod update --force (I also tried @canary version)
Need to install the following packages:
<EMAIL_ADDRESS>Ok to proceed? (y) y

npm warn deprecated<EMAIL_ADDRESS>cross-spawn no longer requires a build toolchain, use it instead
WARNING: Git directory is not clean. Forcibly continuing...
? Where is the root of the repo to migrate? .
Upgrading turbo from 1.13.4 to 2.0.14 (11 required codemods)

(1/11) Running add-package-manager
 INFO  "packageManager" already set in root "package.json"

(2/11) Running create-turbo-config
 INFO  Migrating "package.json" "turbo" key to "turbo.json" file...
 UNCHANGED  turbo.json
 UNCHANGED  package.json

Results:
┌──────────────┬─────────────┬───────────┬───────────┬────────┐
│ (index)      │ action      │ additions │ deletions │ error  │
├──────────────┼─────────────┼───────────┼───────────┼────────┤
│ turbo.json   │ 'unchanged' │ 0         │ 0         │ 'None' │
│ package.json │ 'unchanged' │ 0         │ 0         │ 'None' │
└──────────────┴─────────────┴───────────┴───────────┴────────┘

(3/11) Running migrate-env-var-dependencies
 INFO  Migrating environment variable dependencies from "globalDependencies" and "dependsOn" to "env" in "turbo.json"...

Unexpected error. Please report it as a bug:
TypeError: Cannot convert undefined or null to object
    at Function.values (<anonymous>)
    at Iu (/Users/shuther/.npm/_npx/24554e532d5698bb/node_modules/@turbo/codemod/dist/transforms/migrate-env-var-dependencies.js:39:7068)
    at Object.zS [as transformer] (/Users/shuther/.npm/_npx/24554e532d5698bb/node_modules/@turbo/codemod/dist/transforms/migrate-env-var-dependencies.js:39:8582)
    at Command.Zh (/Users/shuther/.npm/_npx/24554e532d5698bb/node_modules/@turbo/codemod/dist/cli.js:46:9079)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Command.parseAsync (/Users/shuther/.npm/_npx/24554e532d5698bb/node_modules/commander/lib/command.js:935:5)

Expected Behavior
upgrade turbo to latest version
To Reproduce
n/a
Additional context
migrate failed with (but it seems every steps to change turbo.json went well, the latest one is 11/11 - Running stabilize-ui)
Migration failed
Unable to determine upgrade command
➜  web-main3-git git:(gitbutler/integration) ✗ npx @turbo/codemod

turbo.json after the 1st pass of migrate before update again:
{
  "$schema": "https://turborepo.org/schema1.json",
  "globalDependencies": [
    "**/.env",
    "**/.env.*local",
    "tsconfig.json"
  ],
  "globalEnv": [
    "PACKAGE_VERSION",
    "NODE_ENV"
  ],
  "globalPassThroughEnv": [
    "CROWDIN_PERSONAL_TOKEN",
    "CROWDIN_PROJECT_ID",
    "GITHUB_TOKEN"
  ],
  "tasks": {
    "topo": {
      "dependsOn": [
        "^topo"
      ]
    },
    "build": {
      "dependsOn": [
        "^build"
      ],
      "env": [
        "\\*",
        "RESEND_API_KEY",
        "\\!NEXT_PUBLIC_GIT_\\*",
        "TINY_BIRD_API_KEY",
        "NODE_ENV",
        "VERCEL_URL"
      ],
      "outputs": [
        ".next/**",
        "!.next/cache/**",
        "next-env.d.ts"
      ],
      "inputs": [
        "$TURBO_DEFAULT$",
        "!README.md"
      ]
    },
    "dev": {
      "persistent": true,
      "cache": false
    },
    "format": {
      "outputs": [
        "node_modules/.cache/.prettiercache"
      ],
      "outputLogs": "new-only"
    },
    "lint": {
      "dependsOn": [
        "^topo"
      ],
      "outputs": [
        "node_modules/.cache/.eslintcache"
      ]
    },
    "typecheck": {
      "dependsOn": [
        "^topo"
      ],
      "outputs": [
        "node_modules/.cache/tsbuildinfo.json"
      ]
    },
    "clean": {
      "cache": false
    }
  }
}

same issue

"tasks" is available to turbo 2.x. Therefore, the error is occurring because "tasks" cannot be read. As a solution, change "tasks" to "pipeline," which can be read by version 1, and then run npx @turbo/codemod update, which will automatically update it.


cmd/pk/deploy: staticcheck

Closing this, see my comment here:

https://github.com/perkeep/perkeep/pull/1405#issuecomment-894727096


Destroying an item should consume the weapon currently equipped

The destruction of an item should be simulated as a series of hits with the current weapon both as a time-consuming action and as an item-degrading action.
It is left to decide what the character does if the equipped weapon breaks before the item is destroyed.

I started working on this.


More actuator optimizations

Despite our effort to modularize and optimize actuator hints in our 0.8.0 milestone, adding actuator on a Spring Boot + Spring MVC @Controller + Tomcat + Jackson increase RSS memory by 34M of RSS (97M with, 63M without). This is a lot especially when we think that most users just want their default web endpoints.
I think there are multiple things to explore here in order to find the best way how to optimize this:

@dsyer How much using spring-init functional configuration decrease the footprint? How much remaining hints required after?
@bclozel What is the footprint gain with your functional actuator branch? How much remaining hints when used with spring-init?
@snicoll @wilkinsona Could it be possible to ship less infra on Spring Boot side by default?

The spring-init sample with functional actuators with  has only /health and /info (but adding more might not impact the footprint much). The footprint is currently around 40MB (cf 36MB for plain webflux). Some of the difference is probably Jackson - those would be the hints required (see reflect-config.json for details).

See related https://github.com/spring-projects/spring-boot/issues/20290 issue.

The first step is to review this diff of used classes between a basic Spring MVC app and the same with the actuator starter.
diff.txt
There are 3 levels where we could do something:

Fine tune the hints declarations, especially the access attribute
Fine tune the hint engine with @aclement
Contact Boot team to ask specific changes if we identify specific points they could change to make things easier here

First round of optimizations have gone in purely related to hint adjustment and smarter feature analysis, I wanted to share the results.  I have a variant of the actuator-webflux sample. I've added a single / endpoint so I can exercise the app and the actuator separately.
Initial build with the starter for actuator removed from the pom to give us the baseline. (Macbook Pro)
Exercising the `/` endpoint:                  RSS=49.5m/ImageSize=43.3m

Now with the actuator added back to the pom.xml
Exercising `/` but not the health endpoint:   RSS=71.1m/ImageSize=52.1m
Exercising `/` *and* the health endpoint:     RSS=73.3m/ImageSize=52.1m

Recompiling with evaluate-cop=true set - this evaluates conditional on property checks at image build time, throwing more away as the properties are not typically set.
Exercising `/` but not the health endpoint:   RSS=69.1m/ImageSize=51.1m
Exercising `/` *and* the health endpoint:     RSS=71.4m/ImageSize=51.1m

Very roughly speaking if the observation in the first comment is that actuator had a 34M impact on RSS, we have reduced that to ~22M with a first pass. (I recognize the actuator-webflux sample is a little different to the original app). And down to ~20M with evaluate-cop=true.
We should probably review what is in the latter image to see if anything is obvious that doesn't need to be there.

@aclement Could we compare the additional classes loaded by the JVM wuth actuator + exercising the /health endpoint with the one added to the native image? That would allow use to check with Boot team if there are or not optimization possible on the JVM and if we ship too much on native.

Eager evaluation of ConditionalOnEnabledMetricsExport doesn't seem to be sufficient - it helps but there is still a lot of metrics stuff included - there seem to be other routes to creating meter registry related beans that are not guarded with anything beyond class path checks. For example:
@Configuration(proxyBeanMethods = false)
@ConditionalOnBean(Clock.class)
@ConditionalOnMissingBean(MeterRegistry.class)
class NoOpMeterRegistryConfiguration {

Just checking: eager evaluation of @ConditionalOnCloudPlatform is a bad idea right? It's just to collect a data point?

After more discussions with @wilkinsona and @dsyer I think the solution is the following:

Introduce a spring.native.remove-metrics-support flag (Boot team is not ok to add such flag on their side because there is a clear classpath signal via the io.micrometer:micrometer-core dependency) that would discard metrics related beans (and do not add the related reflection entries) when set to true (default would be false)
Introduce a build time transformation that set spring.native.remove-metrics-support to true  when spring.native.remove-jmx-support=true and (management.endpoint.metrics.enabled=false or management.endpoints.web.exposure.include does not include metrics). It would remove metrics by default since the endpoint is not exposed by default.

@ConditionalOnCloudPlatform seems to be mostly Cloud Foundry specific right now and I am not sure this is a pattern we would like to increase. I am even wondering if we could think about removing it in Boot 3 timeframe. For now I would suggest we set management.cloudfoundry.enabled=false by default and document it, that will allow people to enable it if needed at build time.

In Spring Boot 2.4 there is management.metrics.export.defaults.enabled=false to disable all known metric exporters. That does not prevent the metrics infrastructure to be auto-configured though as you can still opt-in for a given exporter. For instance adding management.metrics.export.simple.enabled=true alongside the previous property would disable all available metrics exporters but the simple in-memory one.
That's what we do to disable metrics export in Integration tests.

Introduce a build time transformation that set spring.native.remove-metrics-support to true when spring.native.remove-jmx-support=true and (management.endpoint.metrics.enabled=false or management.endpoints.web.exposure.include does not include metrics). It would remove metrics by default since the endpoint is not exposed by default.

I'm not sure that this makes sense. If you're exporting metrics out-of-process – to Prometheus or whatever – you will care about metrics but in all likelihood won't have the metrics endpoint enabled.

Yeah we probably need to refine a little bit the logic.

I've managed to get close to simulating micrometer not being around but not quite.  Whilst I've managed to eliminate the Spring beans by tweaking the GraalVM feature analysis, there is a class reactor.util.Metrics that sets a flag isMicrometerAvailable and if it is set to true then it creates a few classes like reactor.netty.http.MicrometerHttpMetricsRecorder - when this happens we do start to pull in a (small) part of micrometer. About 1Meg of RSS' worth of micrometer and reactor netty micrometer infrastructure - so this is pulled in by reactor just if micrometer is on the classpath. Could feasibly put a substitution on there at some point but maybe that's too messy.
Pushing on optimizations I've made it to:
Entries in the PrintAOTCompilation diff: 481 // was 860 after last optimizations and ~1600 originally
Build memory: 6.75GB
Image build time: 85.8s
RSS memory: 60.4M // was 63.9 after last optimizations and 71.4 originally
Image size: 45.4M // was 47.1 after last optimizations and 51.1 originally (app was 43.3 with no actuator)
Startup time: 0.083 (JVM running for 0.085)

Which would make the health endpoint basically add 11M RSS to a base application and 2Meg to the image size.
I now need to refactor my optimizations into real commits so not sure I'll quite get to that target as I undo some liberties I took, but I'll post things I've done and we can see if any small Spring refactorings might be able to help.

If that's 1M of RSS and Reactive stack specific I think we can live with that.

Hey @wilkinsona - you might be able to help me with this (I'm no expert on actuators!). As I take apart my hacks, I'm looking at MappingsEndpointAutoConfiguration. Although the first @Bean method has @ConditionalOnAvailableEndpoint the other inner classes within it, and the MappingsEndpointAutoConfiguration itself are not conditional on anything related to whether the endpoint is active. That seems to mean that even if I totally turn off the mappings endpoint, the servlet or reactive configurations inside this auto configuration will build beans? Whatever I do (in my web flux app), my debug report shows:
   MappingsEndpointAutoConfiguration.ReactiveWebConfiguration matched:
      - @ConditionalOnClass found required class 'org.springframework.web.reactive.DispatcherHandler' (OnClassCondition)
      - found ConfigurableReactiveWebEnvironment (OnWebApplicationCondition)
      - @ConditionalOnBean (types: org.springframework.web.reactive.DispatcherHandler; SearchStrategy: all) found bean 'webHandler' (OnBeanCondition)

(that was with - overkill I know - --management.endpoints.enabled-by-default=false --management.endpoints.jmx.exposure.exclude=* --management.endpoints.web.exposure.exclude=* — management.endpoint.mappings.enabled=false). Is it possible to make the whole configuration conditional on something? Or does it need to always create those beans for another possible use?

Thanks, Andy. I think there's some scope to make Boot more efficient there, albeit with a non-zero (but small) risk of breaking someone if they're doing something a bit unusual. I've opened https://github.com/spring-projects/spring-boot/issues/23977.

Just thinking about the comment from @snicoll above:
In Spring Boot 2.4 there is management.metrics.export.defaults.enabled=false to disable all known metric exporters.
That does not prevent the metrics infrastructure to be auto-configured though as you can still opt-in for a given exporter.
For instance adding management.metrics.export.simple.enabled=true alongside the previous property would disable
all available metrics exporters but the simple in-memory one.

That's what we do to disable metrics export in Integration tests.

In a native-image world (maybe in a JVM world...) isn't it a shame that we build all that metrics infrastructure when all you might have wanted from actuator was the health endpoint? I guess as a percentage memory cost on the JVM it may not be so large but bringing in micrometer seems to be about 10% of the memory for our native-image case here.
Some crude measurements in JVM mode, running the actuator sample and just hitting the /actuator/health endpoint. The memory is very roughly around 600meg. So the 6Meg feeling more like 1% than the 10% it is on native (I know probably a bit of apples vs oranges comparison).
Now something super crude, checking how many classes are loaded for the app (count -verbose:class):
vanilla app without actuator (hitting /actuator/health but of course not found): ~6273 (~100meg less memory than when actuator is added)

vanilla app with actuator: ~7038

With --management.metrics.export.defaults.enabled=false: ~6980

With --management.metrics.export.defaults.enabled=false
     --management.endpoints.enabled-by-default=false
     --management.endpoint.health.enabled=true
     --management.endpoints.web.exposure.include=health: ~6979

With io.micrometer:micrometer-core excluded: ~6650

From my point of view all I wanted was /health but without excluding micrometer I was loading an extra 330 classes, and I didn't seem to have any property controls over whether that happened. If there were an option to say no-metrics-please, I would have used it. (maybe pom exclusion is the way I'm supposed to do that, but tricky on native-image, I think - need to double check)

Final comment on this in 0.8.2 timeframe. I've pushed the changes I want to make and got some decent figures. What I ended up doing was building on a facility we already had to filter our configurations during feature processing. I wrote a filter for the metrics ones that bring in micrometer. If you set the right property it will filter our metrics configurations during image build. Here are the figures:
Figures for hitting '/' endpoint and the health endpoint:
0.8.1 rough figures from above.
RSS=73.3M/ImageSize=52.1M

Various tweaks to just hints and moving to boot 2.4.0-RC1.
RSS=68.8M/ImageSize=52.2M

Remove metrics related auto configuration from actuators: (-Dspring.native.factories.no-actuator-metrics=true).
RSS=62.4M/ImageSize=50.7M

Switch on build-time property checking for some conditions (basically ConditionalOnProperty and actuator related ones):
RSS=60.1M/ImageSize=49.6M

Switch on final extreme option - maybe going too far (flip treatment of matchIfMissing from true to false - effectively making a lot of things opt-in rather than opt-out):
RSS=58.3M/ImageSize=46.7M

(Remember 49.5M was the RSS without actuator, so <10M impact if taking it to the extreme with the options). None of these options are on by default.

Thanks @aclement, let's refine the defaults and have a deeper look on this with @bclozel before 0.9.

@aclement Should we close this issue and focus on #340?

@aclement Should we close this issue and focus on #340?

Yes, I don't plan to do more here at the moment.

Yes, I don't plan to do more here at the moment.


Feature request: Calibre conversion plugin

I would love to get a Calibre integrated alternative to KTE (even if I know this is more a Calibre than a kepubify improvement request).

This is a duplicate of #17, but the situation has changed a bit, so I'm willing to reconsider this. With the rewrite of the kepubify conversion code I did for v4, this would be much easier to implement than before. Also, I think I have a better understanding of the architecture of Calibre plugins now compared to back then.
I'll experiment with this when I have time.

Nice!
IMHO, it should even be possible to get a conversion plugin acting "simply" as a shell for the kepubify binary, piping in and out the source epub content to the converted to kepub data and bought back to calibre.

Agreed, it would be great to have a kepubify plugin for Calibre. The plugin could point to an existing kepubify binary file path via the plugin configuration.
The Calibre docs have improved over the years:

https://manual.calibre-ebook.com/creating_plugins.html
https://manual.calibre-ebook.com/conversion.html


Dawn Theme Off-Color Bookmark Cards in Dark Mode

The bookmark cards in the official Dawn theme have become too bright and contrast poorly with the theme's dark mode. Is there a way to revert back to the original color scheme? @minimaluminium

Following up on this - there was an update that made the text readable, but the white background still clashes with the theme. Could we make it match the dark background, like it was before? Example of what it looks like now -


agnoster theme: bzr

With commit d1ce70f68540bdf6a7f27ab9879e8222d0e7a604 zsh hangs indefinitely on bzr status >/dev/null 2>&1 #if bzr is not installed.
=> Check presence of bzr before running it

This was fixed in a later commit. Please update with upgrade_oh_my_zsh.


sequence labelling, n-fold training should use separate preprocessors

(Not sure if this was discussed before)
It seems that the train_nfold method allows the preprocessor to see the whole dataset.
It may be more correct to use a separate preprocessor for each split.
The difference would be how the model handles unseen characters, feature tokens etc.
(It may depend on the dataset how likely it only contains some of the characters in the validation split)
/cc @kermitt2 @lfoppiano

Thank you @de-code !
I don't think it was discussed before.
This is correct, the preprocessor is initialized on the whole training set in the n-fold scenario.
At first glance, my impression is that it has no impact. Using a fold for training will restrict the model to the characters, words and feature values present in the fold, so nothing is learned for indices outside the fold. When we evaluate on the excluded 10%, unseen characters/words/feature values might be mapped to existing indices but I don't see how it can impact the processing if these indices are ignored by the model - would they be mapped to UNK or 0 or 104, these are all considered discrete values for which nothing is learnt.
About the embeddings, as the whole static embeddings are loaded, unseen words are mapped to embeddings independently of the occurrence of the word in the training set.


OneSignal.inFocusDisplaying(0) don't work 100% of the time

Hello sometimes in our app we get that alert box in our app.
Cannot really pinpoint when yet.

@jkasten2

@note89 When it doesn't work can you check to see if there are any errors in the logcat? Also please let us know which version of the OneSignal SDK you are using.

running "react-native-onesignal": "3.0.2",
I will see, need to start running logcat all the time then.

also experiencing this issue

Found this stacktrace on Crashalytics
Fatal Exception: java.lang.NullPointerException: Attempt to write to field 'com.onesignal.OneSignal$OSInFocusDisplayOption com.onesignal.OneSignal$Builder.mDisplayOption' on a null object reference
       at com.onesignal.OneSignal.setInFocusDisplaying(OneSignal.java:1192)
       at com.geektime.rnonesignalandroid.RNOneSignal.inFocusDisplaying(RNOneSignal.java:111)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.facebook.react.bridge.BaseJavaModule$JavaMethod.invoke(BaseJavaModule.java:319)
       at com.facebook.react.cxxbridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:158)
       at com.facebook.react.bridge.queue.NativeRunnable.run(NativeRunnable.java)
       at android.os.Handler.handleCallback(Handler.java:739)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:31)
       at android.os.Looper.loop(Looper.java:135)
       at com.facebook.react.bridge.queue.MessageQueueThreadImpl$3.run(MessageQueueThreadImpl.java:196)
       at java.lang.Thread.run(Thread.java:818)

@note89 Thanks for the stack trace. Once I have the following finished it will definitely resolve this issue.
https://github.com/OneSignal/OneSignal-Android-SDK/issues/163

+1

@note89 @avishayil @arilitan @jjdp The OneSignal Android Native 3.4.4 SDK has been released with a fix for this. Re-syncing your gradle files from Tools > Android > Sync Project with Gradle Files should get you this version.


kubernautis | Batching and pseudorandom shuffling of miners queried by validators

@HudsonGraeme Thank you for the comments, I've adjusted the code as suggested :)

Added the second proposition for the controlled concurrent requests and merged from the updated testnet branch

@HudsonGraeme is this still pertinent for your subnet? If not, I'll close the PR

This is still relevant, and I appreciate you keeping this PR open. We will need to implement individual validator batching in the near future as we integrate with external queries and load. Once we have a couple of major updates applied, we'll circle back here to integrate

Closing this one out but saving the branch as a reference - these contributions are appreciated! The codebase has changed drastically and an alternative approach is in the process of being adopted in #25.


mkfs.xfs -dsu=65536 sw=1 core (version 5.4.0)

Hi,
'/usr/sbin/mkfs.xfs -dsu=65536 sw=1 /mnt/test/260.410113' triggered a core
# gdb /usr/sbin/mkfs.xfs core.410299
Reading symbols from /usr/sbin/mkfs.xfs...Reading symbols from .gnu_debugdata for /usr/sbin/mkfs.xfs...(no debugging symbols found)...done.
(no debugging symbols found)...done.
[New LWP 410299]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/sbin/mkfs.xfs -dsu=65536 sw=1 /mnt/test/260.410113'.
Program terminated with signal SIGABRT, Aborted.
#0  0x00007f213b4eca4f in raise () from /lib64/libc.so.6
Missing separate debuginfos, use: yum debuginfo-install xfsprogs-5.4.0-1.0.1.el8.x86_64
(gdb) where
#0  0x00007f213b4eca4f in raise () from /lib64/libc.so.6
#1  0x00007f213b4bfdb5 in abort () from /lib64/libc.so.6
#2  0x00007f213b4bfc89 in __assert_fail_base.cold.0 () from /lib64/libc.so.6
#3  0x00007f213b4e53a6 in __assert_fail () from /lib64/libc.so.6
#4  0x0000563c88c07da5 in main ()
# /usr/sbin/mkfs.xfs -V
mkfs.xfs version 5.4.0

HI i did not understand this please explain me. .

I'm sorry this report was overlooked. You didn't include the actual core file, or a diagnostic report of your system (sosreport, which should be included with all reports of crashes). If this reproduces on an up-to-date system, please file a new report, attaching the core file and a sosreport so we can see the context of the crash.


databricks notebooks

Added Datatbricks files

Closing in favor of https://github.com/Arize-ai/tutorials_python/pull/82


Problem with scroll position and dynamically sized rows using scrollToIndex

Hopefully this isn't too convoluted an example, basically I have a list that has a concept of the active row that can be changed either by clicking to select or, or driven by an external selection. I was able to create an example that reproduces the issue and track down the cause to additional calls to measure the row after it has been updated. In this case the additional measurement isn't necessary because the content size isn't changing, but it does trigger the strange scroll behavior I'm seeing:
https://plnkr.co/edit/5sQ1Jg?p=preview
What is happening is when you are scrolled down a bit and select items above the current selection it unnecessarily repositions the scrolltop (ie: the newly active row is completely visible):

Commenting out the second measure call in componentDidUpdate on line 86 avoids the issue, but causes other sizing issues in my use case

I'm not sure what's being reported here. A bug? A question?

It's a bug - I expect scrollToIndex to only change the scroll position when it is necessary to display the specified row, if the row is already visible I expect the scroll position to not change

This depends on scrollToAlignment but yeah, the default value ("auto") should behave the way you describe. There are unit tests checked into GitHub that verify this.
Making the measure callback async in componentDidMount and componentDidUpdate (eg setTimeout(0, this.props.measure)) seems to fix things, as does removing it entirely. (It's really not necessary for what you're doing, since there is no async-loading content.)

Thanks, setTimeout works around the issue for me as well (though I also had to add a guard to check that the component wasn't unmounted in my case or I get React warnings)
Another one to add to the growing list of things that are hacked around by setTimeout, oh well :)

I'd like to know more about why you need to synchronously call measure though?
If it's async, it should work. If measurement is sync, you shouldn't need to call it (and so it should also work).

In my case the content of each row is evaluated asynchronously, I left that out of the plunker to simplify the example. I had the measure call in componentDidUpdate as a catch-all to ensure that resize changes were detected, it looks like moving the measure call to where the async results are saved in state also behaves correctly and doesn't need the setTimeout workaround

Cool. Thanks for clarifying. 😄

np - thanks for the quick help on everything


Fixed #29043 -- Fixed prevent test --keepdb says "Using existing ..." at first time.

Ticket 29043
The patch needs tests. I don't know how to test it.
Any suggestion?

Tests added.

I totally agree with Tim and Carlton I don't think that it's worth to add unnecessary complexity to the test database creation.

Happy to look at a fresh PR, but inclined to think we should just close this...


Ensure AKS logging to Azure Monitoring is Configured

Possible check to target the following resource

[ ] azurerm_kubernetes_cluster

closing, tracking in spreadsheet

closing, tracking in spreadsheet


Using both r and result in the various examples

Corrected two, but there are other instances where the operation is done using r, or result interchangeably.

Thank you very much for this pull request. It is really helpful!


Make it possible to update and edit FreeCen2 online

Currently the main way of updating FreeCen2 is after an update of FreeCen1.  There is no mechanism for online submission of file updates. There is no mechanism to permit online editing of data. There is no mechanism to prevent online updates  being overwritten by file updates. There are no mechanism for transcriber/validators to use the system.

The first phase of activities will be focussed on online uploading and processing.
On line editing will be added once that is in place and FC2 is the main database system since there will be no mechanism for back loading files into FG1


Have the callback return the new request instead of overwriting the supp...

...lied object
Have the callback return a value instead of overwriting the supplied object
It wasn't very well documented but I found it weird that you were supposed to overwrite the object instead of returning a value.

I can't think of a good way to support ways right now, the only ways I can think of would make the whole thing a lot more complicated and it wouldn't be worth it. I'm closing the PR for now and I updated the documentation so that people using a function knows what is expected of it.


Add more info to teams

Teams in lists with just the name dont make any sense
Add at least the previous (or current) league and opt the name of the responsible coach,
TO do in

club dashboard team list
assign team dialogue
club briefing page

add new attribute to model:
name_long:
team name + league or (if empty) prev-league or (if empty) coach name


super in base object should not pass on kwargs

Based on comments in https://github.com/kivy/kivy/issues/3650 - this fixes crashes whenever opening Settings (including in the examples)
GBlame shows that this line was added in commit d7bf6dbd by Matthew Einhorn on 2015-06-29
Not sure if that commit needs reverting as I don't really understand what was being done. But yes, this fixes a 100% crash.

Interestingly enough... this crash only occurs with python3. When I finally got around to testing on python2, the crash does not occur (both in my app as well as in the Settings example)

The correct solution is not to revert that change and not forward kwargs, because for cooperative inheritance to work, we need to pass on any kwargs we didn't use. So you need to find where in the code you're passing on kwargs that never gets eaten and not forward them with super.

We appreciate your PR and work on this, though.

The default settings example hits this crash as well. I believe it has to do with 'title' not being a property.


Property map does not exist

I am trying to use this library but it does not work. I always get this error.
node_modules\angular2-loggly-logger\src\loggly-service.ts:171:14`
Property 'map' does not exist on type 'Observable'.
In looking at the code the loggly-service.ts files does use the "map" method but never imports map.

merged in fix


Cuda (GPU acceleration)

I noticed that there is already the option for GPU acceleration in the code base. Is that actually implemented and is there any documentation for GPU acceleration using the python package?

In line two of the configuration files one can set the OPM Flow simulator options. Regarding the GPU functionality I have not used it yet, but in a similar issue there is a hint how one can use this option, specially for the linear solvers https://github.com/OPM/opm-simulators/issues/5452#issuecomment-2217182565


Error in reading the following URI that works in a browser

Bug
The code below does not work but the SVG shows up correctly in a browser:
<SvgUri width="50" height="50" source={{uri:'https://slf.evse.cfapps.eu10.hana.ondemand.com/assets/img/connectors/type1-ccs.svg'}} />

Environment info
System:
    OS: macOS 10.14.6
    CPU: (12) x64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
    Memory: 309.59 MB / 16.00 GB
    Shell: 3.2.57 - /bin/bash
  Binaries:
    Node: 10.15.3 - /usr/local/bin/node
    npm: 6.4.1 - /usr/local/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  SDKs:
    iOS SDK:
      Platforms: iOS 12.4, macOS 10.14, tvOS 12.4, watchOS 5.3
  IDEs:
    Android Studio: 3.4 AI-183.54<IP_ADDRESS>52501
    Xcode: 10.3/10G8 - /usr/bin/xcodebuild
  npmPackages:
    react: 16.8.6 => 16.8.6
    react-native: 0.60.5 => 0.60.5
  npmGlobalPackages:
    react-native-cli: 2.0.1

Library version: x.x.x
Steps To Reproduce

Copy the code above and run it

Describe what you expected to happen:

The SVG icon should be displayed like in a browser

Reproducible sample code
Already provided above

We are facing several issues like this as well.

Seems you're using SvgUri from some other library, we're not using any dependencies, and your stacktrace is inside domparser / sax.js


Compass

Problem:
We need to provide Compass in this project.
Solution:
Download, Install and configure Compass.
http://compass-style.org/

apt -qq -y install  software-properties-common >> /dev/null 2>&1

updatenodejs(){

sudo apt-add-repository -y ppa:chris-lea/node.js >>/dev/null 2>&1
sudo apt-get install nodejs
#installs preproceccor languages and grunt
getgems(){
updatenodejs  >> /dev/null 2>&1
gem install sass  >> /dev/null 2>&1
gem install compass  >> /dev/null 2>&1
npm install -g grunt-cli >> /dev/null 2>&1
getdrush >> /dev/null 2>&1
}
'''

Resourcees:
https://github.com/drubuntu/installation/blob/master/functions.sh
https://www.deeson.co.uk/labs/using-grunt-bootstrap-compass-and-sass-drupal-sub-theme

[see #5 Compass] (https://github.com/darol100/lazydubuntu/issues/5#issuecomment-71383719)

I have run every command manually to see if the installation is successful and I run to this error when I was installing SASS.

So I installed ruby before the sass.
#Install Ruby
sudo apt-get install ruby
# Then I installed SASS
gem install sass
sass -v # To verify if sass is installed properly.

I ran into a problem when I try to install compass.

This can was solve by updating the packages.
gem update --system
gem install compass


Moved basic ep mf to impl

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 97.13%. Comparing base (191e139) to head (34f0073).

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #343   +/-   ##
=======================================
  Coverage   97.13%   97.13%
=======================================
  Files         152      151    -1
  Lines        9169     9169
=======================================
  Hits         8906     8906
  Misses        263      263

Files
Coverage Δ

include/async_mqtt/impl/endpoint_impl.hpp
100.00% <100.00%> (ø)

include/async_mqtt/impl/endpoint_impl.ipp
95.78% <100.00%> (+0.67%)
:arrow_up:

... and 1 file with indirect coverage changes


[#1234] Use bridge.min.js in demo.html.pp template

I don't think this is a good idea as I like to be able to debug bridge.js, of course: I can just change it.
Anyway, you can do it if you like.

If you need the debug version, just remove .min from the path in demo.html.
Using the .min source in demo.html also provides a hint to developers than an actual min version is available. It would appear many are missing this feature.
Of course, in your actual application .html files, use whichever .js file is appropriate. This change only applies to the auto generated demo.html file which is created as a sample to help get developers started quickly.


Very slod dl from youtube

My internet is fast otherwise, 1gb downloaded in 1-2 min. https://i.imgur.com/tu5SBUT.png

Duplicate of #29326 (etc).


Rule to validate correct @ts-ignore usage

Rule Request
I would like to propose a rule that does at least the following:
forces @ts-ignore to be accompanied by a comment
The reasoning here is that you should not blindly throw @ts-ignore comments around yourself, but explain your reasoning to do that, even better, point to an issue for further explanation
valid
// @ts-ignore https://github.com/Microsoft/TypeScript/issues/11152
const Apps = new Map(apps.map(app => [app.name, app]))

invalid
// @ts-ignore
const Apps = new Map(apps.map(app => [app.name, app]))

error on @ts-ignore annotations that do not actually suppress any error
valid
// @ts-ignore
const foo: string = 123;

invalid
// @ts-ignore
const foo: number = 123;

I think that this is a legitimate use-case and can be a useful rule to enforce via lint

is it even possible to practically (efficiently) detect when @ts-ignore is applied to TS code that does not produce an error?

is it even possible to practically (efficiently) detect when @ts-ignore is applied to TS code that does not produce an error?

I’m not sure about that. Maybe changes in the TS typechecker itself are needed.
See the linked https://github.com/Microsoft/TypeScript/issues/25166 for that, and also a very good explanation for the reasoning why this should be useful.
Flow also has the behavior to error on ineffective suppression comments.

ah nice an issue on the language itself! I would argue very strongly that this feature belongs in tsc itself and not in tslint because it's a compiler flag and not a style decision. i'm going to close this issue to redirect the conversation to that TS issue.

I agree that warning on ineffective suppression should be a tsc feature.
But the second part of this feature request is actually a linting issue:

making sure that @ts-ignore comments are accompanied by some kind of explanation why we need to suppress errors there.

So I would appreciate it if you would reopen this for the sake of the other feature I requested :-)

please file a new issue on the request above. this one is officially hosed (due to the link in the TS issue)

This ticket shouldn't have been closed. The TypeScript team has not responded yet, so it is unclear that the solution will actually be implemented in TS itself.


HANA Support as Data Source

Does Virtual Schemas support connection to SAP HANA databases as data source?

Yes, we support SAP HANA. Please check our documentation where you can find how to connect to HANA: https://github.com/exasol/virtual-schemas/blob/master/doc/dialects/saphana.md


TypeScript definitions not included with npm, though fix seems to have been merged

Just installed 3.0.2 but Index.d.ts is not included.
Is the fix part of an upcoming release?

yes. the original types weren't being shipped, but @yannicsmeets helpfully fixed that. we're just waiting on @jshjohnson to ship the next release.


Easy and efficient method for getting all outgoing edges of a vertex in edge_index?

❓ Questions & Help
Is there an easy and efficient way, of getting all outgoing edges of a vertex in edge_index?
For example, getting all neighbors of vertex with id = 1?
Doing this with Python loops appears to be very slow for large graphs and makes it unusuable for me.
Thanks for help in advance.

row, col = edge_index
mask = row == id
edge_index = edge_index[:, mask]


RevEng: Identity Columns not handled Properly

When reverse engineering from a table where an column is marked as identity, the property generated for this should not be settable.
Currently it has both get/set and when adding a record with the column set results in an Update Exception, "The Column cannot be modified". Update works fine if the code does not set the property.
[Using SQLServerCompact40/C#/VS 2015/ <IP_ADDRESS> Beta 8]

Thanks for reporting this, could you share the generated class code, and the CREATE TABLE statement for the table in question

Below is the Create Table script
CREATE TABLE Student (
[Id] int IDENTITY (1,1) NOT NULL
, [Name] nvarchar(100) NOT NULL
, [ClassId] int NOT NULL
);
And the Class def generated.
public class Student
{
public int Id { get; set; }
public int ClassId { get; set; }
[Required]
public string Name { get; set; }
    [ForeignKey("ClassId")]
    [InverseProperty("Student")]
    public virtual ClassMaster Class { get; set; }
}

As you can see the ID column is marked Identity, but the property has get and set.
Also I see that though the ID is not null, it is not marked as [Required], which is fine for an identity column.

Re "Required" - not needed, as it is an int column (othewise it would have been an int? column, ie nullable)

Re "Required" - That makes sense...

Discussed in triage and concluded that we will always just generate a getter and setter. You can always remove the setter later if you want. In EF7 we do actually support specifying explicit values for generated properties (and EF will attempt to insert them).


Level: Basics 3 - "Five Commits"

3) Five Commits - add/rm/modify/mv/multiple changes at once

This level reinforces the notion that commits each have their own history by showing that you can make any change to the directory, not just adding files.
The user would need to make five commits, with each commit making a specific change. If the user completes the task, then we can add a check while if the user commits erroneously, we can add an x.
git gud goal output would look like this: (but with better descriptions)
 ✔ add file 1
 ✘ add file 2
 • modify both files
 • remove file 1
 • rename file 2

Try these if you're stuck:
git gud explain add
git gud explain modify
git gud explain remove
git gud explain rename

After completing the level, git gud status would look something like this.
commit 1:
 sahan.txt: "Hello world"
 File 2: Doesn't exist
commit 2:
 sahan.txt: "Hello world"
 ben.txt: "Wave my hands"
commit 3:
 sahan.txt: "Hola mundo"
 ben.txt: "Wiggle my toes"
commit 4:
 sahan.txt: Doesn't exist
 ben.txt: "Wiggle my toes"
commit 5: (master)
 sahan.txt: Doesn't exist
 gud.txt: "Wiggle my toes"

@benthayer Doop

@sahansk2 I have _test implemented for this, but I'm struggling with the written content for this level.
Specifically, I'm wondering whether it's worth having git gud explain X as a general framework, or if that's only really going to be useful for this level.
I'm also thinking about when the user would actually ever run git gud status. Of course, the idea is for them to run it and understand what's going on, but they really don't have a reason to run git gud status at any point in the level.
Additionally, I'm questioning what the output should be after the level is loaded/setup.
Anyways, maybe my brain is just fried, but if you have thoughts on any of this, your help would be appreciated

Note: I do currently have git gud goal roughly implemented (as git gud status.
The question I have above is primarily about the flow of the level and how the user migth approach it.

@benthayer Sorry for the late reply. It's been a while since I've looked at Git Gud, so I feel more like a newcomer coming back to it (though not quite, obviously). :)

Specifically, I'm wondering whether it's worth having git gud explain X as a general framework, or if that's only really going to be useful for this level.

I think that it would only really be useful for this level, since there's so much to cover in this level: adding, removing, moving, etc. An alternative may be to separate the level into multiple different levels to introduce the concepts, and then have a final level (probably the original level) that requires all of the previous concepts. Something like this, maybe:

git add level
git mv level
git rm level
(more levels)
Five Commits level

If we don't split it up, we can have git gud explain explain the actual level in detail and tell the user to run the subcommands git gud explain add, git gud explain rm, etc.

I'm also thinking about when the user would actually ever run git gud status. Of course, the idea is for them to run it and understand what's going on, but they really don't have a reason to run git gud status at any point in the level.

That's true -- if we split up the level into a bunch of various levels, we could add extra conditions so that the user must run git gud status. Example: "Add a new file to the staging area with the contents of SECRETCODE.txt on the launch-codes branch". This could break the monotony of the broken-up levels, since they'd demand less from the user (to clear the level) than the Five Commits level.
If we don't split up the level, we could still add extra conditions so that the user needs to run git gud status, but the conditions might end up being too much for the user to handle.

Additionally, I'm questioning what the output should be after the level is loaded/setup.

Not specific to this level, but at minimum, I would say that the current skill & level should be outputted, as well as a reminder saying "Run git gud explain for an explanation of the level". When I was going through Git Gud (on main @ 1ce37196512b3e102e4012d19936a43b976fbc52 ) I didn't feel like I was moving through any levels since there was no level/skill output showing that I was, in fact, moving through levels, and I felt a little lost without the git gud explain reminder.
That's just what I think -- what are your thoughts?
By the way, if there's anything unclear, I'd be happy to try to elaborate.


Enhancement request: Grammar directive

If this feature already exists, consider this a documentation gap. :-)
For some reason, a the grammar auto-guesser comes up "plain text" for me fairly often. I can change it, but when I reload the file later, I have to set it again.
It would be nice if you could add a directive to your file to trigger a specific language. Something like
# atom-grammar: ruby

And them maybe simply check any line in the doc (or the first part for a big doc) for ending in " atom-grammar: THIS" and set the grammar to THIS if it exists. (I assume most languages have a single-line comment)
Part of me thinks maybe that should be an entirely different package, something to keep metadata (Code folding, I'm looking at you as well) associated with a document.

I'd rather have a priority list of some sort with filename regexes (would this also fix linter priorities?).

There are a couple packages for this already:

https://atom.io/packages/file-mode
https://atom.io/packages/grammar-mode

This can probably be closed. Just want to leave a reference for a similar package, that mostly resolves the issue through filename parsing:
https://atom.io/packages/file-types


[Wiki] How to install the project

Create a new Wiki page to describe how people can install and test the demo app

The link of the page is here.


Add tests

Added some basic connection test. Maybe later will add some GUI and some math functions testing.


Make test_field_value_into nicer to work with

This change reduces verbosity and makes any panics use the location for the input data.

:+1: