--pretty flag for build mode (for when tsc in not running in a tty)

Search Terms

pretty tty
istty
build pretty

Suggestion

I'd like to force pretty outputs in build-mode, even if tsc is not running in a tty.
Currently only process.stdout.isTTY determines wether the output in build-mode will use the pretty option or not, and there is no way to overwrite this behaviour (at least none that i know of), as the --pretty flag only works in non-build-mode
Use Cases

I have a monorepo-setup and would like to use a combination of "build-mode" "watch-mode" and "restart my application on successful build".
using tsc-watch (which basically spawns tsc and listens to the output) I do get exactly that, but with the caveat that the logs from tsc are now no longer in pretty mode, because tsc is not running in a tty.
Having the log-output in pretty mode would be benifical in this scenario, as it would be easier for a developer to spot errors. Having a --pretty flag for build-mode would allow just that, because tsc-watch just passes its arguments to tsc.
Examples

build + watch + restart app without pretty-flag:
tsc-watch --build --onSuccess 'npm start --prefix server'

build + watch + restart app with pretty-flag:
tsc-watch --build --pretty --onSuccess 'npm start --prefix server'

Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

I'm really confused here. --build already supports --pretty, as your screenshot shows. What doesn't work today that you'd expect to work?

@RyanCavanaugh This screenshot is doctored. It shows what I'd expect to happen (as described in the hidden description of this section in the issue template)
If you run tsc in build mode in a non interactive shell (aka process.stdout.isTTY is false) you won't get pretty output, even with --pretty

This may be issue with the project you are using to build your changes. With tsc --pretty is allowed and it will show you pretty result.
[10:24:04] Starting compilation in watch mode...

../../src/compiler/builder.ts:3:49 - error TS2304: Cannot find name 'ReusableDiagnosticRelatedInformation'.

