Allow white space in paths

If there is white space for the appPath, command line with think that it is additional arguments. Adding quotes around the appPath for a single argument.

Coverage remained the same at 46.359% when pulling 74941233ca0276e00ec8820564959a30d93d6488 on Tricore:patch-1 into 539813c6eb7488562f6b1f09fc1963b363a0256b on adonisjs:develop.

Ohh yeah thanks :)


Fix CRD details

Description
Changes proposed in this pull request:

We were trying to display an object as React child and well...
Also adjust "create CRD" button to match other buttons

Related issue(s)
Closes #782

what
[0331] | d65070d41851: Pushed
[0337] | unknown blob
[0337] | make: *** [Makefile:50: push-image] Error 1
[0337] | make: Leaving directory '/home/prow/go/src/github.com/kyma-project/busola'

/test pre-busola-web

/test pre-busola-integration-test-k3s

/retest

BRUH
/retest

/retest


Inconsistent return value description

Two contradicting descriptions of the return value:

On success, fegetround returns the rounding mode as one of the floating point rounding macro values. ...
On success, fesetround returns 0. Otherwise, a non-zero value is returned.

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

ID: e3b5bba8-6129-56e0-bd04-22c1e558306e
Version Independent ID: 2948d9e2-4712-8796-aa85-cb263a938380
Content: fegetround, fesetround
Content Source: docs/c-runtime-library/reference/fegetround-fesetround2.md
Product: visual-cpp
Technology: cpp-ucrt
GitHub Login: @TylerMSFT
Microsoft Alias: twhitney

@tholp
The C Standard defines these two functions' behavior, and the documentation accurately reflects that behavior. If they're inconsistent, it wouldn't be the first inconsistency in the C standard.

Does this mean that you don't intent to do anything about the problem?  It seems to be waste of my time to ask for feedback, if you are just going to state a dumb excuse instead of correcting the problem.

Sorry my mistake.


quart_flask_patch breaks asgi

How do you use Sentry?
Self-hosted/on-premise
Version
1.40.0
Steps to Reproduce

Install requirements

quart==0.19.4
quart-flask-patch==0.3.0
Flask-Caching==2.1.0
Jinja2==3.1.2
MarkupSafe==2.1.2
mysql-connector-python==8.0.32
SQLAlchemy==2.0.0
mysqlclient==2.1.1
python-dotenv==0.20.0
hypercorn==0.16.0
uvicorn==0.27.0
pymsteams[async]==0.2.2
requests==2.28.2
msal==1.21.0
aiosmtplib==2.0.1
Werkzeug==3.0.1
sentry-sdk[quart]==1.40.0

Run

from quart import Quart

import sentry_sdk
from sentry_sdk.integrations.quart import QuartIntegration

sentry_sdk.init(
    dsn="http://0fa88f9f4dcb4080b547a1b280bc4360@<IP_ADDRESS>:8000/1",
    enable_tracing=True,
    integrations=[
        QuartIntegration(),
    ],
)

app = Quart(__name__)

@app.route("/")
async def hello():
    1/0  # raises an error
    return {"hello": "world"}

app.run(host="<IP_ADDRESS>")

Import Quart flask patch, add to l1
import quart_flask_patch

Expected Result
To not break.
Actual Result
2024-02-05 20:07:55 +0000] [8727] [INFO] Running on http://<IP_ADDRESS>:5000 (CTRL + C to quit)
 * Serving Quart app 'test'
 * Debug mode: False
 * Please use an ASGI server (e.g. Hypercorn) directly in production
 * Running on http://<IP_ADDRESS>:5000 (CTRL + C to quit)
