Add an optional response thread param for provider

This is based of the conversation on #423, If anyone else wants to take a shot at this, they are more than welcome to! I'll implement it sometime soon, if not 😄
I added some documentation on threading to the Readme, not sure if it should go there or in it's own file in docs/
TODO:

[x] Update the docs
[x] Do a final check

Current coverage is 86.02% (diff: 100%)

Merging #762 into master will not change coverage

@@             master       #762   diff @@
==========================================
  Files            30         30
  Lines          2611       2611
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           2246       2246
  Misses          365        365
  Partials          0          0

Powered by Codecov. Last update 1bbce9a...ed7c385

          1 Warning

:warning:
PR is classed as Work in Progress

  Generated by :no_entry_sign: danger

This one is almost implemented in #1055 so I'm gonna close this one. Thank you for your work anyways, Andrew! ❤

Damn, sorry, my bad. Somehow I've missed branch & this comment. Nevermind, carry on 😄

haha not an issue 😋

Two tasks to go:

[ ] Rename everywhere we mention queue to callbackQueue
[ ] Add docs

let's tackle this in another PR! Anyone is free to start it 😄
I'll resolve merge conflicts here rn

@pedrovereza did a PR with rename, so the only thing we need right now is a doc update + last check if everything is correct?

And a SwiftLint sweep, apparently. 😁

I think most of the SwiftLint issues on test files were fixed in #1103, they should go away once we rebase our branches against master (optional-response-thread-param and 9.0.0-dev).
The warnings on ViewController seem legit, but I'd rather clean them up after we merge this PR against 9.0.0-dev 😄

Yup, completely agree with @pedrovereza.

Ah, missed that @pedrovereza. Nice :)

About the docs: do we want to include this in Advanced.md or in Providers.md? Not sure where it fits best.

I would go with Threading.md.

Oh! That's perfect, I didn't know we had a threading readme
On Tue, Jun 13, 2017 at 7:34 AM Łukasz Mróz<EMAIL_ADDRESS>wrote:

I would go with Threading.md.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/Moya/Moya/pull/762#issuecomment-308136080, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADo1dECoOTZMEfWrXIMKwM_TtLe6vPaNks5sDp2zgaJpZM4KuD7b
.

Haha, we don't - but we should :D

😂😂
Agreed
On Tue, Jun 13, 2017 at 7:44 AM Łukasz Mróz<EMAIL_ADDRESS>wrote:

Haha, we don't - but we should :D
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/Moya/Moya/pull/762#issuecomment-308139564, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADo1dJiDMa1CdK-L-a93uM0yGm9p2xgtks5sDqAwgaJpZM4KuD7b
.

Also, what do you guys think about removing stubScheduler from ReactiveSwiftProvider? Now that we have unified queues, I think we might consider this change. This would also help in transition from multiple providers to rx.request & reactive.request mentioned in #963.

for the uninitiated, what does stubScheduler do? Does adding queues already fix it, or do we need to add more functionality?

@AndrewSB it is scheduling stubbed data onto scheduler, so queues should resolve this problem. We may need to revisit tests and add few that ensures the data comes on a given queue.

Seems like this is a special, DateScheduler and it is used instead of GCD when dispatching the stubbed data. Any idea why it was used instead of GCD in RAC extensions here? From what I've seen it was implemented by @swizzlr, but maybe someone else remembers the reason? @ashfurrow maybe?

Ok. Final stage of this one I think. Only docs left - make a Threading.md with what @AndrewSB wrote + check other docs if there is something we need to change. Anyone up for this one? Let's merge it already 😄

Okay, docs are in, @AndrewSB. We just need to check if we have everything we need here. If you could take a look (and other @Moya/contributors to double-check) it would be awesome!

          1 Warning

:warning:
PR is classed as Work in Progress

SwiftLint found issues
Warnings

File
Line
Reason

ViewController.swift
114
Unused parameter "action" in a closure should be replaced with _.

ViewController.swift
10
Lines should not have trailing whitespace.

ViewController.swift
14
Lines should not have trailing whitespace.

ViewController.swift
24
Lines should not have trailing whitespace.

ViewController.swift
49
Lines should not have trailing whitespace.

ViewController.swift
53
Lines should not have trailing whitespace.

ViewController.swift
61
Lines should not have trailing whitespace.

ViewController.swift
68
Lines should not have trailing whitespace.

ViewController.swift
70
Lines should not have trailing whitespace.

ViewController.swift
76
Lines should not have trailing whitespace.

ViewController.swift
85
Lines should not have trailing whitespace.

ViewController.swift
90
Lines should not have trailing whitespace.

ViewController.swift
101
Lines should not have trailing whitespace.

ViewController.swift
109
Lines should not have trailing whitespace.

ViewController.swift
133
Lines should not have trailing whitespace.

ViewController.swift
116
Unused parameter "action" in a closure should be replaced with _.

ViewController.swift
9
Lines should not have trailing whitespace.

ViewController.swift
12
Lines should not have trailing whitespace.

ViewController.swift
16
Lines should not have trailing whitespace.

ViewController.swift
19
Lines should not have trailing whitespace.

ViewController.swift
26
Lines should not have trailing whitespace.

ViewController.swift
28
Lines should not have trailing whitespace.

ViewController.swift
43
Lines should not have trailing whitespace.

ViewController.swift
51
Lines should not have trailing whitespace.

ViewController.swift
55
Lines should not have trailing whitespace.

ViewController.swift
63
Lines should not have trailing whitespace.

ViewController.swift
70
Lines should not have trailing whitespace.

ViewController.swift
72
Lines should not have trailing whitespace.

ViewController.swift
78
Lines should not have trailing whitespace.

ViewController.swift
87
Lines should not have trailing whitespace.

ViewController.swift
92
Lines should not have trailing whitespace.

ViewController.swift
103
Lines should not have trailing whitespace.

ViewController.swift
105
Lines should not have trailing whitespace.

ViewController.swift
107
Lines should not have trailing whitespace.

ViewController.swift
111
Lines should not have trailing whitespace.

ViewController.swift
114
Lines should not have trailing whitespace.

ViewController.swift
127
Lines should not have trailing whitespace.

ViewController.swift
131
Lines should not have trailing whitespace.

ViewController.swift
135
Lines should not have trailing whitespace.

ViewController.swift
137
Lines should not have trailing whitespace.

ViewController.swift
141
Lines should not have trailing whitespace.

MoyaProvider.swift
98
Function should have 5 parameters or less: it currently has 6

ReactiveSwiftMoyaProvider.swift
49
Function should have 5 parameters or less: it currently has 6

MoyaProviderSpec.swift
463
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
745
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
748
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
754
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
758
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
762
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
767
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
772
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
779
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
783
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
787
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
794
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
799
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
802
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
806
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
811
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
818
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
822
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
826
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
833
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
483
Prefer _ = foo() over let _ = foo() when discarding a result from a function.

MoyaProviderSpec.swift
500
Prefer _ = foo() over let _ = foo() when discarding a result from a function.

MoyaProviderSpec.swift
840
File should contain 400 lines or less: currently contains 840

ReactiveSwiftMoyaProviderTests.swift
72
Lines should not have trailing whitespace.

ReactiveSwiftMoyaProviderTests.swift
159
Lines should not have trailing whitespace.

ReactiveSwiftMoyaProviderTests.swift
65
Function parameters should be aligned vertically if they're in multiple lines in a declaration.

ReactiveSwiftMoyaProviderTests.swift
66
Function parameters should be aligned vertically if they're in multiple lines in a declaration.

ReactiveSwiftMoyaProviderTests.swift
67
Function parameters should be aligned vertically if they're in multiple lines in a declaration.

ReactiveSwiftMoyaProviderTests.swift
68
Function parameters should be aligned vertically if they're in multiple lines in a declaration.

ReactiveSwiftMoyaProviderTests.swift
152
Function parameters should be aligned vertically if they're in multiple lines in a declaration.

ReactiveSwiftMoyaProviderTests.swift
153
Function parameters should be aligned vertically if they're in multiple lines in a declaration.

ReactiveSwiftMoyaProviderTests.swift
154
Function parameters should be aligned vertically if they're in multiple lines in a declaration.

ReactiveSwiftMoyaProviderTests.swift
155
Function parameters should be aligned vertically if they're in multiple lines in a declaration.

RxSwiftMoyaProviderTests.swift
166
Prefer != nil over let _ =

TestHelpers.swift
148
Limit vertical whitespace to a single empty line. Currently 2.

Errors

File
Line
Reason

MoyaProviderSpec.swift
8
Type body should span 350 lines or less excluding comments and whitespace: currently spans 498 lines

TestHelpers.swift
149
Variable name should start with a lowercase character: 'DefaultDownloadDestination'

  Generated by :no_entry_sign: Danger

alright, I'm happy with this. Let's wait for C.
Can someone who knows what the conflict for this to be merged try to resolve?

Was a quick one, refactor by @SD10 from #1149. Fixed it (hopefully 😄)! Gonna do another review of the whole PR in a few.

🔥 once you do that review, if you're happy, go ahead and merge.
Let's land this Pull Request 8 months in the making

Great job everyone, especially @AndrewSB! This is a huge one!
Now might be even bigger one: making sure we got everything between 9.0.0-dev and master in the new release 😅

🎉🎉


Option to have the search results collapsed by default

VSCode Version: 1.22.2
OS Version: Win10 64bit

Steps to Reproduce:

Do a search in your project (for instance via CTRL + SHIFT + F)
Make sure there are items that match your search

When you do this, you'll notice that all matching files are by default uncollapsed. There is a button that you can use that makes it possible to collapse all, but you can't (via a setting) make this the default option. I would love to have this option.

Can I just add to this.
Often when doing a search, I find some files collapsed and some expanded. I presume it is based on whether I manually collapsed the file in a previous search, but I just find it really annoying.
Perhaps there could be a new setting e.g. "search.collapseFiles" that can be true, false, or "rememberLast"?
As a bonus, the 'Collapse All' button could act as a toggle - if all files are already collapsed, then expand all.

That is based on how many results there are. <10 in the file, it's expanded. >, it's collapsed. Unless there's only one file, then it's expanded regardless.

Ahh thank you, that does make sense now it's explained.

Would like to have a setting that controls whether files are collapsed at all in the search results. In my case I want all files to be either collapsed or expanded, because having some collapsed and others expanded leads to me missing the collapsed one as it's buried in the middle of the search results and I have to expand each of them manually.

As a bonus, the 'Collapse All' button could act as a toggle - if all files are already collapsed, then expand all.

Would be a good feature.

@roblourens for consistency I would also add a description to the other enum values:

I think the others are self-explanatory, I think we should only add enumDescriptions when needed.

is there a keyboard binding/shortcut for collapsing or can one be created?

You can add a keybinding for search.action.collapseSearchResults

I feel like this should be "built-in" already like intelliJ but thanks.


add auto-play option

https://github.com/yairl/ivrit.ai/pull/27

