[themes] simpler way to create and edit themes

Newbie alert:  I have been programming for 40+ years and used many different code editors, but I am relatively new to VSCode.
I do not like any of the standard colour themes so I thought I would edit an existing theme or define a new one of my own.  You can do this easily in many other code editors.
However, the documentation implies that all I can do is trawl through hundreds of themes for other editors (TextMate or Sublime Text) and convert them...  Yes, I have tried searching more widely, on StackOverflow and elsewhere. It seems to be a common issue for VSCode users.
Surely, it should be possible to edit a theme in much the same way that settings are handled?  The theme should be specified ultimately with one or more (per language) JSON files that the user can edit or overlay.  Something somewhere in VSCode is doing the equivalent of parsing the text, tagging the components and looking up the right colour in a map.  That map could be loaded as a JSON file.

VSCode Version: 1.10.2
OS Version: MacOS 10.12.4

Steps to Reproduce:

Try to edit or create a theme!

Right now the story is that you can create a new theme using the yeoman generator as described here.
After that you could edit it and tune it to your liking.
There are clearly some inconvenience along that way that could be improved.
a. As our syntax tokenizers are based on TextMate and generate a hierarchy of scopes, one must learn about the standard TextMate scopes in order to write a theme.
b. TextMate theme files are typically plist files (XML)
c. To test your theme one must reload VSCode. It would be nicer if changes are applied as you type
b. and c. are on our list to be improved.
Please add your ideas on what should be improved.

@hbarr I'm working on something that should help out with this, stay tuned :smiley:

@aeschli Thanks Martin.  Now I understand the role of TextMate in VSCode.  😃
I had seen the Yeoman generator reference, but thought it an unnecessary complication.
@Tyriar Thanks Daniel.  My tuning dial is set.  😃

@tyriar @aeschli is there still going to be room for something like #21981?

@hoovercj something like that is doing to be previewed in v1.11, you can check out the release notes now but it should be released today. https://github.com/Microsoft/vscode-docs/blob/vnext/release-notes/v1_11.md#preview-workbench-theming

My personal answer to this which builds on top of the workbench theming work is this https://github.com/Tyriar/vscode-theme-generator
It's an npm module that lets you generate a theme based on a small set of colors, allowing you to go deeper if you want and color specific things like "identifier", "keyword", etc., as opposed to targeting tmTheme scopes. Please send feedback my way, also remember it's early days and the API will break (both VS Code and the generator).

Thanks for the update!
I like the idea of having a theme generator as you mentioned, and I think it really lowers the bar to entry in creating and distributing themes for extension developers, but I don't believe it solves the issue of personalizing code for users.
The workbench overrides in settings that are in the preview seem more in spirit with my PR and with this comment which do aim to solve the personalization user. I hope this is expanded upon for all theme overrides and made official as the API stabilises because it simply isn't good enough to force users to create a new theme to change one color or add italics for every theme they want to customize.
Also, I think this issue should be closed in favor of #11556 which encompasses the idea of theme ease-of-use

@Tyriar Thanks for the links.  It looks like imminent releases of VSCode will address some of these usability and configurability issues.
@hoovercj Thanks for the cross-links to similar topics on #11556 and #459.  The issue of making minor changes to a theme without having to create a new one with external tools has been raised before.  The overlay style sheet is an interesting idea.
I would be happy to migrate to #11556

@hoovercj I think #11556 could be closed off when the new theme settings are finalized (likely 1.12), that allows users to change any one-off color as you want. This issue though would be better kept open until the generator is iterated on and some of it potentially upstreamed to VS Code and/or included in the yo generator.

@tyriar oh ok, it wasn't clear to me from the release notes just how wide the settings would be, or if they were intended to be a longer term solution or only a temporary patch to be removed in favor of using the values in themes.
All this information together has me confident that the solution you're working towards alleviates the major pain points with themes, I'm excited to get my hands on it. Great work, as always :-)

Closing this off, as of v1.12 you now have the option of:

Standard .tmTheme files (Yeoman generator available)
Setting theme keys in workbench.colorCustomizations setting
Generating a theme using the new command via the command palette
Theme generator https://github.com/Tyriar/vscode-theme-generator or other generators which can improve the theme editing experience using the underlying platform.


BUGFIX: Removing unnecessary indentation in Aalen Additve fitter

I think related to https://github.com/CamDavidsonPilon/lifelines/issues/421 that there's an unnecessary indent in your fitter. Maybe I'm wrong, however consider this an attempt to fix it.

I'm cancelling this.


Minio: Unable to locate credentials

Expectation / Proposal
Hi, when I use S3 Bucket (Minio) on prefect I got an error like:
botocore.exceptions.NoCredentialsError: Unable to locate credentials