[2024-02-05 20:12:51 +0000] [8727] [INFO] Running on http://<IP_ADDRESS>:5000 (CTRL + C to quit)
[2024-02-05 20:13:11 +0000] [8727] [ERROR] Error in ASGI Framework
Traceback (most recent call last):
  File "/home/durek/.local/lib/python3.10/site-packages/hypercorn/asyncio/task_group.py", line 27, in _handle
    await app(scope, receive, send, sync_spawn, call_soon)
  File "/home/durek/.local/lib/python3.10/site-packages/hypercorn/app_wrappers.py", line 51, in __call__
    await self.handle_http(scope, receive, send, sync_spawn, call_soon)
  File "/home/durek/.local/lib/python3.10/site-packages/hypercorn/app_wrappers.py", line 83, in handle_http
    await sync_spawn(self.run_app, environ, partial(call_soon, send))
  File "/usr/lib/python3.10/asyncio/futures.py", line 285, in __await__
    yield self  # This tells Task to wait for completion.
  File "/usr/lib/python3.10/asyncio/tasks.py", line 304, in __wakeup
    future.result()
  File "/usr/lib/python3.10/asyncio/futures.py", line 201, in result
    raise self._exception.with_traceback(self._exception_tb)
  File "/usr/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/durek/.local/lib/python3.10/site-packages/hypercorn/app_wrappers.py", line 107, in run_app
    response_body = self.app(environ, start_response)
  File "/home/durek/.local/lib/python3.10/site-packages/sentry_sdk/integrations/flask.py", line 85, in sentry_patched_wsgi_app
    return SentryWsgiMiddleware(lambda *a, **kw: old_app(self, *a, **kw))(
  File "/home/durek/.local/lib/python3.10/site-packages/sentry_sdk/integrations/wsgi.py", line 115, in __call__
    reraise(*_capture_exception(hub))
  File "/home/durek/.local/lib/python3.10/site-packages/sentry_sdk/_compat.py", line 127, in reraise
    raise value
  File "/home/durek/.local/lib/python3.10/site-packages/sentry_sdk/integrations/wsgi.py", line 108, in __call__
    rv = self.app(
  File "/home/durek/.local/lib/python3.10/site-packages/sentry_sdk/integrations/flask.py", line 85, in <lambda>
    return SentryWsgiMiddleware(lambda *a, **kw: old_app(self, *a, **kw))(
TypeError: patch_asgi_app.<locals>.sentry_patched_asgi_app() missing 1 required positional argument: 'send'
[2024-02-05 20:13:11 +0000] [8727] [INFO] <IP_ADDRESS>:52442 GET / 1.1 500 - 52815
[2024-02-05 20:13:11 +0000] [8727] [INFO] <IP_ADDRESS>:52442 GET / 1.1 - - 54168

Is there a way to avoid this issue until it's queued for a fix please?

This seems to happen because due to how quart_flask_patch patches things, the SDK thinks this is now a Flask app and tries to wrap the async Quart requests in a sync WSGI wrapper.
This might work:
sentry_sdk.init(
   # your usual stuff
   auto_enabling_integrations=False,
)

This will tell the SDK to only enable integrations that you explicitly provide in the init. Without this option the default behavior is to auto-detect what is installed and enable the corresponding integrations if available.
Caveat to this: You'll have to enable all library/framework integrations by hand after doing this. So e.g. if you're also using something like SQLAlchemy, you'll need to add the integration into the init's integrations list. You can find out which integrations might be enabled in the background by setting debug=True in the init; the SDK will then print out all enabled integrations at startup. This docs page also has a list of auto-enabled integrations.

We also have a new disabled_integrations option, which allows you to provide a list of integrations you wish to disable, while keeping all other auto-enabling integrations enabled


[350] As staff I can create a pet in draft so it is not visible to foster/adopters

🔗 Issue
https://github.com/rubyforgood/pet-rescue/issues/350
✍ Description
This feature adds a published attribute to Pets so that staff can create draft pets that do not display to unauthorized users. I updated the previous work to match the current main branch and added a few things.
Notes

I did not update tests for creating/editing pets as I could not find any. I was tempted to add them in this branch, but I thought that these tests are critical and autonomous enough that they probably warrant a separate issue and pull. I did update the index page test so that it checks for published pets displaying. If you do want me to create these creating/editing tests in this PR, let me know. If it will be a new issue, I would be happy to work on it.
I noticed that all the tests in test/integration/adoptable_pet_show_test.rb are skipped with the comment "while new ui is implemented". I took this as a sign that these should not be worked on currently. However, I did add a placeholder test with the other skipped tests.
I found an error in test/integration/adoptable_pets_index_test.rb. The tests currently assert using an undefined @pet_count variable. The test currently pass despite this error, but in this PR I have it defined so that it works as expected. If this PR does not get pulled, this needs to be fixed separately.
The original issue calls for this attribute to be called is_published. However, this felt very not-Ruby to me and this is_ format is not used anywhere else in the app, so I renamed it to just published.

📷 Screenshots/Demos

Left side shows the index interface for staff and the right side demonstrates how the draft pets do not display for unauthenticated users.

Adds published toggle to form as well.

Thank you for taking this on! It looks good. Just one comment re migrations.
Yes quite a few tests are skipped as they are closely coupled with the DOM and it makes sense to finish such tests when we are happy with the front end. We still want to add new tests for feature functionality right now, but none to really worry about in this PR I think.

Thank you for taking this on! It looks good. Just one comment re migrations.
Yes quite a few tests are skipped as they are closely coupled with the DOM and it makes sense to finish such tests when we are happy with the front end. We still want to add new tests for feature functionality right now, but none to really worry about in this PR I think.

Thank you for reviewing! I have the migrations consolidated into one now.


Look's like closed generic decorators broken since 3.2.2

Greeting.
container.RegisterSingleton(typeof(ICommand<Context>), typeof(Command<Context>));
container.RegisterDecorator(typeof(ICommand<>), typeof(Decorator<>)); // ok
container.RegisterDecorator(typeof(ICommand<Context>), typeof(Decorator<Context>)); // NOT ok since 3.2.2, but ok on 3.2.1
is that bug or i miss something?

Hi @ogorodov, thank you for reporting this! It's a bug that I've fixed now in 5.12.1-preview-822, could you please check that it works with that version as expected?

Yes. All good. Thank you very much.
Your DI-container is awesome!
And thank you for fast reaction. Have a nice day.


StringList encoded incorrectly in the simulation

I have this block of code that gets the security groups from an EFS mount target and then creates a new mount target using that value:
    this.restoreDocument.addStep(new AwsApiStep(this, 'DescribeSourceMountTargetSecurityGroups', {
      service: AwsService.EFS,
      pascalCaseApi: 'DescribeMountTargetSecurityGroups',
      apiParams: {
        MountTargetId: '{{ DescribeSourceMountTargets.SourceMountTargetId }}',
      },
      outputs: [
        {
          outputType: DataTypeEnum.STRING_LIST,
          name: 'SourceSecurityGroups',
          selector: '$.SecurityGroups',
        }
      ]
    }));
...
    this.restoreDocument.addStep(new AwsApiStep(this, 'CreateMountTargetAZ1', {
      service: AwsService.EFS,
      pascalCaseApi: 'CreateMountTarget',
      apiParams: {
        FileSystemId: '{{ DescribeTargetFileSystem.TargetFileSystemId }}',
        SubnetId: '{{ GetParameterPrivateSubnetAZ1.PrivateSubnetAZ1 }}',
        SecurityGroups: '{{ DescribeSourceMountTargetSecurityGroups.SourceSecurityGroups }}',
      },
      outputs: []
    }));

This deploys via CDK without any issues and works. However, the simulator throws an exception. I've mocked the target creation:
    awsInvoker.whenThen(
      {
        awsApi: 'createMountTarget',
        awsParams: {
          SecurityGroups: 'sg-XXX',
          FileSystemId: 'fs-YYY,
          SubnetId: 'subnet-ZZZ'
        },
        service: AwsService.EFS,
      },
      {}
    );

I added some debugging which revealed it's JSON.parse() throwing the exception, on this (invalid) generated string:
{"FileSystemId":"fs-YYY","SubnetId":"subnet-ZZZ","SecurityGroups":"["sg-XXX"]"}

Full log:
    SyntaxError: Expected ',' or '}' after property value in JSON at position 97
        at JSON.parse (<anonymous>)
        at DictFormat.resolveToDict (../node_modules/@cdklabs/cdk-ssm-documents/src/interface/variables/string-variable.ts:134:4)
        at AwsApiSimulation.executeStep (../node_modules/@cdklabs/cdk-ssm-documents/src/simulation/automation/aws-api-simulation.ts:39:44)
        at AutomationStepSimulation.tryExecute (../node_modules/@cdklabs/cdk-ssm-documents/src/simulation/automation-step-simulation.ts:233:42)
        at AutomationStepSimulation.executeWithRetries (../node_modules/@cdklabs/cdk-ssm-documents/src/simulation/automation-step-simulation.ts:215:21)
        at AutomationStepSimulation.invokeWithFallback (../node_modules/@cdklabs/cdk-ssm-documents/src/simulation/automation-step-simulation.ts:117:29)
        at AutomationStepSimulation.invoke (../node_modules/@cdklabs/cdk-ssm-documents/src/simulation/automation-step-simulation.ts:107:17)
        at AutomationStepSimulation.invokeWithFallback (../node_modules/@cdklabs/cdk-ssm-documents/src/simulation/automation-step-simulation.ts:122:80)
        at AutomationStepSimulation.invoke (../node_modules/@cdklabs/cdk-ssm-documents/src/simulation/automation-step-simulation.ts:107:17)
        at AutomationStepSimulation.invokeWithFallback (../node_modules/@cdklabs/cdk-ssm-documents/src/simulation/automation-step-simulation.ts:122:80)

Any guidance would be appreciated. Thanks for all the excellent work on this project!

In limited manual testing with the simulation only removing this block from src/interface/variables/string-variable.ts resolved the issue:
        inputCopy = inputCopy.replace(match, JSON.stringify(replacement));
        inputCopy = inputCopy.replace(match, JSON.stringify(replacement));

I don't know what the full implications of that change are.


Artstation does not download anymore.

Ripme version: <IP_ADDRESS>
Java version: java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
Operating system: Microsoft Windows [Version 10.0.17763.253]
Exact URL you were trying to rip when the problem occurred: https://www.artstation.com/alexineskiba
Please include any additional information about how to reproduce the problem:

Expected Behavior
downloading the gallery
Actual Behavior

gives me the above error for every artstation gallery.

Does it happen with https://(artistname).artstation.com too?

I have not checked, the galleries are often completely different, as one is
the professional gallery and yhe oyher is the "casual browser" gallery.
On Tue, Feb 12, 2019, 18:26 Sean Canned Bean<EMAIL_ADDRESS>wrote:

Does it happen with https://(artistname).artstation.com too?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/RipMeApp/ripme/issues/1208#issuecomment-462852995,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Af_DWn2KVkr_YHk363uoKXb4E5YRUlbcks5vMvlRgaJpZM4amWU7
.

tried to download from artstation right now with the url you said to try. I get an error message saying it does not recognize the page it gets.

same artist but the "proper" url gives me this:


Make sure search bundle.total is a number

Postgres returns COUNT(*) as a bigint.
Node Postgres then returns the bigint as a JavaScript string
By casting to ::int, everything falls into place, and we get a JavaScript number like we want.
That is, until we start returning 2,147,483,647 rows.

Coverage remained the same at 95.268% when pulling feea94eddc5cbe21b18a6803cff3a7e0a9f34352 on cody-search-bundle-total into c5a4ea90e9183d985bc7c2fe3903f38832be2f64 on main.


Support logs as breadcrumbs

We are in the process of migrating from our own unreal sentry plugin, which we have been using for a couple of years,
https://github.com/mainframeindustries/UE4SentryClientPlugin
One nice feature it has it that it hooks into the unreal log handler to gather breadcrumbs that are added to sentry events:
https://github.com/mainframeindustries/UE4SentryClientPlugin/blob/3a3b8600c99135a17c18ab2a2fbd44df32ba6590/Source/SentryClient/Private/SentryClientModule.cpp#L450C1-L463
Is this something which could be easily added?

@kristjanvalur Thank you for bringing it up! We've been using the above plugin as a reference earlier so adding logs as breadcrumbs is something we definitely want to look into.

We've been using the above plugin as a reference earlier so adding logs as breadcrumbs is something we definitely want to look into.

Yes, I've noticed some striking similarities to my code 😉 .  It's been unmaintained for two years now, more or less, so switching over is a no-brainer for us.

Since I have you here, @tustanivsky , could I persuade you or anyone of your team to look at https://github.com/getsentry/sentry-unreal/discussions/383 ?


Fix74

Fix #80

Fix #75  In this pull request there are no exercise in the training any more they all reference the hands on.


 All rights reserved

  Compilation started for project 'Hello World' containing '2' files at '16:24:03.438'.

  Error: AL0185 Table 'SetupBSNLIB' is missing

  Compilation ended at '16:24:09.705'.

It looks like the library app is installed and the symbols are downloaded.
I would not be able to determine what is wrong here without having access to the repo.

OK I'll move it over to a public repo and give you access.

It doesn't need to be public for me to get access - you can just add me

I downloaded the app you have in installapps - that app is empty - it doesn't contain any objects.
Whether that is because you checked it in as source code - I don't know - normally, I would just reference the repo, where this DLL is build and AL-Go would automatically download it from there.
Otherwise, put it in a storage account and specify a URL to the .app file.

Arr thank have it working now!!


Chore: ignore IntelliJ files

I would like to add the .idea folder to .gitignore to prevent them from being commited and showing up as changes.

Hi @Duvel
I'm not keen to add stuff related to different dev environments into the project... If you want to avoid committing IntelliJ related stuff, please use a global .gitignore on your development machine: https://help.github.com/articles/ignoring-files/#create-a-global-gitignore

Ah, I didn't know git could do that, will try that instead, thanks!


[tuify] Use offscreen buffer from r3bl_tui to make repaints smooth

Context:

Crate: https://crates.io/crates/r3bl_tuify
Repo: https://github.com/r3bl-org/r3bl_rs_utils/tree/main/tuify

The r3bl_tui crate uses OffscreenBuffer as a way to massively increase the performance of terminal repainting.

Docs: https://github.com/r3bl-org/r3bl_rs_utils/tree/main/tui#offscreen-buffer
Source code: https://github.com/r3bl-org/r3bl_rs_utils/blob/main/tui/src/tui/terminal_lib_backends/offscreen_buffer.rs#L36

Use the OffscreenBuffer in r3bl_tuify to make repainting really fast. And w/ all this extra headroom for performance use lolcat and other enhanced styling for rendering the selection and non selection (all of these can be found in the r3bl_tui crate). For ex, we can not only use interesting emoji and other ANSI glpyhs, we can also use gradient color foregrounds and background much like you see in the r3bl_tui crate.
Here are some videos to illustrate:

I can take a look at this.

This issue is open for anyone to work on.

@e0lithic Please let me know if you have any questions about this one.

@nazmulidris Apologies for disappearing for 3 weeks, personal stuff came up 😞.

@johnmcl001 Oh no, I hope you are doing well. Whenever you have opportunity & time & motivation, you are most welcome to start contributing again! ❤

Overview:

Exploration of a solution involving an inline buffer encountered challenges, particularly related to terminal resizing.

Considered Solution:

Created a buffer matching the required viewport dimensions.
Determined the buffer position in the terminal and printed it at this offset.

Constraints:

Major issues emerged during terminal resizing.
Inconsistent behaviors across different emulators, even in windowed and maximized modes.
Difficulty in reconciling diverse behaviors for all potential terminals.

Possible Workarounds:

Contemplated capturing the entire screen as a potential workaround.
Acknowledged that this approach falls within the domain of tui and is currently out of scope for the existing library.

@e0lithic Thank you so much for capturing this context. This has been a great area of exploration for our core technology. And thank you for leading the charge in this arena and heading into the unknown to see how far we can push this thing! Kudos! 🎉
This is an excellent first PR for someone who is new to TUI and Rust! 👏🏽 🚀
https://github.com/r3bl-org/r3bl-open-core/pull/203
And thank you for bringing light to the resize issue. We have a fix here but it is limited in what we can achieve due to terminal restrictions.
https://github.com/r3bl-org/r3bl-open-core/commit/26a3609cc1cb6d8be7ab228203ae3b03b5b23857


Request to update Bing resource and Semantic Kernel Library version

Solution Accelerators
This repository contains multiple solution accelerators. Please tell us which ones are involved in your report. (Replace the space in between square brackets with an x)

[ ] Cognitive Services Landing Zone
[ X] Semantic Kernel Bot
[ ] Azure ML Operationalization
[ ] Edge AI

Describe the bug
Bing bicep use an old configuration of bing that is deprecated. Right now bing is under cognitiveservices. Also semantic kernel libraries are not updated that means that new feature like auto invoke of functions are not available
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Please complete the following information:

OS: [e.g. Windows]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Hello @guru98 , thank you for submitting an issue
I've re-labeled as an enhancement request as there is no associated errors.
We'll look into requirements to update the library and Bing resource.


Make PilatusController support Pilatus 3 deadtime

As a user I would like to trigger Pilatus 3 detectors at max FPS so that I can stress test them with ophyd-async.
Currently the Pilatus controller deadtime is given as 2.28ms, based on the Pilatus 1.4 manual. Pilatus 3s have a shorter deadtime.
Possible Solution
There are two options:

Change the deadtime, only support Pilatus 3 or newer
Make the deadtime configurable, expect the user to pass in the model number at instantiation

Acceptance Criteria

Possible to construct a pilatus detector with the correct deadtime

@coretl any comments on the preferred solution?


keyerror:loss.

Traceback (most recent call last):
File "run_finetuning.py", line 323, in
main()
File "run_finetuning.py", line 319, in main
args.model_name, args.data_dir, **hparams))
File "run_finetuning.py", line 275, in run_finetuning
results.append(model_runner.evaluate())
File "run_finetuning.py", line 186, in evaluate
return {task.name: self.evaluate_task(task) for task in self._tasks}
File "run_finetuning.py", line 186, in
return {task.name: self.evaluate_task(task) for task in self._tasks}
File "run_finetuning.py", line 198, in evaluate_task
scorer.update(r[task.name])
File "/code/electra-master/finetune/classification/classification_metrics.py", line 43, in update
self._total_loss += results['loss']
KeyError: 'loss'

Can you provide some more detail? What task were you fine-tuning on and what command did you run?

@fenfaqingnian I observed the same error when I created a custom classification task with an underscore _ in the name. This seems to be a reserved delimeter. After removing the underscore from the task name, the error went away.

@fenfaqingnian I observed the same error when I created a custom classification task with an underscore _ in the name. This seems to be a reserved delimeter. After removing the underscore from the task name, the error went away.

spent several hours to figure it out. thx!


add github templates and bots

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report
Patch coverage has no change and project coverage change: -0.03 :warning:

Comparison is base (cfaa904) 81.97% compared to head (13af148) 81.95%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1015      +/-   ##
==========================================
- Coverage   81.97%   81.95%   -0.03%
==========================================
  Files          52       52
  Lines        5569     5568       -1
==========================================
- Hits         4565     4563       -2
- Misses       1004     1005       +1

see 1 file with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


modelClass on relationship is undefined

I'm not sure what I've done wrong, but the relationship just on UserProfile keeps throwing this error:
ERROR: Error: UserProfile.relationMappings.user: modelClass is not defined

As far as I can tell I've mimicked the example from the docs, and TypeScript example, but can't see why this isn't working?  Initially, I thought it was a typings error using relatedQuery, but after trying to insert the relationship column directly I had a different error so I'm assuming they are related.  I posted this on stackoverflow, but the objection.js tag only has 13 watchers -14 now :)
I included the query, both models, and the user profile migration. The contents of the BaseModel are commented out so it is equivalent to inheriting from Model directly, and the jsonSchema is only for validation so I removed them for brevity.
UPDATE
Removing the relationshipMappings from UserProfile stops the error from occurring, but since I need the  BelongsToOneRelation relationship I'm still trying.  At least it seems to be narrowed down to the relationMappings on the UserProfile.
Query
const user = await User.query() // <--- Inserts the user
  .insert({ username, password });