Sorry for the late reply.
Best to probably ping me directly when you push a change, since otherwise I don't see it immediately and it might get lost.
We need Settings to be under a setings "gear" or three vertical dots, and opening up as a separate "menu" (inside the same page).
Otherwise, the page gets more condensed and less pleasant, especially on mobile.
If you can fix that, we will be grateful.
If so, please ping me directly after your push so I can handle it immediately.

No update for >4 months; closing.


chore: add repo for package.json

I think we'd better add this field as there is no repo information in readme, so people may not ahead here by checking npm


[AppService] Fixes #15604, #15605: Add Dotnet5 support

Description

Fixes #15604 #15605

Add .NET 5 support for AppService webapps. Runtime dotnet|5.0 can be used with az webapp create and az webapp up

Testing Guide

az webapp list-runtimes (--linux) should show dotnet|5.0 as an available runtime
az webapp up run in a .NET5 app should work and create a dotnet|5.0 webapp
az webapp create --runtime "dotnet|5.0" should create a dotnet|5.0 webapp

Also included bugfixes:

issue #15701: running az webapp create --runtime "node|12-lts" consecutively with the same webapp should work
Also fixes issue where running az webapp up on an existing webapp with different runtime doesn't update the webapp's runtime

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

hi @qwordy could you pls help to review?

Still testing, will take PR out of draft when done

OK. Will review after it is done.

@calvinsID Can you help set the target branch to release since you require a hot fix.

@panchagnula I sign-off on my side. Got to test it out with the private drop I got from @calvinsID  and everything looks tip-top 🎩

@qwordy can you help us with the build errors?

/azp run

@qwordy can you help us with the build errors?

The failed task can succeed in other PRs. Let's retry.

I wrote a PR to fix it: https://github.com/Azure/azure-cli/pull/15804.

/azp run

I wrote a PR to fix it: #15804.

It is merged.

I wrote a PR to fix it: #15804.

It is merged.

thanks @qwordy , pulled in your changes

/azp run


[Bug] - Docker Compose to run full node fails on Config Read

Steps to Reproduce Issue
Following the steps here: https://github.com/MystenLabs/sui/tree/main/docker/fullnode#readme
Expected Result
A running node.
Actual Result
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: authority-store-pruning-config: missing field `use-range-deletion` at line 15 column 33', crates/sui-node/src/main.rs:53:58
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Added RUST_BACKTRACE=1 then RUST_BACKTRACE=full:
hread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: authority-store-pruning-config: missing field `use-range-deletion` at line 15 column 33

Stack backtrace:
   0: sui_config::Config::load
   1: sui_node::main
   2: std::sys_common::backtrace::__rust_begin_short_backtrace
   3: std::rt::lang_start::{{closure}}
   4: std::rt::lang_start_internal
   5: main
   6: __libc_start_main
   7: _start', crates/sui-node/src/main.rs:53:58
stack backtrace:
   0:     0x564ecdc0e2ca - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::he1c117e52d53614f
   1:     0x564ecdc38bde - core::fmt::write::h25eb51b9526b8e0c
   2:     0x564ecdc07585 - std::io::Write::write_fmt::ha9edec5fb1621933
   3:     0x564ecdc0e095 - std::sys_common::backtrace::print::h41b9b18ed86f86bd
   4:     0x564ecdc0fb2f - std::panicking::default_hook::{{closure}}::h22a91871f4454152
   5:     0x564ecdc0f86b - std::panicking::default_hook::h21ddc36de0cd4ae7
   6:     0x564ecdc10239 - std::panicking::rust_panic_with_hook::h5059419d6d59b3d0
   7:     0x564ecdc0ffd9 - std::panicking::begin_panic_handler::{{closure}}::h0f383c291cd78343
   8:     0x564ecdc0e77c - std::sys_common::backtrace::__rust_end_short_backtrace::h70ab22f2ad318cdd
   9:     0x564ecdc0fce2 - rust_begin_unwind
  10:     0x564ecb52ba73 - core::panicking::panic_fmt::hd1d46bcde3c61d72
  11:     0x564ecb52bf23 - core::result::unwrap_failed::h456a23f68607268c
  12:     0x564ecba5b431 - sui_node::main::he64bd19715d1fc35
  13:     0x564ecb7e4223 - std::sys_common::backtrace::__rust_begin_short_backtrace::hefafcb418b02cf66
  14:     0x564ecb923f99 - std::rt::lang_start::{{closure}}::h5421492fc1068817
  15:     0x564ecdbff5fc - std::rt::lang_start_internal::h8f7e70b1a2558118
  16:     0x564ecba5b49c - main
  17:     0x7f62fac9ed0a - __libc_start_main
  18:     0x564ecb54ee7a - _start
  19:                0x0 - <unknown>

Fails to find some sort of config call failing to load configuration.
System Information

OS: Ubuntu 22.04.2 LTS x86_64

Full node tutorial here works, with the exception that, when I run
cargo run --release --bin sui-node -- --config-path fullnode.yaml

And the node starts running I get:
2023-08-05T11:29:34.787220Z ERROR sui_network::state_sync: Failed to find an archive reader to complete the state sync request
2023-08-05T11:29:39.788055Z ERROR sui_network::state_sync: Failed to find an archive reader to complete the state sync request
2023-08-05T11:29:41.793509Z  INFO sui_network::state_sync: unable to sync contents of checkpoint 1
2023-08-05T11:29:44.789055Z ERROR sui_network::state_sync: Failed to find an archive reader to complete the state sync request

Maybe need to update peers on the site. Also the docker-image is still not working :(

Same with me.
I tried with:

fullnode-template.yaml default

authority-store-pruning-config:
  num-latest-epoch-dbs-to-retain: 3
  epoch-db-pruning-period-secs: 3600
  num-epochs-to-retain: 1
  max-checkpoints-in-batch: 10
  max-transactions-in-batch: 1000
  pruning-run-delay-seconds: 60

as docs says for enabling aggressive pruning:

authority-store-pruning-config:
  num-latest-epoch-dbs-to-retain: 3
  epoch-db-pruning-period-secs: 3600
  num-epochs-to-retain: 0
  max-checkpoints-in-batch: 10
  max-transactions-in-batch: 1000
  pruning-run-delay-seconds: 60

erase all authority-store-pruning-config:

But above all didn't work.


[7.x] Consider timeouts when counting a job's $maxExceptions

Based on the discussion in https://github.com/laravel/framework/discussions/33473#discussioncomment-36479
This PR counts timeouts as exceptions so people can fail the job if it timeouts using the $maxExceptions configurations.
That way people can release the job back to queue multiple times but fail it if it timeouts a specific number of times.

Does this fix actually need to go to 6.x?

This might be a breaking change.  Move it to 8.x https://github.com/laravel/framework/pull/33521


Dynamic shape index

@apbose  is this ready ?

@peri044 Right now the dynamic input cases are supported, I will add some test cases for dynamic index. Although the implementation should support it. Also, is there any example script to test it with mistral-7b and SD? I did not test it with the models yet

@peri044 Right now the dynamic input cases are supported, I will add some test cases for dynamic index. Although the implementation should support it. Also, is there any example script to test it with mistral-7b and SD? I did not test it end to end with the models yet

For mistral model, you can use the same example https://github.com/pytorch/TensorRT/blob/llm_examples_main/examples/dynamo/torch_export_llama2.py and swap the model name to mistralai/Mistral-7B-v0.3

I ran the Mistral-7B-v0.3, it shows me this in the end-
INFO:torch_tensorrt.dynamo.conversion._TRTInterpreter:TRT INetwork construction elapsed time: 0:08:12.032557
INFO:torch_tensorrt [TensorRT Conversion Context]:Global timing cache in use. Profiling results in this builder pass will be stored.
ERROR:torch_tensorrt [TensorRT Conversion Context]:1: [defaultAllocator.cpp::allocate::19] Error Code 1: Cuda Runtime (out of memory)
WARNING:torch_tensorrt [TensorRT Conversion Context]:Requested amount of GPU memory<PHONE_NUMBER>2 bytes) could not be allocated. There may not be enough free memory for allocation to succeed.
double free or corruption (!prev)

Looks like it got past the dynamic index case

TestIndexDynamicConstantConverter tests are failing in CI


Fix #58

Fix #58
Also, update the PyTest config to support the new version.
I should look into migrating this project to Nox one day.

Pull Request Test Coverage Report for Build 37139265

9 of 9 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 36400247:
0.0%

Covered Lines:
3343

Relevant Lines:
3343

💛  - Coveralls

Pull Request Test Coverage Report for Build 37139265

9 of 9 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 36400247:
0.0%

Covered Lines:
3343

Relevant Lines:
3343

💛  - Coveralls


Grammar Updates made

Few Grammar Updates were made!

It doesn't look like we are going to accept this change for the reasons I listed above. Thanks for the attempt and for your other contributions to vcpkg :)


df.saveAsTable() does not take partitionBy

df.write.partitionBy("col").format("rikai").saveAsTable("blabla")

does not write files in partitions.
But  the following code, without specifying rikai format does write in partitions.
df.write
      .partitionBy("col")
      .mode("overwrite")

      .saveAsTable("parts")

I would take a look
ref:
https://github.com/eto-ai/rikai/commit/70e1ccb9d5c22bfc07aaa4d23148f42ad58cccb5

What's the environment for reproducing? local cluster, an open-source cluster of databricks platform?

Save to path method works fine, try to find the special part of saveAsTable.
https://github.com/eto-ai/rikai/blob/70e1ccb9d5c22bfc07aaa4d23148f42ad58cccb5/src/test/scala/ai/eto/rikai/RikaiRelationTest.scala#L61

By my local test
df.write.format("rikai").partitionBy("col").saveAsTable("blabla")

also fails, so it's not a config overwritten accident. Maybe that's because the rikai format can't satisfy some condition for partitionBy

https://github.com/eto-ai/rikai/blob/70e1ccb9d5c22bfc07aaa4d23148f42ad58cccb5/src/main/scala/ai/eto/rikai/RikaiRelation.scala#L104
Saving to the path will go through this method, but saving as a table will not. I will take further investigating.