3     export interface ReusableDiagnostic extends ReusableDiagnosticRelatedInformation {
                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../../src/compiler/builder.ts:7:30 - error TS2304: Cannot find name 'ReusableDiagnosticRelatedInformation'.

7         relatedInformation?: ReusableDiagnosticRelatedInformation[];
                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../../src/compiler/builder.ts:271:64 - error TS2304: Cannot find name 'ReusableDiagnosticRelatedInformation'.

271     function convertToDiagnosticRelatedInformation(diagnostic: ReusableDiagnosticRelatedInformation, newProgram: Program): DiagnosticRelatedInformation {
                                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../../src/compiler/builder.ts:654:103 - error TS2304: Cannot find name 'ReusableDiagnosticRelatedInformation'.

654     function convertToReusableDiagnosticRelatedInformation(diagnostic: DiagnosticRelatedInformation): ReusableDiagnosticRelatedInformation {
                                                                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[10:24:13] Found 4 errors. Watching for file changes.

@sheetalkamat yes, the --pretty flag does work on its own, but not in combination with --build!
In Short, This does happens:

--pretty on any shell: output is pretty
--build --pretty on an interactive shell: output is pretty
--build --pretty on a non-interactive shell: output is not pretty

In Short, This should happens:

--pretty on any shell: output is pretty
--build --pretty on an interactive shell: output is pretty
--build --pretty on a non-interactive shell: output is pretty

@heikomat got it. Thanks for making it clear. This seems a bug in tsc


Gradle plugin

Initial gradle plugin implementation

@yole actually there is the only JDK 1.8: all other are outdated. However I think you right: we shouldn't force exact JDK version here as we can simply let IDEA to choose any


[IOU] Users are able to send payment requests and split bills with Concierge

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Platform - version:
All platforms - v1.0.37-0
How to enable the Request Money or Spilt Bills flow
As the feature is currently behind a beta, you must perform the following change to reproduce the issue. Either navigate to Permissions.js, comment out this line and return true -- or apply this diff.txt with  git apply path/to/diff.txt
Action Performed (reproducible steps):
0. Read the above section to ensure that the beta feature is available to you

Click the + icon on global create and select Request Money or Spilt Bills
Enter an amount and click Next
Search for<EMAIL_ADDRESS>Observe that Concierge is listed as a participant and available to send a payment request to
Now navigate to the Concierge DM and click the + icon within the DM
Observe that Request Money is an available option in the CreateMenu along with Add Attachment

Expected Result:

Concierge should not be an available participant to select on the IOUParticipants page via the Request Money or Split Bills flows.
Request Money should not be an available option in the CreateMenu when launched from within the Concierge DM

Actual Result:

Users can select Concierge as a participant
Users can launch the Request Money flow from within the Concierge DM

Notes/Photos/Videos:

Expensify/Expensify Issue URL: https://github.com/Expensify/Expensify/issues/162867
Upwork Job URL: https://www.upwork.com/jobs/~010daa7b8e343f79e4
View all open jobs on Upwork

Triggered auto assignment to @Luke9389 (Exported), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

I would like to work on this issue as I was one of the people who requested money for Ice Cream from Concierge while testing IOU flows 😄
Here's my proposal
We're using getNewChatOptions function to filter report list for given input text. We can add an optional param for this function to exclude Concierge from the filtered reports. So, it doesn't appear in selectable reports list.
https://github.com/Expensify/Expensify.cash/blob/9413abae217ed20082896afd82f8b34fec4acef0/src/pages/iou/steps/IOUParticipantsPage/IOUParticipantsRequest.js#L100
We can then pass this flag to getOptions function and add Concierge's email address to loginOptionsToExclude array if this flag is set.

Hi @tugbadogan. Thanks for chiming in with this proposal!
I tried testing this on my end and it wasn't workin' for me. Maybe I was holding something wrong.

Also, I'm wondering if maybe the more obvious (perhaps even "brute force") approach of editing the Create Menu directly would be better. We could put a check right here that determines if we're chatting with Concierge or not. If we are, we just don't include this menu item. I'm gonna cc @marcaaron bc he wrote this IOU stuff recently.

@tugbadogan It sounds like that will work to remove Concierge as an option on the Request and Split flows not tied to any reports:

However, there are other scenarios where we should not be able to split w/ Concierge or request money e.g.

I think these options should not be shown at all. And we also should not be able to reach this screen

Separately, I think we should fix this at the API level so it's also not possible to do at all even if the front end breaks somehow. cc @Julesssss

That's right! I missed that we skip participant selection if IOU modal is launched within a chat. In addition to my proposal, we can do the following steps;

As @Luke9389 recommended, we can check if currently viewed report has concierge as a participant to decide if we need to show IOU menu item here.
https://github.com/Expensify/Expensify.cash/blob/b05d83678eecbde2e94e322e26e8ab2c448d58ad/src/pages/home/report/ReportActionCompose.js#L336
We can throw an exception in createIOUTransaction and createIOUSplit if concierge is somehow passed as a participant, so these requests do not reach to the server even if something is broken on the front end. If you can fix the server side, this step may not be necessary.
https://github.com/Expensify/Expensify.cash/blob/7d0987a4d0f96f200005219424ed2b05bf8c88e9/src/libs/actions/IOU.js#L63

Just a thought,

As @Luke9389 recommended, we can check if the currently viewed report has a concierge as a participant to decide if we need to show the IOU menu item here.

I think the option should be shown if there are other participants in the report excluding concierge.

Sorry, @parasharrajat are you suggesting that users should be able to create a "Split" between Concierge and several participants?

I think the idea is that you could split among the non-concierge participants.

I think the idea is that you could split among the non-concierge participants.

Oh hmm I think maybe just don't allow it would be simpler. Seems kind of rare that someone would initiate a split request while getting support from Concierge, but interesting idea.

We can throw an exception in createIOUTransaction and createIOUSplit if concierge is somehow passed as a participant, so these requests do not reach to the server even if something is broken on the front end. If you can fix the server side, this step may not be necessary

I think throwing the client exception is probably not necessary. We'll just take care of it server side. The rest of the proposal looks good to me.

Same as @Luke9389 said.

Seems kind of rare that someone would initiate a split request while getting support from Concierge, but interesting idea.

Good point!

Thanks for assigning this issue to me, I will send the PR soon.

Reopening this because we are reverting https://github.com/Expensify/Expensify.cash/pull/2740 in https://github.com/Expensify/Expensify.cash/pull/2834

Thanks for reverting the PR to resolve the issue, I will send a new PR with including the fix to the regression.

New PR is ready for review https://github.com/Expensify/Expensify.cash/pull/2841


No shorts support

When downloading channel only normal videos come up and no shorts

Thanks for opening this issue. I'll start working on it soon.

Good news! Version 0.4.2 is out, and it supports YouTube shorts.


net, net/http: unpredictable slowness of TestSendfile and TestOnlyWriteTimeout w/ squeezed TCP windows

This is probably not an issue for the standard library; for the runtime package which retrieves data readable/writable notifications from the kernel, for the net package which invokes read/write system calls, and for the net/http package which adds, drops and manages in-flight connections and IO calls for customer traffic. This happens, as fa as I can observe, on any combination of FreeBSD 10 through 12  and go1.7 through tip.

Not sure the reason; sb{r,w}wakeup miss some important condition? tcp_input miscalculates some threshold for sb{r,w}wakeup? tcp over ip over lookup does some special short-circuit/fuse stuff? or runtime-integrated network poller is not invoked appropriately? (the last one is unlikely)
Note that I ran the above test under some VM stuff on my '09 laptop and I guess that test results may vary on circumstances.

One thing to be added; with the script TestOnlyWriteTimeout crashes like the following:
httptest.Server blocked in Close after 5 seconds, waiting for connections:
  *net.TCPConn 0xc42000e0e8 <IP_ADDRESS>:54827 in state active
http: panic serving <IP_ADDRESS>:54827: runtime error: invalid memory address or nil pointer dereference
goroutine 12 [running]:
net/http.(*conn).serve.func1(0xc420019b80)
	/go/src/net/http/server.go:1721 +0xd0
panic(0x866020, 0xb08d60)
	/go/src/runtime/panic.go:489 +0x26e
net/http_test.TestOnlyWriteTimeout.func1(0xae37a0, 0xc4200880e0, 0xc420102000)
	/go/src/net/http/serve_test.go:603 +0x18b
net/http.HandlerFunc.ServeHTTP(0xc4200d5280, 0xae37a0, 0xc4200880e0, 0xc420102000)
	/go/src/net/http/server.go:1942 +0x44
net/http.serverHandler.ServeHTTP(0xc420072420, 0xae37a0, 0xc4200880e0, 0xc420102000)
	/go/src/net/http/server.go:2572 +0x92
net/http.(*conn).serve(0xc420019b80, 0xae4060, 0xc42004b640)
	/go/src/net/http/server.go:1825 +0x6b7
created by net/http.(*Server).Serve
	/go/src/net/http/server.go:2672 +0x2ce
--- FAIL: TestOnlyWriteTimeout (15.54s)
	serve_test.go:631: timeout waiting for Get error
FAIL
exit status 1
FAIL	net/http	15.564s


Question: How to add chrome extension

How do I extensions in Playwright. I'm using below p;iece of code but not able to add. Please help.
 var playwright = await Microsoft.Playwright.Playwright.CreateAsync();
 var headless = Convert.ToBoolean(ConfigurationData.GetAppSetting("HeadlessModeEnabled"));
 var pageDefaultTimeoutInMs = Convert.ToInt32(ConfigurationData.GetAppSetting("PageDefaultTimeoutInMs"));
 IBrowser? browser;
 if (!headless)
 {
     browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions
     {
         Headless = headless,
         Args = new[]
         {
             "--start-maximized",
             "--load-extension=C:\\Users\\kabdul\\AppData\\Local\\Google\\Chrome\\User Data\\extensions_crx_cache\\ndgimibanhlabgdgjcpbbndiehljcpfh_1.ae972fbce9ff8459dede10532d16a7eb9927091e112a9e5c0ffe0a51eb6a7496"
         }
     });
     var context = await browser.NewContextAsync(new BrowserNewContextOptions() { ViewportSize = ViewportSize.NoViewport });
     _Page = await context.NewPageAsync();
 }
 else
 {
     browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions
     {
         Headless = headless
     });

     _Page = await browser.NewPageAsync();
 }

 _Page.SetDefaultTimeout((float)pageDefaultTimeoutInMs);
 return _Page;

In order to load a Chrome extension, you need a persistent context instead of normal launch. This would then look something like that:
using Microsoft.Playwright;

using var playwright = await Playwright.CreateAsync();
var extensionPath = "C:\\Users\\maxschmitt\\development\\playwright-dotnet\\src\\Playwright.Tests.TestServer\\assets\\simple-extension (81)";
await using var context = await playwright.Chromium.LaunchPersistentContextAsync("", new(){
    Headless = false,
    Args = new[] {
        $"--disable-extensions-except={extensionPath}",
        $"--load-extension={extensionPath}",
        "--start-maximized",
    },
    ViewportSize = ViewportSize.NoViewport
});
await context.Pages[0].PauseAsync();

$"--load-extension={extensionPath}",

I get this error ---------------------------
Error Loading Extension
Failed to load extension from: C:\Users\kabdul\AppData\Local\Google\Chrome\User Data\extensions_crx_cache\ndgimibanhlabgdgjcpbbndiehljcpfh_1.ae972fbce9ff8459dede10532d16a7eb9927091e112a9e5c0ffe0a51eb6a7496. Manifest file is missing or unreadable
OK

@mxschmitt - Sorry to push you, I don't know whether you are working or enjoying your holidays, whenever you find time could you please let me know how to resolve my error.

Most likely C:\Users\kabdul\AppData\Local\Google\Chrome\User Data\extensions_crx_cache\ndgimibanhlabgdgjcpbbndiehljcpfh_1.ae972fbce9ff8459dede10532d16a7eb9927091e112a9e5c0ffe0a51eb6a7496 doesn't contain the unpacked extension, so Chromium can't load it. Have you tried unpacking the crx file directly? (crx can be unpacked using a zip extract tool)

Most likely C:\Users\kabdul\AppData\Local\Google\Chrome\User Data\extensions_crx_cache\ndgimibanhlabgdgjcpbbndiehljcpfh_1.ae972fbce9ff8459dede10532d16a7eb9927091e112a9e5c0ffe0a51eb6a7496 doesn't contain the unpacked extension, so Chromium can't load it. Have you tried unpacking the crx file directly? (crx can be unpacked using a zip extract tool)

I forgot to mentioned I already tried with .crx and I get the below error Error Loading Extension
Failed to load extension from: C:\Kaleem\SeleniumHubExtensionFile\NDGIMIBANHLABGDGJCPBBNDIEHLJCPFH_5_1_6_0.crx. Manifest file is missing or unreadable
OK

You need to unpack the crx file:

rename the file's extension from crx to zip e.g. foo.zip
extract it
point this folder to the folder which we use in the code in https://github.com/microsoft/playwright-dotnet/issues/2804#issuecomment-1864290596

C:\Users\kabdul\AppData\Local\Google\Chrome\User Data\extensions_crx_cache

I still have the same issue. Attaching screen shot which shows all the extract files are there in the folder

Maybe its no extension?
I'm closing this issue for now, since its not actionable for us. Most likely the folder you are using is not an unpacked Chromium extension. Also make sure that you launch your browser headed, or use headless=new, since extensions are not usable in a headless browser.


fixing up empty-server-timeout

Moved the logic for empty-server-timeout to its own function, fixed it up a bit, and added some logging.
At some point we talked about the default should be 0 because that will be easiest for anyone that wants to run their own server.  That does mean we'll have to pass --empty-server-timeout=60 for the AWS servers.
And the reason for the extra user friendly validation and logging is for the same reason, someone other than devs may try to set up a server, and I think it would be best if it's easy to see if they did something wrong.

Screenshots from tests ran on AWS:


DOC: add Examples for ndimage.spline_filter1d() and spline_filter() docstrings

Reference issue

Fix a part of #7168
What does this implement/fix?

add Examples for ndimage.spline_filter1d() and spline_filter() docstrings

Very nice, thanks @AtsushiSakai. Merged.


[1.1.x] Fix NPE on duplicate field in record declaration

Purpose
$title to 1.1.x
Fixes #20259
Check List

[ ] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

@irshadnilam Can you sync this PR with Ballerina-1.1.x branch. The travis.yaml file needs to be updated.

Codecov Report

Merging #20514 into ballerina-1.1.x will not change coverage.
The diff coverage is n/a.

@@               Coverage Diff                @@
##           ballerina-1.1.x   #20514   +/-   ##
================================================
  Coverage            15.21%   15.21%
================================================
  Files                   50       50
  Lines                 1341     1341
  Branches               208      208
================================================
  Hits                   204      204
  Misses                1121     1121
  Partials                16       16

Continue to review full report at Codecov.

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

@irshadnilam Can you sync this PR with Ballerina-1.1.x branch. The travis.yaml file needs to be updated.

Done.


Position/Tranformation Component

In Unity this component is called Transform. So +1 for that name, or something similar.


Expected tag value:

Tag value in latest builds:

This is the reason the tree has been behaving erratically in last few days.

this is related to the prod- staging- prefixes in the benchmark names. This was introduced in this CL https://flutter-review.googlesource.com/c/infra/+/18400

We should keep suffix staging for these four tests.

Status is populating correctly after: https://flutter-review.googlesource.com/c/infra/+/18440

Tried to understand how the prod- was added to the id but is seems like it is baked into the luci config tooling to avoid id conflicts. E.g same builder name in different pool get the pool name as part of the id.

Let's move this as P1 and land the correct fix to prevent this from happening again. I'll provide some more details in a few mins.

We need to modify https://cs.opensource.google/flutter/cocoon/+/main:app_dart/lib/src/service/luci.dart;l=183 to use the following instead of tag:
 "builder": {
            "bucket": "",
            "builder": ""
        }

And pass the pool all the way from https://cs.opensource.google/flutter/cocoon/+/main:app_dart/lib/src/request_handlers/push_build_status_to_github.dart;l=73 to the getBuilds method.

We need to modify https://cs.opensource.google/flutter/cocoon/+/main:app_dart/lib/src/service/luci.dart;l=183 to use the following instead of tag:
 "builder": {
            "bucket": "",
            "builder": ""
        }

And pass the pool all the way from https://cs.opensource.google/flutter/cocoon/+/main:app_dart/lib/src/request_handlers/push_build_status_to_github.dart;l=73 to the getBuilds method.

Here is the context why we switched from builder search to tags: https://github.com/flutter/flutter/issues/87512

Was that context from before we had the luci.flutter.staging pool?

Was that context from before we had the luci.flutter.staging pool?

Oh, no. We have been running tests in both prod and staging, and the builder buildbucket API worked well until the HHH dart test started running by sharing the same builder as ours. It caused issue https://github.com/flutter/flutter/issues/87512, and to fix that we switched from builder to tags to exclude those HHH tests from ours.

Seems like the luci-status handler needs a major redesign. There were more than 3 issues related to this handler in the past week alone.

With https://github.com/flutter/flutter/issues/94522, Cocoon now has every supported repos information in datastore. This allows us to revert back to the old datastore algorithm which is aligned with the tree policy.


vimhelp backend updated for ghc-7.4.2

Original reporter: lars_e_krueger@
I included 2 patches in the attachment.
submission_20120929_ghc-7.4.1.patch applies to tag ghc_7.4.1-release
submission_20120929_ghc-7.4.2.patch applies to tag ghc_7.4.2-release
For some reasons I have haddock 2.10.0 together with ghc 7.4.2 on my system (Gentoo with haskell overlay). Hence, I prepared both patches

@LarsEKrueger I suspect this was your PR, from ages ago. The patch files are well gone (due to the bug import process).  I also suspect that if you did want to pick this up in the future, the api would indeed be the right way these days. So I'm  closing this issue for the time being. If you did want to pick up changes to haddock that you think would help with integration efforts, future issues  and PRs are certainly very welcome!

That's fine with me.
Dr. Lars Krueger

Gesendet: Mittwoch, 07. Februar 2018 um 05:30 Uhr
Von: gbaz<EMAIL_ADDRESS>An: haskell/haddock<EMAIL_ADDRESS>Cc: LarsEKrueger<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Betreff: Re: [haskell/haddock] vimhelp backend updated for ghc-7.4.2 (#215)
@LarsEKrueger I suspect this was your PR, from ages ago. The patch files are well gone (due to the bug import process). I also suspect that if you did want to pick this up in the future, the api would indeed be the right way these days. So I'm closing this issue for the time being. If you did want to pick up changes to haddock that you think would help with integration efforts, future issues and PRs are certainly very welcome!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


Logframe included in IPTT export

Second tab added to Logframe export, with the change log.

Originally I thought the logframe change log would be separate from the IPTT change long, and so the logframe export would be the only place to export logframe updates. Turns out we are integrating logframe changes into the master IPTT change log. So this ticket is no longer needed.


Plan API Documentation Structure

Documenting the basic API methods in these descriptions will be done with the following structure:

/entity

GET, List all entities.
POST, Create an entity

field1*: String
field2: Integer

/:entity-id

GET, Get the details of an entity
DELETE, Delete an entity
PUT, Update an entity

field1*: String
field2: Integer

However, documentation of the WebSocket API needs to be looked into.

OpenAPI will be used for the regular endpoints of the app. Elysia can generate it automatically with its Swagger plugin.
AsyncAPI will be used for the WebSocket API. Since Elysia cannot automatically generate its spec file, one will have to be written manually.


chore(workflows): Added Github Action for greeting

This PR is for adding GitHub Action to welcome new contributors to the repository when they submit a PR or an issue.

Closing as this action does not currently work on PRs from forks.


Environment variables (PYTHONPATH) not read for testing in vscode

Environment data

VS Code version: 1.44.2
Extension version (available under the Extensions sidebar): 2020.4.74986
OS and version: Windows 10
Python version (& distribution if applicable, e.g. Anaconda): 3.8.2
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): N/A

Expected behaviour
It should be able to modify environment variables (PYTHONPATH) according to .env, like in the previous version.
Actual behaviour
It does not modify any environment variable during test runs through the VSCode Test tab.
Steps to reproduce:

Create a python module defined outside default PYTHONPATH (e.g. {workspaceFolder}/src/)
Modify the .env file PYTHONPATH variable to search for specified module created in step 1.
Create a unit test (unittest) using the created module in a different folder (e.g. {workspaceFolder}/tests/)
Run the test from the VSCode tab.
Test fails since it can not find the module created in step 1.

Thought I was crazy for a while thinking I had screwed something during previous demos but I'm also having the same issue discovered today. Used to work 1 or 2 days ago before update v1.44.2 as well, and also using ".env" file to define the PYTHONPATH environment variable to a "./src" folder.
Manually running the tests from the terminal using "python -m unittest discover -s ./tests -p "test_*.py" works perfectly given I have the PYTHONPATH also defined in my workspace "settings.json" file under the "terminal.integrated.env.linux" configuration block.
Running in a VS Code remote container (Buster).
.env
PYTHONPATH=./src:./tests:${PYTHONPATH}

settings.json
"PYTHONPATH": "./src/:./tests/:${PYTHONPATH}"

Programmatically adding the "./src" folder top of the unittest file, before the imports, works well as a workaround.
import os, sys
sys.path.insert(0, './src')

# custom imports after

Trying to add it to "PATH" using the "settings.json" similar to PYTHONPATH didn't work for me, even though I can see the path in there printing the "os.environ['PATH']". Tried with both relative and absolute paths.

UPDATE
I have been able to fix the issue by completely uninstalling the Python extension, closing VS Code, and deleting all of the the ~/.vscode-server/extensions/ms-python.* folders, then reinstalling it. For whoever using a local install, it should be ~./vscode/extensions/ms-python.*.
Works fine for me so far after 2 reloads of VS Code to see if it would last.
Hope it can save someone a few hours !

The cause for this is same as #11264


Multiple ZeroMQ Brokers

I have setup a crawler based on the production broad crawl tutorial (Using ZeroMQ and HBase). I have tested running 2 spiders on 2 computers and they are working. They share the load and all. But I think that if I increase the number of computers or spiders then the message broker will become a bottleneck.
How can I run multiple brokers and how will be they setup i.e. settings to change, recommended number of spiders per broker, and anything else I should know.
Or if I should use Kafka instead?(then Please tell me the above things for it as well)
Thank You

Hi @LabhanshAgrawal ZeroMQ broker is very lightweight process, and I think it could handle say 8 spiders, may be more. I would expect that bottleneck will be happening in SW and DBW much earlier. At the moment ZeroMQ broker doesn't support running multiple DBW or SW instances, so the Kafka is the way to go.
Unfortunately, there are no exact recommendations for Kafka. But I would recommend to tune it for throughput, instead of storage. E.g. run it on SSD or RAM disk and reduce the retention process overhead, and avoid hot spotting of single Kafka broker.


Fiji Cellpose wrapper, default values

Hi @carsen-stringer ,
thank you for making your tool available! Following recent work to use Cellpose within QuPath, I'm working on a simple Cellpose wrapper for Fiji.
Your documentation mentions the default value for the diameter diameter: (float)`average diameter of objects in image, if 0 cellpose will estimate for each image, default is 30 but I couldn't find (yet) the default values for :
--flow_threshold FLOW_THRESHOLD , flow error threshold, 0 turns off this optional QC step
and
--cellprob_threshold CELLPROB_THRESHOLD cell probability threshold, centered at 0.0
So far I guessed it's zero, but I'd be happy to have a confirmation.
Thank you again,
Romain

awesome! you can find the default values here: https://cellpose.readthedocs.io/en/latest/api.html

FYI not sure what level of wrapper you're thinking, but there is this already implemented: github: https://labelstorois.github.io/

Hi @carsen-stringer ,

awesome! you can find the default values here: https://cellpose.readthedocs.io/en/latest/api.html

Thank you for providing the link, that's exactly what I needed! I should have thought to look there -_-'

FYI not sure what level of wrapper you're thinking, but there is this already implemented

Currently, the Cellpose wrapper sequentially:

saves the current Fiji image in a temporary folder
starts the cellpose-env and runs Cellpose with defined parameters
opens the created label image in Fiji
cleans the temporary folder

We also implemented a Label2Rois  a while ago...
Best


RHEL7 insallation .NET Core 3.1 update

Source https://developers.redhat.com/blog/2019/12/16/net-core-3-1-for-red-hat-enterprise-linux-7-now-available/
Summary
RHEL7 insallation .NET Core 3.1 update

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: wast sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Solution to Invalid Topic Name on Producer

Hi! 👋
Firstly, thanks for your work on this project! 🙂
Today I used patch-package to patch<EMAIL_ADDRESS>for the project I'm working on.

Here is the diff that solved my problem:
diff --git<EMAIL_ADDRESS><EMAIL_ADDRESS>index 9bd0b5b..0a13615 100644
---<EMAIL_ADDRESS>+++<EMAIL_ADDRESS>@@ -97,8 +97,8 @@ let KafkaService = KafkaService_1 = class KafkaService {
             this.logger.error('There is no producer, unable to send message.');
             return;
         }
-        const serializedPacket = await this.serializer.serialize(message);
-        return await this.producer.send(serializedPacket);
+        await Promise.all(message.messages.map(x => x.value = JSON.stringify(x.value)))
+        return await this.producer.send(message);
     }
     getGroupIdSuffix(groupId) {
         return groupId + '-client';

This issue body was partially generated by patch-package.

Hi @samithbharadwaj thanks for the diff. What config are you using? And are you using JSON for your messages in Kafka?

Hi @rob3000
Are you referring to the Kafka Config? If yes, please find it below
{
        name: 'HERO_SERVICE',

        options: {
          client: {
            clientId: 'hero',
            brokers: ['localhost:9092'],
          },
          consumer: {
            groupId: 'hero-consumer',
          },
          producer: {
            allowAutoTopicCreation: true,
          },
        },
      },

Yes, I'm using JSON for my serialization and deserialization. I'm using Kafka for interservice communication between microservices.
PS: I'm sure there's a prettier/better way to do the serialization. This method would not hold up for circular JSON structures. But I'm just using this as a temporary fix. Will need to write a custom serializer very soon.

So most likely it looks like there could be an issue in the https://github.com/rob3000/nestjs-kafka/blob/master/src/serializer/kafka-request.serializer.ts


illumination and contrast as image augmentation parameters explained

I am trying to understand the valid values for the illumination and contrast image augmentation parameters but the docs are quite succint.  A value of zero means no change but what are the reasonable range of values that I can use?
I tried looking at the code and the relevant section seems to be in src/io/iter_normalize.h (copied bellow) but I get confused by the rand_uniform(rnd_) and I fail to understand the valid ranges of contrast and illumination.
outimg_.Resize(data.shape_);
    float contrast =
        rand_uniform(rnd_) * param_.max_random_contrast * 2 - param_.max_random_contrast + 1;
    float illumination =
        rand_uniform(rnd_) * param_.max_random_illumination * 2 - param_.max_random_illumination;

    if (param_.mean_r > 0.0f || param_.mean_g > 0.0f ||
        param_.mean_b > 0.0f || param_.mean_a > 0.0f) {
      // subtract mean per channel
      data[0] -= param_.mean_r;
      if (data.shape_[0] >= 3) {
        data[1] -= param_.mean_g;
        data[2] -= param_.mean_b;
      }
      if (data.shape_[0] == 4) {
        data[3] -= param_.mean_a;
      }
      if ((param_.rand_mirror && coin_flip(rnd_)) || param_.mirror) {
        outimg_ = mirror(data * contrast + illumination) * param_.scale;
      } else {
        outimg_ = (data * contrast + illumination) * param_.scale;
      }

This issue is closed due to lack of activity in the last 90 days. Feel free to reopen if this is still an active issue. Thanks!


Eager loading with cursor (lazy collections)

Hello, I noticed eager loading is ignored works when fetching entities with cursors (kinda makes sense, extra magic is probably needed)
I think this should throw an error if it's not supported
>>> ServiceTimeSlot::with(['service'])->cursor()->all()
=> [
     App\ServiceTimeSlot {#3678
       service_id: 1,
       time_table_id: 1,
       week_day: 0,
       start_at: "10:44:46",
       end_at: "11:44:00",
     },
   ]

>>> ServiceTimeSlot::with(['service'])->get()
=> Illuminate\Database\Eloquent\Collection {#3677
     all: [
       App\ServiceTimeSlot {#3688
         service_id: 1,
         time_table_id: 1,
         week_day: 0,
         start_at: "10:44:46",
         end_at: "11:44:00",
         service: App\Service {#3703
           id: 1,
           name: "Prof. Richie O'Connell",
           description: "Eos perspiciatis aut officia enim.",
           price: 4.0,
           cost: 9.0,
           slot_count: 3.0,
           created_at: "2019-11-13 08:55:30",
           updated_at: "2019-11-13 08:55:30",
           needs_doctor: 1,
           admin_only: 1,
           show_frontend: 1,
           organization_id: 1,
           color: "#00dd99",
           partecipants: 7,
           is_course: 0,
         },
       },
   ]
}

Hi there,
Thanks for reporting but it looks like this is a question which can be asked on a support channel. Please only use this issue tracker for reporting bugs with the library itself. If you have a question on how to use functionality provided by this repo you can try one of the following channels:

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord
Larachat
IRC

However, this issue will not be locked and everyone is still free to discuss solutions to your problem!
Thanks.

Hi there, would it be implemented?
Because, in my opinion, it is a very useful functionality, especially that in result we have instance of the Eloquent Model (when iterating LazyCollection), so it would be great if we are able to eager load relations when using, f.e. 64 rows per cursor query...

@driesvints I think this needs to be revisited. Ran into this problem and noticed eager loading is totally ignored when using ->cursor() it's most strange behaviour. Should probably throw an exception if eager loading is detected and using cursor, or ideally support it.

@garygreen please see the docs: https://laravel.com/docs/10.x/eloquent#cursors


The includes field of objc_library won't be propagated when virtualize_frameworks is enabled

When enabling --features=apple.virtualize_frameworks, the includes field of objc_library won't be propagated to the transitive reverse apple_framework deps.
Here is the sample code.
objc_library(
    name = "Lib1",
    includes = ["Header1"],
    srcs = ["Empty.m"],
)

objc_library(
    name = "Lib2",
    includes = ["Header2"],
    srcs = ["Empty.m"],
    deps = [":Lib1"],
)

apple_framework(
    name = "Framework1",
    srcs = ["Empty.swift"],
    deps = [":Lib2"],
)

apple_framework(
    name = "Framework2",
    srcs = ["Empty.swift"],
    deps = [":Framework1"],
)

bazel build //:Framework2 -s. Check the Swift compiler flags for Framework2 (should be a file called Framework2.swiftmodule-0.params), we see -Xcc -IHeader1 -Xcc -IHeader2.
bazel build //:Framework2 -s --features=apple.virtualize_frameworks. Check the Swift compiler flags again, we do not see -IHearder1 or -IHeader2.

The includes field of objc_library should be propagated to all the reverse deps. This is true when the deps are objc_library, swift_library, apple_framework without virtualize_frameworks, but it's not true for apple_framework with virtualize_frameworks.
I have the sample code and repo steps here.

objc_library and include propagation is turned off in this case - it virtually supports frameworks all the way down. I imagine we'd integrate something like this to the virtual file system but it's probably an involved change - bridging other modular interfaces is something we'd want to tackle for PodToBUILD support - but hasn't had a push
This said - theres a few ways to pull it off today.

Can you wrap Empty.m in an apple_framework instead of using objc_library?
or
If you're unable to do 1. - the other suggestion is to bridge the code from objc_library via apple_framework_packaging - something like this. I've done stuff like this to pull other objc_librarys  which were bridged to a framework interface

Thanks for the response, @jerrymarino! The problem is that the chain of #import in the header files can go nuts. It's really hard to wrap them in a modulemap without providing extra search paths. The option 1 didn't work for me, but I'll try option 2.
For more context, I'm trying to integrate FlipperKit, which has dozens of targets with c, cpp, objc and objc++ sources 😞. Not sure if anyone is successfully using it with Bazel.

This change (https://github.com/bazel-ios/rules_ios/pull/581) has fixed this problem!

This change (#581) has fixed this problem!

See @jerrymarino’s comments in that PR. I was not aware of the context on this when I landed that change, it’s possible that adding this will cause perf issues but I haven’t seen any reports yet and will continue to monitor. We need both changes (1) included being propagated (2) no perf hits so if anything shows up I’d rather fix the perf issue than reverting the “includes” PR.
Please file issues here with context if you see any perf issues after start consuming this change!


Improved the README file

Some much needed grammatical and other improvements to the README.md file

@saurabhcodes25 Please create an issue and then link that to this PR.


hubot "intel map" addition

It would be nice if the "hubot intelmap" listener would also respond to "hubot intel map". We have many users who use their phones exclusively, and autocorrect likes to add that space.

I was able to get this to work and added the option to call the command with just "intel" as well as "intel map" as the short form was requested in our local community as well. @therealklanni, still new to this so don't know if I have to create a new pull request or what but here is the output tested on our slack instance.

Yep, need a new PR for each bugfix or new feature.
I hesitate with the addition of being able to say just "intel", since it's so generic. I wonder if it would clash with any other hubot scripts.


Publish modal's comment text box needs some ux love

Describe the bug
When you publish a bot using an existing publishing profile, you'll be prompted with a "Publish" modal where the profile name, publishing target and publishing comment can be added before invoking the actual publish action.
The comments text field is oddly small.  See screen shot.
Version
Version:  1.4.0-nightly.232669.4daad5c
Electron: 8.2.4
Chrome: 80.0.3987.165
NodeJS: 12.13.0
V8: 8.0.426.27-electron.0
Browser

[x] Electron distribution
[ ] Chrome
[ ] Safari
[ ] Firefox
[ ] Edge

OS

[x] macOS
[ ] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:

Open an existing bot project.
Create a publishing profile, if the project doesn't yet have one.  This will perform the necessary provision and deployment steps.
With a fully functioning publishing profile, nav to the Publish your bots page.
Select the bot to publish, ensure you have your publishing target selected (should already be selected)
Click the "Publish selected bots" top-level menu item to invoke the publishing flow.  This will display the Publish modal.
Notice the comments edit box.

Expected behavior
In general, we seem to have overly narrow dialogs in Composer.  In this particular modal, the edit box doesn't even show the full help text.
Screenshots

May be preferred to remove border when not selected

@pavolum can you give me something larger than 6 characters?  that's the real issue I'm raising, not really the border issue.

Yes that change is already in, what I was noting was a UI request from Marieke


supavisor install missing info & fails when applying migrations

Bug report
Describe the bug
Two issues:

in the install docs, we are missing command to get the dependencies. The following command is needed after cloning the repo:

mix deps.get

Cannot get supavisor working locally. When applying the migrations via mix ecto.migrate --prefix _supavisor --log-migrator-sql, I get the following error:

$ mix ecto.migrate --prefix _supavisor --log-migrator-sql
==> opentelemetry_semantic_conventions
Compiling 1 file (.erl)
Compiling 3 files (.ex)
Generated opentelemetry_semantic_conventions app
==> typed_struct
Compiling 2 files (.ex)
Generated typed_struct app
==> file_system
Compiling 7 files (.ex)
Generated file_system app
==> connection
Compiling 1 file (.ex)
Generated connection app
==> deep_merge
Compiling 2 files (.ex)
Generated deep_merge app
===> Analyzing applications...
===> Compiling poolboy
==> eternal
Compiling 5 files (.ex)
Generated eternal app
==> decimal
Compiling 4 files (.ex)
Generated decimal app
==> mime
Compiling 1 file (.ex)
Generated mime app
==> artificery
Compiling 10 files (.ex)
Generated artificery app
==> distillery
Compiling 33 files (.ex)

== Compilation error in file lib/distillery/releases/runtime/control.ex ==
** (RuntimeError) error parsing file /usr/lib/erlang/lib/runtime_tools-2.0/include/observer_backend.hrl, got: {:error, :enoent}
    (elixir 1.15.6) lib/record/extractor.ex:84: Record.Extractor.read_file/2
    (elixir 1.15.6) lib/record/extractor.ex:50: Record.Extractor.extract_record/2
    lib/distillery/releases/runtime/control.ex:10: (module)
could not compile dependency :distillery, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile distillery --force", update it with "mix deps.update distillery" or clean it with "mix deps.clean distillery"

To Reproduce

clone git repo
run postgres via docker: docker compose -f postgresql.yml up
run mix deps.get
run mix ecto.migrate --prefix _supavisor --log-migrator-sql

System information
OS: Ubuntu 22.04.3 LTS
mix version:
$ mix --version
Erlang/OTP 26 [erts-14.1] [source] [64-bit] [smp:16:16] [ds:16:16:10] [async-threads:1] [jit:ns]

Mix 1.15.6 (compiled with Erlang/OTP 26)

Additional context
I tried this on the main branch and also on the v0.9.0 tag. Both had the same problem described above.

Thank you for your bug report!

The fix has already been merged to main, try it again, please


plugins: add preferredValues to props API typings

Updating typings. PR to add logic here: https://github.com/figma/figma/pull/82156

@james04321 @trev4ev do you mind looking at this PR? i think this needs to be merged in before we can get the other prop plugin changes in: https://github.com/figma/figma/pull/82156


:sparkles: client: Generate apply configurations

Summary
This PR enables the generation of apply configurations for kcp APIs, so they can be used for server-side apply requests.
Requires https://github.com/kubernetes/kubernetes/pull/114920.

/lgtm
/approve


Unexpected return value in Match statement for non-matching cases

Reproducing the behavior
def main:
 input = 3

 match input:
   case List/Cons:
     return "list"
   case List/Nil:
     return "empty list"

This code returns 3 even though I don't have return 3 anywhere in the code.
It should not return anything in this case.
System Settings

HVM: HVM 2.0.19
Bend: 0.2.33
OS: Linux (Ubuntu 24.04 LTS)
CPU: AMD Ryzen 5 3600

Same unexpected result with run and run-c

Matching on the wrong type of value will break your program. This is the expected behaviour.
When we implement a type system this will be a compilation error


Add run_constrained

This PR adds a missing run_constrained metadata option to make sure you can't install liblalframe alongside older lalframes, which will conflict.
Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


New InstanceOfPatternMatch recipe

Implement a recipe which for Java 17+ transforms instanceof expressions which have a corresponding type cast within their flow scope (see https://openjdk.org/jeps/394 for details) to an instanceof with a pattern variable and then also substitutes the type cast expressions accordingly.

This is still a draft. There are still a few TODOs and the code is probably not very OpenRewrite-idiomatic, as I probably missed out on some helper utilities or misunderstood how to use all available constructs. A critical review would be most appreciated!

An interesting enhancement could be to inline the expression, if it isn't referenced anywhere else. E.g.
Object o = foo.bar();
if (o instanceof String && ((String) o).isEmpty()) {
    // ...
}

would become:
if (foo.bar() instanceof String o && o.isEmpty()) {
    // ...
}

if o isn't referenced anywhere outside the if-statement. I would however propose to file a separate enhancement request for this and maybe that should even be a completely independent (reusable) visitor.

@sambsnyd I consider this PR to be ready to be reviewed now. I still think that some things may be a bit non-idiomatic and would be glad for some tips on how to improve the code. (I am for instance wondering if it would be more idiomatic to schedule a separate after-recipe for each occurrence, rather than try to collect them all into a single input for the visitor.)
To be on the safe side, I currently exclude any expressions, which may have side effects (as determined by Expression#getSideEffects()). I noticed that a few expression types were missing the implementation for this method or had an incorrect implementation. I will look into this in a separate PR. (I would also like to consider support for IDEA's @Contract(pure=true) and possibly also the Checker framework's corresponding annotation, but also that will be a separate issue.)

@sambsnyd I consider this PR to be ready to be reviewed now. I still think that some things may be a bit non-idiomatic and would be glad for some tips on how to improve the code. (I am for instance wondering if it would be more idiomatic to schedule a separate after-recipe for each occurrence, rather than try to collect them all into a single input for the visitor or possibly it is even considered better practice to directly "inline" the visitor into the respective visitXyz() method and call the visit(Tree, P, Cursor) method on it.)

Collecting them all into a single input for the visitor is definitely better for performance than separate after-recipe for each. Better to pay the cost of traversing the LST once rather than n times.
I have developed a preference for visitXyz() rather than doNext(). I often find it easier to debug and reason about the state of the LST when the change I'm looking to effect is made immediately. There is nothing wrong with using doNext(), and it is particularly convenient when the change you are trying to effect is going to happen elsewhere in the tree.

To be on the safe side, I currently exclude any expressions, which may have side effects (as determined by Expression#getSideEffects()). I noticed that a few expression types were missing the implementation for this method or had an incorrect implementation. I will look into this in a separate PR. (I would also like to consider support for IDEA's @Contract(pure=true) and possibly also the Checker framework's corresponding annotation, but also that will be a separate issue.)

Those sound like good improvements

Nice work. The recipe is complex, but the operation being performed is complex, so I don't see an obvious way to simplify things.

I did figure out a way to slightly simplify things. Since I already used the cursor for the containing statement to "communicate" between the instanceof and the type cast expressions, I now added a postVisit() method which simply checks for the corresponding message in the cursor and if it finds a non-empty result, it means that there is a replacement to be performed and it can post-process the statement using the other visitor. This way the second visitor only needs to process small sub-trees rather than the whole source again.
I was looking for a mechanism to instruct a cursor to perform some post-processing action, once the visitor leaves that scope. As it turns out the postVisit() method can be used for this purpose when adding a message to the corresponding cursor.

@sambsnyd Thanks for your review feedback! I did find and fix one more bug and added a few more tests. There are probably more corner cases which should be tested, but I can't think of them right now.

Over on this issue the question came up if Java 9+ recipes should go into rewrite-migrate-java rather than openrewrite/rewrite.
Intuitively I'd think any "new"-ish Java features would best fit into org.openrewrite.java.migrate, and be aggregated in that module in yaml migration recipes to complete a migration. That way there's also no question what Java source level is required for openrewrite/rewrite: 8 (for now), to best fit with what we're seeing in the wild.
What are your thoughts on that @sambsnyd ?

@timtebeek I see rewrite-migrate-java as being for recipes about migrating to new versions of java. I don't think we need to put all recipes applicable only to newer versions of java there. This feels like a cleanup recipe more than a migration recipe, so putting it into rewrite-java feels reasonable to me

This feels like a cleanup recipe more than a migration recipe, so putting it into rewrite-java feels reasonable to me

@sambsnyd Should the recipe be moved to the cleanup subpackage?


ci: fix base href

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

GitHub release
v1.0.0

Your semantic-release bot :package::rocket:


 I couldn't find any documentation explaining how to do it.
Cheers,

Hi @thiagolcks,
That is not the right way to compile this nginx add-on. Please look at here:
https://github.com/SpiderLabs/ModSecurity/wiki/Compilation-recipes


Switch 3D models to relative paths to improve portability

Great software!
This pull request changes only two lines, in order to construct relative paths for both STEP and WRL format 3D models.
This improves portability by ensuring that copied library contents will continue to function.
The use case would be, for example, generating a footprint and 3D model with JLC2KiCad_lib and then copying the resulting model to an existing (eg. project-specific) KiCad library.
Additionally, this ensures that potentially privacy sensitive information such as local paths (which may divulge information such as usernames, dates, project names, etc.) is not accidentally shared.

Thanks for your PR.
For a project-specific library, I have added the -model_base_variable argument, which allows you to define the model's path using a KiCad variable. In my opinion, this should always be used when multiple people are working on a project.
Wouldn't this address the issue you're trying to solve here?
Additionally, the changes you made would simply break this feature.

OK so let's zoom out to generally agreed philosophy for good software architecture.
Purpose, assumption and composability
I think it's fair to say that the primary function of the library, judging by the name of the project and the core functionality provided within the tool and not elsewhere, is that of external resource to local Kicad-format resource conversion.
However, it seems from your reply that you may be asking users to use your conversion software as an internal workflow tool.
Without judging this, the unix mentality is that each tool should do one thing and one thing only. This helps to segregate responsibility cleanly across software by creating simple, well defined interfaces and additionally allows for "composability", or combining multiple tools in to larger workflows. If we can agree with that philosophy, then baking-in assumptions regarding workflow subsequent to the conversion step is probably not a good idea as it runs counter to the unix philosophy. Basically, those assumptions are not going to apply to everyone who wants the conversion feature.
Fundamentally, it's sort of like assuming everyone who orders café also wants a croissant, and not an assortiment de fromage. (I'm more of a fromage guy myself, at least after breakfast, and sometimes only have coffee!)
Always use relative paths
The reason that git and other RCS/VCS solutions work so well across disparate software and software artifacts is that they use a known and relatively simple abstraction (the filesystem) which is shared and provides a clear distinction between those artifacts and versions thereof.
The reason that we almost always default to using relative paths is that such an approach provides portability.
For examples of this philosophy see for example:

Every RCS/VCS system ever (cvs, svn, hg, git, etc.)
Every archive format ever (tar/zip/rar/whatever) - though absolute paths may be an option they are rarely encountered

Absolute paths are generally discouraged because:

They break portability
They can leak information (and this can have security implications)
They can have additional security implications in certain tools and processes in terms of escaping from defined work trees and overwriting system files, etc.

Basically, absolute paths represent an undocumented and potentially dangerous assumption regarding the environment in which a file will be eventually used.
Finally, such an assumption is fundamentally incompatible with modern software development in which we should assume that no two workstations have identical configuration and that all projects will be utilized in unknown environments across time and space unless explicitly configured otherwise (eg. wrapped in a container or VM).
Conclusion
Perhaps consider:

Questioning the utility your assumptions around the feature you have implemented which you said would break by switching to relative paths
Sticking to doing one thing in the software (and doing it well)
Avoiding any use of absolute paths, period

In this way you will guarantee portability, reduce undue information leakage, and enable the use of your software within more complex workflows ("composability").
Thanks again for very useful software, I hope you can see the logic here, it took some time to write.


Add support for Tflite operator SPLIT

This patch adds initial support for the tflite operator split.
The split operator in tflite according to
https://www.tensorflow.org/lite/guide/ops_compatibility
appears to take num_or_size_split as a 0D tensor.
I also note that tflite.split is one of the few operators that returns
multiple outputs and thus the helper routines in the tests needed some
massaging to make this work.
@apivarov and others interested in tflite, could you please review this ?
Thanks,
Ramana

Thanks @u99127 LGTM.

@u99127 Please help to make the CI green. Seems your op test causes that.

Thanks for the poke, I've been investigating why it's been failing off and on for a couple of days,  however I don't yet have a gpu environment set up and the failure doesn't happen with the cpu docker script.
I'm going to be busy for the next couple of days.

@u99127 Could you modify PR as my suggestion? I think it will work now. Thanks.

Thanks @u99127 LGTM now.

@tqchen , @kevinthesun - could either of you review this and help merge the PR ?

Thanks!


How to update the inline CSS in templates in V 0.3.0?

Some of the inline CSS in the templates will override styles set  in an app.  For example, when using a template with a Bootstrap theme, it's not possible to change the background and text color in the DashTable with conditional formatting or custom CSS in the assets folder.
Also, when using a template as part of a larger app, the CSS of the template will affect the entire app, not just the style in the template.     Take the case where you use a DbcCard to display only a figure with a slider within a larger app.  If  there is a DataTable in a different part of the app, it will be styled according to the inline CSS of the DbcCard.
In dash-labs v 0.1.0 it was possible to  override the inline CSS in the templates with:
tpl._inline_css =""
However, as of dash-labs v 0.3.0 that doesn't work.   Is there some other way to update the template's inline CSS?

dash-labs v 0.3.0 conditional formatting does not work.
Note that the table is outside of the template container and it is styled based on the inline CSS  of DbcCard

#   Use with dash-labs=0.3.0
#==================================

import dash
import dash_table
import pandas as pd
import dash_labs as dl
import dash_bootstrap_components as dbc

app = dash.Dash(__name__, plugins=[dl.plugins.FlexibleCallbacks()])
tpl = dl.templates.DbcCard(app, title="Simple App", columns=4)

# This has no effect - it's not possible to exclude dash-labs inline_css
# Conditional formatting in DashTable does not work
tpl._inline_css=""

df = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/solar.csv")

app.layout = dbc.Container(
    [
        dash_table.DataTable(
            data=df.to_dict("records"),
            columns=[{"name": i, "id": i} for i in df.columns],
            style_data_conditional=[
                {
                    "if": {
                        "filter_query": "{{Number of Solar Plants}} = {}".format(
                            df["Number of Solar Plants"].min()
                        ),
                    },
                    "backgroundColor": "#FF4136",
                    "color": "white",
                }
            ],
        ),
        tpl.children
    ]
)

if __name__ == "__main__":
    app.run_server(debug=True)

dash-labs v 0.1.0 conditional formatting works when inline CSS is removed.

#   Use with dash-labs=0.1.0
#==================================

import dash
import dash_table
import pandas as pd
import dash_labs as dl
import dash_bootstrap_components as dbc

app = dash.Dash(__name__, plugins=[dl.plugins.FlexibleCallbacks()])
tpl = dl.templates.dbc.DbcCard(
    title="Sample App", figure_template=True, theme=dbc.themes.PULSE
)

# This excludes the dash-labs inline css - which allows conditional formatting to work
tpl._inline_css = ""

df = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/solar.csv")

app.layout = dbc.Container(
    [
        dash_table.DataTable(
            data=df.to_dict("records"),
            columns=[{"name": i, "id": i} for i in df.columns],
            style_data_conditional=[
                {
                    "if": {
                        "filter_query": "{{Number of Solar Plants}} = {}".format(
                            df["Number of Solar Plants"].min()
                        ),
                    },
                    "backgroundColor": "#FF4136",
                    "color": "white",
                }
            ],
        ),
        tpl.layout(app),
    ]
)

if __name__ == "__main__":
    app.run_server(debug=True)

I've been playing around with this, and I'd like your thoughts on the following solution:
Adding a class name to the _inline_css
_inline_css = (
    BaseTemplate._inline_css
    + """

     .tpl-dbc .container-fluid {
        padding-left: 0;
        padding-right: 0;
     }

     .tpl-dbc .dash-spreadsheet .row {
        margin-left: 0;
        margin-right: 0;
     }

     .tpl-dbc .dash-spreadsheet-inner input {
        color: var(--white) !important;
        font-weight: 800 !important;
     }

     ....

Then the className can be added to the template only:
app.layout = dbc.Container(
    [
        table,
        html.Div(tpl.children, className='tpl-dbc')
    ],
)

Or  even the the entire app:
app.layout = dbc.Container(
    [
        table,
        tpl.children
    ], className='tpl-dbc'
)

Documentation could be added to show how to customize the style by modifying or creating a new class based on the _inline_css.   I think this inline CSS is a great starting place for customizing the DataTable and other Dash components.  Questions about using custom CSS to style components is a FAQ  on the forum.  There could also be an example to show the changes needed to make conditional formatting work.


Use a single tab field separator in keywords.txt

Each field of keywords.txt is separated by a single true tab. When you use multiple tabs it causes the field to be interpreted as empty. On Arduino IDE 1.6.5 and newer an empty KEYWORD_TOKENTYPE causes the default editor.function.style coloration to be used (as with KEYWORD2, KEYWORD3, LITERAL2). On Arduino IDE 1.6.4 and older it causes the keyword to not be recognized for any special coloration.
Reference:
https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification#keywords

Done!


Display only truenas sensors

Proposed change
Display only truenas sensors from services
Type of change

[X] Bugfix
[ ] New feature
[ ] Code quality improvements to existing code or addition of tests
[ ] Documentation

Did you tested it? It was not working when I was implementing service selection.

tested, works fine


Remove "npx" from globally installed commands

Can we remove the npx at the beginning of the following commands, especially since the README states to install the two dependencies globally:
npx openapi bundle -f --output ${OPENAPI_JSON_PATH} ${config.apiSpecPath}
npx openapi bundle -f --output ${OPENAPI_YAML_PATH} ${config.apiSpecPath}
npx redoc-cli bundle --output ${indexPath} ${OPENAPI_YAML_PATH} ${redocOpts}
I am making a docker image of this app, and currently some of the steps are failing when the command is run with npx at the beginning.
command: npx openapi bundle -f --output openapi.yaml service-registry.yaml
error:
npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! path /usr/src/repo/package.json
npm ERR! errno -2
npm ERR! enoent ENOENT: no such file or directory, open '/usr/src/repo/package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-10-28T14_44_20_262Z-debug.log

However when I just run: openapi bundle -f --output openapi.yaml service-registry.yaml the job completes successfully

The current README says to install this tool globally with npm install -g. The reason I shy away from this is because I usually look for solution that does not require the user to modify his/her development environment.
Using npx solves this issues but has two drawbacks:

Running npx <command> is slower as npx sends requests to the Internet each time it's executed
gh-openapi-docs cannot be used without access to Internet, which is the issue you are facing.

Proposed solution:
Rely on local install npm install + running ./node_modules/.bin/<command>
$ ./node_modules/.bin/openapi
Usage: openapi [options] [command]

Options:
  -v, --version                        Output current version of the OpenAPI CLI.
  -h, --help                           output usage information

Commands:
  bundle [options] [entryPoints...]    Create a bundle using <entryPoint> as a root document.
  validate [options] [entryPoints...]  Validate given OpenAPI 3 definition file.
  preview-docs [options] [entryPoint]  Preview API Reference docs for the specified entrypoint OAS definition

We could send the paths to the command in the config object with the default path set to ./node_modules/.bin/<command>. If the user want to use another version for some reason, he/she could overrides the paths in the config file.

I'm actually not sure how the above solution would work when gh-openapi-docs is installed from npmjs. The easy solution is to continue using npm install -g. Alternatively we could investigate on how to use openapi and redocly as libraries instead of running their executables.

Yeah, I'm good to leave this one as is. My above error was related to dependencies being incorrectly installed in the docker image, which I've since rectified.
As you mention, it'll be good once there's a library API for these packages that we can import rather than run on the command line, but last time I checked there was nothing available.
Feel free to close this issue


Unable to finish devonfw-ide installation

Describe the bug
When the installation of a new devonfw-ide version finishes, the cancel button does not change to finished
To Reproduce
Steps to reproduce the behavior:

Go to devonfw dashboard folder
Open a terminal an start devonfw dashboard.
Click on install latest version
Complete the installation process with default data
See in the installation terminal the message Completed, but the button is still on Cancel

Expected behavior
When the installation terminal displays  Completed, the button Cancel should transform to Close.
Desktop (please complete the following information):

OS: Linux

Additional context
In Windows, when the terminal shows Press any key to continue, it sends a finished status to the front-end side. If this message is omitted in linux, then it won't send finished

So should there be an issue raised in ide for adding a terminating message in linux/mac on successful installation or should it be handled in dashboard only?
Also, for Windows, is this the best way to determine finished status since it is tightly coupled with the terminating message? If for whatsoever reasons the message is changed or discarded in the future, it would have to be handled in the dashboard.


Fix ffmpeg build timeout in OSX builds

Actual behaviour
OSX builds error with Timeout (20 minutes) reached. Terminating "brew install -v ffmpeg --without-x264 --without-xvid --without-gpl"
Sample failure: https://travis-ci.org/native-api/opencv-python/jobs/447134752
Diagnostics
I'm playing around with diagnostics in https://github.com/native-api/opencv-python/tree/remove_ffmpeg_options

It looks like you don't get build output due to https://github.com/travis-ci/travis-ci/issues/6018 . Worked that around by ditching travis_wait and appending 1>&2 in https://github.com/native-api/opencv-python/commit/88cb879befe249f821ac0af487e178d77fbf3e8c

The log https://api.travis-ci.org/v3/job/449531767/log.txt shows that ffmpeg compilation just takes too long, and not only it is built, but a few dependencies as well, including cmake.
The reason, I guess, is that either a prebuilt bottle for ffmpeg for Travis environment no longer exists, or because the switches you pass to brew install ffmpeg no longer exist.

The best fix would probably be to cache everything: https://stackoverflow.com/questions/39930171/cache-brew-builds-with-travis-ci
I'm currently trying to cache everything brew possible -- retain download cache, make bottles from built packages for later use. Not sure if it's safe to cache installed packages (/usr/local/Cellar and usr/local/opt, maybe /usr/local in its entirety), will try it only if the former is not sufficient.
Unfortunately, if we must build everything from source at some point, we'll have to do builds in a few stages: make some envvar like CACHE_BOOTSTRAP and run only a part of the work, saving results into the cache; them run without the variable, using the cache to do the rest.

According to https://api.travis-ci.org/v3/job/449597543/log.txt, there's no ffmpeg bottle for Travis environment:
+++(config.sh:59): pre_build(): brew info ffmpeg
+++(config.sh:59): pre_build(): head -n 1
++(config.sh:59): pre_build(): INFO='ffmpeg: stable 4.0.2, HEAD'
++(config.sh:60): pre_build(): echo 'ffmpeg: stable 4.0.2, HEAD'
ffmpeg: stable 4.0.2, HEAD


enableVibrateFallback default vibration not working on iphone 6s

when setting enableVibrateFallback true on IPHONE 6s is not playing the default or any kind of vibration,  is it supposed to be working ?

Hi, can you verify that it´s not the same as mentioned here? https://github.com/milk-and-cookies-io/react-native-haptic-feedback/issues/48
I got no iPhone6s available to test it. Back then it was possible and available

@mkuczera Perhaps you confused github's issue?

@mkuczera do u refer to another issue ?


I made a breaking change:

When I made this change, I thought I was modifying a private API.
Unfortunately AssertionVisitor is exposed publicly and used in babel-plugin-espower.
The only way this is a problem is if people have pinned to<EMAIL_ADDRESS><1.1.0 (i.e. a Tilde Range)
It is probably worth releasing<EMAIL_ADDRESS>that pins<EMAIL_ADDRESS><=1.2.0.
This probably has implications for empower as well.

@jamestalmage Oh nice catch. I should be more aware of argument ordering.
Now working on 1.0.4 release.

Released babel-plugin-espower 1.0.1. Thanks!


Updated Innersource Guidelines to better represent Github  as well as BitBucket

Nice and comprehensvie!

Thanks for making these changes, @matthew-dexter-trimble !


Unencrypted replicated _deleted documents

I replicated from a CouchDB and inspected the content of my indexeddb in Chrome. Found unencrypted data in documents with a _deleted flag. Non-deleted docs are encrypted as expected.

this is going to be an issue with transform pouch, but I expect that the issue is that it doesn't actually put documents that have been both created and deleted through the transform.

Hey, it looks like this issue is resolved so I'm closing this for now. Let me know if you're still having problems!


Smart Contracts Section missing library imports (aka use XXXX)

I don't have the exact list. However i encountered this on the Maps (contract-storage) section. I needed to import use starknet::storage::Map; before using it in the storage section. Maybe it makes sense to do a proof read on that section in order to add the import statements.

Hi @sadikekin please can I work on this issue ?

Hi @sadikekin do you have any specific example? As far as I've seen all examples that use a Map in storage have the import from core::starknet::storage.

Here: https://book.cairo-lang.org/ch14-01-contract-storage.html?highlight=map#storage-mappings
this was link i was checking when i write my contract. There were no mention about core::starknet::storage. Other links have it tho. So maybe adding specifically to that page also makes sense if an user doesn't check the other pages

I see, thanks, indeed this snippet should be expandable, and you would be able to see the import (which is defined in the file)


"Java Heap Dumps" generates empty trace

Hello,
I want to check a running Android application's Java heap usage. But Perfetto keeps generating empty trace files. Below is my workflow:

Set up the proper testing environment in my phone:
adb shell setenforce 0
adb shell setprop persist.traced.enable 1 (I'm using pixel7, so this step might not be necessary.)

Generate the config file using Perfetto UI:
buffers: {
size_kb: 63488
fill_policy: DISCARD
}
buffers: {
size_kb: 2048
fill_policy: DISCARD
}
data_sources: {
config {
name: "android.packages_list"
target_buffer: 1
}
}
data_sources: {
config {
name: "android.java_hprof"
target_buffer: 0
java_hprof_config {
process_cmdline: "xxxApplication"
continuous_dump_config {
dump_phase_ms: 1000
dump_interval_ms: 1000
}
}
}
}
duration_ms: 15000

Execution CLIs:
adb push perfetto_config.pbtxt /data/local/tmp
adb shell perfetto --txt -c /data/local/tmp/perfetto_config.pbtxt -o /data/local/tmp/trace.perfetto
--wait 15s for the profiling
adb pull /data/local/tmp/trace.perfetto

The file trace.perfetto only has 16kb, and it shows nothing when opened it with Perfetto UI.
Am I doing any wrong in the above steps? Thank you very much for your time reading this dumb question.

Based on the fact that you're trying adb shell setenforce 0, I assume you're on a userdebug build. Otherwise, if you're on a regular user build, you can only capture a dump from profileable or debuggable apps (documentation for the native heap profiler, but the principle still applies here).
The config looks reasonable, but, since android 12 (which I assume you have, since you're on pixel 7), there's a more reliable way of recording that waits until all the data has been reported (i.e. using a large data_source_stop_timeout_ms). I suggest using the wrapper script tools/java_heap_dump in the perfetto repo that invokes adb perfetto for you with an approriate config to begin with.
Lastly, to understand what's happening, it's often invaluable to look at the logs. I would do adb logcat -c to clear the log buffer before recording, wait for the recording to finish and then look at the output of adb logcat. grepping for perfetto or hprof usually can tell you what's happening.

I used the below CLI to dump the Java heap of a running Android application (debug build):
tools/java_heap_dump -n com.xxxApplication -c 1 --output /Users/xxx
After running for a while, I terminated it by ctrl+c. The generated trace was only 17KB and it showed nothing in Perfetto UI. Below is the logcat info filtering by perfetto:
2023-07-17 11:31:36.400 24512-24512 perfetto                pid-24512                            I     perfetto_cmd.cc:1001 Connected to the Perfetto traced service, starting tracing
2023-07-17 11:31:36.401   940-940   perfetto                traced                               I  ing_service_impl.cc:969 Configured tracing session 8, #sources:2, duration:0 ms, #buffers:1, total buffer size:100024 KB, total sessions:1, uid:2000 session name: ""
2023-07-17 11:31:36.443 24513-24513 perfetto                pid-24513                            I  approfd_producer.cc:245 Connected to the service, mode [central].
2023-07-17 11:31:36.443 24513-24513 perfetto                pid-24513                            I  a_hprof_producer.cc:174 Connected to the service.
2023-07-17 11:31:56.241 24512-24512 perfetto                perfetto                             I     perfetto_cmd.cc:1170 SIGINT/SIGTERM received: disabling tracing.
2023-07-17 11:31:56.246   938-938   perfetto                traced_probes                        I   probes_producer.cc:409 Producer stop (id=25)
2023-07-17 11:31:56.247 24512-24512 perfetto                perfetto                             I     perfetto_cmd.cc:1129 Wrote 16537 bytes into /data/misc/perfetto-traces/java-profile-7c3db2
2023-07-17 11:31:56.248   940-940   perfetto                traced                               I  ng_service_impl.cc:2442 Tracing session 8 ended, total sessions:0
2023-07-17 11:31:57.337 24785-24785 rm                      pid-24785                            I  type=1400 audit(0.0:58036): avc: denied { write } for name="java-profile-7c3db2" dev="dm-49" ino=81689 scontext=u:r:shell:s0 tcontext=u:object_r:perfetto_traces_data_file:s0 tclass=file permissive=1

Any help is appreciated!

2023-07-17 11:31:36.400 24512-24512 perfetto                pid-24512                            I     perfetto_cmd.cc:1001 Connected to the Perfetto traced service, starting tracing
2023-07-17 11:31:36.401   940-940   perfetto                traced                               I  ing_service_impl.cc:969 Configured tracing session 8, #sources:2, duration:0 ms, #buffers:1, total buffer size:100024 KB, total sessions:1, uid:2000 session name: ""
2023-07-17 11:31:36.443 24513-24513 perfetto                pid-24513                            I  approfd_producer.cc:245 Connected to the service, mode [central].
2023-07-17 11:31:36.443 24513-24513 perfetto                pid-24513                            I  a_hprof_producer.cc:174 Connected to the service.

At this point, the pid 24513 should send a signal to your app, which should emit a log message (here, if you're curious).
Is your app running before you start recording the trace? You can confirm by adb shell ps -A | grep com.xxxApplication
Alternatively, can you try targeting your app by pid instead of name (by using the -p flag instead of -n)?
Thanks!

Thanks for your time checking my issue.
Using CLI adb shell ps -A | grep com.zhiliaoapp.musically:
u0_a310      32158<PHONE_NUMBER>8 1114616 0                 0 S com.zhiliaoapp.musically
This was consistent with adb shell top, the application is running and its pid is 32158.
Using CLI tools/java_heap_dump -p 32158 -c 1 --output /Users/bl/Desktop/test, the logcat info still didn't emit that expected log message:
2023-07-18 10:31:43.921  7412-7412  perfetto                pid-7412                             I     perfetto_cmd.cc:1001 Connected to the Perfetto traced service, starting tracing
2023-07-18 10:31:43.922   940-940   perfetto                traced                               I  ing_service_impl.cc:969 Configured tracing session 23, #sources:2, duration:0 ms, #buffers:1, total buffer size:100024 KB, total sessions:1, uid:2000 session name: ""
2023-07-18 10:31:43.960  7413-7413  perfetto                pid-7413                             I  approfd_producer.cc:245 Connected to the service, mode [central].
2023-07-18 10:31:43.960  7413-7413  perfetto                pid-7413                             I  a_hprof_producer.cc:174 Connected to the service.
2023-07-18 10:31:57.634  7413-7413  heapprofd               heapprofd                            I  type=1400 audit(0.0:115024): avc: denied { read } for name="cmdline" dev="proc" ino=12759320 scontext=u:r:heapprofd:s0 tcontext=u:r:perfetto:s0 tclass=file permissive=1
2023-07-18 10:32:02.929  7412-7412  perfetto                perfetto                             I     perfetto_cmd.cc:1170 SIGINT/SIGTERM received: disabling tracing.
2023-07-18 10:32:02.932   938-938   perfetto                traced_probes                        I   probes_producer.cc:409 Producer stop (id=62)
2023-07-18 10:32:02.934  7412-7412  perfetto                perfetto                             I     perfetto_cmd.cc:1129 Wrote 16516 bytes into /data/misc/perfetto-traces/java-profile-4ce097
2023-07-18 10:32:02.935   940-940   perfetto                traced                               I  ng_service_impl.cc:2442 Tracing session 23 ended, total sessions:0
2023-07-18 10:32:04.070  7670-7670  rm                      pid-7670                             I  type=1400 audit(0.0:119286): avc: denied { write } for name="java-profile-4ce097" dev="dm-49" ino=74374 scontext=u:r:shell:s0 tcontext=u:object_r:perfetto_traces_data_file:s0 tclass=file permissive=1

BTW, Perfetto worked very well when I checked my application's GC info (turned on the "Atrace userspace annotations") or CPU info (tried the CPU probes as well). Only both memory profiling ("Native heap profiling" and "Java heap dumps") didn't work.

adb shell getprop ro.system.build.fingerprint result:
google/panther/panther:13/TQ3A.230605.012/10204971:user/release-keys
I'm running the TikTok app, it's a debug build version, not the release version in the Play store.

I think the problem here is that while it might be a debug build of the app, the app is still not profilable or debuggable. Please review documentation on that at https://perfetto.dev/docs/data-sources/native-heap-profiler#heapprofd-targets


How to use the images resizer in the RainLab.Blog plugin?

Great plugin!
I am wondering if it is possible to use this in the Rainlab.Blog with using the Markdown language?
If yes, how can I do this?
If not. are there any plans for it?
The Markdown setup for images in the blog:
![alt-text-here](/storage/app/media/name-of-the-image.jpg "Title Will be Here"){.class #div}

Any news on this?

This plugin is being migrated to core (see #55), so we are trying to figure out what issues are still relevant to invite to reopen them in core.
Issues that will remain inactive in next 30 days will be closed.


OudsTheme: specify Material Shapes from border radius tokens

Description
The aim of this issue is to study and implement the mapping between Android Material Shapes and border radius tokens. This should help to be consistent between OUDS and Material (non OUDS) components used in the same application.
Material surfaces can be displayed in different shapes. Shapes direct attention, identify components, communicate state, and express brand.
The shape scale defines the style of container corners, offering a range of roundedness from square to fully circular.
There are different sizes of shapes:

Extra Small
Small
Medium
Large
Extra Large

Note that shapes None and Full are omitted as None is a RectangleShape and Full is a CircleShape.
By default, every component is mapped to one of the seven shape styles.
Taken from Material Design :

Shape style
Component

None
Banners, Bottom app bars, Full-screen dialogs, Lists, Navigation bars, Navigation rails, Progress indicators, Search view (full-screen), Side sheets (docked), Tabs, Top app bars

Extra Small
Autocomplete menu, Select menu, Snackbars, Standard menu, Text fields

Small
Chips, Rich tooltip

Medium
Cards, Small FABs

Large
Extended FABs, FABs, Navigation drawers

Extra Large
Bottom sheets (docked), Dialogs, Floating sheets, Large FABs, Search view (docked), Time picker, Time input

Full
Badge, Buttons, Icon buttons, Sliders, Switches, Search bar

Study

[ ] With the help of designers, attribute a radius semantic token to each shape style for OUDS default theme

Implementation

[ ] Link Material Shapes to chosen radius semantic tokens
[ ] Shapes values can be overridden by themes
[ ] Test Material components default behavior (OUDS theme shapes should be applied)

After a discussion with Maxime, we decided not to map Material shapes to border radius tokens.


Updated requirement gremlinpython version 3.4.13

Updated the requirements.txt entry for gremlinpython to version 3.4.13.
Based on my recent walkthrough of this sample, 3.4.13 works fine.
I'm updating the sample docs:
https://github.com/MicrosoftDocs/azure-docs/pull/88535
to specify the latest 3.4.* version of the gremlinpython driver library so that it doesn't default to pulling down version 3.5.2, which did not work correctly in my testing, and I wanted to keep the requirements.txt in-step as far as the client driver library version.
Purpose

...

Does this introduce a breaking change?

[ ] Yes
[x ] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[x ] Other... Please describe: Updating requirements.txt version number for gremlinpython client driver

How to Test

Get the code

git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install

Test the code

What to Check
Verify that the following are valid

...

Other Information

@olivertowers I'm not authorized to merge this. Anyone else we need to get involved in this PR?


Fixed jdk installation different than default one

I think the wanted behaviour was this one. Otherwise in my case it was always installed the jdk explicited in the defaults file.

thank you @aittam


ios can‘t work

Invariant Violation: Module AppRegistry is not a registered callable module (calling runApplication). A frequent cause of the error is that the application entry file path is incorrect.
This can also happen when the JS bundle is corrupt or there is an early initialization error when loading React Native.

"react": "17.0.2",
"react-native": "0.66.3",  and I don't know why it went wrong


More updates to getting started

@jessesquires - Here is a quick draft of the getting started with a more simple intro.  Look it over and if this generally seems right then I'll polish it up a bit, ensure the code is valid against dev .

Mention JIRA ticket numbers in commit comments to automatically link them.

don't forget to re-gen docs before you merge 😊

@jessesquires - Yup will do.  I'll update to your example and do some more proofreading and testing

          1 Error

:no_entry_sign:
Docs are regenerated when creating new releases.

          1 Message

:book:
Docs are generated by using Jazzy. If you want to contribute, please update the markdown guides or doc comments.

  Generated by :no_entry_sign: Danger


[ZEPPELIN-2070][DOCS] Create Docs for Spell

What is this PR for?
Docs for Spell which was added by #1940
What type of PR is it?
[Documentation]
Todos

[x] - Add docs for spell
[x] - Fix typo in vis docs

What is the Jira issue?
ZEPPELIN-2070
How should this be tested?

cd docs
/usr/local/bin/bundle exec jekyll serve --watch
Open http://localhost:4000/development/writingzeppelinspell.html

Screenshots (if appropriate)

Questions:

Does the licenses files need update? - NO
Is there breaking changes for older versions? - NO
Does this needs documentation? - YES

Looks great to me!

Resolved @soralee's comments.

Thanks for considering my comment! LGTM!

@AhyoungRyu Thanks for review. I'v just addressed your comments.

CI failed, but irrelevant.

LGTM 👍

Merge into master if there are no more comments on this.


Error: Canvas GetElementById returns null in WASM .NET Core 6

Hello,
I've ran into an issue when I was using this generator in a Blazor Server project and it worked fine, but in production it would lag for the client so I decided to switch my project to webassembly and use the generator for that instead.
Everything seemed to have gone too smoothly, which it did, when I start my project 'Canvas.GetElementById' returns null.
This has been very frustrating as I haven't been able to figure it out for days now.
It is difficult to debug because right when it goes into the method it returns null immediately.

And right when I step into the return: 'Object reference not set to an instance of an object.'
I'm not sure what this could be, I tried to copy Canvas.cs from the sample projects but it didn't make a difference.

I tried breaking down GetElementById but it actually seems that it's not erroring in this method.

It seems as though it is erroring in 'EventHorizonBlazorInterop.FuncClass(x,x,x)'

I added EventHorizon.Blazor.Interop to my project so I could debug.
It looks like 'RUNTIME' returns null.

This whole time it was my own fault for missing 1 part of the setup.
I was missing in App.razor:
`@code {
[Inject]
public IJSRuntime JSRuntime { get; set; }
protected override void OnInitialized()
{
    EventHorizonBlazorInterop.JSRuntime = JSRuntime;
}

}`


Pushdown option not working as expected with Spark data frames

Issue description
Pushdown option not working as expected when using spark data frames.  I created a simple app in scala to launch the thrift server and serve data frames created from elastic search documents.
A simple count query takes 15 secs to return a count of 6000.
Description
Steps to reproduce
This is how i launch the server.  I use a spark JDBC driver from progress to execute the count query
spark-submit  --jars /usr/local/bin/elasticsearch-hadoop-2.2.0.jar  --class "SimpleApp"  --master local[4] target/scala-2.10/simple-project_2.10-1.0.jar
Code:
object SimpleApp {
  def main(args: Array[String]) {

    val domain: String = "goodman_networks"
    val conf = new SparkConf().setAppName("JDBCServer")
    conf.set("es.nodes", "<IP_ADDRESS>")
    conf.set("es.nodes.wan.only", "true")
    conf.set("es.nodes.discovery", "false")
    conf.set("spark.sql.hive.thriftServer.singleSession", "true")

    val sparkContext = new SparkContext(conf)

    /*val sqlContext = new SQLContext(sparkContext)*/
    val sqlContext = new HiveContext(sparkContext)

    val orgDF = sqlContext.read.format("org.elasticsearch.spark.sql").load(domain + "/org_units")
    val usersDF = sqlContext.read.format("org.elasticsearch.spark.sql").load(domain +"/users")
    val projectsDF = sqlContext.read.format("org.elasticsearch.spark.sql").load(domain +"/projects")
    val activitiesDF = sqlContext.read.format("org.elasticsearch.spark.sql").load(domain +"/activities")

    projectsDF.registerTempTable("projects");
    usersDF.registerTempTable("users");
    orgDF.registerTempTable("org_units");
    activitiesDF.registerTempTable("activities");

    projectsDF.printSchema()
    projectsDF.show()
    HiveThriftServer2.startWithContext(sqlContext)
  }
}

Strack trace:
Stack trace goes here

Version Info
OS:         :  Centos 7
JVM         :  openjdk version "1.8.0_65"
Hadoop/Spark:  spark-1.6.1-bin-hadoop2.6
ES-Hadoop   :  2.2.0
ES          :  2.1.1

That's because count operation cannot be pushed down, especially for DataFrame. That is Spark doesn't push down the operation, instead it loads all the items.
Several versions ago, we thought about implementing a custom method for RDDs however it was reverted since it had different semantics - the count was returned in an instance however the RDD content was not initialized which led to subtle changes.
Until Spark pushed down this operation, count ends up loading all the items.


Update Dockerfile.windows to use /result

The windows build failed with:
Error: No such container:path: build-result:/work/out

DEBUG:   10+   if (  >>>> $LastExitCode -ne 0 ) {

DEBUG:   11+      >>>> throw "failed: $Args"

failed: docker cp build-result:/work/out T:\src


Google shared drives

Hello Gustavo and thank you for your amazing VS extension !
Overview
I would like to have access to a Shared Drive with your Extension. It would allow different persons of my teams to modify files and folders in the same place...
Suggestion
Maybe it could be interesting to add a command >Google Drive : Access to Google Drive Shared by id, which will require the id of the shared drive. Then it will display it on the outliner. What do you think ?
Best regards,
Kevin

Hello @kekefreedog,
I am very happy that you like the extension!
I believe we could develop something a little bit different from the original suggestion, but would still meet your needs.
It would be great if we had a 'Starred' location inside the Google Drive view on VSCode.
As the name suggests, starred files and folders would appear here. You and your team could right-click the desired shared folder on Drive website and select 'Add to Starred'. This way, this folder would appear on the new Starred location on VSCode, as well as other personal folders that one has starred on his or her Drive and may even not be shared with others.

I collected this image from this link.
Does this suggestion make sense for you?
Best regards,
Gustavo Cassel

Hello @GustavoASC,
Nice, it's a perfect idea and a good compromise, it allows people to choose files they want to display inside Vscode via the Starred functionality.
I check inside Google Drive, when we update a file stared it update the file everywhere. But it will be a little tricky to have a Upload current file to Drive for a file inside starred folder, right ?
Thanks you for your answer,

Hi @kekefreedog,
I believe that Upload current file to Drive could show both folders located on the root and starred folders. Currently, this command only shows folders located on the root. With this improvement, it would show both folders on the root and folders that were previously starred.
Maybe we could render a line to separate folders located on the root, and starred folders, similar to what is shown on Command Palette. As long as this is supported on VSCode public API. But this last suggestion would just be a visual improvement and would not be a requirement... I am not sure whether we can add a separator line like this:

What do you think about this idea?


[FLINK-1656] Filter ForwardedField properties for group-at-a-time operators in Optimizer

Restricts forward field information for group-wise operators.

For GroupReduce, GroupCombine, and CoGroup operators forward field information is restricted to grouping key fields.
For MapPartition operators all forwarded field information is discarded.

Extended documentation accordingly.

I think this is good to fix this.
I was wondering now whether we can actually solve this a bit more global/local property specific. Cancelling out the properties from the non-key fields was originally motivated by the fact that the group operation destroys orders/groupings, which are actually local properties.
Is there a way we can preserve the global properties still?
What would happen if we move the new code that "cleans" the semantic properties from the API operators to the optimizer's operator descriptor. There we can filter the local properties and global properties independently.
The main benefit is probably to preserve the global properties for mapPartition(), which is desirable.

Yes, I agree. The fix is more conservative than necessary.
I think we can safely relax it if we make the rule for forwarded fields on group-wise operators as follows:
"All forwarded fields of an emitted record must be forwarded from the same input record. Each output record can have forwarded values from a different input record."
This allows to preserve partitionings (also on composite keys) but voids all grouping / sorting on non-key fields because the order of the emitted records is not specified.

Good catch, that is a critical distinction (one output record forwarded from same input record). Mostl relevant to MapPartition, though.

Do you think this rule is "easy enough" for users?
It would make the handling consistent for all group-wise operators.

I updated the PR as discussed:

GlobalProperties are filtered with the user-specified semantic properties.
LocalProperties for are filtered with forward field info for key fields only (sorting/grouping can only be preserved for key fields and is completely destroyed for key-less operators such as AllReduce or MapPartition).

Documentation is adapted accordingly.

Will merge this in about 24h unless somebody raises a flag.


Unclear how to use microphone input remotely with HTTP

I've tried to stream the audio via HTTP with a self written Node.js application. I was able to receive the stream with VLC but with rhasspy it didn't work.
Then I found a solution using VLC (as a server) but I only get it working with
RTP in the WAVE codec:
vlc -vvv alsa://hw:1,0 --sout '#transcode{vcodec=none,acodec=s16l,channels=1,samplerate=16000,scodec=none}:rtp{dst=<IP_ADDRESS>,port=1234,sdp=rtsp://<IP_ADDRESS>:8080/test.sdp}'

and HTTP with MPEG codec:
vlc -vvv alsa://hw:1,0 --sout '#transcode{vcodec=none,acodec=mpga,ab=128,channels=2,samplerate=44100}:standard{access=http,mux=mp3,dst=<IP_ADDRESS>:8080}'

Anyway I don't know what rhasspy is exactly expecting, when using HTTP which path is used for instance? Would be nice to have some example, reference.

It's expecting raw PCM audio in chunked transfer encoding. I designed it while trying to understand how Home Assistant/Ada worked with streaming audio.
Do you have any sense of how people might generally want to use it? It may also be fairly redundant given the GStreamer input.

It's expecting raw PCM audio in chunked transfer encoding.

As I've said, I've get it working with vlc and of course it is a chunked transfer (stream) in PCM format. Since I've enabled logging on my server I was able to realize that rhasspy was not calling the HTTP endpoint at all.
So what I would expect:

either document which path will be listened or pass the full path including the port in the settings
test the setup somehow:

push a button so that rhasspy will do the HTTP request
record for a specific amount of time in order to verify that some data is really recorded by rhasspy

As a reference:
I'm using the node-record-lpcm16 module and just pipe the stream form the microphone to response via express:
const recorder = require('node-record-lpcm16')
const express = require('express')

const recording = recorder.record()
const microphoneStream = recording.stream()
const app = express()
app.get('*', (req, res) => {
  console.log('client connected')
  res.status(200)
  res.set('Content-Type', 'audio/wav')
  microphoneStream.pipe(res)
})
app.listen(7000)

HTTP microphone is removed in 2.5. Suggest using gstreamer instead.


STATS: Simplify code structure and optimize as standalone function [enhancement]

Purpose
Have STATS as a standalone, independent suite of codes that can be called separately from main RAIDAR code.
Proposed plan of action
Will consider ways to segregate certain functions of the code into separate scripts to simplify structure and avoid having everything in a single script. Open to suggestions on how to segregate functionality (e.g. plotting in one script, variogram generation in another, preprocessor/setup in main).

This has been addressed and merged into dev


Little mod incompability (Homebrew Archetypes)

The deities list from Expanded Content replaces the base deities list altogether, hence new deities from there cannot be selected and new specific domains cannot be used.
To Reproduce
Steps to reproduce the behavior:

Install both Expanded Content and Homebrew Archetypes (from nexus)
In character creation select Elder Mythos Cultist priest archetype
Cannot select Homebrew Archetypes new deities
Hence, cannot select new Void domain that is attached to them

If new deities could just be added instead of replacing the list I guess the issue would be resolved.

Thanks for putting this in issues.
I do plan on making a patch mod to run along side both our mods adding his Void Domain to all the necessary gods but it is most likely a while off.

The domain can still be taken with Impossible Domain so it's not a complete loss!