// const profile = await user.$relatedQuery('profile') // <--- Initial attempt, but had typings issue... might be related to next insert attempt that throws the error
//   .insertAndFetch({ first_name, last_name });

const profile = await UserProfile.query() // <--- Throws error
  .insert({ user_id: 1, first_name, last_name });

Models
import { Model, RelationMappings } from 'objection';
import { BaseModel } from './base.model';
import { UserProfile } from './user-profile.model';

export class User extends BaseModel {
  readonly id: number;
  username: string;
  password: string;
  role: string;

  static tableName = 'users';

  static jsonSchema = { ... };

  static relationMappings: RelationMappings = {
    profile: {
      relation: Model.HasOneRelation,
      modelClass: UserProfile,
      join: {
        from: 'users.id',
        to: 'user_profiles.user_id'
      }
    }
  };

}

import { Model, RelationMappings } from 'objection';
import { BaseModel } from './base.model';
import { User } from './user.model';

export class UserProfile extends BaseModel {
  readonly id: number;
  user_id: number;
  first_name: string;
  last_name: string;

  static tableName = 'user_profiles';

  static jsonSchema = { ... };

  static relationMappings: RelationMappings = {
    user: {
      relation: Model.BelongsToOneRelation,
      modelClass: User,
      join: {
        from: 'user_profiles.user_id',
        to: 'users.id'
      }
    }
  };
}

Migration
exports.up = function (knex, Promise) {
  return knex.schema
    .createTable('user_profiles', (table) => {
      table.increments('id').primary();

      table.integer('user_id')
        .unsigned()
        .notNullable();
      table.foreign('user_id')
        .references('users.id');

      table.string('first_name');
      table.string('last_name');

      table.timestamps(true, true);
    });
};

Maybe a circular reference issue since user.model and user-profile.model import one another at the top? There are several ways to solve circular references like this, but Objection already has (at least) one as you can see in the docs here.
Try this:

not importing  the related class' constructor into one another at the top of each file.
change the relationMappings.<RELATION>.modelClass entry values from pointing to the class constructors to a string pointing to the module that exports the related class.

E.g:
// user.model
// import { UserProfile } from './user-profile.model';

As far as I know, modules in TypeScript can't have circular dependencies but tried it anyway.  Making the change to both models it now doesn't do the user insert anymore and throws this error.  The file location /var/www/app/dist/src/models/user-profile is correct within the docker container and I've verified the file exists and is up to date.
ERROR: Error: User.relationMappings.profile: modelClass: /var/www/app/dist/src/models/user-profile is an invalid file path to a model class
server        | [Typescript]     at HasOneRelation.createError (/var/www/app/node_modules/objection/lib/relations/Relation.js:363:14)
server        | [Typescript]     at HasOneRelation.setMapping (/var/www/app/node_modules/objection/lib/relations/Relation.js:54:18)
server        | [Typescript]     at Object.keys.reduce (/var/www/app/node_modules/objection/lib/model/Model.js:423:33)
server        | [Typescript]     at Array.reduce (<anonymous>)
server        | [Typescript]     at Function.getRelations (/var/www/app/node_modules/objection/lib/model/Model.js:419:61)
server        | [Typescript]     at getRelationArray (/var/www/app/node_modules/objection/lib/model/Model.js:651:32)
server        | [Typescript]     at Function.getRelationArray (/var/www/app/node_modules/objection/lib/model/Model.js:438:60)
server        | [Typescript]     at parseRelationsIntoModelInstances (/var/www/app/node_modules/objection/lib/model/modelParseRelations.js:5:32)
server        | [Typescript]     at User.$setJson (/var/www/app/node_modules/objection/lib/model/modelSet.js:20:5)
server        | [Typescript]     at User.$setJson (/var/www/app/node_modules/objection/lib/model/Model.js:168:21)
server        | [Typescript]     at Function.fromJson (/var/www/app/node_modules/objection/lib/model/Model.js:287:11)
server        | [Typescript]     at doSplit (/var/www/app/node_modules/objection/lib/model/modelFactory.js:143:22)
server        | [Typescript]     at obj.map.obj (/var/www/app/node_modules/objection/lib/model/modelFactory.js:76:28)
server        | [Typescript]     at Array.map (<anonymous>)
server        | [Typescript]     at fromJsonShallow (/var/www/app/node_modules/objection/lib/model/modelFactory.js:76:17)
server        | [Typescript]     at fromJson (/var/www/app/node_modules/objection/lib/model/modelFactory.js:14:12)
server        | [Typescript] From previous event:
server        | [Typescript]     at QueryBuilder.execute (/var/www/app/node_modules/objection/lib/queryBuilder/QueryBuilder.js:497:20)
server        | [Typescript]     at QueryBuilder.then (/var/www/app/node_modules/objection/lib/queryBuilder/QueryBuilder.js:393:26)

If I keep the imports, but just remove the relationMappings from the UserProfile it works as you'd expect, but without the BelongsToOneRelation.

@mtpultz Admittedly, there a few parts of your syntax that I am not fluent with (e.g. import and export instead of require and module.exports) and others which I've never seen before (must be TypeScript) but this new error sort of suggests the same thing: there is either trouble finding the file (I think it's being found), or it's not structured and/or exporting properly. Maybe the models need to be exported differently from their respective files?
export class User ... => export default class User...? (notice the default?)
export class User ... => class User ...; module.exports = User; I use this syntax in my code base.
I'm just sort of stabbing in the dark here for ya!
BTW, you may also run into issues when trying to insert an instance of UserProfile off of an instance of User that has not had its id column fetched from the DB once you finally get past this issue:
const user = User.insert({...}); // May want to do 'insertAndFetch' here, or if you are on Postgres you can use 'returning' chain.
user.relatedQuery('profile'). insertAndFetch({...}); // No ID column on 'user' yet to use in the related insert.

Thanks @newhouse I'll definitely change my code to use insertAndFetch.  I was originally using $relatedQuery to insert the UserProfile, but I ran into what appears to be TypeScript typings issue that forced me to change it to use async/await statements instead:
const user = await User.query()
  .insertAndFetch({ username, password });

const profile = await user.$relatedQuery('profile')
  .insertAndFetch({ first_name, last_name }); <--- TypeScript error thrown

Throws this error Argument of type '{ first_name: any; last_name: any; }' is not assignable to parameter of type 'Partial<Model>[]'

@mtpultz If you give file paths in modelClass they must point to the transpilsed ES5 files so that node.js can import them using require.
There is no (sane) way for typescript compiler to solve all circular dependencies. Try this for example:
// a.ts
import { B } from './b';
console.log('a.ts sees B as ', B);

export class A {}

// b.ts
import { A } from './a';
console.log('b.ts sees A as', A);

export class B {}

// main.ts
import { A } from './a';

Running main.ts will print
b.ts sees A as undefined
a.ts sees B as [Function: B]