After some investigation, I find that this line:
https://github.com/PrefectHQ/prefect-aws/blob/7a17997de8a61ad977549ed77e0ca6f669492d31/prefect_aws/s3.py#L305
If I change this line into:
credentials: Optional[MinIOCredentials] = Field(

Things will be Ok.
Blocks:

My python version: Python 3.10.10
prefect version: ==2.8.0
prefect-aws version: commit 7a17997de8a61ad977549ed77e0ca6f669492d31
Traceback / Example
from prefect import flow, task
from prefect_aws.s3 import S3Bucket
from prefect_aws import MinIOCredentials

@flow
def my_favorite_function():
    minio_credentials_block = MinIOCredentials.load("testblock")
    s3_bucket_block = S3Bucket(
        bucket_name="testblock",
        minio_credentials=minio_credentials_block
    )
    print(s3_bucket_block.list_objects(""))
    return "test"

print(my_favorite_function())

[ ] I would like to help contribute a pull request to resolve this!

Update: I find another interesting bug, maybe related to this one.
If I install prefect by the following command:
pipenv install prefect prefect-aws
prefect orion start

And then I start a new orion instance. The AWS Credentials creation form will not have AWS Client Parameters. But if I install the prefect, start an orion, stop it, and install prefect-aws after that:
pipenv install prefect
prefect orion start
Ctrl-C
pipenv install prefect-aws
prefect orion start

The form will have these fields:

I checked the SQLite database, there are duplicated AwsCredentials items in block_schema table, and they share the same block_type_id. So, when UI queries the filter API to get form fields, the first one returned to the JSON array will be used.

If downgrade prefect-aws to 0.2.4 all work ok.

From pydantic doc:

By default, as explained here, pydantic tries to validate (and coerce if it can) in the order of the Union. So sometimes you may have unexpected coerced data.

If change order in S3Bucket.credentials type All work:
    credentials: Optional[Union[MinIOCredentials, AwsCredentials]] = Field(
        default=None, description="A block containing your credentials to AWS or MinIO."
    )

Or add class setting smart_union = True in class Config for S3Bucket

see #251

Error in prefect-aws==0.3.2:
Register blocks:
@sync_compatible
async def save_conf_blocks():
  endpoint_url = ENDPOINT_URL
  minio = MinIOCredentials.parse_obj(
    dict(name='epool-tk-upd-minio', minio_root_user=environ['MINIO_LOGIN'],
      minio_root_password=environ['MINIO_PASSW'],
      aws_client_parameters=dict(endpoint_url=endpoint_url), ))
  await minio.save('epool-tk-upd-minio', overwrite=True)

  s3_bucket_block = S3Bucket(
    name='epool-tk-upd', bucket_name='tk-upd-cache',
    credentials=minio, # minio_credentials=minio,
    endpoint_url=endpoint_url, )
  await s3_bucket_block.save('epool-tk-upd', overwrite=True)

Flow code:
@task(cache_result_in_memory=False, persist_result=False, log_prints=True)
async def save_result(cache: WritableFileSystem, path, data):
  assert (
    isinstance(cache, LocalFileSystem) or
    isinstance(cache.credentials, MinIOCredentials)
  ), f'{cache}: {cache.credentials}'
  await cache.write_path(path, out_data)

@sync_compatible
async def s3_bucket_block() -> S3Bucket:
  _s3_bucket_block = await S3Bucket.load('epool-tk-upd')
  return _s3_bucket_block

@flow
def tk_upd_cache():
  cache=s3_bucket_block()
  save_result.submit(cache, 'tk_name', b'opa')

Error out:
Encountered exception during execution:
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/prefect/engine.py", line 1623, in orchestrate_task_run
    result = await call.aresult()
             ^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py", line 181, in aresult
    return await asyncio.wrap_future(self.future)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py", line 218, in _run_async
    result = await coro
             ^^^^^^^^^^
  File "/prj/flows/tools.py", line 179, in save_result
    assert (
AssertionError: S3Bucket(bucket_name='tk-upd-cache', credentials=AwsCredentials(aws_access_key_id=None, aws_secret_access_key=None, aws_session_token=None, profile_name=None, region_name='ru-central1', aws_client_parameters=AwsClientParameters(api_version=None, use_ssl=True, verify=True, verify_cert_path=None, endpoint_url='https://s3.epool.ru', config=None)), bucket_folder=''): AwsCredentials(aws_access_key_id=None, aws_secret_access_key=None, aws_session_token=None, profile_name=None, region_name='ru-central1', aws_client_parameters=AwsClientParameters(api_version=None, use_ssl=True, verify=True, verify_cert_path=None, endpoint_url='https://s3.epool.ru', config=None))
01:43:44 PM
save_result-0
prefect.task_runs

see #251

I'm still getting this error on version prefect-aws==0.3.2.
Its the same issue that @KernelErr reported, when i make the change he proposed it works fine but without it S3 loads the wrong config.
I also noted that if I define the S3 block inside a Flow, using minio credentials block, it works fine but when getting the s3block  block directly it throws an error.


[native_assets_cli] DynamicLoadingBundled and dryRun in Flutter

Currently, in dryRun, Assets do not have to provide a file path.
However, in Flutter, the mapping from asset-id to file-name is used during dry-run to embed it in the kernel compilation.
So, for NativeCodeAssets with a linkMode DynamicLoadingBundled the file field should not be optional during dry run.
This currently blocks rolling the packages into flutter_tools.
(Maybe we can consider doing kernel concatenation to remove this requirement in the flutter implementation, maybe not. But that would be a separate larger refactoring.)
TODOs:

[x] Make native_toolchain_c output a file in dry run
[x] Make native_asset_cli check the field
[ ] Roll packages and roll

With cargo the asset path depends on target architecture. But with dryRun the target architecture is not provided.

Is it possible to come up with a file name? (E.g. not the full path.)

Sure, the file name itself is not architecute dependend, just the target directory. As long as the directory doesn't matter, and this is documented anywhere and the asset can't be constructed with null path this should be fine.

👍  Let's update the documentation to say that just Uri.file('filename.so/dylib/dll') is fine in dry runs.
In Flutter we only use the file name when bundling, not the absolute path.
Alternatively, we could make DynamicLoadingBundled take a file name. That would allow us to omit the file. Maybe that is cleaner. (Note that it would be a breaking change to the API once again, but we're doing that anyway atm.)
Any preference for either of the two solutions @knopp @mosuem ?

But at some point you need to know the full path so that you know which assets to lipo, right? Where would that go?

But at some point you need to know the full path so that you know which assets to lipo, right? Where would that go?

The dryRun is followed later by a "wet run" for all architectures for that OS later in the Flutter build.

Maybe I misunderstood. So you suggestion is DynamicLoadingBundled would have library name, always not null, while NativeCodeAsset would have nullable file (which is actually path)?
It seems to be bit weird to duplicate the file in both cases. Also DynamicLoadingBundled is passed as link mode, it seems strange to have file name passed in link mode.
Maybe worth considering NativeCodeAsset having both directory (nullable) and fileName not nullable.


Control allowed Version change

The engine work  for #126 is in this PR. And tests.
Not yet surfaced in a commandline flag.
we have the  enum VersionChange { None = 0, Patch, Minor, Major } Which controls which level of update should be selected to be applied.  ApiPackageLookup applies this by using the VersionChangeFilter.
There are sufficient tests.
No way to use this from the commandline, yet. That can be a different PR.

By "specifying all enum values explicitly" you mean Patch = 1 etc?

Indeed. It's redundant, until someone deletes a value and everything shifts. I just grew to consider being explicit the lesser of two evils.


Implement post /api/slotdata/

Description: Implement  server.post('/api/slotdata', (req: any, res: any)

Accept payload and test values.
Values that pass validators should be stored in a global lookup table for S1 to retrieve (one turn life).
Regardless of pass/fail return descriptive response back to caller.

Feature: Epic #74

In progress in kslhacks/slotDataAPI branch

Removing from wolf features. This can be used as a more complex example bot utilizing the slotDataGetter()


Migrating to CircleCI

On tag circleci will product the following artifacts:

Linux 6-11
darwin 6-11

Windows 6-11 to be in a follow on PR once CircleCI is wired into this repo. I cannot test windows machines on my fork due to circleci limitations on machine sizing on their free tier.

Nice!


Add log1p SparkSql function

Description
Spark support log1p since 1.4.0, let's add it to Velox.
For example:
> SELECT log1p(0);
 0.0

log1p(double x)

Not supported in Presto.
Returns the natural logarithm of the “given value x plus one”. (log(1 + x))

Hi @pedroerp, would you help review this PR if you have time?

Hi @mbasmanova , would you help review this PR?

@myandpr Thanks.
I'm seeing a lot of PRs adding SparkSQL functions. Curious if your team plans to add all of them or some specific subset? It would be helpful to create a GitHub issue to describe the overall plan and approximate timeline for this effort. This would allow us to better allocate reviewing capacity.

@mbasmanova
Thanks Maria,
I'm not sure  the authors of these PRs are from our team.
We use Spark + Gluten + Velox to enhance query performance.
However, there are many functions in Gluten that have not been implemented in both Presto and Spark currently, and users have reported these missing functions while using them.
so we have implemented these functions.There are not many functions left(2 or 3)
Here is the complete support information of Gluten functions for Presto/Spark.
https://github.com/oap-project/gluten/blob/main/docs/SupportProgress.md
https://github.com/oap-project/gluten/blob/main/gluten-core/src/main/scala/io/glutenproject/expression/ExpressionMappings.scala

@myandpr Got it. Which company / team are you from? What other functions does your team plan to add in the near future?

@myandpr Got it. Which company / team are you from? What other functions does your team plan to add in the near future?
we are from start-up company. We plan to add hypot() and array_remove().

We plan to add hypot() and array_remove().

Got it. Thanks. CC: @zacw7

We plan to add hypot() and array_remove().

Got it. Thanks. CC: @zacw7

hi @zacw7 ,would you take time to take a look at this minor change?

We plan to add hypot() and array_remove().

Got it. Thanks. CC: @zacw7

@mbasmanova, would you help review or assign somebody to help review this PR?

@myandpr Would you rebase so I could merge?

@myandpr Would you rebase so I could merge?

Thanks, I have rebased.

@myandpr I see "This branch has conflicts that must be resolved". Would you rebase again?

@myandpr I see "This branch has conflicts that must be resolved". Would you rebase again?

conflict resolved.


Softer bindgen dependency

Would you be open to something like this?
I'm using a few different crates (including this one, and your x264 as well), but they all depend on different version of bindgen, which means I'm forced to patch each of them individually to use the same version
I'm not sure how often (if any) breaking changes occur in bindgen, or what other problems would arise from this change?
PS: If this goes through here, I'll also open an equivalent change on x264

Sure, best of luck in your projects.


Add support for being able to fluently mock responses

This adds support for being able to easily mock out some other web application. Note that this API has been written with Java 8 in mind.
expectedExchanges.post("/url/to/get").with(RequestMatchers.body("expected body"::equals)
  .willReturn(new MockResponse().setBody(expected));

This is fantastic but also outside of the scope of the project. Can you build this separately from MockWebServer?

I presume you mean as in a separate repository rather than a separate module?

Yeah. There's a lot of runway with this and I don't want to tightly couple it to the core project. Small, focused projects are our thing, and this one is already way too big.


updated vue-pileup to newest version of igv.js

@mvelinder  Updated vue-pileup to use newest version of igv.js

Here's the test URL for this PR: http://0e5b4c26572583a4ca7fc29a0cd3c3fcfecdff8e.quarantest.iobio.io/

@WilliamRichards2017 when launching the external IGV, it looks like all of the indexUrls (VCF and bams) are null

Hi there

quarantest build started

quarantest build successful. Demo link at
http://0e5b4c26572583a4ca7fc29a0cd3c3fcfecdff8e.quarantest.iobio.io

quarantest build successful. Demo link at
http://0e5b4c26572583a4ca7fc29a0cd3c3fcfecdff8e.quarantest.iobio.io

quarantest build successful. Demo link at
http://0e5b4c26572583a4ca7fc29a0cd3c3fcfecdff8e.quarantest.iobio.io

Working for me on quarantest with the demo data

@mvelinder are you seeing the weird empty space near the top of gene?

I'm still seeing indexUrl not populated when launching external IGV

Yes, @anderspitman I'm seeing the big weird bar too

I do NOT see this big gray bar on local testing though

Seems like a quarantest specific problem, I'd vote to merge and push to stage and then confirm IGV is fixed on stage and this gray bar is not there.

Yeah it's somehow related to how quarantest does the build. Super weird. What commands did you run to build locally? Also what version of node?

Yeah it's somehow related to how quarantest does the build. Super weird. What commands did you run to build locally? Also what version of node?

Not sure, but basically did this:
git clone https://github.com/WilliamRichards2017/gene.iobio.vue.git
cd gene.iobio.vue/
git checkout 0e5b4c26572583a4ca7fc29a0cd3c3fcfecdff8e
npm install
npm start

Output from npm start was:
npm WARN npm npm does not support Node.js v10.17.0
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9.
npm WARN npm You can find the latest version at https://nodejs.org/

><EMAIL_ADDRESS>start /home/matt/Public/tmp/gene.iobio.vue
> DEBUG=http ./node_modules/nodemon/bin/nodemon.js --inspect --ignore client/ www.js

[nodemon] 1.19.4
[nodemon] to restart at any time, enter `rs`
[nodemon] watching dir(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node --inspect www.js`
Debugger listening on ws://<IP_ADDRESS>:9229/07b040c0-9fc5-496a-96b7-ca184557859f
For help, see: https://nodejs.org/en/docs/inspector
  http Express server listening on port 4026 +0ms
  http Listening on port 4026 +1ms

Then did npm run webpack
npm WARN npm npm does not support Node.js v10.17.0
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9.
npm WARN npm You can find the latest version at https://nodejs.org/

><EMAIL_ADDRESS>webpack /home/matt/Public/tmp/gene.iobio.vue
> ./node_modules/webpack/bin/webpack.js --watch

clean-webpack-plugin: /home/matt/Public/tmp/gene.iobio.vue/client/dist has been removed.

Webpack is watching the files…

Hash: acddb5dcf44943c136a5
Version: webpack 2.7.0
Time: 17040ms
   Asset     Size  Chunks                    Chunk Names
build.js  44.3 MB       0  [emitted]  [big]  app
   [4] (webpack)/buildin/global.js 509 bytes {0} [built]
   [6] ./~/vue/dist/vue.runtime.esm.js 227 kB {0} [built]
  [10] ./~/uiv/dist/uiv.esm.js 124 kB {0} [built]
  [45] ./client/app/routes.js 5.97 kB {0} [built]
  [54] ./client/app/globals/GlobalApp.js 10.9 kB {0} [built]
  [55] ./client/app/globals/Util.js 38.1 kB {0} [built]
  [72] ./client/app/partials/GlobalEduTour.js 2.25 kB {0} [built]
 [234] ./~/d3/d3.js 338 kB {0} [built]
 [276] ./~/v-tooltip/dist/v-tooltip.esm.js 120 kB {0} [built]
 [277] ./~/vue-analytics/dist/vue-analytics.js 15.8 kB {0} [built]
 [278] ./~/vue-js-modal/dist/index.js 26.5 kB {0} [built]
 [279] ./client/app/App.vue 1.8 kB {0} [built]
 [398] ./~/vue-router/dist/vue-router.esm.js 65.6 kB {0} [built]
 [480] ./~/vuetify/dist/vuetify.js 1.1 MB {0} [built]
 [483] multi ./client/app/routes.js 28 bytes {0} [built]
    + 469 hidden modules

Problems with project 39 launched from Mosaic

@mvelinder does it work if you replace stage.gene with the quarantest link?

@tonydisera I think this is good to merge. I tested and verified indexUrl is properly being set, at least when launched from Mosaic.

@mvelinder does it work if you replace stage.gene with the quarantest link?

Not sure what you mean. But I'd vote to merge.

@mvelinder does it work if you replace stage.gene with the quarantest link?

Not sure what you mean. But I'd vote to merge.

The URL hack trick. So you launch from Mosaic, then look in your browser history. Grab the URL with the access token. Paste it into your address bar, and replace https://stage.gene.iobio.io with http://0e5b4c26572583a4ca7fc29a0cd3c3fcfecdff8e.quarantest.iobio.io and load

@mvelinder does it work if you replace stage.gene with the quarantest link?

Not sure what you mean. But I'd vote to merge.

The URL hack trick. So you launch from Mosaic, then look in your browser history. Grab the URL with the access token. Paste it into your address bar, and replace https://stage.gene.iobio.io with http://0e5b4c26572583a4ca7fc29a0cd3c3fcfecdff8e.quarantest.iobio.io and load

I tried that and it never really loaded anything. Let's just merge it

Good with me.

Yes, agreed @tonydisera . There needs to be a more clear connection between the issues and the request. The issue is #367

@tonydisera is this deployed onto dev.gene.iobio.io? I'm testing now on dev, project 39, gene is NPR1 launched from Mosaic, which was our broken test case, and the issue still appears broken, and sporadic
Examples:
broken

click to another variant in same gene, load it's pileup view, then click back to the original variant, and it's fixed

load a different gene, GFI1 and click a variant, load its pileup and it's broken again with a different error/failure and you're not able to close the window out so you're basically forced to refresh entirely or relaunch

I'm not sure what else I can do in testing. It seems a developer needs to very critically test and debug this to identify the core issue causing it. Our approach so far clearly isn't working. @WilliamRichards2017 can you drive this to completion and resolve the issue?

@WilliamRichards2017 and @anderspitman , @tonydisera specified that this fix is deployed on stage, not dev. Sorry for the previous message and my confusion on the deployment.
I tested the same project 39 from Mosaic launching and it appears to be fixed!

I will go ahead and close this issue and consider the final review complete.


Add support for ignore-missing-imports argument

I believe you can apply this setting via the mypy.ini file instead?
Think of this codebase if we have to passthrough all of mypy's command line arguments!


Context size doesn't update unless scene is attached to body

Currently, the context resize does not get propagated through the system unless the scene is attached to body. It is possible to hack in the resize event by manually listening to window.onresize (see below). It would be great if there was some kind of flag that could be passed in to FamousEngine.createScene that would automatically alert Famous to check if the context size has changed on window resize events.
Example of hacking in a listener to a non-body context resize:
index.html
<!DOCTYPE html>

        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>Famous :: Seed Project</title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width, initial-scale=1">

index.js
'use strict';

var DOMElement = require('famous/dom-renderables/DOMElement');
var FamousEngine = require('famous/core/FamousEngine');

// Boilerplate
FamousEngine.init()

var scene = FamousEngine.createScene('#my-container');
var root = scene.addChild();
root.setSizeMode(0, 0, 0);
root.setProportionalSize(0.5, 0.5);
var el = new DOMElement(root);
el.setProperty('background', 'black');

/*---------------------------------------------------------------*/
// Hack to force context to update on window resize
/*---------------------------------------------------------------*/
window.onresize = function(size) {
    FamousEngine.compositor._contexts['#my-container'].updateSize();
    FamousEngine.compositor.sendResize('#my-container', FamousEngine.compositor._contexts['#my-container'].DOMRenderer.getSize())
}

@arkadyp was this fixed/

Yes, the issue has been resolved. Thanks @alexanderGugel!


Crash on DigitalOcean droplet

Tool crashes on DigitalOcean droplet (Shared CPU, 2 vCPUs, 4 GB, 25 GB, 4 TB). Startup method: docker install.
goroutine 44381 [running]:
math/rand.(*Rand).Intn(0x80acea, 0x46817b)
/usr/local/go/src/math/rand/rand.go:168 +0x65
math/rand.Intn(...)
/usr/local/go/src/math/rand/rand.go:337
main.httpJob.func1(0xc003364d00)
/usr/src/app/main.go:229 +0x45
net/http.(*Transport).connectMethodForRequest(0xc00d50ab40, 0xc00d23d2c0)
/usr/local/go/src/net/http/transport.go:834 +0x91
net/http.(*Transport).roundTrip(0xc00d50ab40, 0xc003364d00)
/usr/local/go/src/net/http/transport.go:571 +0x6c5
net/http.(*Transport).RoundTrip(0xc003364d00, 0x8d2480)
/usr/local/go/src/net/http/roundtrip.go:18 +0x19
net/http.send(0xc003364c00, {0x8d2480, 0xc00d50ab40}, {0x7fe120, 0x48a501, 0xbb6680})
/usr/local/go/src/net/http/client.go:252 +0x5d8
net/http.(*Client).send(0xc00e272c00, 0xc003364c00, {0xc00e273c20, 0x2f, 0xbb6680})
/usr/local/go/src/net/http/client.go:176 +0x9b
net/http.(*Client).do(0xc00e272c00, 0xc003364c00)
/usr/local/go/src/net/http/client.go:725 +0x908
net/http.(*Client).Do(...)
/usr/local/go/src/net/http/client.go:593
main.httpJob({0x8db078, 0xc002cb5b80}, 0xc0000a6310, {0xc00230e1e0, 0x9a, 0xa0})
/usr/src/app/main.go:282 +0xa9e
created by main.main
/usr/src/app/main.go:586 +0x725
P.S. In Droplets with worse characteristics tool is killed by OOM-killer.

@AndriiNytsyk Can you send the config you are using in case it's not default?

I use default configuration according to instruction "docker install".

Please add swapfile:
dd if=/dev/zero of=/swapfile bs=1M count=1024
mkswap /swapfile
chmod 600 /swapfile
swapon /swapfile

I've checked proposed solution but it didn't help. Swap size range I used: 600 MB - 8 GB
panic: invalid argument to Intn
goroutine 30540 [running]:
math/rand.(*Rand).Intn(0x80acea, 0x46817b)
/usr/local/go/src/math/rand/rand.go:168 +0x65
math/rand.Intn(...)
/usr/local/go/src/math/rand/rand.go:337
main.httpJob.func1(0xc000dde500)
/usr/src/app/main.go:229 +0x45
net/http.(*Transport).connectMethodForRequest(0xc001669040, 0xc00312c600)
/usr/local/go/src/net/http/transport.go:834 +0x91
net/http.(*Transport).roundTrip(0xc001669040, 0xc000dde400)
/usr/local/go/src/net/http/transport.go:571 +0x6c5
net/http.(*Transport).RoundTrip(0xc000dde400, 0x8d2480)
/usr/local/go/src/net/http/roundtrip.go:18 +0x19
net/http.send(0xc000dde300, {0x8d2480, 0xc001669040}, {0x7fe120, 0x48a501, 0xbb6680})
/usr/local/go/src/net/http/client.go:252 +0x5d8
net/http.(*Client).send(0xc001d07920, 0xc000dde300, {0xc00312c500, 0x8d26e0, 0xbb6680})
/usr/local/go/src/net/http/client.go:176 +0x9b
net/http.(*Client).do(0xc001d07920, 0xc000dde300)
/usr/local/go/src/net/http/client.go:725 +0x908
net/http.(*Client).Do(...)
/usr/local/go/src/net/http/client.go:593
main.httpJob({0x8db078, 0xc002f05300}, 0xc0000a6310, {0xc002ecc200, 0x1e6, 0x200})
/usr/src/app/main.go:282 +0xa9e
created by main.main
/usr/src/app/main.go:586 +0x725

ok, I guess I know what's happening, I didn't consider the case when proxylist is a valid json but has no proxy entries in it, should be easy to fix

@AndriiNytsyk check v0.5.8, although it shouldn't have been crashing since some earlier release (checking which one rn)

Fixed on v0.5.8.
Thanks!


Broken Navbar Example

The text says to look at the differences between the two different implementations, but the two examples are exactly the same:
http://mmenu.frebsite.nl/documentation/addons/navbars.html

The first example (using the navbars add-on) has a fixed header, the second (not using the navbars add-on) has a header per panel. Both have the same content and look the same, but there is a difference. Also, click the "more examples" button to see what more the navbars add-on can do.


Ho i can use sessions?

Hi, can you help me? I need to track users messages and answers, how i can use session? For example rack?
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Additional context
Add any other context or screenshots about the feature request here.

Hey! sure
You can use Webhooks to parse messages by using the read operation.
Take a look at this repository.. It's a Rails application example that allows sending messages and listening to Webhooks. Particularly, I set up a controller and set up webhooks in the Facebook dashboard to ping that endpoint whenever an event happens (i.e. a message is received).

Hey! sure
You can use Webhooks to parse messages by using the read operation.
Take a look at this repository.. It's a Rails application example that allows sending messages and listening to Webhooks. Particularly, I set up a controller and set up webhooks in the Facebook dashboard to ping that endpoint whenever an event happens (i.e. a message is received).

But its doesn't work, i use Sinatrarb, then enable sessions, after receiving messages, sessions not present in response

Do you have a repository I can look ? Also, feel free to message me on twitter if it's easier to chat.

Do you have a repository I can look ? Also, feel free to message me on twitter if it's easier to chat.

Yes, i create sample app,
git@github.com:abdugaliyev/sinatratestapp.git
https://github.com/abdugaliyev/sinatratestapp
Please check read me

Hey! did you solve the problem?
Feel free to reopen the issue if you still face it.


Structure application folders.

Current list of root folders is hard to navigate as it contains mix of three types:

cross-plat items needed to build app (assets, lib)
platform specific artifacts (android, ios, linux, macos, web, windows)
tests of different types (test, test_driver, integration_test)

It would be more readable to have them organized by type in some future version of Flutter:

assets
lib
platforms

android
ios
linux
macos
web
windows

test

unit
driver
integration

Duplicate of https://github.com/flutter/flutter/issues/34536


Copy pkg/signals verbatim from Serving.

I'm pretty sure we copy this across all of our repos, so this'll be an easy deduplication.

/lgtm


policy: Add Port Range Support for Policies Part 2/3

This PR prepares the policy engine for adding port ranges
by enabling the underlying userspace cache to calculate
insertion, deletion, and lookups with port ranges, as well
as adding unit tests to ensure that the logic works. It does
not add support for adding policy port ranges at the API
level that will be addressed in the final PR.
The Policy CRD is modified by this PR without
supporting port ranges at the policy repository level
(this will be added in the final PR). This has to be done
because the "PortProtocol" struct is shared by both
the CRD (aka the API level) and the L4Filter struct
(aka the cache level).
See commits for details.

/test

/test


Introduce opensshMinimal and fix when built with linkOpenssl=false

Description of changes

Fixes openssh to build when linkOpenssl=false. This needed libxcrypt. I think this wasn't caught by Hydra because Hydra is not building openssh with linkOpenssl=false.
Introduces a parameter withZlib, to build without zlib.
Introduces a package opensshMinimal, with minimal linking. This is predominantly as a means to force Hydra to build openssh with linkOpenssl=false (and the other parameters disabled too), but it might be useful for those looking to reduce attack surfaces too. This is independent of the more valuable work to disable Kerberos by default: https://github.com/NixOS/nixpkgs/pull/302688.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I won't speak to the idea of creating opensshMinimal, but apparently what you found checks out. Either OpenSSL provides the crypto primitives or it falls back to lib(x)crypt.


(#184) reports test feedback

#184
Changes include:

"Receivable" section for the amount yet to be received.
The ordering of invoices in the report tables.
An input to enter estimated conversion rate and amount to get an idea of the total estimated sent amount.

Checked this PR :

[ ] For duplication.
[ ] For performance.
[ ] Usage of recursive methods, loops and algorithms.
[ ] For readability and understanding.
[ ] For functions with multiple responsibilities.
[ ] For scope of refactoring.
[ ] For coupling
[ ] For alternative approaches to the implementation.
[ ] For how the change impacts other parts of the system.
[ ] For validations. client side and server side validations are present.


Compartment Rework allowing for extra compartments to more easily be added

This includes a number of vanilla compartments, one for the vanilla Barrel, the vanilla Chest, the Vanilla Ender Chest and the vanilla Shulker Box.

Wrong branch 😒


[Feature Request] Check File Changes

Hi There,
I have a suggestion for a feature. This should help with issues of old synced workspaces causing file regression.
If the last sync of a file or workspace is older then X amount of time then check the server for any changes or modified date greater than last sync. That way someone opening an old workspace will get the latest version of a file without having to re-sync the entire workspace.
Maybe an option for sync on open workspace in the SPGo config? We're just encountering cases of different file versions synced on different machines, it's an easy fix with version control but I imagine the problem gets harder to figure out in larger scale organisations with large amounts of site assets.

@CPritch -
Thanks for the PR. Code looks great, I've merged into master. I need to put together a quick bugfix for the Compare File With Server command, and I'll package these for the VSCode Marketplace.


Site doesn't load on GitHub Pages.

I tried navigating to the following site, assuming it was hosted on GitHub Pages:
https://hasnain003.github.io/fend-arcade-game/
Turns out, it is, but it doesn't load.
Reason. In the file js/app.js, on line 45 there is the following code:
player.handleInput(allowedKeys[e.keyCode]);

However, no where in the file is the variable player declared or defined, nor does the file include any other JS file with the variable player in it for use, which is why the page doesn't load. You can confirm this error by tapping into the Developer Tools on Chrome and navigating to Console.

It does now.


Call to undefined method Encore\Admin\Grid\Displayers\Actions::add()

laraval admin version : * dev-master
laravel/framework 6.0
Call to undefined method Encore\Admin\Grid\Displayers\Actions::add()
In windows 10 it is working, But in Linux server through this error.
Note: I have did all update steps, including clear cache etc.

edit you app/admin.php
add or update
'grid_action_class' => \Encore\Admin\Grid\Displayers\DropdownActions::class,
see : https://laravel-admin.org/docs/#/en/model-grid-custom-actions?id=old-version-compatible

Closing this issue, as i have risolved this pointing action class in admin.php.

edit you app/admin.php
add or update
'grid_action_class' => \Encore\Admin\Grid\Displayers\DropdownActions::class,
see : https://laravel-admin.org/docs/#/en/model-grid-custom-actions?id=old-version-compatible

how to keep the actions  display as them in old version? I don't want to use the dropdown style.

edit you app/admin.php
add or update
'grid_action_class' => \Encore\Admin\Grid\Displayers\DropdownActions::class,
see : https://laravel-admin.org/docs/#/en/model-grid-custom-actions?id=old-version-compatible

how to keep the actions display as them in old version? I don't want to use the dropdown style.

You can publish laravel-admin views and rewrite your own dropdown-menu style.
see: https://github.com/z-song/laravel-admin/issues/368#issuecomment-386967894


Feature request: Lock teach pendant when under ros_control

With the dashboard server, it is possible to lock the teach pendant from firmware version 3.1.17something by setting the user role to 'restricted' (http://www.universal-robots.com/how-tos-and-faqs/how-to/ur-how-tos/dashboard-server-port-29999-15690/)
This can prevent the user from trying to use the screen and accidently crash the controller. ros_control is always controlling the robot when the controller is running, so moving the robot with the teach pendant will cause that input to struggle against ros_control, which doesn’t get the new target pose. The resulting conflicting motion will cause the controller to crash.
The enhancement should also display a message on the teach pendant to let them know that they are locked out.
The enhancement could be extended to be active whenever the driver is executing something on the robot (whether under ros_control or action interface). This would probably improve the stability of the driver.
Nevertheless it is quite important that the driver always unlocks the screen when the driver shuts down! Perhaps opening a new connection to the dashboard server, unlocking everything when the driver is killed, is the best way to go.
As I haven't tried it out, I am uncertain on how this works. The documentation says that it prevents the user from pressing the 'move' tab. If this is indeed the case and it is thus not possible to read the joint states and end effector position from the screen, then this enhancement should be made dependent on a parameter in the driver, allowing the user to turn it off.

I tried this out and after sending the command "setUserRole restricted" the pendant returned to welcome screen and the move tab was no longer present on subsequent menus.

I'm closing this as we've officially deprecated this package.
Refer to the announcement on ROS Discourse.

ur_robot_driver adds External Control urscript integration which clearly shows when the robot is being controlled externally.
There is also Dashboard server integration available, with a ROS API.


Add KSC members to approvers in OWNERS

Same as https://github.com/kubeflow/internal-acls/pull/652.
cc @kubeflow/kubeflow-steering-committee

/lgtm
/approve


Creation date for encounters and obs are now set on the back-end on the forms framework

Coverage increased (+0.01%) to 63.191% when pulling 160d1f307e9bcc325be24d8cb215335daa860fbf on edrisse:current-date-from-backend into 6df58e34c9c2918e7e1e3b2bc59aa5aed25467e2 on esaude:master.

 Let back-end determine creation date


[Teams] add pcx-content-type to all pages

Just a note for anyone else seeing this. All of this info does not affect the display of our documentation. It's added for internal reporting purposes (and is best on the page... b/c it's going to get out of date if it lives in a spreadsheet somewhere).


prop always null even though reducer is hit

this one is really stumping me.  When I debug it, the correct case statement in my reducer that I expect to be hit by the allUsers thunk action call is definitely being hit, thus updates state but for some reason, this.props.users is always null after my connected component is done calling that thunk action:
it('passes a list of users as props to users child', async () => {
        const fakeToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9',
          userList = [{firstName: 'Dave', lastName: 'Schinkel' }],
          responseBody = { data: userList }

        await mockGet('/users', responseBody)

        const usersContainer = shallow(<UsersContainer store={store} />),
          containerProps = usersContainer.find('UsersContainer').props(),
          userProps = usersContainer.dive().find('.ft-users').props.users

        await usersContainer.find('UsersContainer').props().allUsers(fakeToken)

        expect(userProps).to.deep.equal(userList[0])
 })

I don't see a problem with my enzyme do you???
UsersContainer
import { connect } from 'react-redux'
import React, { Component } from 'react'
import * as UserAsyncActions from '../actions/Users/UserAsyncActions'
import Users from '../components/Users'

class UsersContainer extends Component {

  render(){
    console.log(`this.props.users: ${this.props.users}`)
    return (<Users className='ft-users' users={this.props.users} />)
  }
}
export const mapStateToProps = state => ({
  isRequestingAllUsers: state.user.isRequestingAllUsers,
  users: state.user.users
})

export const mapDispatchToProps = {
  allUsers: UserAsyncActions.allUsers
}

export { Users }
export default connect(mapStateToProps, mapDispatchToProps)(UsersContainer)

You should be using .dive() instead of .find('UsersContainer') in all cases. If you make that change and update the code above, what happens?

I tried  containerProps = usersContainer.dive().props().users
and get usersContainer.dive(...).props(...).allUsers is not a function

Where does mockGet provide the data to the store?

indirectly.  So here's the flow:
container.allUsers () => allUsers() thunk action makes an api call (which mockGet which is just nock) intercepts.  Once the API call returns, I dispatch another action with the data => reducer gets that data and updates users in state
That all works fine, I can actually confirm that the nock call is working.
So after the reducer updates state, I'd expect that my container component would be re-rendered or something like that, to where mapDispatchToProps would be ru-run and state is updated therefore this.props.users should have a value in the container

Ah - enzyme won't automatically rerender after state is updated. You'll need to explicitly call wrapper.forceUpdate(), iirc.

I tried this
await usersContainer.find('UsersContainer').props().allUsers(fakeToken)
usersContainer.forceUpdate()

and got usersContainer.forceUpdate is not a function

sorry, forgot the API - it's just .update()

so tried this, but users is still null so assert still fails
await usersContainer.find('UsersContainer').props().allUsers(fakeToken)
usersContainer.update()

Just some more context here, not that it's necessarily going to matter..I know that the console.logs are being hit below for sure:
UserReducer
import ActionTypes from '../../../src/client/actions/ActionTypes'

export const initialState = {
  isRequestingAllUsers: false,
  usersReceived: false,
  users: null
}
export default function userReducer(state = initialState, action){
  switch (action.type) {
    case ActionTypes.users.REQUEST_ALL_USERS:
      console.log('REDUCER HIT for ActionTypes.users.REQUEST_ALL_USERS ')
      return {...state,
        isRequestingAllUsers: true
      }
    case ActionTypes.users.USERS_RECEIVED:
      console.log('REDUCER HIT for ActionTypes.users.USERS_RECEIVED: ')
      console.log(`action.users: ${action.users}`)
      return {...state,
        isRequestingAllUsers: false,
        usersReceived: true,
        users: action.users
      }
      default:
        return state
  }
}

Reducers
import { combineReducers } from 'redux'

import authReducer from './AuthReducer'
import userReducer from './UserReducer'

export default combineReducers({
  auth: authReducer,
  user: userReducer
})

I see what looks like a couple off things here, commented inline
userProps = usersContainer.dive().find('.ft-users').props.users // 1. this should be props().users

await usersContainer.find('UsersContainer').props().allUsers(fakeToken)

expect(userProps).to.deep.equal(userList[0]) // 2. userProps is probably stale at this point -- should be accessed from usersContainer *after* the call has completed

update never worked for me :(


Delete Account needs to check for running pods before deleting PVC

Our current Delete Account apparently does not wait for pods to shut down, which creates a race condition. The PVC is deleted immediately, and this causes any pods that are still running to fail to shutdown because the PVC fails to unmount.
We should check for running pods before deleting an account, and have a few options for handling this case:

any running pods could be shut down, with the PVC to be deleted afterward
we could trigger an error that prevents the account from being deleted

This could probably just trigger a DELETE on the namespace. This way, Kubernetes handles all of the shutdown procedures in the background and should do everything in the right order to ensure the namespace is cleaned up completely


Feature request: 'paste' formatter type

Currently sanitizers that use scribe.registerHTMLFormatter('sanitize', ...) will sanitize both content that's pasted as well as content that is programmatically added to the editor.
However, I'd like to handle these cases separately. I'd like pasted content to be sanitized to a stricter subset of allowed tags than content that I programmatically inject into the editor. For example, I have code that adds divs to the editor, but I don't want someone to be able to paste them in.
My current workaround is to take over handling the 'paste' event from scribe. I sanitize the content and then place it into the editor at the cursor position.
I'd like to propose a new HTML Formatter type that is called by in Scribe's 'paste' handler that will give client code an opportunity to sanitize only pasted content. Example code would look like:
scribe.registerHTMLFormatter('paste', function(html){ return sanitizePastedContent(html); });

I can file a PR for this if this proposal is OK with you.

I'm working on adding a paste helper to the test harness, and can add tests for paste formatter changes once that's ready: https://github.com/gawkermedia/scribe-test-harness/compare/add-paste-helper?expand=1
Past helper is not behaving in Chrome for me but I believe the test suite just generally doesn't work there atm?


Fix for android when doing yarn start

Added hack to prevent crashing apps using this one when os.cpus returns undefined

It returns undefined and you're waiting for array trying to get its length

Android 8.1

I wonder if os.cpus() || 1 might achieve the same goal but be a little clearer?

You are waiting that os.cpus() returns an array, if you call os.cpus().length. So in case of undefined we need an array that has one element. It's safe, because in that case we don't really know real number of cores in device cpu.
I checked my code, it works) Thank you)

The problem Is that you're trying to get the length of undefined. It crashes if you get undefined from cpus(). so we need to prevent undefined before .length. the safest way is to polyfill array that has 1 element. This fix will not change your logic , just will prevent crash

Sorry - I wrote the wrong thing; first time.  What I meant to write was:
os.cpus() ? os.cpus().length : 1;

This should have the same effect as yours but be more obvious in its intent.  What I mean is, when I read (os.cpus() || [null]).length my immediate thought is "what's the significance of null"?  Why null?
You have to think some more before you draw the conclusion that null is not significant at all; it could be any value at all; all you care about is an array having a single member so you can .length.
I'm very much a fan of code being very clear and easy to reason about; hence my suggestion.  What do you think?

 You're trying to get length property from undefined still in this code. This moment crashes the app

Maybe this solving
(function() { try { return os.cpus().length} catch (e) { return 1 } })()

Do you understand, thit this will cause an error. You're trying to get length property from undefined still in this code. This moment crashes the app

You're right - that's why I suggested this: (bug in my initial idea)
os.cpus() ? os.cpus().length : 1;

In this way you decrease performance because call cpus() 2 times so thats why i solved it in my way...
But your code solves the problem) thank you)

Would you like to tweak the solution to my suggestion?  I don't see any reason why we couldn't merge that.

Im sorry, i'm bad at english, i'm afraid i cant fully understand your last comment :) If I understand you right, you wanted me to change the solution as we descided :) It's ready)

Looks good - thank you for your work :)

thank you :)
now you we can launch react typescript applications with yarn in android environment (i used termux console emulator)
unbeliveable!!!


Unable to build Atom from source

Description
After failing to install Atom from an added repository I decided to follow the instructions on the Atom website to build a 32 bit version, but that also failed.
Steps to Reproduce

Download the source from git:
git clone https://github.com/atom/atom
cd atom
script/build

The build took about an hour with the following result:
aevl@aevl-1015PX:~/atom$ script/build
Node:	v4.2.6
Npm:	v3.5.2
Installing script dependencies
Installing apm
stream.js:74
throw er; // Unhandled stream error in pipe.
^
Error: read ECONNRESET
at exports._errnoException (util.js:870:11)
at TCP.onread (net.js:544:26)
/home/aevl/atom/apm/node_modules/atom-package-manager/bin/apm: line 35: /home/aevl/atom/apm/node_modules/atom-package-manager/bin/node: No such file or directory
child_process.js:487
throw err;
^
Error: Command failed: /home/aevl/atom/apm/node_modules/atom-package-manager/bin/apm --loglevel=error install
at checkExecSyncError (child_process.js:464:13)
at Object.execFileSync (child_process.js:484:13)
at module.exports (/home/aevl/atom/script/lib/install-atom-dependencies.js:19:16)
at Object. (/home/aevl/atom/script/bootstrap:28:1)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
I compile it on a fresh install of Ubuntu Xenial 16.04.1 which is running on an Asus notebook with 4GB memory, 32 bit processor

This doesn't repro on a fresh install of Ubuntu 16.04 64bit install, and doesn't look to be an architecture-specific error.
I used the recommended steps to set up my Ubuntu machine from: https://github.com/atom/atom/blob/master/docs/build-instructions/linux.md
seusher@laptop:~/Documents/git/atom$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04.1 LTS
Release:	16.04
Codename:	xenial
seusher@laptop:~/Documents/git/atom$ script/build
Node:	v4.4.7
Npm:	v3.10.9
Installing script dependencies
Installing apm
../src/onig-string.cc: In constructor ‘OnigString::OnigString(v8::Localv8::String)’:
../src/onig-string.cc:25:40: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
hasMultiByteChars = (value->Length() != utf8_length_);
^
../src/onig-string.cc: In constructor ‘OnigString::OnigString(v8::Localv8::String)’:
../src/onig-string.cc:25:40: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
hasMultiByteChars = (value->Length() != utf8_length_);
^
Installing modules ✓
Installing<EMAIL_ADDRESS>✓
Installing<EMAIL_ADDRESS>✓
......
......

But I am not compiling for a 64 bit system. My Ubuntu is 16.04.1 Xenial 32 bit, perhaps that causes the problems.

Having same error as the original message on APM install. Running latest Node 7.0.0 macOS 10.12.1

Use Node 6 for the time being.  The x64/x32 architecture issue has already been fixed.


Fix crash when prompt was called on Android Q.

Connection with issue(s)
Connected to #261 .
Testing and Review Notes

Visit a web page included window.prompt (e.g. https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_prompt).
Call window.prompt then the app crashed.

To Do

[ ] test with more cases

If you want, as the maintainer is out for quite a long time now, we are maintaining this fork:
https://github.com/arnaudelub/flutter_polywebview
package also available on pub.dev:
https://pub.dev/packages/flutter_polywebview
feel free to add you PR on this fork if you want.


Replace Hashtbl.find (discarding result) by mem

Hi!
In a couple places, Hashtbl.find is used only to check for presence.
It is replaced by mem, which saves horizontal space and returning the result.
Thanks!

Thanks !


Connection Issue

When trying to connect, i am getting connection error. I tried different ports as well. Also tired after turning off the firewall.

Hello @s123sahir. Tcp socket error occurs when connection via tcp protocol faild. You must check your network settings.
Can you check ip address availability via ping or telnet?

I also have a strange TCP connection issue with this app. I'm testing the number of concurrent TCP connections on a device I have. The device supports up to 4 connections and will reject the 5th. I've testing using Open ModScan and ModScan64. I open 5 instances of Open ModScan and the first 4 can connect with no problem. When I try to connect the 5th instance, the connection is rejected as expected. After that happens, the other 4 instances are disconnected and can no longer connect to the device until the device is rebooted. Not sure if it's an issue with my device or with Open Modscan. The strange thing is that after all instances of Open Modscan disconnect, they can no longer connect until I reboot the device. However, modscan 64 can still connect and read data when this happens. I'm not 100% sure where the problem lies but I thought I would mention it. It's also worth mentioning that Modscan64 itself does not cause the system to enter this weird state. I can connect 4 instances of Modscan64, the 5th connection is rejected and none of the other connected instances of Modscan64 seem to be affected.


Feature Request for added dashboard api creation functionality

Is your feature request related to a problem? Please describe.
When using the superset api to create dashboards, the current api only accepts the following inputs:
{   "css": "string",   "dashboard_title": "string",   "json_metadata": "string",   "owners": [     0   ],   "position_json": "string",   "published": true,   "roles": [     0   ],   "slug": "string" }
If one wants to create a dashboard entirely defined in this single api call for a post to /dashboards/, even when defining the relevant charts in position_json, those charts are not recognized, and show up as non existent in superset, because the api doesn't accept the necessary data for slices and datasources.
Describe the solution you'd like
It would be ideal if the superset api for post to /dashboards/ would accept the following parameters:
{   "css": "string",   "dashboard_title": "string",   "json_metadata": "string",   "owners": [     0   ],   "position_json": "string",   "published": true,   "roles": [     0   ],   "slug": "string",   "slices": []   "datasources": [] }
Describe alternatives you've considered
The current workaround is to define a superset dashboard in a json template and then use the /dashboard/import api.
Additional context
Add any other context or screenshots about the feature request here.

Hello @nogreintel thanks for the suggestion!
I see the point that you are making and I understand it. However, I believe the endpoint is fine as it is to avoid the risk of polluting the endpoint with a lot of data. I am curious to learn what some other people think. @villebro what's your take?


service descriptor json file naming

Please note service descriptor json file name needs to match maven coords for vertx-maven-service-factory dynamic deployment to work correctly, see recent vertx-dev discussion

Updated as per latest vertx-dev discussion


added size badge

I guess we don't need this on v4...

Why??

The answer is the README is kind of bloated... we will remove those badges on V4 ;)


pkg/trace/writer: do not decrease in-flight counter when pushing into a full queue

This change modifies the in-flight counter of the payload sender so that
it doesn't decrease when pushing into a full queue. The in-flight counter
is increased only when a push is successful, and as a result, should not
be decreased on unsuccessful pushes.

This is wrong 😊


Update External and Focus

Codecov Report
Attention: Patch coverage is 0% with 3 lines in your changes are missing coverage. Please review.

Project coverage is 11.13%. Comparing base (93a2659) to head (9f95465).

Files
Patch %
Lines

Sources/OpenGraph/Attribute/Focus.swift
0.00%
2 Missing :warning:

Sources/OpenGraph/Attribute/External.swift
0.00%
1 Missing :warning:

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #34   +/-   ##
=======================================
  Coverage   11.13%   11.13%
=======================================
  Files          41       41
  Lines         889      889
=======================================
  Hits           99       99
  Misses        790      790

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Enhancement: Assert whether environment variables are loaded correctly

Some env variables are crucial for the bot to function correctly. (bot token, deepl token, etc...)
When loading the tokens through os, an assert statement should follow to verify whether or not a correct variable is loaded.
(a check can be by length, it must be an int, etc...)

TODO: add example.env file to the repo


Port micro op EXPAND_DIMS for it to pass the tests

PR4 for Issue #46258. Please review this PR carefully. Several notes about the implementation:

Only constant tensors are supported; dynamic ones are not. This is different from the TFLite counterpart, which supports both.
For constant tensors, the TFLite op calls GetAxisValueFromTensor() and ExpandTensorDim() in the Prepare function. The TFLM op does not call either of them in Prepare, but in the Eval function.
The code to check the output tensor's shape starts at line 57, lite/micro/kernels/expand_dims_test.cc.
The output_dims used to configure the output tensor must have the right dimension number.

@rsun-bdti  Can you please resolve conflicts? Thanks!

@rsun-bdti Can you please resolve conflicts? Thanks!

@rsun-bdti Thank you for the PR, very useful addition (Keras seems to be using EXPAND_DIMS op a lot for Convolutions and Pooling). I built an Arduino library with the repository content from your PR branch, it did work, however I had to change
https://github.com/rsun-bdti/tensorflow/blob/8e5d6da9ab9b5de6be37d19099ce156f5102d59e/tensorflow/lite/micro/micro_mutable_op_resolver.h#L218
to
return AddBuiltin(BuiltinOperator_EXPAND_DIMS, Register_EXPAND_DIMS(),
Not sure if that was intentional or a bug, EXPAND_DIMS and EXP are two different operators...
Another thing I did, just for testing is adding
AddExpandDims();
to all_ops_resolver.cpp. I switch to macro ops resolver once the code and model are tested and polished, but all ops resolver is useful for testing, when you're trying different architectures.


ENYO-1227 : Tap event is not fired when scroll thumb is not disappeared in enyo.Scroller

Issue
Tap event is not fired when scroll thumb is not disappeared in Scroller. For details,
even though Scroller can not scroll up(or down) because its touchoverscroll value is false, tap event is prevented. then when scroll job process is ended, scroll thumb is hidden and user's event is triggered. so the users think that tap event callback is not just worked.
Cause
If user taps scroller during scrolling, ondown event stopped scroll and tap event is prevented.
This is scroller's intended action. but even though Scroller can not scroll up(or down) because its touchoverscroll value is false, Scroller calls internally scroll processes. so, scroll thumb is shown and prevent tap event.
Fix
The scroll callback function moves scroller and calculates its boundary. so, when boundary is scroll edge, just stop the scroll job because it does not needs to progress scroll job.
Enyo-DCO-1.1-Signed-off-by: Bongsub Kim<EMAIL_ADDRESS>

Closing PR.


fire focus event on editor using javascript

Could you help me how to focus editor using javascript?
I set ref and check inner method but there is no methods to use.
I tried to fire .focus() or .click() on textarea or pre tag but it is not working.  (I tried them https://prism-editor.netlify.app/ on console)
Do you have any idea? Thank you!

You can do this
methods:{
    focusTextArea() {
      const textarea = document.getElementsByClassName("prism-editor__textarea")[0];
      textarea.focus();
    },
}

and put a click handler on your vue-prism-editor

@click="focusTextarea"

Thank you for answering!

点击空白后，光标定位到最后一行：
    .prism-editor__container{         height: 100%;     }


Found The Open Source Kapow Miner ;)

Unam I found an open-source Kawpow Miner. The configuration is a little harder to navigate, so I will list a YouTube video on how it works because I was a bit puzzled at first. But it is on Github. The link for the Kawpow Miner Directory is
[https://github.com/RavenCommunity/kawpowminer]. (url)
The Youtube video link is: [https://www.youtube.com/watch?v=d-Uzr4rPVC8]. (url)
Source Code Link: [https://github.com/RavenCommunity/kawpowminer/archive/refs/tags/1.2.4.zip] (url)
Hopefully, this is up to your standards, and you could add it for GPU mining.

That's a forked version of Ethminer, which is a version of the miner I already use, everything in that miner (with improved code) is already inside the current GPU miner.


Demo code OnPreExecuteRef, is that a mistake? should be OnPreExecute ？

Demo code OnPreExecuteRef, is that a mistake? should be OnPreExecute ？

Hi
Thanks for pointing this out.  It is fixed now.
The OnPreExecuteRef was from as previous version of the source code.


Android Websocket Server listener

Expected Behavior
I am trying to implement a basic websocket server listener on android listening on a specific port for handshakes from multiple clients by which

The client devices should initiate a handshake everytime the android websocket server is listening.
Connection should be open as long as the server is  listening.
-Websocket Server should store the client address (socket address or IP or URI etc) when it receives a handshake. These stored client  will be used to communicate with individual clients on demand by the android user.
-Android Server should be able to send control data (text,hex,int etc) when required.
-Get the updated status message back from the devices

Current Behavior
Websocket Server is working fine with one client device using broadcast method. Handshake happening data can be send and received to and from single client device.
My code
public class WebSocketActivity extends AppCompatActivity {

    public static TextView output;
    public String[] port ;
    public static Collection<WebSocket> client;
    //public static WebSocket i = 0;

    @Override
    protected void onCreate (Bundle savedInstanceState) {
        super.onCreate ( savedInstanceState );
        setContentView (R.layout.activity_websocket);

        int conn = 0;
        String message;
        int port = 8887; // 843 flash policy port
        try {
            final WSocServer socket = new WSocServer(port);
            socket.start();
            System.out.println( "WebSocket Server started on port: " + socket.getPort() );
            output = findViewById(R.id.tv_output);
            final EditText inputText = findViewById(R.id.et_input);
            Button SendMessage =  findViewById(R.id.btn_login);
            SendMessage.setOnClickListener(new View.OnClickListener () {
                @Override
                public void onClick ( View v ) {
                    Toast . makeText ( getApplicationContext (), "Sending data " ,
                            Toast . LENGTH_LONG ). show ();
                    client = socket.connections();
                    System.out.println("connections" + client);
                    socket.broadcast(inputText.getText().toString(), client);
                }
            });

        }catch ( Exception ex ) {
        }

    }

    public static class WSocServer extends WebSocketServer {

        public WSocServer( int port ) throws UnknownHostException {
            super( new InetSocketAddress( port ) );
        }

        public WSocServer( InetSocketAddress address ) {
            super( address );
        }

        @Override
        public void onOpen(WebSocket conn, ClientHandshake handshake ) {
           // broadcast( "new connection: " + handshake.getResourceDescriptor() );
            System.out.println( conn.getRemoteSocketAddress().getAddress().getHostAddress() + " entered the room!" );
            //client = conn;

        }

        @Override
        public void onClose( WebSocket conn, int code, String reason, boolean remote ) {
            //broadcast( conn + " has left the room!" );
            System.out.println( conn + " has left the room!" );
           // output.append(conn +  " has left the room!" + "/n");
        }

        @Override
        public void onMessage( WebSocket conn, String message ) {
            //broadcast( message );
            System.out.println( conn + ": " + message );
            //output.append(message + "Data received is" + "/n");

        }
        @Override
        public void onMessage( WebSocket conn, ByteBuffer message ) {
            //broadcast( message.array() );
            System.out.println( conn + ": " + message );

        }

        public static void main(String[] args ) throws InterruptedException , IOException {
            WebSocketImpl.DEBUG = true;
            int port = 8887; // 843 flash policy port
            try {
                port = Integer.parseInt( args[ 0 ] );
            } catch ( Exception ex ) {
            }
        }
        @Override
        public void onError( WebSocket conn, Exception ex ) {
            ex.printStackTrace();
            if( conn != null ) {
                // some errors like port binding failed may not be assignable to a specific websocket
            }
        }

        @Override
        public void onStart() {
            System.out.println("Server started!");
        }

    }
}

Context
What am I trying to accomplish?
1.Websocket server listening
2.Client handshake
3.Handshake success
4.Store the clients URI
5.Keep the connection open as long as server aapp is running on mobile
6.Use the stored client URI to send data to each client devices independently.

I am trying to:

Add the clients to an Array list inside onOpen
Display it on a listview
3.On user click on the list view send message to that particular client.

The below code does the job.
`@Override
public void onOpen(WebSocket conn, ClientHandshake handshake ) {
        // conn.setAttachment(index++); //Set the attachment to the current index
        // index++;
        ip.add(getRemoteSocketAddress(conn));
        wsclientList.add(conn);
        System.out.println(wsclientList.size());

        runOnUiThread(new Runnable() {
            @Override
            public void run() {

                ArrayAdapter myadapter;
                myadapter = new ArrayAdapter<InetSocketAddress>(AndroidListViewActivity.this,R.layout.list_item, R.id.label, ip);
                ListView lv = getListView();
                lv.setAdapter(myadapter);

                lv.setOnItemClickListener(new OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                        final int device=position;

                        AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(AndroidListViewActivity.this);
                        alertDialogBuilder.setMessage("1.Toggle the light using ON and OFF \n 2.Check Visually for reversed Banks. \n 3.Swap the Banks if necessary");
                        alertDialogBuilder.setPositiveButton("ON",new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface arg0, int arg1) {

                                broadcastData[0] = 4;
                                broadcastData[1] = (byte) 255;
                                wsclientList.get(device).send(broadcastData);

                                Toast.makeText(AndroidListViewActivity.this,"You clicked yes button",Toast.LENGTH_LONG).show();
                            }
                        });

                        alertDialogBuilder.setNegativeButton("OFF",new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface arg0, int arg1) {

                                broadcastData[0] = 4;
                                broadcastData[1]=(byte) 0;
                                wsclientList.get(device).send(broadcastData);
                                //Toast.makeText(AndroidListViewActivity.this,"You clicked NO button",Toast.LENGTH_LONG).show();
                            }
                        });
                        alertDialogBuilder.setNeutralButton("SWAP",new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface arg0, int arg1) {

                                broadcastData[0] = (byte) 5;
                                broadcastData[1] = (byte) 0;

                                wsclientList.get(device).send(broadcastData);

                               // Toast.makeText(AndroidListViewActivity.this,"Check the Light Banks,if found reversed press swap button",Toast.LENGTH_LONG).show();
                            }
                        });

                        AlertDialog alertDialog = alertDialogBuilder.create();
                        alertDialog.show();
                    }
                });
            }

        });
    }