Here should carry __partition_columns in  table.storage.properties, but it's not, will find out why.
ai.eto.rikai.RikaiOptions.<init>(RikaiOptions.scala:20)
ai.eto.rikai.RikaiRelationProvider.createRelation(RikaiRelationProvider.scala:68)
org.apache.spark.sql.execution.datasources.DataSource.writeAndRead(DataSource.scala:532)
org.apache.spark.sql.execution.command.CreateDataSourceTableAsSelectCommand.saveDataIntoTable(createDataSourceTables.scala:220)
org.apache.spark.sql.execution.command.CreateDataSourceTableAsSelectCommand.run(createDataSourceTables.scala:177)
org.apache.spark.sql.execution.command.DataWritingCommandExec.sideEffectResult$lzycompute(commands.scala:108)
org.apache.spark.sql.execution.command.DataWritingCommandExec.sideEffectResult(commands.scala:106)
org.apache.spark.sql.execution.command.DataWritingCommandExec.doExecute(commands.scala:131)
org.apache.spark.sql.execution.SparkPlan.$anonfun$execute$1(SparkPlan.scala:180)
org.apache.spark.sql.execution.SparkPlan.$anonfun$executeQuery$1(SparkPlan.scala:218)
org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
org.apache.spark.sql.execution.SparkPlan.executeQuery(SparkPlan.scala:215)
org.apache.spark.sql.execution.SparkPlan.execute(SparkPlan.scala:176)
org.apache.spark.sql.execution.QueryExecution.toRdd$lzycompute(QueryExecution.scala:132)
org.apache.spark.sql.execution.QueryExecution.toRdd(QueryExecution.scala:131)
org.apache.spark.sql.DataFrameWriter.$anonfun$runCommand$1(DataFrameWriter.scala:989)
org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$5(SQLExecution.scala:103)
org.apache.spark.sql.execution.SQLExecution$.withSQLConfPropagated(SQLExecution.scala:163)
org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$1(SQLExecution.scala:90)
org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:775)
org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:64)
org.apache.spark.sql.DataFrameWriter.runCommand(DataFrameWriter.scala:989)
org.apache.spark.sql.DataFrameWriter.createTable(DataFrameWriter.scala:753)
org.apache.spark.sql.DataFrameWriter.saveAsTable(DataFrameWriter.scala:731)
org.apache.spark.sql.DataFrameWriter.saveAsTable(DataFrameWriter.scala:626)
ai.eto.rikai.RikaiRelationTest.$anonfun$new$1(RikaiRelationTest.scala:75)

DataSource has a field partitionColumns, it should put the field as a parameter here, but it's not. Do we need to patch Spark? How did parquet get this parameter?
https://github.com/apache/spark/blob/v3.1.2/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/DataSource.scala#L532


Shields Override Fluids

Issue description: Using a shape card of "Box - Hollow" for my shield projector (tier 4) I created a shield large enough to encompass my whole base (quite a large base). I then activated the shield and noticed when I went outside that my liquid starlight from astral sorcery was missing. It seems the shield, even when invisible, takes priority over fluids in the world. This can be quite annoying for valuable liquids such as the liquid starlight, and when it comes to farms. I believe that shields should not form where liquids are present, and should be treated as a solid block.
Versions: (Direwolf20 Pack 1.7.1)

Minecraft: 1.12.2
Forge: <IP_ADDRESS>87
McJtyLib: 2.6.2
RFTools: 7.23

Vanilla Minecraft has a concept of ”replaceable” blocks. If a block is replaceable, you don't need to break it before placing another block where it is. The shield projector is currently programmed to use this check to determine where to place its shield blocks, as this is desirable in some cases (e.g., you don't want tall grass or snow layer blocks opening a hole in your shield). As you discovered, fluid blocks are replaceable. I'll look into adding a setting that makes the shield projector only place shields in air, rather than over any replaceable blocks.

In the meantime, it should be possible to accomplish the same effect by using a scanner to scan the target region first and select only air, then use the resulting scan as the shape for the shield.


Not found AccountKitActivity.ACCOUNT_KIT_ACTIVITY_CONFIGURATION

I use xamarin form. So I create a Dependency Services for each platform. On Android, I use Xamarin.Facebook.AccountKit.Android 5.0.0. When I config the action to show AccountKitActivity. I see the document of FB. They use Intent intent = new Intent(this, AccountKitActivity.class); and
intent.putExtra( AccountKitActivity.ACCOUNT_KIT_ACTIVITY_CONFIGURATION,configuration);
But in C# I get error not resolve symbol ACCOUNT_KIT_ACTIVITY_CONFIGURATION. How to config this in xamarin android. I need sample on android or xamarin form. Can you help me ?

@nhdanh Is this still an issue?

I replace with my text "ACCOUNT_KIT_ACTIVITY_CONFIGURATION" in put extra. I hope plugin will update same with FB Document


[Suggestion] Add Soul Wars tables to Menu Entry Swapper

Is your feature request related to a problem? Please describe.
It is not.
Describe the solution you'd like
There is currently no option within Menu Entry Swapper to change "Take-from" at the Bandage / Potion tables. It would be nice to be able to select from "Take-from, -1, -5, and -10".
Picture of the menu in question:

This can now be done with the changes in 92aac53f4273e7944c3da767637e083847c03808


elasticdump import index setting not working

ElasticDump version:6.0.0
Elasticsearch version:6
Node.js version :v10.14.1

I am able to export index setting using below command
elasticdump --input=http://localhost:9200/tempIndex --output=/Users/Desktop/indexFile --type=settings
but when i tried to import the same setting it is not updating the index setting
The command i used for import is :
elasticdump --input=/Users/Desktop/indexFile --output=http://localhost:9200/tempIndex --type=settings
output of command :
07:06:33 GMT | starting dump
 07:06:33 GMT | got 1 objects from source file (offset: 0)
 07:06:34 GMT | sent 1 objects to destination elasticsearch, **wrote** 0
 07:06:34 GMT | got 0 objects from source file (offset: 1)
 07:06:34 GMT | Total Writes: 0
 07:06:34 GMT | dump complete

Below is the settings of my index exported using elasticdump settings option
{
    "tempIndex":{
        "settings":{
            "index":{
                "mapping":{
                    "nested_fields":{
                        "limit":"2000"
                    },
                    "total_fields":{
                        "limit":"2000"
                    }
                },
                "analysis":{
                    "normalizer":{
                        "lowercase_normalizer":{
                            "filter":[
                                "lowercase"
                            ],
                            "type":"custom",
                            "char_filter":[

                            ]
                        }
                    }
                },
                "number_of_shards":"5",
                "number_of_replicas":"1"
            }
        }
    }
}

Settings can only be added on index creation. So the index must not exist when running this command. You can short-circuit by supplying the appropriate URL, but it still would fail due to the fact that you are trying to update non-dynamic settings.
{
	"error": {
		"root_cause": [{
			"type": "illegal_argument_exception",
			"reason": "Can't update non dynamic settings [[index.number_of_shards]] for open indices [[source_index/_OdHe-IVQBemJ3YYka_9hg]]"
		}],
		"type": "illegal_argument_exception",
		"reason": "Can't update non dynamic settings [[ index.number_of_shards]] for open indices [[source_index/_OdHe-IVQBemJ3YYka_9hg]]"
	},
	"status": 400
}

You can do
# passing in _settings path will change operation from insert to update
elasticdump --input=/Users/Desktop/indexFile --output=http://localhost:9200/tempIndex/_settings --type=settings

I have tried the solution which you have suggested but it is not working
elasticdump --input=/Users/Desktop/indexFile --output=http://localhost:9200/tempIndex/_settings --type=settings

What I suggested wasn't a solution. What I am saying is/ With the current settings, you wouldn't be able to do an update. Please update to the latest version. It logs the exceptions thrown by endpoint.


Update the base image to Python 3.5

Python 3.5.0 is out and Anaconda 2.4.0 has it so it would be great to have the base image updated to use it.

+1
Not only that, but also a way to specify that requirements.txt or environment.yml apply to Python 3 and not 2.
In practice I end up having to use Dockerfile for configuration.

Thanks for the feedback! The base image has been updated to use both Anaconda 4.0.0 and Python 3.5 in https://github.com/binder-project/binder/commit/29c4e3dbda94e80b1b22c82997e554a25cd187ff .
@tiagoantao as of now, the dependencies in a requirements.txt file will be installed in both the Python 2.7 and the Python 3.x environments, and you can specify a language dependency in an environment.yml file (check out this example https://github.com/binder-project/example-conda-environment/blob/master/environment.yml ). Hopefully that should let you avoid writing a Dockerfile.
In the upcoming 1.0 release, we're going to let you choose from a larger variety of base images, and we'll  have much more thorough documentation!

I tried with requirements.txt and it only loaded on 2.7. There might be a
bug in there.
With regards conda: thanks for the example - It should solve my problems.


nav bar logo not mobile friendly

it overflows the top bar and overlaps with page content

I am researching a solution.
It seems to relate to Trello card:
"Fix the alignment of the content on the Mobile Screen size version of the "Donate" page":
https://trello.com/c/d0pDc90K

FYI I prototyped a fix for this in PR #55, but #60 is blocking that particular PR from working at the moment.

Update: #66 will fix this


mobile: support compiling with go-mobile

TBD if we want to try this before porting DTLS (#20).
cc @chrisprobst @gedw99

How could one start working on this issue? I guess the openssl lib has to be cross compiled for ARM so that the C files link to correct library. Do you have a hint for how to start ? I'm on macOS and everything works beside the gomobile build process due to an missing import:
could not import github.com/pions/webrtc/internal/dtls (type-checking package "github.com/chunkedswarm/go-chunkedswarm/vendor/github.com/pions/webrtc/internal/dtls" failed (/Users/chrisprobst/dev/go/src/github.com/chunkedswarm/go-chunkedswarm/vendor/github.com/pions/webrtc/internal/dtls/dtls.go:66:15: undeclared name: _Ctype_struct_tlscfg)))))))

The only option is to split the codebase and use a c lib and wrap it.
This woudl mean that you need to be able to swap out what DTLS lib you use depending if your on desktop versus mobile.
This is ALL of course until a pure golang DTLS lib is sturdy enough. But this is the world we live in for now.
SO a very brief search came up with:
https://github.com/sics-iot/tinydtls-standalone
I found tindtls via the COAP page ( which also needs dtls ) here: http://coap.technology/impls.html
So this becomes an architecture similar to what happened with sqlite or rocksdb.

We're going to focus on getting connections between two pions clients working for now. Afterwards we'll look into this. We intend to estimate the difference in effort between compiling the current version on ARM and porting DTLS to pure go. If the difference is minimal we'll likely pursue the latter since it is our goal to avoid the CGO dependency anyway.

I think pure golang is a better approach too
On Mon, 6 Aug 2018, 21:46 Michiel De Backker<EMAIL_ADDRESS>wrote:

We're going to focus on getting connections between two pions clients
working for now. Afterwards we'll look into this. We intend to estimate the
difference in effort between compiling the current version on ARM and
porting DTLS to pure go. If the difference is minimal we'll likely pursue
the latter since it is our goal to avoid the CGO dependency anyway.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/pions/webrtc/issues/64#issuecomment-410830641, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ATuCwpJMhzT_waQ-OVC9G5V79dzGA3qSks5uOJ0mgaJpZM4VuT8C
.

Just to update anyone watching, great news in Slack today! Max was able to get pion-WebRTC working on Android (and will be doing iOS as well)
I am not involved in the work, but sounds very promising :)