At least babel can solve this (I don't know about tsc):
  // Notice that `relationMappings` is a function!
  // I'm not sure if this is typed correctly though.
  static relationMappings: RelationMappings = () => {
    profile: {
      relation: Model.HasOneRelation,
      modelClass: UserProfile,
      join: {
        from: 'users.id',
        to: 'user_profiles.user_id'
      }
    }
  };

Babel can solve that because it uses imports the whole export object and then uses obj.UserProfile instead of referring directly to UserProfile.
If relationMappings lacks the function typing, you can try using a getter for relationMappings.

Oh, you were already using the build folder through __dirname. If the path /var/www/app/dist/src/models/user-profile really points to a valid model class, I don't know what's wrong here. Could you post the transpiled model files here? I'm not really familiar with what tsc produces. Using export default class is one thing to try, but objection should be able to import non-default models also.

Throws this error Argument of type '{ first_name: any; last_name: any; }' is not assignable to parameter of type 'Partial<Model>[]'

This error is caused by the fact that there is no way to have correct typings for $relatedQuery. Typescript cannot know that $relatedQuery('profile') should return QueryBuilder<UserProfile>. To know that it would need to magically parse relationMappings. You can use $relatedQuery<UserProfile>('profile') if I remember correctly.

Hi @koskimas, thanks.  Adding generics to the related query ($relatedQuery<UserProfile>('profile')) stopped the typings error so I don't have to manually add the foreign key to the UserProfile.  Also thanks for that example on circular dependencies that puts circular dependencies on my radar since I thought they weren't an issue in TypeScript.  Wish the error produced for circular dependencies was a bit more descriptive, but it's at least on my mental checklist going forward.
@newhouse thanks as well I figured out why the file wasn't found using the path for modelClass.  I got burned by a recent refactor that renamed the files to have a suffix indicating their use so the filename was missing the .model suffix :(

@koskimas on a similar note is this what you would do to solve the same kind of issue on insertWithRelatedAndFetch.  Add an extra interface with both the User and UserProfile model keys and set the argument to insertWithRelatedAndFetch.  I'm asking since the addition of the extra interface if not necessary is bloat, but at the moment I don't know any better or cleaner way to solve the error, but trying to apply the same kind of solution you showed with $relatedQuery.
Error

Argument of type '{ username: string; password: string; profile: { first_name: string; last_name: string; }; }' is not assignable to parameter of type 'Partial[]'. Object literal may only specify known properties, and 'username' does not exist in type 'Partial[]'.

Solution
interface UserWithProfile { // Extra interface combing User and UserProfile models
  username: string;
  password: string;
  profile: {
    first_name: string;
    last_name: string;
  };
}

const user = await User.query()
  .insertWithRelatedAndFetch({
    username, // <--- Error was being thrown until I added UserWithProfile interface and added below
    password,
    profile: {
      first_name,
      last_name
    }
  } as UserWithProfile); // <--- Solved the error and update occurs

@mtpultz
I ran into the same issue as you with insertWithRelatedAndFetch and found I could avoid the extra interface by adding the relation as a partial to my model attributes.
Example would look something like this:

class Profile extends Model {
  public name: string;
}

class User extends Model {
  public username: string;

  // add relation to the user class as a partial
  public profile: Partial<Profile>;

  static relationMappings = {
    profile: {
      relation: Model.BelongsToOneRelation,
      modelClass: __dirname + '/user-profile',
      join: {
        from: 'user_profiles.user_id',
        to: 'users.id'
      }
   }
}

const user = await User.query().insertWithRelatedAndFetch({
  username: 'some-username',
  profile: {
    name: 'some-name'
  }
});

Working in TypeScript (v4.7.4) and a Remix (v1.7.2) project where every file, but in this context the model files (like UserProfile) is put in one giant index.js file, this saved me. The path import way __dirname + '/UserProfile' is not working.
However, as suggested there is not type support writing the relationMappings. But once you have one, it is just copy-pasta for new relation mappings, so not a big deal.
  // Notice that `relationMappings` is a function!
 import UserProfile from './UserProfile.ts';

  static relationMappings = () => ({
    profile: {
      relation: Model.HasOneRelation,
      modelClass: UserProfile,
      join: {
        from: 'users.id',
        to: 'user_profiles.user_id'
      }
    }
  });


[wip] lib.blackbox: New "flight recorder" logging mechanism

Comment from the source code:
The "black box" of a Snabb process is like the flight recorder in an airplane: a detailed event log that can be inspected for investigting problems such as crashes or performance degradations that occur in a production environment.
The black box logs entries by fork()ing a child process to produce and log the message. This makes the complete state of the process available for inspection without delaying the parent process (which
can continue to process traffic). This is intended to enable logging detailed information that could be computationally expensive to produce without without impacting the latency of
traffic processing.
For example:

Print full LuaJIT trace dumps.
Print a profiler report.
Scan the heap and summarize all allocated memory.

The high-level problem this would solve is making it possible to do serious performance analysis of any Snabb application while it is running (or after it has terminated). This would replace things like the NFV-specific "benchmark mode" code that enables profiling and trace-dumping only when started with special parameters (snabbnfv traffic -B).
Here is the output of the selftest function. Seems that occasional messages don't impact throughput too much. Latency has to be measured though.
selftest: blackbox
measuring simple app network throughput with recording intervals
(none) load: time: 1.00s  fps: 76,469,964 fpGbps: 42.211 fpb: 255 bpp: 60   sleep: 0   us
0.500s load: time: 1.00s  fps: 76,532,995 fpGbps: 42.246 fpb: 255 bpp: 60   sleep: 0   us
0.250s load: time: 1.00s  fps: 76,178,983 fpGbps: 42.051 fpb: 255 bpp: 60   sleep: 0   us
0.100s load: time: 1.00s  fps: 75,983,353 fpGbps: 41.943 fpb: 255 bpp: 60   sleep: 0   us
0.050s load: time: 1.00s  fps: 75,648,113 fpGbps: 41.758 fpb: 255 bpp: 60   sleep: 0   us
0.010s load: time: 1.00s  fps: 73,879,869 fpGbps: 40.782 fpb: 255 bpp: 60   sleep: 0   us
0.005s load: time: 1.00s  fps: 70,481,339 fpGbps: 38.906 fpb: 255 bpp: 60   sleep: 0   us
0.001s load: time: 1.00s  fps: 59,536,270 fpGbps: 32.864 fpb: 255 bpp: 60   sleep: 0   us
selftest ok

This is a work in progress. TODO:

[ ] Measure latency impact of fork() on parent.
[ ] Consider file format that is easy to scan/parse.
[ ] Hook in jit.dump and lib.traceprof and related tools.

@wingo do you have some code for measuring the latency of the breathe loop that could come upstream for testing here?

@eugeneia @wingo @kbara I also adopted an experimental documentation style here: to write real documentation in markdown syntax but include it inline at the top of the source file. The Makefile could extract this for inclusion in a manual. I still think the key to high-quality documentation is to put it somewhere that people will see it every day. Flame on! :-)

@lukego: I really like the idea of including documentation in the source files :+1:
If the idea goes forward, it would be amazing to adopt it also for generating the output of --help for programs. That way the “command invocation help text” (which, from my POV, is also a kind of “online” documentation) would also be next to the source code that it is describing.

@lukego: For breathe() latency I have https://github.com/Igalia/snabbswitch/pull/256.  Will refactor into something mergeable soon, as we need to be able to use it in delivered applications.
Regarding documentation and source files: I really like this style of things.  It is close to the code so it is unlikely to drift out of sync (and it's easier to review for correctness), it is readable as-is as text and it can also be extracted.  I wonder though that the quality of the markdown would slip -- i.e. if reading it on github doesn't highlight rendering faults, then we will tend to make more faults.  Not sure what the solution is there; it's not something that's amenable to automated checking, though automated generation of course is a good idea.

Here is an idea: How about if the "black box" is literally a core dump file (or equivalent) produced either on termination of on request (e.g. signal requesting a background fork-and-dump).
This way analysis would be done via inspection of a snapshot of the heap i.e. actually reading the LuaJIT internal data structures. This would be done with the moral equivalent of GDB scripts to extract the state you are interested in e.g. locate the Lua VM via a C global variable and extract all of the bytecode/IR/mcode for the traces and then parse that as binary data for analysis. If ephemeral information is also needed - e.g. information about aborted trace recordings - then that would need to be stored somewhere in the heap e.g. a ring buffer.
The advantages that I see to this approach over explicitly logging messages like trace dumps and profiler reports are:

Have all information that exists available for analysis. Less burden of anticipating what information will be needed and logging that explicitly. (Avoid "It crashed in production? Okay, please deploy this new version that will also crash but provide more debug information that we missed the last time.")
Simple software interface between runtime and analysis: Just write down the ABI and access everything directly. Compare with e.g. extending the LuaJIT runtime system to export more information, writing Lua code to dump that into an external format, writing a parser for that format. (For example #623 traceprof could be rewritten as an external tool and we could drop the patches I made to export more information about traces from the LuaJIT runtime system.)
Less frequent fork-and-dump required. If the complete core dump can be created reliability, even from a process that is crashing hard, then we can save the black box "just in time" rather than as a continuous background process.

btw: I am exploring using the Moose toolkit from the university of Bern to partly automate the analysis I usually do on LuaJIT trace files e.g. cross referencing with profiler information to see which traces are relevant, checking those for red flags like unsunk allocations, looking for problems like lukego/blog#8, etc. Could be useful as a tool for exploring and prototyping ways to inspect the black box. Currently I am parsing the textual trace dumps but I imagine that operating on core files would work too. Early days yet.
Thoughts? cc @wingo @kbara @xrme @mwiget.

Small world; I did my bachelor thesis on visualizing Scheme programs in Moose.

@kbara Wow! That is a small world indeed :). How did you like it? Can I ask you tech questions? :-)

It wasn't bad, though this was back in 2007 and I think it's changed a lot since then. You can ask me questions, but most of what I did was in Scheme, with just a couple of small shunts in Smalltalk to use the metrics I was calculating, so I wasn't ultra-deep into Moose itself (but my supervisor and his grad students were).
Used well, for the right problems (visualizing where complexity is in a system, for instance), Moose is stunning. For crash dump analysis, I honestly don't know. :-)

Relatedly, see https://github.com/Igalia/snabbswitch/pull/276.  The kind of telemetry that I am interested in is often real-time in nature, but I guess that's related to the Yang discussion.

Closing this PR for now. I will reopen when I have something new to show.


Updated Geo Tools

Checklist

[x] Appropriate branch selected (all PRs must first be merged to dev before they can be merged to master)
[x] Any modified or new methods or classes have helpful JavaDoc and code is thoroughly commented
[x] The description lists all applicable issues this PR seeks to resolve
[x] The description lists any configuration setting(s) that differ from the default settings
[x] All tests and CI builds passing

Description
The older (17.5) version of geotools was depended on Java 1.8. This explains it: https://stackoverflow.com/questions/47888812/shp-opening-datastore-datastorefactoryspi-is-not-an-imageio-spi-class. Updating to version 20.1 addresses this issue. This is not the latest version, but this version is common to all geotools artifacts.

@philip-cline FYI


Struggling to Setup Stryker

I have followed your instructions pretty much to the letter, but I cannot get Stryker to work... I have managed to get it to this point;
$ stryker run
11:00:04 (50347) INFO ConfigReader Using stryker.conf.js in the current working directory.
11:00:07 (50347) INFO InputFileResolver Found 250 of 250 file(s) to be mutated.
11:00:07 (50347) INFO InitialTestExecutor Starting initial test run. This may take a while.
11:02:14 (50347) WARN InitialTestExecutor No tests were executed. Stryker will exit prematurely. Please check your configuration.
11:02:16 (50347) INFO Stryker 12701 Mutant(s) generated
11:02:16 (50347) WARN MutantTestMatcher No coverage result found, even though coverageAnalysis is "perTest". Assuming that all tests cover each mutant. This might have a big impact on the performance.

My stryker.conf.js looks like this;
module.exports = function(config) {
    config.set({
        plugins: ['stryker-html-reporter', 'stryker-karma-runner', 'stryker-jasmine', 'stryker-javascript-mutator'],
        mutate: ['common/javascript/app/**/*.js'],
        files: ['common/javascript/app/**/*.js'],
        mutator: 'javascript',
        packageManager: 'npm',
        testRunner: 'karma',
        testFramework: 'jasmine',
        coverageAnalysis: 'perTest',
        reporter: ['html', 'clear-text', 'progress']
    });
};

Any help would be greatly appreciated

Thanks for opening this issue! What kind of project am I looking at?
I would recommend removing the plugins section of the config as it's not required in your case.
Are you using git? If that's the case then I would also remove the files option in your config. If you aren't using git. Please add all files you need in your project (sources, tests, karma config etc.) to the files array.

@takuhii you need to add karma config to it.

It is a gulp build pipeline

Awesome, what does the logging say after you use the new stryker.conf.js?
Where in your repository is your karma.conf.js?

Says exactly the same thing;
$ stryker run
14:43:23 (53292) INFO ConfigReader Using stryker.conf.js in the current working directory.
14:43:27 (53292) INFO InputFileResolver Found 250 of 2837 file(s) to be mutated.
14:43:27 (53292) INFO InitialTestExecutor Starting initial test run. This may take a while.
14:45:36 (53292) WARN InitialTestExecutor No tests were executed. Stryker will exit prematurely. Please check your configuration.
14:45:38 (53292) INFO Stryker 12701 Mutant(s) generated
14:45:38 (53292) WARN MutantTestMatcher No coverage result found, even though coverageAnalysis is "perTest". Assuming that all tests cover each mutant. This might have a big impact on the performance.

The stryker.conf.js sits here;

I would like to point out that the common/javascript/app folder contains the working JS, not the test files...the test files reside NEXT to the app folder;
Javascript
|
|- App
|- Test
|- ...
|- ...

Thanks for the info!
Could you add
"karma": {
      "project": "custom",
      "configFile": "karma.conf.js",
      "config": {}
    }

To the root of the config object? (Same level as the mutator and testFramework). The bit of config above is usually added by the stryker init command.

Hi @takuhii Did you happen to find some time to test stryker with the karma settings I metioned in the previous comment?

Hi,
Sorry I was OoO yesterday and unable to test... I have made those amends and now have this in my stryker.conf.js;
module.exports = function(config) {
    config.set({
        mutate: ['common/javascript/app/**/*.js'],
        mutator: 'javascript',
        testRunner: 'karma',
        testFramework: 'jasmine',
        karma: {
            project: 'Custom',
            configFile: 'karma.conf.js',
            config: {}
        },
        coverageAnalysis: 'off',
        reporter: ['html', 'clear-text', 'progress']
    });
};

and now get this for every JS file;
Error: Script error for "pdp/controls/myJS", needed by: /base/common/javascript/spec/modules/pdp/controls/MyJSSpec.js
http://requirejs.org/docs/errors.html#scripterror

I think it is because we use RequireJS in this project, So I thought about adding
frameworks: ['require']
to the config in stryker.conf.js?

When I add
framework: ['jasmine', 'requirejs']
I get this in the terminal;
10:09:36 (11145) INFO ConfigReader Using stryker.conf.js in the current working directory.
10:09:44 (11145) INFO InputFileResolver Found 250 of 2837 file(s) to be mutated.
10:09:44 (11145) INFO InitialTestExecutor Starting initial test run. This may take a while.
10:09:52 (11147) INFO stryker-karma.conf.js Importing config from "/Users/xxxxxxx/Workspace/my-site-src/.stryker-tmp/sandbox9495949/karma.conf.js"
10:10:00 (11145) WARN InitialTestExecutor No tests were executed. Stryker will exit prematurely. Please check your configuration.
10:10:02 (11145) INFO Stryker 12701 Mutant(s) generated

My new stryker.conf.js looks like this;
module.exports = function(config) {
    config.set({
        mutate: ['common/javascript/app/**/*.js'],
        mutator: 'javascript',
        testRunner: 'karma',
        testFramework: 'jasmine',
        karma: {
            project: 'Custom',
            configFile: 'karma.conf.js',
            config: {
                frameworks: ['jasmine', 'requirejs']
            }
        },
        coverageAnalysis: 'off',
        reporter: ['html', 'clear-text', 'progress']
    });
};

Thanks for testing it! Could you add fileLogLevel: 'trace' to the root of the stryker config object? That will generate a log file. Could you send that with your karma.conf.js to<EMAIL_ADDRESS>Feel free to obfuscate paths to files if that helps you :)