`
Scenario and Problems:

How do I access the array lists ip, wsclientList outside onOpen.
Is there a API specific method to generate a collection of active websocket clients connected to the server which can be used to display a table view containing client id, Inetaddress, port?
3.Please provide some usage examples of the methods onOpen,onWebsocketOpen.

Sorted out using this
`        @Override
public void onOpen(WebSocket conn, ClientHandshake handshake ) {
        conn.setAttachment( index); //Set the attachment to the current index
        index++;
        seriallist.add(index);
        iplist.add(getRemoteSocketAddress(conn));
        wsobjectlist.add(conn);
        System.out.println(seriallist);

        final String[] maintitle = new String[iplist.size()];
        for (int i = 0; i<iplist.size(); i++) {
            maintitle[i] = String.valueOf(iplist.get(i));
        }
        final String[] subtitle = new String[wsobjectlist.size()];
        for (int k = 0; k<wsobjectlist.size(); k++) {
            subtitle[k] = String.valueOf(wsobjectlist.get(k));
        }
        final String[] serial = new String[seriallist.size()];
        for (int j = 0; j<seriallist.size(); j++) {
            serial[j] = String.valueOf(seriallist.get(j));
        }

        System.out.println(Arrays.toString(serial));
        System.out.println(Arrays.toString(maintitle));
        System.out.println(Arrays.toString(subtitle));

       final ListView list;
        list =findViewById(R.id.list);

        runOnUiThread(new Runnable() {
            @Override
            public void run() {

                MyListAdapter adapter=new MyListAdapter(FactoryActivity.this,serial,maintitle,subtitle);
                list.setAdapter(adapter);
                list.setOnItemClickListener(new OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                        final int device=position;
                        AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(FactoryActivity.this);
                        alertDialogBuilder.setMessage("1.Toggle the light using ON and OFF \n 2.Check Visually for reversed Banks. \n 3.Swap the Banks if necessary");
                        alertDialogBuilder.setPositiveButton("ON",new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface arg0, int arg1) {
                                broadcastData[0] = 4;
                                broadcastData[1] = (byte) 255;
                                wsobjectlist.get(device).send(broadcastData);
                            }
                        });
                        alertDialogBuilder.setNegativeButton("OFF",new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface arg0, int arg1) {
                                broadcastData[0] = 4;
                                broadcastData[1]=(byte) 0;
                                wsobjectlist.get(device).send(broadcastData);
                            }
                        });
                        alertDialogBuilder.setNeutralButton("SWAP",new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface arg0, int arg1) {
                                broadcastData[0] = (byte) 5;
                                broadcastData[1] = (byte) 0;
                                wsobjectlist.get(device).send(broadcastData);
                            }
                        });
                        AlertDialog alertDialog = alertDialogBuilder.create();
                        alertDialog.show();
                    }
                });
            }

        });
    }`

I tried to follow you. But the WebSocket and WSocServer objects do not seem to exist. Someone help me please

You should add more information about your issue.

You should add more information about your issue. Please upload all of the code you have and post a link to it here.
I'm not sure how this is related to the original issue; consider creating a new issue about your problem with more details.

I use Websocket and WSocServer objects but it seems to be missing a library or some class. It tells the class to create
:(

You should add more information about your issue. Please upload all of the code you have and post a link to it here.
I'm not sure how this is related to the original issue; consider creating a new issue about your problem with more details.

My problem is simply declaring WSocServer. But it seems that the library is missing something. For example, Websocket needs implementation 'com.squareup.okhttp3: okhttp: 3.6.0'. I don't know what WSocServer needs

You should add more information about your issue. Please upload all of the code you have and post a link to it here.
I'm not sure how this is related to the original issue; consider creating a new issue about your problem with more details.
My code:

Try adding import org.java_websocket.server.WebSocketServer (you might have to remove the 'okhttp' imports because they use the same class name). If the IDE doesn't recognize it, that means that you're missing a library.
Since you're developing for Android, I'm assuming that you have a file called build.gradle. You should add this line:
compile group: 'org.java-websocket', name: 'Java-WebSocket', version: '1.5.1'

in the "dependencies" block.

Try adding import org.java_websocket.server.WebSocketServer (you might have to remove the 'okhttp' imports because they use the same class name). If the IDE doesn't recognize it, that means that you're missing a library.
Since you're developing for Android, I'm assuming that you have a file called build.gradle. You should add this line:
compile group: 'org.java-websocket', name: 'Java-WebSocket', version: '1.5.1'

in the "dependencies" block.

Perfect! That's it.
I changed everything to use 'org.java_websocket'. But there are still 2 errors. It seems that WSocServer doesn't have connections ().
And WebSocketImpl.DEBUG = true; as shown.

The connections() method should be getConnections().
The DEBUG field has been removed. You probably don't need it, but the same effect can be achieved by setting log level to TRACE

The connections() method should be getConnections().
The DEBUG field has been removed. You probably don't need it, but the same effect can be achieved by setting log level to TRACE

Thank you very much.
I am trying to connect the browser to the application. But when clicking on the Button, it only shows "Sending data". On the browser side also did not see any reaction? I have tested the Browser with another application and found a response. Can you help me
My code:

Note: it is a good idea to upload your code as text, instead of images.
Your code has a bug: you use getConnections() once, when there are no clients connected yet and it returns an empty list. When you pass it to broadcast(...), it doesn't send the message to anyone because the given list is empty.
To fix this, remove the second parameter from broadcast, and the server will send the message to all clients that are currently connected. See the documentation for more information: https://www.javadoc.io/static/org.java-websocket/Java-WebSocket/1.5.1/org/java_websocket/server/WebSocketServer.html#broadcast-java.lang.String-

Note: it is a good idea to upload your code as text, instead of images.
Your code has a bug: you use getConnections() once, when there are no clients connected yet and it returns an empty list. When you pass it to broadcast(...), it doesn't send the message to anyone because the given list is empty.
To fix this, remove the second parameter from broadcast, and the server will send the message to all clients that are currently connected. See the documentation for more information: https://www.javadoc.io/static/org.java-websocket/Java-WebSocket/1.5.1/org/java_websocket/server/WebSocketServer.html#broadcast-java.lang.String-

Thank you! I tried broadcast(String text) but App và Browser have not yet interacted with each other.
Mycode:
public void onClick ( View v ) {
                    Toast . makeText ( getApplicationContext (), "Sending data " ,
                            Toast . LENGTH_LONG ). show ();
                    client = socket.getConnections();
                    //System.out.println("connections" + client);
                    Toast.makeText(MainActivity.this, "connections" + client, Toast.LENGTH_LONG);

                    socket.broadcast(inputText.getText().toString());
                }

You should open a separate issue about this. Make sure to fill in all the required information and, if possible, include all of your code (or upload it somewhere and post a link to it).