How did he achieve it? did he port the C parts to pure golang?
Mostly asking since I wanted to use this and cross compile to arm (synology), but got into issues with ssl. I got it to work on raspberry pi with ubuntu mate (without cross compile) but could not move that to another arm os (since it was missing ssl-dev)
Anyways, awesome work, the project seems to be real nice and would love to see it in pure golang, then it would be the only webrtc implementation that seems to be easily portable :)

I think he cross compiled OpenSSL using a docker container. Hopefully we can get this added as an example at some point.

That would be awesome
Interesting to see his code and makefile

@backkem yes i am pretty sure this is what he did. On android you can build as a shared lib and on IOS as an archive and then use it

Hi, i am Max
To build pions with go-mobile is very simple!
I have two scripts for this. https://github.com/chertov/pions_gomobile
I'm using prebuild openssl binary from here https://www.teskalabs.com/blog/openssl-binary-distribution-for-developers-static-library
but you can build openssl from source if you want!
I don't know how to build universal aar library for all android platforms.
I linked armeabi-v7a binary in my script, it works on my old samsung galaxy S4!
I hope to see pure golang dtls implementation in pions!
But we have no problem with native openssl on mobile platforms!)

Hey .ax . That's awesome. I will try it out with flutter for android and iOS and feedback my efforts

We now have a 100% Go (no OpenSSL dependency) version of pion-WebRTC
Me and @backkem just got our DTLS branch to the point it is ready to be tested. You can try it out here I would really appreciate of people could test it out.
I am going to close this issue since I am assuming since we are 100% Go we no longer need special instructions. Feel free to re-open if there is something that we still need for mobile users, thanks!

A.w.e.s.o.m.e.

<3

i tried the latest pion code and use gomobile bind to build android/ios library, it all failed, anyhelp?


remote: support remotes referred by URL only

When using git-push the user can set the upstream of a branch to a
remote that is not present in the current repository by referring to its
URL. In these cases, git checks for the validity of the URL itself
instead of checking if a remote with that name exists locally.
I.e.:
$ git push --set-upstream <URL>

This case affects lab mostly when we use the remote URL to lookup for it
in GitLab: lab checks for the branch's remote name.
branch.<branch>.remote, then it gets the remote URL itself; however,
in this situation, the branch.<branch>.remote will be the URL already
and any check for that remote in the local repository fails.
The biggest problem is the amount of different URL formats supported by
Git [1], which is bigger than the ones supported by the usual
url.Parse() (net/url Go module). Because of that, I brought the git-urls
module to help.
This new module threat anything that isn't an external URL as a possible
file URL, meaning that default remote names are also accepted, with that
we can pass all our remote names (URL or not) to its Parse() function
and just use the "path" component, which is pretty close to what we need
for the GitLab lookup.
[1] https://git-scm.com/docs/git-push#URLS
Signed-off-by: Bruno Meneguele<EMAIL_ADDRESS>Related: #381

I'll move this MR to draft until I get the tests fixed.

@bmeneg , it's always easier for me to see a real world example.  Can you show me how this would actually work within a git repo?

@prarit yes sure.
One practical usage of it is on CI environments where remote names are not really required/used.
But something simpler: the user can setup a repository and for whatever reason push things so some repository using the remote URL instead of the same itself. For instance:
$ git clone https://github.com/bmeneg/lab
$ git checkout fix-awesome-feature
<.. do some work ..>
$ git push https://github.com/zaquestion/lab

works just fine.
At the same time, the user can set that remote URL as a real tracking remote:
$ git push -u https://github.com/zaquestion/lab test_branch