I will do this ASAP ;) Sorry for the delay, weekend and all...

Hi Simon, I have sent you an email
Kind regards
Darren

@takuhii Did you have time to look at my last mail? (mailed 2 september)

Since we haven't heard from you in a while, we're closing this issue for now.
If you need any help in the future, feel free to let us know!

Hi @simondel, I'm finding stryker to be buggy as well.
It says, "no tests were executed" even though there are clearly unit tests there to be executed, and they get executed when I run karma normally... 😔


[opencv] fix hash

For some reason when I was installing opencv from a new computer there was a hash fail, and after I remove the opencv-opencv-3.3.0.tar.gz in the downloads folder of my old computer to force it to re-download, I get the hash fail also. That means for some weird reason the hash is changed even though it's the same opencv 3.3. This PR should fix it.

@jasjuang,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

Thanks!
Related: https://github.com/Microsoft/vcpkg/commit/cb239b92c0064cf268650366fe8d56f2a89fa920
I hadn't merged your opencv PR in when I was fixing all the github packages, so I missed it.


Bump vendor/postgres to include extenision path fix

closed in favor of
https://github.com/neondatabase/neon/pull/9076


Modified makefile to run yarn once, and check if tree-sitter is on path. Also added a little to the readme.

It is still unclear to me what this project is supposed to do. It was odd to me that tree-sitter was not something I could install via cargo, and that I had to install it from their github release page.
I really want to add to the readme, so that it would be clearer what people could be doing to help. Adding test cases? Making it faster?
I fixed the Makefile so that now it calls deps only once if node_modules doesn't exist, and also checks if tree-sitter is on the path before executing it. Sorry for the bad formatting of the bash code within the Makefile, I couldn't figure out how to make it multi-line.

Hej @banjomet thanks for contributing 🙌🏼
As a thought, I run make alone all the time to build/test, could we instead have a make setup target that made sure you have all the tools installed and also runs yarn? That way we also let yarn decide what to do with node_modules instead.
That way the readme could suggest to run make setup once, and then make to build/test when developing.

Regarding what to contribute with, I think we need to add a check list of all the available rules / tests, so that what's missing is obvious at a glance, and we can get more directed contributions too 😄

Closing due to inactivity.


Add support for public sharing of documents

Thanks for opening this issue.
I hope someday this issue will be resolved and I will be able to use this app for Freedom of Information document sharing project.


How can I get the raw size or content-length of the response?

I mean some response is gzipped, I want to get the size, thanks

@alexyan do I get it right that you need the encoded size?

that's right @aslushnikov

An upstream bug that blocks this: crbug.com/764946

@alexyan one more clarification. Do you actually need the total response size, including http headers, that was transferred over the network, or you are specifically interested in the size of encoded response body?

Yes, I just want to get the size of encoded response body. For example, to check if the response is too large. @aslushnikov

This code works for me, not sure if it is the unzipped size though:
let pageSize = 0

page.on('response', response => {
  response.buffer().then(buffer => {
    pageSize += buffer.length
})

thanks @kdekooter, but that is the unzipped size

How about this issue? I need it too actually and the bug you've linked wasn't fixed: https://bugs.chromium.org/p/chromium/issues/detail?id=764946

The content-length header of the response might be helpful: if provided, it's supposed to be size/length of the response body as it travels across the network. (i.e. the amount of data transferred.) It's not always provided, and not guaranteed to be correct, though.

@aslushnikov Why is this blocked on an upstream bug? I'm just after the value that appears in the "Size" column of Devtools' Network panel. (If this is actually incorrect, and doesn't include the size of the headers, then I guess that would be good to fix, but would it be possible to simply export that value via the Puppeteer API first?)

Going with the blocking issue above (crbug.com/764946) I was looking at working around this by checking the length of Response.headersText:
const devToolsResponses = new Map();
const devTools = await page.target().createCDPSession();
await devTools.send('Network.enable');

devTools.on('Network.responseReceived', event => {
  devToolsResponses.set(event.requestId, event.response);
});

devTools.on('Network.loadingFinished', event => {
  const response = devToolsResponses.get(event.requestId);
  const encodedBodyLength = event.encodedDataLength - response.headersText.length;
  console.log(`${encodedBodyLength} bytes for ${response.url}`);
});

…but it turns out that response.headersText is undefined for HTTP/2 responses. I think that makes sense because HTTP/2 headers are binary, so there’s no textual representation, but then my question is: are headers not included in the encodedDataLength for HTTP/2 (since they are also a separate, special frame) or do I need to be doing something to estimate how many bytes they were?

@aslushnikov Is this still blocked by https://bugs.chromium.org/p/chromium/issues/detail?id=764946 ?  Looks like that got marked as wontfix nearly a year ago.

Is this still blocked by https://bugs.chromium.org/p/chromium/issues/detail?id=764946 ?

@JohnBruce no; we still need to do work upstream though to report the zipped body size.

@aslushnikov that'd be awesome 🙏Do you have an ETA on it?


Only update the docker.tar.gz when it needs to

Otherwise ansible will always execute it and showing it as "changed" on consecutive runs

@sjoerdmulder thanks! We'll put this in our testing queue.

merged, thanks @sjoerdmulder


[CI] Fix author:build-wheels

Context: github action labels had the names changed
Description of the Change: match the new names
Benefits: same old functionality as before

I think this worked since this PR itself has the author::build-wheels label and CI wheels are building :)


Modal presentation issue

Presenting a modal view controller from either TheSidebarController or the main content controller works, but when the modal view controller is dismissed, TheSidebarController (and the sidebar and main content controller) are no longer visible, and all that's left is the UIWindow background color.
I've tried this multiple times and seem to be able to replicate it 100% of the time.
Ideally, I'd like to be able to get the top most view controller (TheSidebarController in this case) and present a modal view controller from it, without any problems.
EDIT: This issue affects both iOS 7 and iOS 8.

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor blackColor];
[[self window] setRootViewController:sidebarController];
[[self window] addSubview:sidebarController.view]; // THIS!
[self.window makeKeyAndVisible];
It solved the problem for me.

did you try with?
sidebarController.translatesAutoresizingMaskIntoConstraints = YES;
That worked for my

@joaofranca  now that you have solved this problem,do you know why does work?


Darrell Webster

Title
Darrell Webster
Bluesky profile url
https://bsky.app/profile/modernworkmentor.com
Twitter profile (url or username)
No response
Category
microsoft365
Type
mvp

@merill, how do I change my profile link to my new handle? darrell.modernworkmentor.com
https://bsky.app/profile/darrell.modernworkmentor.com
Do I submit a new issue?


Automate all public signals

Entails moving code to produce each into the covidcast-indicators repository. NB doctor-visits and fb-survey have restricted-access data sources, so for them we first need a way to test automation code on safe data.
Code ingestion:

[x] doctor-visits
[x] fb-survey
[x] ght
[x] jhu-csse
[ ] indicator-combination

Verify new code produces same results as old code:

[x] doctor-visits
[x] fb-survey
[x] ght
[x] jhu-csse
[ ] indicator-combination

Automation:

[ ] doctor-visits
[x] #1623
[ ] fb-survey
[x] ght
[x] jhu-csse
[x] usa-facts
[ ] indicator-combination
[ ] combination deaths signal

I think this is ancient and we can close it. What do you think @nmdefries?


Update Jasmine to more recent version

Feature Request
It would be great to have a more modern version of jasmine available in the test framework.
Motivation Behind Feature
Newer versions of jasmine (even as old as 2.8) have better support for async tests via promise-based interfaces. Once promise interfaces are available, async/await can be used to write much easier to read and understand tests.
Feature Description
If it is desirable to stick with the current jasmine interface, the above feature is available within the 2.X series: https://jasmine.github.io/2.8/introduction#section-Asynchronous_Support
If there is appetite for a bigger, potentially breaking change, jasmine is now up to v3.5
Alternatives or Workarounds
There are some external libraries (e.g., jest-jasmine) that apply a similar transform to the jasmine interfaces. These are quite fiddly to get working in a pristine environment however.
If this feature might be desired, please let me know, as I'm happy to raise a pull request to implement this!

PRs are more than welcome ;)


Windows: add breakpoint stub for Windows ARM64

This adds a breakpoint stub for Windows ARM64.  The following instruction sequence is used:
brk	#0xf000
ldr	x16, #8
br	x16
...

Windows ARM64 uses brk #0xf000 as the debug interrupt sequence, and we follow the same pattern as the other architectures to simplify the writing of the stub.  The following would be shorter, but more complicated to emit:
brk	#0xf000
ldr	x16, :got:RtlExitUserThread
ldr	x16, [x16, :got_lo12:RtlExitUserThread]
br	x16

CC: @fischman-bcny @hjyamauchi

Also, a generic comment: I'm a bit surprised you inline the codes rather than writing the assembly in a separate file and letting an assembler turn it into code that could then be read back and inlined into the C++ source file.

Also, a generic comment: I'm a bit surprised you inline the codes rather than writing the assembly in a separate file and letting an assembler turn it into code that could then be read back and inlined into the C++ source file.

Definitely better to inline the raw opcodes, the assembler itself is not useful as you need the encoding, and the object file is not useful because it contains other data.

Out of curiosity, is this the instruction pattern that the debugger writes to the text section to implement a breakpoint in software when/if hardware breakpoint isn't available? Also, why isn't it just one brk instruction and what are the other instructions for?

No, this is for process interrupt.  The process is interrupted by injecting a remote thread which will trigger a debug interrupt (brk #f000).  Because we injected a remote thread we need to clean up afterwards, which is what the rest of the code does - invokes RtlExitUserThread.  The code sequence is particularly simple to "relocate".  By using a PC relative load, we can have a full 64-bit of addressability and the entire sequence is (mostly) relocation free, the only thing that we need to do is resolve the address of RtlExitUserThread, which is done when we inject the remote thread.


More examples in your templating documentation

The current documentation doesn't provide great examples. How come something like this won't work?
subtitle: >
   [[[
     return 'Current Temp: ' + states.[sensor.master_bedroom_temperature].state;
   ]]]

Try removing the dot after states and use quotes for your sensor name. Like so:
subtitle: >
   [[[
     return 'Current Temp: ' + states["sensor.master_bedroom_temperature"].state;
   ]]]

...
[[[
return states["sensor.my_sensor"].state;
]]]
It works, but when you try to use other attributes (name, friendly_name, etc.) it doesn't work

Indeed, that's the way to do it.
A handy tip is to use console.log to see the contents of the variables in the web dev console. That helps a ton to wrap your head around the internal structure used by the Home Assistant Frontend.
What do you mean by "state objects" not working?


#974

RadzenNumeric - Deleting all text leads to no data shown

I'm afraid we cannot accept this pull request since it will brake immediately entering any number - will accept only empty string.


Add "Fold on open" option in Editor settings

From pierre.raybaut on 2010-03-31T01:43:50Z
http://groups.google.com/group/spyderlib/t/fc4fe53df1d270be?hl=en
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=183

From pierre.raybaut on 2010-03-31T00:27:04Z
https://code.google.com/p/spyderlib/source/detail r= 9552eedfff6822a833598246c4ab76bf7d433ae9
Status: Fixed


Theme does not dynamically update when theme prop value changes

Version
@vueup/vue-quill version 1.1.1
Describe the bug
Changing the assigned theme via the :theme prop does not update the theme used by the editor.
To Reproduce
Steps to reproduce the behavior:
Create a component that contains a VueQuill editor. Assign the theme using :theme="theme" where theme is a ref with value 'snow'. Update theme to have the value 'bubble'.
Expected behavior
I expect the theme to change from 'snow' to 'bubble'.
Reproduction link
See here.
Browser (please complete the following information):

Firefox
110.0.1

Additional context

The same seems to be true for the toolbar prop. Is there some way to change the theme and toolbars after the component is created on the page? The demo on the project page seems to do it so maybe I'm just doing it wrong.
Is it possible to see the demo code? I looked here but none of the demos there seem to match what is on the project page. I could be missing it.
Thanks!

Beuller?

@cberthiaume  Theme toggling in the demo project page is not dynamic props.
It reset the state of editor component,
you can found in source, it calls the myEditor.value.reinit().
So you could implement switching themes like this.
watch([theme], () => {
  myEditor.value.reinit()
})


Support UTF8 encoded international strings in code editing tools #499

Configure all ScintillaView resources to utf-8 code page.
Perform wide<->multibyte conversions to/from UTF-8
Add simple unit test for conversions

Note there is a small risk of application impact from this change since the assumed code page of all byte string<->wide string conversions in the image is now CP_UTF8, i.e. that the narrow strings are UTF8 encoded. Previously they were treated as being encoded per the so-called ANSI code page, CP_ACP. This code page has some encodings (notably for the copyright character) that are not valid in UTF-8.
Given that the offending copyright character was used in the version resources of the Dolphin stubs, there may be issues with application deployment, or other cases where strings containing invalid encodings are converted, especially if round-tripped, since the encoding will be lost. At present the conversion will not fail, but will replace the invalid characters with a special marker character, which might then cause visual impact in the application. An example can be seen on the Dolphin splash screen:

The fix for this will be made in a new VM version, but there may be other cases so its worth keeping an eye out, particularly in deployed applications.
I think the change is of sufficient important to warrant overriding the compatibility concerns, especially as these should be easily fixable by adjusting the offending text/strings. It enables the use of international characters in workspaces. For example:

Most controls, however, will still not display the strings correctly. This is because the ANSI apis and control classes are used, and unfortunately Microsoft chose not to support UTF8 through the ANSI apis/controls when they introduced the CP_UTF8 code page in Windows 7 (perhaps rightly, as this would have broken backwards compat). This can only really be fixed by switching to the wide character (W-suffix) APIs and control classes as these accept UTF-16 encoded strings, which is considered the "native" format on Windows. Here is an example with GDI+, which only has W versions and so can already be made to work already:

One further note of caution: There are many other open questions raised by this change, mainly arising from adopting a variable length encoding in a class hierarchy designed way-back in the early days of Smalltalk with a fixed encoding in mind. For example the #size reported for a UTF8 string will be the number of bytes, not the number of characters. Similarly when a string is enumerated, the individual bytes will be enumerated, some of which will not be valid characters but rather lead bytes of multi-byte character encodings.  I have opinions on some of these issues as to the right solutions (and the UTF8 everywhere manifesto  has had some input into this opinion forming), but they are just opinions. For example I think it may be reasonable that #size reports the number of "code units" (in this case, bytes). On the other hand it seems to me that the enumerators such as #do: should enumerate the actual characters after decoding into Unicode code points. I'm aware that there is some inconsistency here, but as the manifesto says "a string length function should not necessarily return one for the string ‘🐨’ to be considered Unicode-compliant." (and yes, you can paste that Koala character into a Dolphin workspace after this change :-)).
So anyway, this change leaves many loose ends. I apologise if you run into those, but if you do please report them. If it turns out to be too disruptive, I will back it out and re-think.

I've come to the conclusion that it is too impactful to just make the assumption that all Strings are UTF8 when the previous assumption was that ANSI. Although this certainly doesn't make handling of characters that require multibyte encodings any worse (they didn't work, after all), it does mean that a lot of pre-existing text will now be interpreted differently (basically anything with byte characters outside the ASCII range, e.g. être. There is less impact than I might have expected from this from tools perspective, in that the streaming in and out of code represented as UTF8 encoded strings to files, etc, works fine. The problem is that any pre-existing strings containing non-ASCII characters might be wrongly interpreted. Worse than that, the same would apply to data files.
The issue is really with changing the encoding for all Strings to be UTF8. This breaks backwards compatibility too much (as well as a load of String manipulation methods, e.g. asUppercase, reverse, although those could be fixed). I think we need to make String itself abstract, and then introduce Ansi and UTF8 subclasses. For new stuff UTF8 encoding would be used with the appropriate BOM being emitted. Stream classes would need to be enhanced to support different text encodings for input and output in some way.
This was an interesting experiment, but I'm going to back it out.


Closes #8050 Added Build and Release: Stable Release Channel now includes automate…

…d release notes mailer
Notes for Reviewers
Added the description of how the release process works at https://docs.meshery.io/project/contributing/build-and-release
This PR fixes #8050

Signed commits

[ ] Yes, I signed my commits.

🚀 Preview for commit 19536bd689b08154ef2a1713f483c4f294e30fb7 at: https://64aa7d252211460fc025112b--meshery-docs-preview.netlify.app

@ranjanmangla1 Let's discuss this on websites call. Please add this as an agenda item in the meeting minutes if you would :)


unable to download file using the zarr format

I am attempting to download the bundles:
980b814a-b493-4611-8157-c0193590e7d9.2018-11-12T131442.994059Z
7243c745-606d-4827-9fea-65a925d5ab98.2018-11-07T002256.653887Z

from the expression matrix service specifying the matrix/format as zarr. This gives me a 400 error. The README.md states that doing this should be possible https://github.com/HumanCellAtlas/matrix-service#file-formats but the swagger api doesn't seem to accept zarr is an option https://matrix.staging.data.humancellatlas.org/ :
bundle_fqids: | [...]
-- | --
bundle_fqids_url: | string ($url)
format: | string Enum:[ loom, csv, mtx ]

Does (or will) the expression matrix service provide zarr files?
Message me back if you need a more concrete example, as I am currently using HCAMatrixBrowser from Bioconductor to create the request.

In addition, not adding to a matrix/format to the request body seems to give a loom file, not  zarr file.

@dvantwisk Apologies, the readme needs to be updated. The matrix service does not currently provide support for zarr file outputs and defaults to loom. cc @mckinsel @brianraymor

Do you plan on adding the zarr format in the future?

Hey @dvantwisk , we don't currently have concrete plans to return zarr-formatted matrices. That said, if users ask for it, we can do it. Do you need them in bioconductor? I thought there wasn't much of an R interface to zarr.

See also @dvantwisk 's A package to integrate the zarr format with Biocondcutor's Experiment class

We have found another way to do what we need to have done without zarr files, so it doesn’t seem like we need to be able to get them from the matrix service. Originally we were going to create a package for zarr, but it doesn't seem like it's needed for the time being and is being put on hold. I think this issue can be closed for now.


Add shot noise emulation to FidelityStatevectorKernel

Summary
Adds shot noise emulation to FidelityStatevectorKernel. Closes #557.
Details and comments
A shots argument is added. If shots is None, the exact fidelity is used. Otherwise, the mean is taken of samples drawn from a binomial distribution with probability equal to the exact fidelity.

Do we end up needing the enforce_psd option back again for if shots is used?

Do we end up needing the enforce_psd option back again for if shots is used?
Good point; I'll add that back in.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

11 of 11 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 90.839%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
3421

Relevant Lines:
3766

💛  - Coveralls


Emphasize limitation with management groups

In the section Understand architecture you state:

For this release, you can only apply private link management access at the level of the root management group. This limitation means private link access is applied across your tenant.

This is a serious limitation in this functionality (which most of the larger Azure enterprises actually will be blocked by), so I think that this must be emphasized in the documentation and not just a normal text. It should also be repeated in the Required permissions section.

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

ID: 8ce32910-019e-c5bf-bd3b-51d721eeb9e9
Version Independent ID: 056ffcf3-8a26-a0d1-0901-ec09a52db638
Content: Create private link for managing resources - Azure portal - Azure Resource Manager
Content Source: articles/azure-resource-manager/management/create-private-link-access-portal.md
Service: azure-resource-manager
Sub-service: management
GitHub Login: @mumian
Microsoft Alias: tomfitz

@dozer75 Thanks for your feedback! We will investigate and update as appropriate.

@dozer75 We have verified and updated the document as needed. The update will go live in less than 24 hours. Thanks again!


Use secure communication for client <--> proxy communication, cleanup unnecessary config files

What type of PR is this?

Uncomment only one  /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line:
/kind api-change
/kind bug
/kind cleanup
/kind design
/kind documentation
/kind failing-test
/kind feature
/kind flake

What this PR does / why we need it: Currently we use insecure port 8080 for all API communication in scaleout architecture. This PR does two things:
Secures the client ---- haproxy communication to use SSL with certificates generated by proxy as CA. (Intra-scaleout communication is still insecure after this PR. Yunwen will have a PR for that after integrating with this)
Cleanup several unnecessary and confusing intermediate kubeconfigs that are generated as part of scaleout cluster deployment.
Following testing was done:
A. Deploy admin cluster (ensure no regression)
B. Deploy scaleup (normal) 100 node cluster (ensure no regression)
C. Deploy 1TP 1RP scaleout cluster and verify that port 443/https is used for client -- proxy communication.
D. Deploy 2TP 1RP scaleout cluster and verify that port 443/https is used for client -- proxy communication.
Verified get nodes, get pod all-NS, and create-pod works.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

After this change, all the unnecessary kubeconfigs are gone.
------------------------------------------------------------

...
...
Listing kubeamrk cluster details:
Getting total nodes number:
2

Getting total hollow-nodes number:
0
vin@fw0000357:~/go/src/k8s.io/kubernetes$ git status .
On branch scale-out-poc
Your branch is up-to-date with 'origin/scale-out-poc'.
Untracked files:
  (use "git add <file>..." to include in what will be committed)

	test/kubemark/resources/addons/
	test/kubemark/resources/haproxy.cfg.tmp
	test/kubemark/resources/hollow-node.yaml
	test/kubemark/resources/kubeconfig.kubemark-proxy
	test/kubemark/resources/kubeconfig.kubemark-rp
	test/kubemark/resources/kubeconfig.kubemark-tp-1

nothing added to commit but untracked files present (use "git add" to track)
vin@fw0000357:~/go/src/k8s.io/kubernetes$

has this passed a 100 node test with Arktos or Zeta tenant ?

has this passed a 100 node test with Arktos or Zeta tenant ?

I tried for arktos tenant (1-tp-1-rp setup) and it passed density test but with failure in get pods for RP scheduler (does not exist). The same failure exists without my change so either I'm missing some config or the test didn't bring in a desired change. (I think there was some comments from Qian about skipping metrics query for scaleout arch but didn't dig much further)

has this passed a 100 node test with Arktos or Zeta tenant ?

And the same change passed tests cleanly in the scale-out-poc branch and we merged it (this is just a port to master)

/lgtm

/approve


Bug: Multiple monitor if turn off the one monitor (Catalina)

Disclaimer:
Please go through existing issues to avoid creating duplicates. If you found a similar issue please post a comment there. If you are uncertain your issue is related to others then create the issue. Obvious ignorance of this rule might get you blocked from posting new issues. Please tick the box below to show that you have followed the guideline.

[x] I have checked for a similar issue and sure it hasn't been reported before.

Describe the bug
I use a multi monitor set and if I turn off one of the monitors, the eqMac always switches the audio output to the active (on) monitor. I have displayport monitors with audio, but I don't use them to listen to audio. eqMac doesn't remember my original settings (for example audio line). If I switch the audio output back, everything is fine. Even the eqMac will not crash.
Additional information
Tested on MacPro 2013, 64GB RAM, internal audio output, DualHead display via displayport, Catalina 10.15.5, eqMac version 0.2.0

This issue should be resolved in v0.3.1.
Please update the app and let me know if this issue is still relevant. Thank you


Sorted

I haven't looked at the bracketstrictlymonotonic yet; want me to SIMD it?

Yes, if that's possible that would be awesome. Then it might make sense to make use of it instead of https://github.com/SciML/OrdinaryDiffEq.jl/blob/master/src/dense/generic_dense.jl#L27-L55, which I forget what the origin of that search function was (@oscardssmith IIRC?)

searchsortedfirst does pretty well compared to the method I added here. I haven't tested it that much yet, but bisection is pretty good, so the wins from mixing it with a linear scan might be small.

A SIMD bisection would be awesome for SimpleNonlinearSolve.jl I've considered it before, checking the j/(N+1) points instead of just 1/2 to subdivide quicker. Anyways, separate topic 😅


Removes unnecessary method references

Codecov Report

Merging #1016 (bf67d02) into master (ac2062d) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##             master    #1016   +/-   ##
=========================================
  Coverage     92.03%   92.03%
- Complexity     7429     7430    +1
=========================================
  Files           193      193
  Lines         15672    15672
  Branches       2899     2899
=========================================
+ Hits          14423    14424    +1
  Misses          676      676
+ Partials        573      572    -1

Impacted Files
Coverage Δ

.../main/java/org/apache/commons/lang3/EnumUtils.java
100.00% <100.00%> (ø)

...a/org/apache/commons/lang3/time/DurationUtils.java
85.18% <100.00%> (ø)

...ommons/lang3/concurrent/AtomicSafeInitializer.java
100.00% <0.00%> (+14.28%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

@kinow
I haven’t seen before that a lambda is turned into an explicit lambda in this manner :)
If it's just code style, feel free to close PR.

Closing: Make the code less clear.


Failed to build subctl with a non-root user

When trying to build subctl on a clean environment without sudo privilege, the "make build-operator" command will fail, if Docker is not pre-installed.
$ make build-operator

./.dapper -m bind make build-operator
time="2020-04-20T15:51:44Z" level=fatal msg="exec: \"docker\": executable file not found in $PATH"
make: *** [build-operator] Error 1

A side note:
In order to install Docker, a sudo user is also required, even if using the rootless docker installer, since Docker itself requires sudo yum install -y shadow-utils46-newxidmap.

@skitt, @dfarrell07, @nyechiel
Is Docker (and Dapper) required for running the Submariner unit-tests, or is it a must for compiling a subctl binary ?
Can't we just support a compilation of subctl - without Dapper ?

Is Docker (and Dapper) required for running the Submariner unit-tests, or is it a must for compiling a subctl binary ?

It’s possible, yes, if you install all the build dependencies with exactly the right versions.

Can't we just support a compilation of subctl - without Dapper ?

We’ve chosen not to support compilation without Dapper. People who want to, can figure out how to do it (I build without Dapper quite often), but we don’t want to support it or (for now) document it.

Thanks @skitt
As you suggested, I've replaced make bin/subctl - as it requires pre-installation of Docker (with non-root user) - to:
GO111MODULE="on" go mod vendor
go mod vendor
./scripts/generate-embeddedyamls
./scripts/build-subctl


Integration test page references unused jest-mock-extended

This topic advertises the usage of jest-mock-extended. But, it's not used on this guide, since it's a integration test including a real database access.

In case I'm correct, I opened #3136 removing the advertise

Thanks @isaacbatst . When you say that the unit testing guide) doesn't use jest-mock-extended I am not sure what you mean. Do you mean that one can skip the "Mocking the Prisma client"section, and connect to a real DB, and thus not use jest?


quick fix for travis

Travis just switched to Trusty, which is broken for us by default. This switches us back to precise. After finishing up the build refactoring in the math library, I'll be updating the travis config here to use Trusty among other things.
Copyright and Licensing
Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company): Columbia University
By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses:

Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

many many thanks!


Feature Request: Send line and move cursor down

For most REPLs, I find it quite convenient to execute code line by line. I've written a small helper function to make send the current line and then move the cursor to the next line:
 vim.keymap.set('n', '<space><space>', function()
    local last_line = vim.fn.line('$')
    local pos = vim.api.nvim_win_get_cursor(0)
    require('iron.core').send_line()
    vim.api.nvim_win_set_cursor(0, { math.min(pos[1] + 1, last_line), pos[2] })
end)

I'd love to see this functionality to be in the package or to go into the documentation.

This is great. Would be helpful to have this for sending motion or chunks to the REPL, as well.

I already have this mapped to  like so:
  keymaps = {
    ...
    send_line = "<space>sl",

  },

Then put somewhere:
vim.cmd [[nmap <M-e> <space>sl<CR>]]

In the same vein, is there a way to enter  number of lines (say 3) and send those with a shortcut?

Perhaps a better way to do this would be to create <plug>(…) mappings for all the binds. Then people could define their own surrounding behaviour much more flexibly

Thanks for this, it helps, but I am trying to expand to include visual mode but not quite working.
send_line() works, but not visual_send() - no response
Yep, I agree with @BlueDrink9 need for expansion of goodies.
vim.keymap.set('n', '<space><space>', function()
  local iron = require("iron.core")
  local last_line = vim.fn.line('$')
  local pos = vim.api.nvim_win_get_cursor(0)
  local curr_mode = vim.api.nvim_get_mode().mode

  if curr_mode == 'n' then
    iron.send_line()
    vim.api.nvim_win_set_cursor(0, { math.min(pos[1] + 1, last_line), pos[2] })
  elseif curr_mode == 'v' then
    iron.visual_send()
  end
end)

I ended up here because I am interested in the same feature. I'm using the code below to move to the next line after running send_line(). It is supposed to move to the next line that is not empty or a comment. It has been working for me so far.
local function extract_comment_symbol()
	local comment_string = vim.bo.commentstring
	if not comment_string or comment_string == "" then
		print("No comment string for this file type")
		return
	else
		-- `%s*` matches any number of spaces
		return comment_string:match("^(%s*[^%s]+)")
	end
end

function move_to_next_code_line()
	local last_line = vim.fn.line("$")
	local current_line = vim.fn.line(".")
	if current_line == last_line then
		return
	end

	local comment_symbol = extract_comment_symbol()
	if not comment_symbol then
		return
	end

	-- Allow for spaces before the comment symbol
	-- `vim.fn.escape` escapes the comment symbol for use in a pattern
	local comment_pattern = "^%s*" .. vim.fn.escape(comment_symbol, "\\^$.*[]")

	for i = current_line + 1, last_line do
		local line_content = vim.fn.getline(i)

		if line_content:match(comment_pattern) == nil and line_content:match("%S") then
			local first_nonspace_pos = line_content:find("%S")
			vim.api.nvim_win_set_cursor(0, { i, first_nonspace_pos - 1 })
			return
		end
	end
end

I've been playing with the above examples, adding to them, and got something that seems to work OK (for Python, which is my primary case). The idea is that we toggle between iron.send_line() and iron.visual_send() depending on what type of top node (based on a set of predefined list) we're in. Sample in video, and code below.

local function move_to_next_code_line()
    ... see previous comment ...
end

local iron = require("iron.core")
local function send_block_or_line()
	local ts = vim.treesitter

	local parser = ts.get_parser(0)
	local syntax_tree = parser:parse()[1]

	local root = syntax_tree:root()
	local cursor = vim.api.nvim_win_get_cursor(0)
	local row, col = cursor[1] - 1, cursor[2]

	-- Locate the outermost node for a given type.
	local trigger_nodes = {
		"function",
		"function_definition",
		"class",
		"class_definition",
		"block",
		"if_statement",
		"else_statement",
		"try_statement",
	}
	local node = root:named_descendant_for_range(row, col, row, col)
	local context_node = nil
	while node do
		local node_type = node:type()
		for _, type in ipairs(trigger_nodes) do
			if node_type == type then
				context_node = node
			end
		end
		node = node:parent()
	end

	if context_node then
		local start_row, start_col, end_row, end_col = context_node:range()
		vim.api.nvim_win_set_cursor(0, { start_row + 1, start_col })
		vim.cmd("normal v")
		vim.api.nvim_win_set_cursor(0, { end_row + 1, end_col })
		iron.visual_send()
	else
		iron.send_line()
	end
end

vim.api.nvim_create_user_command("ReplRunBlockAndAdvance", function()
	send_block_or_line()
	move_to_next_code_line()
end, {})

I'm not entirely content with a few things:

A static list of node types isn't optimal, but I'm not sure how we'd solve it otherwise.
The visual selection seems like there'd be a better way to do using tree-sitter, but I can't find anything sensible.


One small bug?

Hi,
I think I found one small bug.The story is as follows:
Though dashboard, we could use web socket client to publish message, and the QoS is 0. It works well. But I debug the emqttd and log the process id when one web socket client established connection.
<0.337.0>, {mqtt_packet,
               {mqtt_packet_header,1,false,0,false},
               {mqtt_packet_connect,<<"C_1463763480527">>,4,<<"MQTT">>,
               false,0,false,true,60,undefined,undefined,undefined,
                   undefined},
               undefined}

<0.337.0> is the pid of ws_client. Then, I would like to publish three messages:
New0 = {mqtt_packet,{mqtt_packet_header,3,false,0,false},
                             {mqtt_packet_publish,<<"/World">>,0},
                             <<"Hello world!">>}.
New1 = {mqtt_packet,{mqtt_packet_header,3,false,1,false},
                             {mqtt_packet_publish,<<"/World">>,0},
                             <<"Hello world!">>}.
New2 = {mqtt_packet,{mqtt_packet_header,3,false,2,false},
                             {mqtt_packet_publish,<<"/World">>,0},
                             <<"Hello world!">>}.

the New0 will works well, but others will not. I catch the emqttd_protocol:received/2 function and got:
{'EXIT',
  {badarg,
    [{emqttd_serializer,serialize_variable,3,
         [{file,"src/emqttd_serializer.erl"},
          {line,113}]},
     {emqttd_serializer,serialize,1,
         [{file,"src/emqttd_serializer.erl"},
          {line,33}]},
     {emqttd_protocol,send,2,
         [{file,"src/emqttd_protocol.erl"},
          {line,260}]},
     {emqttd_protocol,process,2,
         [{file,"src/emqttd_protocol.erl"},
          {line,176}]},
     {emqttd_ws_client,handle_cast,2,
         [{file,"src/emqttd_ws_client.erl"},
          {line,146}]},
     {gen_server,try_dispatch,4,
         [{file,"gen_server.erl"},{line,615}]},
     {gen_server,handle_msg,5,
         [{file,"gen_server.erl"},{line,681}]},
     {proc_lib,wake_up,3,
         [{file,"proc_lib.erl"},{line,250}]}]}}

Jumped into emqttd_serializer module and code from L133:
serialize_variable(PubAck, #mqtt_packet_puback{packet_id = PacketId}, _Payload)
    when PubAck =:= ?PUBACK; PubAck =:= ?PUBREC; PubAck =:= ?PUBREL; PubAck =:= ?PUBCOMP ->
    {<<PacketId:16/big>>, <<>>};

if the PacketId is undefined, it will cause exception.

@redink, New1 and New2 packets you created manually are incorrect.

incorrect ?
https://github.com/emqtt/emqttd/blob/master/include/emqttd_protocol.hrl#L139
-type mqtt_packet_id() :: 1..16#ffff | undefined.


"Basic" cannot be used as a define.

I set "Basic" as the define in my defines csv and it wouldn't pull the corresponding value. When I changed "Basic" to "afart" and added "@[afart]" to my reference csv, it pulled correctly. Occurs in v<IP_ADDRESS>.

I tried this locally without issue. Is there anything else named basic in the defines/elements/layouts? What type of element are you using the @[Basic] in?

Nothing else named Basic. When I look at the defines list from within the software, sorted alphabetically, it doesn't appear. It skips over it no matter where I place it in the list in the CSV. I tried calling it from a Text element and a Formatted Text element. I set the define to call both a regular string and an  to no avail. I've got about 40 other similar defines working just fine. It's very specifically that spelling of the word. Even "Basicc" works.

So strange!
If you wouldn't mind sending me a CSV with the issue I can double check there's nothing odd going on.

This is my first time actually using github so I'm not sure how you wanted me to share it but I chucked the csv into a repository and invited you to it. I'm sure there was an easier way...

Apparently you can drag and drop files into this text editor (I didn't know that either!).
Unfortunately I was not able to reproduce the issue with the file you uploaded. I guess one final thing to check is if there are any warnings in the log window when you load the project or access a layout that uses the define.
This is definitely a tough one to figure out!

Apparently you can drag and drop files into this text editor (I didn't know that either!).

I tried that first, but it didn't like the CSV file type.

the log window when you load the project

Success!
10:14:36.06::Overlapping column name and define found in: ... [5]: Basic


feat: fetchpriority

I don't see any support for fetchpriority="high" here. I'm thinking this is something you may want to add.

To use priority hints with picture tags simply add the fetchpriority attribute to the img element inside the picture tag.
<picture>
  <source srcset="/image-small.png" media="(max-width: 600px)">
  <img src="/image.png" fetchpriority="high">
</picture>

https://www.debugbear.com/blog/priority-hints#picture-elements-and-priority-hints

Take a Largest Contentful Paint image, which, when preloaded, will still get a low priority. If it is pushed back by other early low-priority resources, using Fetch Priority can help how soon the image gets loaded.
https://web.dev/articles/fetch-priority#summary

Right now unknown component props are forwarded to the internal <img> tag, so:
<Img {src} fetchpriority="high" />

will be rendered similar to your attached code - but not for media attribute though. Most of the time (I think), one could use sizes to pick up the correct image instead.

@zerodevx I thought you might reply along these lines. I would point out that other props you have implemented fall under the same caveat. Not sure what is the best way forward, but as long as you have implemented export let loading = 'lazy' and export let decoding = 'async' (which is far less useful) I'm not sure you can argue not to include this.

The reason why loading and decoding are added is because they change <img> tag defaults - IMO unless we're changing fetchpriority defaults there isn't a strong case to define it explicitly?

I meant the HTMLElement <img> tag default values; specifically loading and decoding for which we are overriding the default value. Hence:
https://github.com/zerodevx/svelte-img/blob/8254cd1994b3ff20b30b72392c6f40a55ab360ad/src/lib/SvelteImg.svelte#L5-L18
These explicitly declared props are not arbitrary - each of them has a reason behind why it's declared.
I'm not understanding the reason for explicitly declaring fetchpriority at the moment - unless you are recommending to override the default value.

@zerodevx I see what you are saying. My original thought was to include it for educational purposes for the users of svelte-img. I would have it be unset, so by default the browser can still decide via it's heuristics the best priority.
Off-topic: I guess it's an OK idea to always default to lazy for loading, but I'm not so sure it's needed to set decoding.
Anyways I think it is nice to be explicit and mention all the different toggles that are available that one will probably want to use with this component, at the very least in the docs. Me from a couple weeks ago might have just picked up this library and ran with it without coming across fetchpriority/loading/decoding. You might say it's not your job / the job of this repo to educate but I would argue a lib like this is ground zero for someone looking for a quick solution and it is helpful place to give some advice. But I understand if you think differently and prefer to keep more of a laser focus here.
If you were to make a typedef and add these to that it would show up in the in the IDE which might be nice. I suppose in that case you would be tempted to extend HTMLImgAttributes which kind of obscures these critical options again. So, at least a note in the README would be nice... But I won't be surprised if you are of the opinion that people should find out about these options elsewhere.
Feel free to close; just am curious to hear how you think about this.

mention all the different toggles ... at the very least in the docs

That could be a lot of props. 😅 But I think we could mention the salient ones in the docs. Will be delighted to take a PR for it.

If you were to make a typedef...

That's a good alternative too - don't have to hint every prop, but salient ones like what you mentioned might be helpful.

prefer to keep more of a laser focus

Generally yes - I'd normally lean towards providing just a base set of opinions, but allowing effects to be overridden if the consumer is more informed or inclined to do so.

That could be a lot of props.

I'm pretty sure I was thinking fetchpriority/loading/decoding as "toggles" people should know about what others were you thinking?
I will submit a PR later with some types with comment that would show up in IDE when using the component.


Man page missing for podman checkpoint

Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line)
/kind bug
Description
Unless I'm having one of those days, there's not man page for podman checkpoint and one is needed.
podman v1.0

There is one here: https://github.com/containers/libpod/blob/master/docs/podman-container-checkpoint.1.md
Maybe it is confusing because it is only available under the 'podman container' namespace. Should this be done differently?

@adrianreber probably my bad, I think that's right and I'd forgotten this one was listed that way.  Let me think about it overnight, but I think I'll just leave it as is.

Yup no podman checkpoint only podman container checkpoint.