Causing the branch.test_branch.remote to be an URL instead of an usual name, as we are more used to do, thus, every subsequent git push would push to that URL directly, meaning no remote name lookup nor anything, just straight push to a branch in that repo URL.
I personally don't use remote URLs directly, but Git does support it and mention it in the first lines of the git-push help:
<repository>

    The "remote" repository that is destination of a push operation. This parameter can be either a URL
    (see the section [GIT URLS](https://git-scm.com/docs/git-push#URLS) below) or the name of a remote
    (see the section [REMOTES](https://git-scm.com/docs/git-push#REMOTES) below).

Ah, one thing that might help a bit to understand is: we need to distinguish between a remote name vs url because today we use it to retrieve GitLab's project:
remote_name = branch.<branch_name>.remote
remote_url = remote.<remote_name>.url
gitlab.GetProject(remote_url)

however, in case we don't have a real remote name, we have to skip the second step from above, ending up with the following flow:
branch.<branch_name>.remote = remote_url
gitlab.GetProject(remote_url)


Codelab firechat app doesn't show messages in Android Emulator

Here's the output that I see, after running from Atom to the emulator:

Here's the output from the emulator:

cc @collinjackson

I presume this is an x86 emulator?

Reading his logs above, this is an x86-64 emulator.  Firebase may not include those bits and thus we may not build them into our flutter wrapper service.

That certainly a possibility. Another possibility is that you don't have the right GmsCore.apk on the simulator device. I'd need to see the adb logcat output to be sure (flutter logs isn't enough)

Good guess! Looks like the emulator has an old version of GMS core. I wonder if there's a good way to detect this, or show more of the logs to the developer via the Atom console?
05-19 12:45:42.248  3329  3329 V FirebaseImpl: Firebase was configured using google-services.json.
05-19 12:45:42.249  3329  3369 W GooglePlayServicesUtil: Google Play services out of date.  Requires 9060000 but found 8489480
05-19 12:45:42.250  1551  1732 W ActivityManager: Unable to start service Intent { act=com.google.firebase.auth.api.gms.service.START pkg=com.example.firechat_flutter } U=0: not found
05-19 12:45:42.252  1551  1734 W ActivityManager: Unbind failed: could not find connection for android.os.BinderProxy@5cabe4b
05-19 12:45:42.254  3329  3369 E GooglePlayServicesUtil: The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
05-19 12:45:42.256  3329  3369 W GooglePlayServicesUtil: Google Play services out of date.  Requires 9060000 but found 8489480
05-19 12:45:42.256  3329  3369 E GmsClient: unable to connect to service: com.google.firebase.auth.api.gms.service.START on com.example.firechat_flutter
05-19 12:45:42.258  3329  3369 E GooglePlayServicesUtil: The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
05-19 12:45:42.259  3329  3369 W GooglePlayServicesUtil: Google Play services out of date.  Requires 9060000 but found 8489480
05-19 12:45:42.282  3329  3329 E GooglePlayServicesUtil: The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
05-19 12:45:42.283  3329  3329 W GooglePlayServicesUtil: Google Play services out of date.  Requires 9060000 but found 8489480
05-19 12:45:42.283  3329  3329 I DynamiteModule: Considering local module com.google.android.gms.firebase_database:2 and remote module com.google.android.gms.firebase_database:0
05-19 12:45:42.283  3329  3329 I DynamiteModule: Selected local version of com.google.android.gms.firebase_database
05-19 12:45:42.296  3329  3369 E GooglePlayServicesUtil: The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
05-19 12:45:42.301  3329  3369 W GooglePlayServicesUtil: Google Play services out of date.  Requires 9060000 but found 8489480
05-19 12:45:42.302  1551  1735 W ActivityManager: Unable to start service Intent { act=com.google.firebase.auth.api.gms.service.START pkg=com.example.firechat_flutter } U=0: not found
05-19 12:45:42.309  1551  1732 W ActivityManager: Unbind failed: could not find connection for android.os.BinderProxy@6501028
05-19 12:45:42.314  3329  3369 E GooglePlayServicesUtil: The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
05-19 12:45:42.321  3329  3369 W GooglePlayServicesUtil: Google Play services out of date.  Requires 9060000 but found 8489480
05-19 12:45:42.321  3329  3369 E GmsClient: unable to connect to service: com.google.firebase.auth.api.gms.service.START on com.example.firechat_flutter
05-19 12:45:42.323  3329  3369 E GooglePlayServicesUtil: The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
05-19 12:45:42.325  3329  3369 W GooglePlayServicesUtil: Google Play services out of date.  Requires 9060000 but found 8489480
05-19 12:45:46.569  1551  1597 I InputReader: Reconfiguring input devices.  changes=0x00000010
05-19 12:45:46.601  2251  3381 D PackageBroadcastService: Received broadcast action=android.intent.action.PACKAGE_CHANGED and uri=com.google.android.gms
05-19 12:45:46.607  2251  3381 I PackageBroadcastService: Null package name or gms related package.   Ensuring opt-in disabled
05-19 12:45:46.673  2251  2360 I Icing   : updateResources: need to parse f{com.google.android.gms}
05-19 12:45:46.759  2023  2129 D WidgetsModel: com.google.android.googlequicksearchbox is filtered and not added to the widget tray.
05-19 12:45:47.857  2251  2360 I Icing   : Indexing 682FB7588F01E598756DAAD80B604C9C71FFEADB from com.google.android.gms
05-19 12:45:47.861  2251  2360 I Icing   : Indexing done 682FB7588F01E598756DAAD80B604C9C71FFEADB
05-19 12:45:48.140  2071  3388 W CronetSyncConnectionRcs: Upload content type not set.

Showing more logs is as easy as editing flutter logs filters:
https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/android/android_device.dart#L538
On Thu, May 19, 2016 at 12:53 PM, Seth Ladd<EMAIL_ADDRESS>wrote:

Good guess! Looks like the emulator has an old version of GMS core. I
wonder if there's a good way to detect this, or show more of the logs to
the developer via the Atom console?
05-19 12:45:42.248  3329  3329 V FirebaseImpl: Firebase was configured using google-services.json.
05-19 12:45:42.249  3329  3369 W GooglePlayServicesUtil: Google Play services out of date.  Requires 9060000 but found 8489480
05-19 12:45:42.250  1551  1732 W ActivityManager: Unable to start service Intent { act=com.google.firebase.auth.api.gms.service.START pkg=com.example.firechat_flutter } U=0: not found
05-19 12:45:42.252  1551  1734 W ActivityManager: Unbind failed: could not find connection for android.os.BinderProxy@5cabe4b
05-19 12:45:42.254  3329  3369 E GooglePlayServicesUtil: The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
05-19 12:45:42.256  3329  3369 W GooglePlayServicesUtil: Google Play services out of date.  Requires 9060000 but found 8489480
05-19 12:45:42.256  3329  3369 E GmsClient: unable to connect to service: com.google.firebase.auth.api.gms.service.START on com.example.firechat_flutter
05-19 12:45:42.258  3329  3369 E GooglePlayServicesUtil: The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
05-19 12:45:42.259  3329  3369 W GooglePlayServicesUtil: Google Play services out of date.  Requires 9060000 but found 8489480
05-19 12:45:42.282  3329  3329 E GooglePlayServicesUtil: The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
05-19 12:45:42.283  3329  3329 W GooglePlayServicesUtil: Google Play services out of date.  Requires 9060000 but found 8489480
05-19 12:45:42.283  3329  3329 I DynamiteModule: Considering local module com.google.android.gms.firebase_database:2 and remote module com.google.android.gms.firebase_database:0
05-19 12:45:42.283  3329  3329 I DynamiteModule: Selected local version of com.google.android.gms.firebase_database
05-19 12:45:42.296  3329  3369 E GooglePlayServicesUtil: The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
05-19 12:45:42.301  3329  3369 W GooglePlayServicesUtil: Google Play services out of date.  Requires 9060000 but found 8489480
05-19 12:45:42.302  1551  1735 W ActivityManager: Unable to start service Intent { act=com.google.firebase.auth.api.gms.service.START pkg=com.example.firechat_flutter } U=0: not found
05-19 12:45:42.309  1551  1732 W ActivityManager: Unbind failed: could not find connection for android.os.BinderProxy@6501028
05-19 12:45:42.314  3329  3369 E GooglePlayServicesUtil: The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
05-19 12:45:42.321  3329  3369 W GooglePlayServicesUtil: Google Play services out of date.  Requires 9060000 but found 8489480
05-19 12:45:42.321  3329  3369 E GmsClient: unable to connect to service: com.google.firebase.auth.api.gms.service.START on com.example.firechat_flutter
05-19 12:45:42.323  3329  3369 E GooglePlayServicesUtil: The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
05-19 12:45:42.325  3329  3369 W GooglePlayServicesUtil: Google Play services out of date.  Requires 9060000 but found 8489480
05-19 12:45:46.569  1551  1597 I InputReader: Reconfiguring input devices.  changes=0x00000010
05-19 12:45:46.601  2251  3381 D PackageBroadcastService: Received broadcast action=android.intent.action.PACKAGE_CHANGED and uri=com.google.android.gms
05-19 12:45:46.607  2251  3381 I PackageBroadcastService: Null package name or gms related package.   Ensuring opt-in disabled
05-19 12:45:46.673  2251  2360 I Icing   : updateResources: need to parse f{com.google.android.gms}
05-19 12:45:46.759  2023  2129 D WidgetsModel: com.google.android.googlequicksearchbox is filtered and not added to the widget tray.
05-19 12:45:47.857  2251  2360 I Icing   : Indexing 682FB7588F01E598756DAAD80B604C9C71FFEADB from com.google.android.gms
05-19 12:45:47.861  2251  2360 I Icing   : Indexing done 682FB7588F01E598756DAAD80B604C9C71FFEADB
05-19 12:45:48.140  2071  3388 W CronetSyncConnectionRcs: Upload content type not set.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/flutter/flutter/issues/4049#issuecomment-220432587

Thanks for the diagnostics. Android Studio had new images available. After installing them, I was able to see messages!


Change WWWL inside the rectangel ROI

Can you create a tool allow user draw a rectangle ROI and change wwwl inside or ouside it?
Thank you too much!

This hasn't seen action in 7 months. Its a good candidate for a 3rd party plugin post v3 release, but it may not longer be ideal as a core tool in this repository.
Closing for now. Please feel free to discuss.


Label Orientation in microchart

In microchart bar the default label presentation is horizontal but,
I would  like to display label value as vertical in Microchart Bar .And as well as I want dynamic color in bar.

There is a suggestion for this already: https://github.com/aloisdeniel/Microcharts/issues/26.


[BUG] Graph is always added for playbook when --playbook option used

Describe the Bug
When generating README.md for a role and included a playbook example, the graph is always generated.
Environment

Docsible Version: 0.7.8
Python Version: 3.9.19
Operating System: Linux (RHEL 9)
CLI or Script: CLI

To Reproduce
Describe the steps to reproduce the behavior:
Run docsible --role ../ansible_collections/snhu/ansible_windows/roles/sql_server_cluster --playbook sql_server_cluster.yml
(any role & playbook should reproduce the problem)
Expected Behavior
Just the playbook section is included in README.md
Actual Behavior
Both the playbook and the mermaid diagram are included:
Playbook
---
- name: Configure SQL Server Cluster
  hosts: all
  gather_facts: false
  vars_files:
    - "vars/{{ ad_domain }}_ad_info.yml"
  vars:
    sql_server_mgrs: "SQLManagers"
    sql_cno: test_cno
    sql_vco: test_vco
    sql_ou: "OU=SQL Servers,OU=Servers,DC=my,DC=com"
    sql_dc: "{{ ad_dc }}"

  tasks:
    - name: Create SQL Server Cluster in "{{ sql_dc }}"
      ansible.builtin.import_role:
        name: snhu.ansible_windows.sql_server_cluster

Playbook graph
flowchart TD
  all-->|Import role| snhu_ansible_windows_sql_server_cluster0([create sql server cluster in  sql dc <br>import_role: snhu ansible
windows sql server cluster]):::importRole

@jmcook1 thank you for reporting this issue.
The problem with generating a README.md that includes the graph regardless of the selected option has been resolved in the latest release.
Please update to Docsible 0.7.9 pip install --upgrade docsible and try again. If you encounter any further issues, feel free to reach out.

Thanks for the quick turnaround! I just tested on a couple of roles and everything is working as expected.


put, patch, delete methods don't work

I've setup remix forms by following the getting started section of the docs. Unfortunately when I try to set the form method to put, patch, or delete they don't work as specified in the remix Form component docs and the method sent back to the server is always post.
Is this a known bug or is the getting started section missing something to allow these methods to work?

Thanks for reporting this, @nplutt! It was an unknown bug, and it's now fixed at 1.6.2 🎉💪🏽


Replace com.google.common.base.Function (partly)

References

TODO

Submitter checklist

[ ] The PR request is well described and justified, including the body and the references
[ ] The PR title represents the desired changelog entry
[ ] The repository's code style is followed (see the contributing guide)
[ ] Test coverage that demonstrates that the change works as expected
[ ] For new features, there's necessary documentation in this pull request or in a subsequent PR to wiremock.org

Sorry fixed it, if you want to rebase

Quick reminder that there's this recipe to broadly replace guava:
https://docs.openrewrite.org/recipes/java/migrate/guava/noguava
And this recipe to specifically replace function:
https://docs.openrewrite.org/recipes/java/migrate/guava/preferjavautilfunction
Could be worth exploring either for this pull request.

Quick reminder that there's this recipe to broadly replace guava: https://docs.openrewrite.org/recipes/java/migrate/guava/noguava
And this recipe to specifically replace function: https://docs.openrewrite.org/recipes/java/migrate/guava/preferjavautilfunction
Could be worth exploring either for this pull request.

Quick reminder that there's this recipe to broadly replace guava: https://docs.openrewrite.org/recipes/java/migrate/guava/noguava
And this recipe to specifically replace function: https://docs.openrewrite.org/recipes/java/migrate/guava/preferjavautilfunction
Could be worth exploring either for this pull request.

Hello
Do you mean make "com.google.common.base.Joiner" apart from this MR?
It's to small for MR, IMHO...

Hello Do you mean make "com.google.common.base.Joiner" apart from this MR? It's to small for MR, IMHO...

I mean to say that some of the changes you're making here manually can also be made through automation. That might mean you can accomplish more in the same time.
Here's another recipe that creates some of the same changes I see you make here:
https://docs.openrewrite.org/recipes/java/cleanup/uselambdaforfunctionalinterface

@tomakehurst @timtebeek
Please look at StringValuePatternTest.
I can remake it without com.google.common.base.Function. But in my opinion it does nothing ... or I'm debugging incorrectly)))

@tomakehurst @timtebeek
Hello. I can continue getting rid of "com.google.common.base.Predicate" here or create a new MR.
What's are You prefer?)))


Runtime UI can overlook subprocess instances for superseded definitions

In the MDWHub instance view for Multiple Subprocess activities, subflow instances from non-current definition versions are not displayed in the Subprocesses Inspector tab.
Say subproc mypkg/MyProc was launched from version 1.2, and then subsequently v 1.3 was imported.
The REST resource URL looks like this:
mdw/services/Processes?definition=mypkg/MyProc v[1.1-2)&owner=PROCESS_INSTANCE&ownerId=123
Apparently this retrieves subproc instances that correspond to the latest version only (1.3 in this example).

Issue is in this code         WorkflowServicesImpl.getProcesses()
Process procDef = ProcessCache.getProcessSmart(spec);
Here we always get the latest version.
Should we use SECONDRY_OWNER_ID to get all the instances of that activity?
Something like this :
select count(process_instance_id) from process_instance pi
where 1 = 1  and pi.owner = 'PROCESS_INSTANCE' and pi.owner_id = 11420 and SECONDRY_OWNER_ID= 53503

Fixed.


Failed test for IEEE754Plugin

../tests/CppUTestExt/IEEE754PluginTest.cpp:123: error: Failure in TEST(FE__with_Plugin, should_not_fail_again_when_test_has_already_failed)
CHECK(IEEE754ExceptionsPlugin::checkIeee754OverflowExceptionFlag()) failed
test-suite.log

Build environment:
$ gcc --version
gcc.exe (Rev1, Built by MSYS2 project) 7.2.0
$ make --version
GNU Make 4.2.1
Built for x86_64-pc-msys


Register for configuration changed event

Is there a way to register for ConfigurationChanged event to log and emit telemetry. This can help give confidence configurations are propagating as expected.

Hello @lissdy
Please let me know if this helps.
Use Event Grid for App Configuration data change notifications
Monitoring App Configuration

@lissdy in case you are using .NET, I hope what is suggested in the issue below can be helpful to you.
https://github.com/Azure/AppConfiguration-DotnetProvider/issues/212


removed unnecessary wrapping of one double value into a Tuple

Coverage decreased (-0.007%) to 95.772% when pulling 46c90ab972d30bdcba2d823507852baa8f50235b on change-return-type into 10c4199570af89bb402b7a2fafdd1b3fcf07fa10 on master.


Baseline sorting is misleading

When sorting by the Baseline column, the order seems to be (when "ascending" is chosen):

Limited availability
Wide availability
Newly available

That is not logical in any way.  Since "ascending" is normally equated with "chronological", it would make more sense to order the

Wide availability (these became available first)
Newly available (these became available later)
Limited availability (these are currently becoming available)

Very conveniently, you could use an alphabetical sort as a proxy, where an "ascending" (chronological) sort of the Baseline would be a descending alphabetical sort.
The best solution might be to use an actual availability date (when and if you have it) even though the image in the Baseline column implies all properties in a given availability category are equivalent.  But I don't think it's worth delaying a change to the sorting until then.  This should be a very simple fix.  No point in letting the perfect prevent the very good.

Since the Baseline designation for a feature indicates a point in time, the sort order should reflect the date a feature became Baseline, which naturally produces the order you mentioned (newly, wide, limited - by default). This has the bonus side effect of showing more timely and useful information to page visitors compared to the order you suggested (which was also considered), given that widely available features tend to remain unchanged going forward. With the current setup, every visit to the website will show the features that most recently reached Baseline status, without any need for further clicking and scrolling.
@jcscottiii did I get anything wrong in the above?

the sort order should reflect the date a feature became Baseline, which naturally produces the order you mentioned (newly, wide, limited - by default).

This is correct and intended.
If you look at the raw data from the backend call examine the low_date, you will see that the features are listed in chronological order of when the feature reached baseline.
@brandondrew: If you have any ideas on how we can make this clearer, let us know.


Documentation of pose/@relative_to syntax.

I found a SDF in the unit tests that features a bit of a strange @relative_to mechanism. @relative_to links are specified using a format like M1::CM1::L, which I assume denotes a nested frame similar to C++ namespace nesting? I find this a bit surprising because none of the documentation I have seen so far suggests that :: has special meaning and I expected that A::B should just be any old frame.
Would it be worthwhile to add a sentence in the docs saying that the frame must be specified relative to document root using the C++ namespace syntax, e.g. model1::link2::frame3?

SDF with namespace-like syntax
<?xml version="1.0" ?>
<sdf version='1.8'>
  <world name="world_relative_to_nested_reference">
    <model name="M1">
      <pose>1 0 0 0 1.5707963267948966 0</pose>
      <link name="L1">
        <pose>0 1 0 0 0 0</pose>
      </link>
      <joint name="J1" type="fixed">
        <parent>L1</parent>
        <child>L2</child>
      </joint>
      <link name="L2">
        <pose>0 0 1 0 0 0</pose>
      </link>
      <frame name="F1">
        <pose relative_to="L2">1 0 0 0 0 0</pose>
      </frame>
      <model name="CM1">
        <pose>0 1 0 1.5707963267948966 0 0</pose>
        <link name="L">
          <pose>1 0 0 0 -1.5707963267948966 0</pose>
        </link>
      </model>
    </model>
    <frame name="F2">
      <pose relative_to="M1">2 0 0 0 0 0</pose>
    </frame>
    <frame name="F3">
      <pose relative_to="M1::L1">3 0 0 0 0 0</pose>
    </frame>
    <frame name="F4">
      <pose relative_to="M1::J1">4 0 0 0 0 0</pose>
    </frame>
    <frame name="F5">
      <pose relative_to="M1::F1">5 0 0 0 0 0</pose>
    </frame>
    <frame name="F6">
      <pose relative_to="M1::CM1">6 0 0 0 0 0</pose>
    </frame>
    <frame name="F7">
      <pose relative_to="M1::CM1::L">7 0 0 0 0 0</pose>
    </frame>
  </world>
</sdf>

The :: delimiter was reserved as of SDFormat 1.8 (http://sdformat.org/tutorials?tut=composition_proposal&cat=pose_semantics_docs&#1-3-1-reserved-delimiter-token) although it has been in use by Gazebo classic long before that. As of SDFormat 1.8, names cannot have :: in them.

Would it be worthwhile to add a sentence in the docs saying that the frame must be specified relative to document root using the C++ namespace syntax, e.g. model1::link2::frame3?

My hope is to update the documentation in http://sdformat.org/tutorials?tut=composition&cat=specification& to include the changes in SDFormat 1.8 in the near future.

@azeey Is the documentation taken from the .sdf file annotations? I'm using those to generate docstrings for my bindings (e.g., v18.model.Model), which in turn become the API doc, so we might have common interest in making them pretty and easy to understand :D

@azeey Is the documentation taken from the .sdf file annotations?

The documentation I mentioned is written/updated manually but updating the .sdf annotations sounds good too. PRs are definitely welcome :)

@azeey On the doc page you linked in an earlier comment I found this quote

libsdformat's current implementation of the  tag works by copying all links and joints of the child model into the parent model with their poses modified to be relative to the parent model frame.

Is this still the case? I always wondered what would happen if I //include'd a model that uses a different SDF version as the including one. This comment would suggest that tings ... simply break. I doubt this is what actually happens?

Also, reading up on the :: syntax, I am still confused what should happen in the following SDF
<sdf version="1.8">
  <model name="model">
    <frame name="alias_me">
      <pose>1 2 3 0 0 0</pose>
    </frame>

    <model name="alias_me">
      <pose>4 5 6 0 0 0</pose>
    </model>

    <link name="where_am_I">
      <pose relative_to="alias_me"/>
    </link>

  </model>
</sdf>

that is invalid since spec version 1.7, since there are sibling elements with the same name:

http://sdformat.org/tutorials?tut=pose_frame_semantics&ver=1.7&cat=specification&#unique-names-and-reserved-names

@scpeters Thanks for the clarification; that makes sense.
Perhaps the spec should be updated then. It makes you believe this is possible, since it limits uniqueness to siblings of the same kind, e.g., the frame spec currently says:

Name of the frame. This name must not match another frame defined inside the parent that this frame is attached to.

whereas the (nested) model spec says:

A unique name for the model. This name must not match another nested model in the same level as this model.

While both statements are true, the (nested) model description is incomplete, as the name also must not match a sibling frame (due to the implicit frame of model).

Closing this since #666 is merged.


get rid of the discord.js dependency

there is absolutely no need for the entire bot library in our dependencies, as we only really need the embedbuilder from it.
removing it will allow for lower node versions and also will remove the constant brain destruction whenever they update something on their end.

Good issue


Sync project

This is to sync atmosphere projects in such a way that they act like openstack projects.  This does not sync instances within these projects, that is a future pull request.

each PR should really focus on one feature. This PR contains multiple and it would be difficult for other people to test it.

Agree with Lucas here. Also seems like each PR that you've opened here contains overlapping commits which can get confusing.

This one is dependent on the MOC Login without Project name.
Not quite sure how I can make it independent of that one.

There's no good workflow that I can think of to truly make your patches independent. We either have to do code review faster, or you should just have one PR for everything (but which contains multiple, clear commits)

So SyncProject contains the changes that MocOpenstackLogin has.  I have restructured it slightly from my starting point in order to be PEP8 compliant and to be a little more rational with open stack.  Celery is a pain to deal with, however it is needed.
I am expecting to do a squash commit for this part, as I have had a number of small commits.

I have squashed commits made from the start of this project.

Will pull and test the code soon. I tried to login as friday-test in the <IP_ADDRESS>. Login works but I don't see any image that I could use? Might add some default images?

In service/tasks/driver.py, each of these tasks is designed for the "launching instances" and "instance actions". But Sync Project actually belongs to the "login" process/logic. In other words, It might be ok to use celery to sync projects between OpenStack and GIJI. However, the code should probably in another place. Otherwise, it is not consistent with the code base we have now.

In the tasks files are all of the interactions with the cloud drivers that are done using celery.  These are done using celery as they are potentially long tasks and if done in line with the web, may cause the browser to time out.  Currently with atmosphere, this is just dealing with instances (as atmosphere projects are not openstack projects).
And, no, SyncProject does not belong strictly to the login process as it needs to be run periodically in order to update the project and instances.  This is required as we want changes that appear in horizon to be viewed in atmosphere.  I currently have it starting once from the login.
The plan for this is to get the projects with instances synced at login (a vertical slice of functionality), then to turn on celery's periodic running feature.

Yes, but you are not using the cloud driver, which means you should not put your code in the driver.py. I would recommend to create a new file and place your code there so that it is easier for other to understand. And I am not saying you should not use celery. However, does celery help you reduce the processing time? Celery makes tasks done in parallel. It would be great if you have many tasks. For Sync Project, you might have less than three tasks. So I don't know how much time you could reduce. BUT, using celery is fine.
If that's the plan, you might want to call this PR: Sync Project and Instance. It sounds good to me to "sync project", but I am not sure about the "sync instance" part. GIJI user should not use the Horizon at all. In other words, they have no instance to sync with Horizon.
And I don't understand how celery could run periodically by itself. You have to put the tasks on the queue so these tasks would be executed. Mind elaborating this part a bit more?

I can move it to its own file, though I feel that it groups really well there as there are all of the interactions with celery to the open stack instance in one file.

The way SyncProject is laid out is that it syncs all projects.  Furthermore, there is another part that I have indicated where it will go to sync the instances.  I was planning to have another PR just for the instance part.

Celery is being used as SynProject calls the openstack drivers separately.  This incurs enough overhead that I am worried that if it is not placed in the background, the web browser will time out.  Furthermore, it is easily parallelized.  This is the call to get the projects can be done in the background and calls to update the instances associated with those projects can be done in parallel.

My reading of the Celery docs suggests that there is the provision for running the job every 5 minutes.  If you consider the following:
@task(name="wait_for_instance", max_retries=250, default_retry_delay=15)
Here the task is retired 250 files with a delay of 15[seconds] until it succeeds.  It would be trivial to piggy back on this.  However, there is also a link parameter which links the next run after successful completion of the task.  The link parameter could be used to run the same task 5 minutes in the future - until the task fails due to a expired token.  We could also programmatically link the next run using similar code that you just eliminated in the resize.

@xuhang57

but I am not sure about the "sync instance" part. GIJI user should not use the Horizon at all. In other words, they have no instance to sync with Horizon.

Shouldn't the goal be that each UI always show all instances belonging to the user's project(s), regardless of where the user launched them from? There shouldn't be anything special about an instance launched from Horizon, or from Atmosphere.
In other words, we aren't syncing the instances with Horizon. Rather, we are making sure that Atmosphere knows about every instance that OpenStack says belongs to the user.

@jeremyfreudberg  That's fine with me. But I thought the goal here is having two GUI for different target audience. So, if you are comfortable enough to use Horizon, then you stay with it. Otherwise, use GIJI.
This "Sync" is actually one way, since Horizon knows whatever you launch in GIJI. In other words, Horizon is still the "master" and it is for advanced users/hackers.

I can move it to its own file, though I feel that it groups really well there as there are all of the interactions with celery to the open stack instance in one file.

You just said you will have another PR for the instance part. So what is in this PR is for the project part. And yes, that file is about instance so that's why I am suggesting we shouldn't mix it and make it complexed.

sounds great.

Not sure have you tried? I don't think it would take that much time though. But yeah, what you have now, works.

That task is like that due to its nature. And it would stop if an error shows up. I am not sure if it is a good idea to keep repeating the task of "sync project/instance" in the backend. It might slows down the web app.

Let's define why I called it Sync.  We are Syncing what is in atmosphere with what is in open stack.  Openstack is our reference copy.   Both troposphere/atmophere and Horizon provide views on the current state of open stack.

Lucas: #3, when I was doing the SyncProject inline it was taking an unreasonable amount of time as part of the login process (because of the calls to open stack).  When I moved it into Celery, the responsiveness of the UI increased.

Lucas: #1, No, I disagree with you.  It is a slight increase in complexity as it is a celery task that interacts with open stack.  By the atmosphere design this just happens to be all of the instance operations as atmosphere projects are not brought in.
The means that we must import the same set of libraries in a separate interpretation unit.  That said, I really don't care where we put this just so it gets done.

Lucas: #4: I was just highlighting how we specify a job in celery.  We could use celery's link to link the 2 runs together.  Perhaps simpler is to just have a loop that breaks when and error condition happens.  So the choice above is whether to contort celery to what we want (i.e. run the task x number of times once every 5 minutes until it succeeds (in our case fails)) or to consume more process space by polling (i.e. having a infinite loop which sleeps 5 minutes).  I would rather have celery do the work at it would consume fewer resources (either contorting celery or using the link feature).

You have to care. That said, you cannot ignore the coding style. And quoting from you:

I can move it to its own file, though I feel that it groups really well there as there are all of the interactions with celery to the open stack instance in one file.

so I replied based on this previously. And to reply what you said in the last sentence. Why not put all code into one file? so you don't have to import the same libs/packages. So it doesn't make sense. The reason why I would like to see them in two files is it is easier for other people to know what thoese functions about and it is easier for us to debug in the future.

I don't think we need to sync it in GIJI from OpenStack/Horizon since it is not our use case. Our users of GIJI won't go to Horizon and launch an instance and go back to GIJI. But they would launch an instance in GIJI and go to Horizon do other things. There is nothing to do with the definititon of "Sync".

lucas: #1, I can come up with argument for doing it either way.  I choose one.
I am not talking about placing all of the code in one file, I am just saying that it clusters nicely where I placed it based on the libraries that it requires and its functionality.  Stylistically, I could go either way and still be good.  Also, complexity isn't really the issue either.
I have worked places that have as part of their style guide that every function needs to be in it's own file.  Should we implement this here?

I am closing this branch as it has been superseded with MOC_Sync_Projects.


Refactoring package project, moving stuff around

This PR does multiple-things as well 🐙 :

Split project/types.go file into several smaller (service.go, container.go and info.go)
Create a new events package with all the events (and related structures).
Add a APIProject interface that the project implement. This interface
is what should be used from outside the project. This makes writing
unit-test of code using libcompose easier.
Move some code around, mainly to not add too much noise into
APIProject. Ps, Port and Scale method are now handled by the project
struct (and thus can be use when using libcompose as a library), which was not the case previously.

/cc @ibuildthecloud @joshwget @dnephin
🐸

LGTM


missing Unity scripts

hi again !
Missing scripts
CanvasGroup, GuiText and GuiTexture, and all Unet scripts

Provide him the files, upload them in mega and put the link here in the comments.

Those components ain't implemented. I will think about first three but definitely not going to add unet.

https://mega.nz/#!ViQGGSja!icgS1Ll4T8TZJ3qgStUSBF93rIHTl_oVoiVjp2e3hWI

and i forgot two important missing script nav mesh agent, nav mesh obstacle

Done
bce380d34babbe483104a852f005b7962b47b3fb

thank you so much!!


Getting "FetchError: network timeout at: https://translate.google.com"

I am having the same issue since this week however I haven't changed anything. Didn't find anything relevant by googling the error. It is like if google translate would now refuse to send the response.

Same here

TTS timeout value should be configurable.
https://github.com/kazhik/google-home-notifier/commit/0abee0782dd9b9f18796231a4cfa0840265dadf5


Make +clientserver feature not depend on X11

Now that vim has +channel as an IPC mechanism, is it possible to utilize the channels instead of X11?
On some platforms, like Ubuntu, the default vim is built without X11 support, which makes the life harder.

@tonymec Thanks for your kind reply.
To be more precise, my scenario is to use vim via an SSH terminal, where I navigate the filesystem of the remote server with multiple tmux panes/windows. The remote server is usually not equipped with any desktop program like X11. In some cases, I either don't have the administrator privilege to install Gnome/X11 or hesitate to pollute the servers with so many GUI related packages solely for this purpose.
Navigating the files within vim could avoid the problem, but I would lose the convenience of tmux, which would be a shame.

Although X11 is described as client-server model, the X11 server always means that of the local system, which  is one of the most remarkable differences between X11 and other pieces of software depending on sever-client models.  So I'm wondering what you really meant with the previous comment, as it sounded like the X11 server and a filesystem server were confused with one another.

@nuko8 +clientserver requires X11 for IPC between the local processes (the vim server and clients). I am not talking about remote-desktop or the alike. Rather, I connect to the remote server via SSH, working with the textual console with tmux. The +clientserver is a vim feature that when enabled, vim --remote a.txt will open the file at an existing vim instance. So I can say, open two tabs in my iTerm/putty/minicom, one dedicates for vim, and the other keeps in shell command-line for navigating files. Then I can vim --remote files in the second tab, and editing the opened files in the first tab.

@typeless  I think I met the same problem as yours.
What I wish is to make "client" and "server" talk across x11 sessions, as long as I logged in as the same user, vim servers should be visible to all login sessions(console/x11). Not sure whether it's feasible with current vim clientserver model.

@brammool
Is this something this project can accept or doable?

Initialise the unix domain socket on start with vim --socket-name=vim_server_1 (or full path)
vim --socket-name=vim_server_1  --remote-tab foo

I quite often use remote-tab option from other tmux pane, vim :terminal or vim :sh.
Currently, in order to use in a ssh environment, I need to start Xvfb, on mac it's a little bit worse with the dependency to Xquarts.

I'm thinking about using D-Bus as it's what most desktop applications are using. But Vim uses X on macOS too?

I have no opinion with what works best to implement +clientserver without the X11 server.  We basically just need to be able to exchange messages.  But there are some other things, such as being able to find another Vim instance by name and avoiding security issues.

Thanks for the reply. I'll look into it.
For now I made a hacky plugin that utilizes channels for my own use, but it's probably nicer to have properly in vim.

+clientserver over unix domain sockets was already discussed over ten years ago: https://groups.google.com/g/vim_dev/c/dm8nvb5b3do/m/-SzW7dq4EBIJ
@ynkdir implemented this in a rather large patch. It went through different versions, but was never included in Vim. The latest(?) version can be found here: https://gist.github.com/ynkdir/996d53a402f533fed518
Maybe it's easier to start with that patch and not from scratch?

I think the old patch was replacing the mechanism, but for backwards compatibility we want to keep the old one.
The suggestion to use D-bus makes most sense, since it was intended specifically for this kind of communication.
But I have no idea how much work it is to implement and if there are disadvantages.

If dbus or x11 was on every system I use, I'd been ok, but most setups have neither in my case.
But I do understand the hesitance over vim becoming a server. If it goes extreme, it might evolve to a proper secure json-rpc server with authentication with a optionally different ipc server/client binary enabling remote development...
I see no urgency as I used to now, as plugins developer can expose anything that vimscript provides.
And thanks @Yamagi for providing 10 years old commit.

I searched for all issues that mention "clientserver" because I would like to get +clientserver support for terminal Vim too, without installing any graphical Vim or whatever. This feature should not depend on X11. It's actually the first feature that I miss where I'm thinking "why is this not already a thing?". So I hope it fits here.


[Icons] Documentation "structure" (H2/3/..)

-- STRUCTURE ONLY - NOT THAT BIG AN ISSUE 👼  --
The curent UX Icons documentation  seems a bit odd to me due to its structure.
I suggest some mid changes (mainly move things or renaming sections or changing the "depth" of some)
First part
Currernt
Table of Contents/
|-- Installation
|-- SVG Icons/
|   `-- Icon Names
|-- Loading Icons/
|   |-- Icon Sets
|   |-- Search Icon sets
|   |-- Search Icons
|   `-- HTML Syntax
|-- Downloading

Suggested
Table of Contents/
|-- Installation
|-- Basic usage
|-- SVG Icons/
|   |-- Icons
|   `-- Icon Names
|   |-- Icon Sets
|   `-- Icon Sets Names
|-- Downloading Icons/

Second part
Currernt
Table of Contents/
|-- Installation
|-- SVG Icons/
|   `-- Icon Names
|-- Loading Icons/
|   |-- Icon Sets
|   |-- Search Icon sets
|   |-- Search Icons
|   `-- HTML Syntax
|-- Downloading Icons/
|   |-- Local SVG Icons
|   `-- Icons On-Demand
|-- Importing Icons/
|   `-- Locking On-Demand Icons
|-- Rendering Icons/
|   |-- HTML Syntax
|   `-- Default Attributes
|-- Accessibility

Siggested:
|-- Loading Icons/
|   |-- Local SVG Icons
|   `-- Imported Icons
|   `-- On-Demand icons
|-- Rendering Icons/
|   |-- Twig Function
|   |-- HTML Syntax
|   `-- Render Attributes
|   `-- Default Attributes
|   `--Accessibility

Last part
Current:
|   `-- Default Attributes
|-- Accessibility
|-- Performance
|-- Caching/
|   |-- Icon Caching
|   `-- TwigComponent
|-- Configuration/
|   |-- Debugging Configuration

Suggested:
|   `-- Default Attributes
|   `--  Accessibility
|-- Performance
|   |-- Caching
|   |-- Icon Storage
|   `-- Twig Optimization
|-- Configuration/
|   |-- Debugging Configuration

Open to any feedback and if that's ok for you i'll open a PR :)

You have the Accessibility on the second and last part is it in purpose? Sound good to me 👍

Just to show the surroundings / give context :)
The main idea beeing: i think "Accessiiblity" should be inside the "Rendering" section (contrary to the root level it is today)


Can't move files into /keybase/*

Installed kbfs, everything seemed to install with no errors.
When I try to add a file to either /public or /private, I get "The Finder can’t complete the operation because some data in “testing.txt” can’t be read or written.
(Error code -36)"
and nothing happens. I've tried multiple filetypes (txt, jpg) and the same error occurs.
Directory permissions look like the attached.

my log id: 8ec31e3ef59267b695d3811c

Hi @griffey -- looks like you're trying to move the files directly into /keybase/private or /keybase/public.  The way KBFS works is that you have your own home directories, like /keybase/private/griffey and /keybase/public/griffey.  Can you try putting files in those instead?

So that was my understanding, yes...except neither /private nor /public had /griffey present...and when I attempted to mkdir I was told they already existed. But weren't visible.
So I attempted to move a text file into /public/griffey via command line, and...it seemed to work, but still wasn't visible vis ls nor in the GUI. Then a few seconds later, the /griffey directory I mv'd the file into became visible...but the file that I moved into it weren't there.
I don't know enough about the underpinnings to make a guess as to what is going on, but there's clearly something not quite right. Now, after having moved files into both invisible /griffey folders (that I can't see in any way), they have both appeared (triggered by moving a file into them). The files that I moved are not there, BUT it does now allow me to move files into them either by CLI or GUI, the files appear, and the kbfs app gives me an alert that they are being encrypted and uploaded. It's almost like I had to add a sacrificial file to this invisible folder to make the system kick in?
Anyway, you can see the progression of the process here. Please ignore the fumble-finger. :-)

You copied the file into /griffey, not /keybase/public/griffey, as far as I can tell.

When initially viewing either /keybase/public OR /keybase/private, neither of them had a directory griffey in them. Should /keybase/public/griffey and /keybase/private/griffey both be created automatically by the installer? I would expect that to be the case...in my case, after installation, neither of those existed (or at least, neither were visible). I would maybe suggest that they should be auto-generated and visible for users.  What is the expected behavior there? Should I have seen them?

Thanks for the feedback.  A few users have been confused by this behavior, so we will probably change it.  But the idea behind KBFS is that all possible folders already exist, and you can start using them right away, even if they aren't listed.  By not showing the directories named after you, we're trying to teach you that you can just create the folders by simply doing cd /keybase/private/griffey for example, or cd /keybase/private/strib@github,griffey, or any other combination of users.
But since this seems to be more confusing than helpful, future versions will probably show your personal directories by default.
Is everything working for you now?

By not showing the directories named after you, we're trying to teach you that you can just create the folders by simply doing cd /keybase/private/griffey for example, or cd /keybase/private/strib@github,griffey, or any other combination of users.

That is so cool. I ran into the same permissions issue when trying to create/copy/move files directly into /keybase/public. Whoops. Just tried to cd into a directory that doesn't yet exist locally and it worked like magic! :sparkles:
$ ls /keybase/public
devon
$ cd /keybase/public/chris
$ ls
'Man in the Middle.psd'  index.md         plan.txt        verified_software
Photos                   lemon_party.jpg  security_stuff  zcash.txt
$ ls /keybase/public
chris devon

Yeah, I'll close the issue...it appears that everything is ok. :-)
I think your planned behavior might be ok, but if you want that, I'd include a walk-through and force people to create their own as part of the install. At the end, seeing their own is an important thing for usability, IMNSHO.
Thanks for letting me check this out...very excited for the possibilities.


PLAT-122792: Fixed LabeledIconButton: Huge Icon is cut off

Enact-DCO-1.0-Signed-off-by: Stanca Pop<EMAIL_ADDRESS>Checklist

[x] I have read and understand the contribution guide
[x] A CHANGELOG entry is included
[x] At least one test case is included for this feature or bug fix
[x] Documentation was added or is not needed
[ ] This is an API breaking change

Issue Resolved / Feature Added
Issue: agate/LabeledIconButton: Huge size icon with label position after or right is cut off.
Resolution
Solution: Removed marquee from LabeledIconButton, adjusted component max-with.
Links
PLAT-122792
Comments

There is one regression.
If passing null string (''), then the icon sticks to the left.
AS-IS

TO-BE

There is one regression.
If passing null string (''), then the icon sticks to the left.
AS-IS

TO-BE

@ybsung Icon sticks to the left when there are no children because LabeledIconButton has max-width: min-content;. Is there a reason why a LabeledIconButton should take more space than its icon if there are no children?

Thank you.

@ybsung Icon sticks to the left when there are no children because LabeledIconButton has max-width: min-content;. Is there a reason why a LabeledIconButton should take more space than its icon if there are no children?

Thank you.

Hello @stanca-pop-lgp

@ybsung Icon sticks to the left when there are no children because LabeledIconButton has max-width: min-content;. Is there a reason why a LabeledIconButton should take more space than its icon if there are no children?

Thank you.

The reason why I mentioned before is
First of all, if there is no special reason, it might be better to preserve component behavior and look. There were some space to the left before. But I found that there is no space in develop branch, too. So it would be better to fix it in a separate issue.
Second, as you mentioned, the LabeledIconButton  is usually used with a label, if without a label, the IconButton might be used. But app developers could pass the children prop asynchronously. So in my opinion, it might be better to keep the Button layout even though some props has been arrived yet or aren't passed.
In addition, it would be helpful to check any JS doc parse errors. I pushed one commit to fix some errors including one which is not related with your PR.


M3-3525 overview graphs phase 2

Description
Longview graph data does not include forward padding for time intervals
longer than the available data range (if you ask for a start time
of 7 days ago but your Linode is new and only has 20 minutes of data,
you just get the 20 minutes). This causes our charts components to
set the X axis as 20 minutes. We can avoid this by adding a [startTime, null]
point to the beginning of the series.
This introduces some complications, though, when for example you're asking
for 30 minutes of data but the first point is 27 minutes ago. This should
be a smooth chart (there's probably a data point from ~32 minutes ago with
similar data) but our trick will add a gap to the start of the chart. To handle
this, we're checking if the difference between the indicated start time and
the first data point returned from the LV API is > 5 minutes. This may
not work for Longview Pro clients, although in my testing the resolution
is still 5 minutes.
Additionally, moved the data formatting function in OverviewGraphs
to a React.useCallback so that we can avoid calling it too often.
Type of Change

Non breaking change ('update', 'change')

Note to Reviewers
I also tried manually setting the x axis ticks/scale etc. but the behavior didn't match this solution, which looks just like classic and responds as you'd expect.

Closing in favor of #5856


EncryptionProvider is not protecting data under monodroid, monotouch, or monomac

SQLiteEncryptedBlobCache uses Akavache.EncryptionProvider for encryption. EncryptionProvider in turn uses static references to ProtoctedData for encrypting data during reads/writes.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reactive.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;

namespace Akavache
{
    public class EncryptionProvider : IEncryptionProvider
    {
        public IObservable<byte[]> EncryptBlock(byte[] block)
        {
            return Observable.Return(ProtectedData.Protect(block, null, DataProtectionScope.CurrentUser));
        }

        public IObservable<byte[]> DecryptBlock(byte[] block)
        {
            return Observable.Return(ProtectedData.Unprotect(block, null, DataProtectionScope.CurrentUser));
        }
    }
}

EncryptionProvider has references to System.Security.Cryptography but ProtectedData doesn't exist in monotouch or monodroid. On both those platforms, Akavache falls back to the built in Akavache.ProtectedData shim which provides no encryption.
namespace Akavache
{
    public static class ProtectedData
    {
        public static byte[] Protect(byte[] originalData, byte[] entropy, DataProtectionScope scope = DataProtectionScope.CurrentUser)
        {
            return originalData;
        }

        public static byte[] Unprotect(byte[] originalData, byte[] entropy, DataProtectionScope scope = DataProtectionScope.CurrentUser)
        {
            return originalData;
        }
    }

    public enum DataProtectionScope {
        CurrentUser,
    }
}

BlobCache.Secure (SQLiteEncryptedBlobCache) is affected by this as is anything else that uses the EncryptionProvider under monotouch or monodroid.

Any update on the data encryption on iOS/Android ? Would be really appreciated :)
Thanks !

The problem with this is, that Android and iOS don't have support for the ProtectedData class, so we don't have any way of encrypting the data. If anyone knows of a cross-platform way to do this, let me know!

Maybe this library could help?
https://github.com/aarnott/pclcrypto

I think that PCLCrypto could help as @KarinBerg  said. Can we implement our own CustomEncryptionProvider and force Akavache to register it to IEncryptionProvider ?

This is for everyone who can't wait for the Akavache release to fix this. The following article explains how you can do the encryption by yourself to work on both iOS and Android.
http://kent-boogaart.com/blog/password-protected-encryption-provider-for-akavache
Hint: also read the comments on the article :) !!!

Hey guys,
I tried to implement and register my own IEncryptionProvider but Akavache is ignoring it.
I register my implememation by calling
Locator.CurrentMutable.RegisterConstant(new MyEncryptionProvider(), typeof(IEncryptionProvider));
But BlobCache.Secure is always using its own implementation.
Can someone give my a hint?

Stop using the static? It's only there for convenience. Inject  the interface implementation into your services then you can unit tests.

Hi Geoffrey,
thanks for the hint. I took a while to understand my mistake. But now I discovered it. The problem was that BlobCache.Secure was my first call on the static class BlobCache. This triggered the static initializer from the BlobCache class which initialized the Locator stuff.
static BlobCache()
{
    Locator.RegisterResolverCallbackChanged(() =>
    {
          if (Locator.CurrentMutable == null) return;
              Locator.CurrentMutable.InitializeAkavache();
    });

    InMemory = new InMemoryBlobCache(Scheduler.Default);
}

So my registration for the IEncryptionProvider had no effect. :)
Now I do the following which works:
// This triggers the static initializer from above
BlobCache.ApplicationName = "FleetBoard App Framework";
// Now register my own IEncryptionProvider
Locator.CurrentMutable.RegisterConstant(new MyEncryptionProvider(), typeof(IEncryptionProvider));
// Now get an instance of ISecureBlobCache by the Locator directly
Locator.CurrentMutable.GetService<ISecureBlobCache>();
// or by static property
BlobCache.Secure;

I had issue with following Kents blog, because I am using PCL's. Incase someone needs help, you can follow this blog post:

Hi @cfl777, the blog post link you provided seems to an expired website. Can you please help with another link?

@akema-trebla Sorry didn't see your query until now:
Please find corrected link here:
https://medium.com/@casseykeating/securing-akavache-cache-for-xamarin-966641de3c2b

Thanks @cfl777


Set the ES mapping type in the output

Can we have a mapping between parser and type?
Send onwards to logstash in the @metadata object/field?
Mapping between 'type' and index is done on the logstash side
This mixes up output (0mq) and accepting downstream tool (logstash)?

Maybe we should not do this before we fix #5, since this essentially would be done better down the road to maintain a clean separation of concerns.


Feature Request:  Debug option to log to log.txt only

As discussed on this thread:
https://forum.espruino.com/conversations/383367/#comment16849198
The Settings/Utils/Debug settimgs has 3 settings:  Hide, Show, Log
The Log option currently displays as well.  I would rather just log rather than interrupt the display with other debug msgs.
I think this would be clearer if it was done as 2 check boxes.
Display [] and Log [] this gives you 4 options.
Also the ability to always have exceptions sent to log.txt

Yes - good idea. PRs welcome :)

Am I right in that I would only have to change the way bootupdate.js sets up the logging and console ?
That way I could try just using values for settings.log as 0,1,2,3
Maybe later fix up the settings UI to have the 2 check boxes and set the value of settings.log accordingly
Settings.log values
           Existing Label         New Label
            -------------------          ---------------

"log":0,  Hide,                        off
"log":1,  Show                        display
"log":2   Log                           log    (currently logs and displays)
"log":3                                     both

I would only have to change the way bootupdate.js sets up the logging and console ?

I can only find mention of the loopbacks in bootupdate.js, but I couldn't say for certain. But yes - other than that you seem along the right lines


[Optimization] Tree-out bit comparisons

At the moment equality gadget for integers does
// for some input A = N, B = N bits for some bit width integer N
let temp = A[0] == B[0]
for i in 1..N {
    temp = and(temp, A[i] == B[i])
}

However we can cut our constraint count in half when using a constant for either A or B by doing
let temp = 0
for [i1, i2] in (0..N).chunks(2) {
    temp = and(temp, and(A[i] == B[i], A[i + 1] == B[i + 1]))
}

This conceptually makes the bit comparisons into a two-layer map, with the first layer doing near-free constant + allocated XOR, and the 2nd layer being half of our original constraint count to aggregate. This should cut our constraint count for the optimized case in half, and not effect other cases.

NVM, doesn't work.