Feature Request: Add option to increase/decrease font size of Marimo Editor

Description
A slight improvement to the marimo editor interface (which I do love the UI of), would be to add the ability to increase or decrease the font size of code in the cells. Currently the only option is zooming in on the webpage, which isn't ideal.
Suggested solution
Suggested solution is to add an option to customize the font size of the code in the editor.
Alternative
No response
Additional context
No response

Thanks for the feature request, @sethbassetti! It's a very reasonable one. We'll try to get to it soon; added to our roadmap.

@sethbassetti , we just released version 0.1.75, which lets you edit the font size. Thanks for the suggestion!


Upgrade to 23.3.1

upgrade lab to srl 23.3.1, new prometheus und grafana version.
Also un-vendoring flowcharting plugin (as suggested in #21) + upgrade from 1.0.0b to 1.0.0d.

great job, thank you.
Merging


Ignore index.php files if they are just placeholders

This should let us add more index.php without needing to do a PR every time on this repo.  Also added it to check for DIR usage in the future.

I thought about that, but this also ensures we have the valid content in the file, matching our redirection handling.  If we don't care, we could do that.

These index files can contain other variations of the same basic content. For example, the ones generated by SMF\Security::secureDirectory() are a bit different. I suggest something similar to @live627's idea:
// Stuff we will ignore.
$ignoreFiles = array(
	// Index files.
	'\./Sources/[\w/]+/index\.php',

Wouldn't it be better to ensure that our index.php placeholders align to what secureDirectory generates then?

Yeah, I suppose so. And I would actually like secureDirectory() to change so that it matches what your regex looks for, rather than the other way around. The secureDirectory() ones look for Settings.php in the parent directory and then give up if it is not found. The ones your regex looks for check for an index.php file in the parent directory, which works better for namespaced code because it means that execution can pass up the directory tree until something actionable is found.

Well that is what the current index.php logic does.
<?php

// Try to handle it with the upper level index.php. (it should know what to do.)
if (file_exists(dirname(dirname(__FILE__)) . '/index.php'))
	include (dirname(dirname(__FILE__)) . '/index.php');
else
	exit;

?>```

I can send a PR up to change all of the index.php to that, update secureDirectory to do that and then update this PR to look for that.  Except I will change the call of dirname(__FILE__) to __DIR__ for some micro optimization.

Sounds like an excellent plan. 🙂

@Sesquipedalian Sent up a separate file.  Once this is good, I can send up the pr for SMF.  Will include a updated github action to run that file.


Readme

@alencar13 @mauyr @grmelo @bidonmegale
agree with readme? suggestions?

It's perfect! :ok_hand:  Objective and Effective

@alencar13 I protect branch master to only accept merges, by reviewers, and when a commit occur, dismiss review checked :D
pls, approve again, using github interface

:+1:


Fix typo in README document

@mcraveiro I'm sorry but I've just rewrote this part of README. However I appreciate your contribution very much and hope it's not the last PR from you!

No problems! :-)


Update installation and usage instructions

👉  Rendered version

Have now pulled this into https://github.com/alphagov/govuk-docker/pull/141 as requested 👍


feat: migrate lib/*.js to utils/*.ts

This PR adds the i18n-related files in TS
Other JS libs are migrated to TS, except the one staticHelpers.js which would be migrated later on.

@anshgoyalevil Kindly update the PR as we now have Post types as migrate-ts/types/post.ts.

/rtm


HDR makes everything green and purple

Describe the bug

This is clearly some kinda color format issue, but I’m not sure how to fix it. I have a Radeon RX580 (Polaris) and a 55-inch HiSense U7N 4K HDR TV, and the colors just turn green and purple when I turn HDR on…
HDR works Just Fine™ on Windows 11 on the same hardware.
I feel like this is probably fixable with some simple override setting I’m not aware of, but it’s my first HDR TV and I'm very unfamiliar with how HDR works on Linux and Wayland…
What did you expect to happen?
I expected the picture to have the correct colors, and for things that aren't supposed to be green to not be green.
Output of rpm-ostree status

Output of groups

Extra information or context
Cross-posted from the Support forum on Discord, because I got no replies on there. I'm not posting this from near my gaming computer at the moment, so I did not fill out the rpm-ostree status or groups fields — I'll do so later today or this weekend.
However, before initially posting to the support forum I was on an old 40 build of bazzite-deck:stable, at which point I rebased to bazzite-deck:testing. So this occurs on the latest build of testing as of 11/10/2024, and if necessary I'll submit build information by this weekend.
thanks!

Steam (or rather gamescope) and your display disagree about HDR being supported.
Enable it or disable it on both the display and steam and use the mode that works, nothing we can do to fix it.


Call Grid::EVENT_CREATE before components init (?)

to have possibility of adding components via event handler without need  of its manual initialization.

Development moved to presentation/grids, now only bugfixes in this repository.


suggestion:  add a data store

There is an excellent datastore out there that would be perfect for no code, I think, should persistence ever be a requirement.   /dev/null - i think it is ACID compliant and everything.  Check it out!

Great idea! This would definitely improve the appeal of this project.

also, /dev/null is web scale.


Pass ids of crates to find test in to the TestRunner

Instead of searching for tests in all dependencies, we should be able to pass crate ids to use.

This change is

Previously, orizi wrote…
Did previously projects dependent on other ran both test suites?

Hi @orizi!
If you setup your project via cairo_project.toml file and use the test runner cli then yes, it runs tests in all crates. You can filter them out by name prefix. This PR does not change this behaviour.
In Scarb we currently only pass the id of the crate that we want to test as main_crate_ids. As a effect, we do not run tests from dependencies. However, this approach is flawed - the test runner only compiles contracts from the crates identified by main_crate_ids (see https://github.com/software-mansion/scarb/discussions/568 as an example of why it is a problem).
By introducing this change, we want to allow users who build upon the Test runner to decide which crates should be only compiled, and which searched for tests.


Cannot run install script

hi,
Impressive project which I very much like to try out. Sadly something goes wrong with the install script on my macbook.
Version: idris-jvm-1.0-SNAPSHOT-20170704.zip
System:
$ java -version
java version "1.8.0_121"
$ idris --version
1.1.1
Error:
./idris-jvm/bin/install
./IdrisJvm/Effects.idr:18:5:
Effects.IdrisJvm.Effects.System, JVM_IO implementation of Effects.Handler, method handle is not total as there are missing cases due to Effects.IdrisJvm.Effects.System, JVM_IO implementation of Effects.Handler, method handle
./IdrisJvm/Effects.idr:18:5:Could not build: Effects.IdrisJvm.Effects.System, JVM_IO implementation of Effects.Handler, method handle is not total as there are missing cases due to Effects.IdrisJvm.Effects.System, JVM_IO implementation of Effects.Handler, method handle

Hi,
Thank you for trying out idris-jvm. It seems like you are running with latest Idris (1.1.1?) that has some additional functions for System effect and hence it is complaining about it. idris-jvm release that is currently available is for Idris 1.0. I will release a new version for Idris 1.1.1 shortly.

I have uploaded a new release for Idris 1.1.1. Please try it out and let me know if you have any issues.


SSL_connect() can result in SSL_ERROR_WANT_READ in QUIC in blocking mode

For TLS the documentation for SSL_connect() says this:
If the underlying BIO is B<blocking>, SSL_connect() will only return once the
handshake has been finished or an error occurred.

If we are using blocking then we never expect SSL_connect() to indicate SSL_ERROR_WANT_READ. However when we are using a QUIC connection it does do this. I would have expected SSL_connect() to continue blocking until the handshake is complete like it does with TLS.
Aside: the SSL_connect documentation probably needs updating for QUIC since it is no longer the blocking nature of the underlying BIO that matters for QUIC, but whether the SSL object has been set to block or not.

Fix:
diff --git a/ssl/quic/quic_impl.c b/ssl/quic/quic_impl.c
index d00f4455b0..e9bfaff503 100644
--- a/ssl/quic/quic_impl.c
+++ b/ssl/quic/quic_impl.c
@@ -324,6 +324,7 @@ SSL *ossl_quic_new(SSL_CTX *ctx)
     qc->default_stream_mode     = SSL_DEFAULT_STREAM_MODE_AUTO_BIDI;
     qc->default_ssl_mode        = qc->ssl.ctx->mode;
     qc->default_blocking        = 1;
+    qc->blocking                = 1;
     qc->incoming_stream_policy  = SSL_INCOMING_STREAM_POLICY_AUTO;
     qc->last_error              = SSL_ERROR_NONE;


Move Scheduler SPI to Deployer SPI

Issue moved to spring-cloud/spring-cloud-deployer #313 via ZenHub


Create init.py

Added the missing __init__.py under https://github.com/ai4co/rl4co/tree/main/rl4co/models/zoo/equity_transformer

About Equity Transformer: we can simply put the init and context embeddings instead since the model is the same as AM. Let's merge for now though :+1:
CC: @Leaveson
(same applies for other PRs)


Assign cardinality correctly for Blob collection scenarios

Issue describing the changes in this PR
resolves #1204
Adding isBatched attribute as the FunctionMetadataGenerator already has the logic to correctly assign the cardinality to Many if isBatched = true
Pull request checklist

[ ] My changes do not require documentation changes

[ ] Otherwise: Documentation issue linked to PR

[ ] My changes should not be added to the release notes for the next release

[ ] Otherwise: I've added my notes to release_notes.md

[ ] My changes do not need to be backported to a previous version

[ ] Otherwise: Backport tracked by issue/PR #issue_or_pr

[x] I have added all required tests (Unit tests, E2E tests)

Additional information
Additional PR information

/check-enforcer evaluate


Stop retry if disk is full

What does this PR change? What problem does it solve?
Stop retry cycle in RetryBackend if error was caused by low space on disk.
Was the change discussed in an issue or in the forum before?
Fixes #2453
Function given to RetryBackend is wrapped with extra check that causes retry cycle to stop if error is classified as unrecoverable.  But checking error message doesn't seem right. Creating specialized error types for filesystem, network, permissions, etc. seems like good idea, but requires changes throughout whole project.
Any advice or ideas?
Checklist

[x] I have read the Contribution Guidelines
[x] I have enabled maintainer edits for this PR
[ ] I have added tests for all changes in this PR
[ ] I have added documentation for the changes (in the manual)
[ ] There's a new file in changelog/unreleased/ that describes the changes for our users (template here)
[x] I have run gofmt on the code in all commits
[x] All commit messages are formatted in the same style as the other commits in the repo
[ ] I'm done, this Pull Request is ready for review

Closing PR since #3170 is solving issue in more general way.

Did it though? I'm still seeing the same problem in restic 0.16.0.

@dbrand666 Please open a new issue and describe the issue you're seeing there.

https://github.com/restic/restic/issues/4558


How does one retry failed network requests with NetworkReachabilityManager?

Greetings, I'm using Alamofire 3.5 in my Swift 2.2 app and have been researching the best way to add offline support to my iOS app.  I was happily surprised to learn about NetworkReachabilityManager, and to read that it can be used to "retry network requests when a connection is established". I'm confused about how this works, however.
How does one cause these requests to retry?
Is it automatic, or do I need to check for connectivity when my app opens and call some method on NetworkReachabilityManager?
Will it work for all kinds of requests, including Alamofire.upload() requests?
My thanks for adding this cool feature. I was all set on adding fields to each table to tombstone records and keep track of lastSync time on each record. This could be much more elegant, as it sounds like it effectively makes it so my app is never really offline.

One follow up question. If I have code to handle the response as part of my request, and the request fails, when it's retried, will the response handling still be run?
In this example, the local Id field is updated to match the Id returned by the remote API.
manager!.request(.POST, url, parameters: params, encoding: .JSON, headers: headers)
            .responseJSON { response in
                if let error = response.result.error {
                    print(error)
                }
                if response.result.isFailure {
                    log.error("Request failed to receive a valid response")
                } else {
                    var json = JSON(response.result.value!)
                    let status = json["status"]
                    if status == "success" {
                        // Update the UUID to match that created for this record on the server. No other models use this UUID, so we don't need to update anything else.
                        if let updatedId = json["updatedId"].string {
                            tally.id = updatedId
                            self.saveToDatabase()
                        } else {
                            log.error("Server did not return an updatedId")
                        }
                    }
                    if status == "failure" {
                        let message = json["message"]
                        log.error("Server responded with HTTP code \(response.response!.statusCode) and message: \(message)")
                    }
                }
        }

The NetworkReachabilityManager is a simple way to tell what the current reachability status is, but more importantly, when your device reconnects to the internet. When it reconnects, you then know you can start up some previously failed requests that failed because connectivity was lost. There's no system in Alamofire that automatically keeps track of all this and just restarts your requests. That type of logic is left for you to implement.
Cheers. 🍻


Request to speed up the script

I have more than 50k map files, the script does not allow you to select the entire folder, but only a few files, if I knock out everything, the selection window will simply freeze.
Also, the conversion rate is very slow. It took about 5-10 minutes to make 4k maps.

I'll see what I can do but the nature of the conversion itself just takes a while. If its not to much trouble could you provide a sample size of 150-250 maps so I can better test program functionality

Thank you. It may take a while to make improvements but a large data set should help development go faster

I am not quite finished yet but I have managed to cut the time in almost half and felt like I should deliver you a quick fix. The source code now contains the new changes however I'm having some trouble compiling it to the EXE. Issue will hopefully be fixed tomorrow but I am too tired tonight

I am using py version
besides, for my needs, I changed it a little in order to save not only pictures but also the coordinates on which the map was created

Ah ok you may have to rework your additions a bit however that still should be perfectly possible. The main thing that needs to be changed for the performance increase is have the color list preloaded into the file like it is in the new version. most other differences had minimal performance impact

I believe the code is now running as fast as it currently can, or at least as fast as my expertise will allow. Make sure you have merging turned off if you are going for performance. As for extremely large amounts of files breaking the program there is not much I can do about that as it seems to an issue with the libraries I use and not my own code.
I'm considering this closed but will leave this open as it is still an ongoing issue

I have another massive speed improvement. I multithreaded the code so It'll run on every core of the CPU. for me it was about a 300% increase but if you have more cores it should go faster. Obviously at some point it becomes an issue of writing the files fast enough.

Here is the raw speed(In seconds) for running just under a thousand maps.
I'm officially calling this closed now.


Build is broken after updating to cargo 0.12 (include! works differently)

Minimal example: https://gist.github.com/Riateche/9d3a583e5c0f2507f76e70494f8078c7
It seems that include! macro behaves differently in cargo 0.12. The example compiles successfully in cargo 0.11 because include! seems to work relative to current file.  In 0.12 it seems to work relative to crate root, so it fails to find file2:

...include_test-7982a069036284d5/out/file1.rs:1:1: 1:22 error: couldn't read "src/file2.rs": No such file or directory (os error 2)
...include_test-7982a069036284d5/out/file1.rs:1 include!("file2.rs");
src/lib.rs:3:1: 3:49 note: in this expansion of include!

The obvious solution is to use include! with an absolute path, but sudden break of build is still unexpected.

Thanks for the report! I think this may be a rustc bug, however, could you open an issue on the rust-lang/rust repository instead?


Version switcher provides explicit URLs

This removes the url_template parameter of our version switcher, and instead has users explicitly give a URL for each of the versions specified in their version switcher JSON.
closes #600

@choldgraf, pushed a new commit after fixing the merge conflicts, feel free to re-review and merge this one.

Thanks @damianavila ! Just to confirm, I believe that @tupui was 👍 on this change - if anybody else objects please weigh in. Otherwise I'll merge this in a day or two.

Yes I am 👍

oops - sorry that this created some pain for you. Maybe I was mistaken but I thought we had not yet released this feature which is why I didn't think to deprecate it...I might have missed a release though :-/


Last run doesn't shows previous occurrences for jobs of Initial load page

Current behavior

Expected behavior

Steps to reproduce the issue

Navigate to the Initial Load page.
Click Import products in Bulk, job configuration chip will appear
Last run shows no occurrence even if there were jobs scheduled earlier

Can you handle fixing this bug by yourself?

[ ] YES
[ ] NO

Environment details

Browser:
OS:
Code Version:

Additional information

Putting this issue on hold as currently we do not have any field which shows last run time of a job for IntialLoad jobs


Ghost element displaying very inconsistently in Chrome 50

After updating Chrome to 50, most of the react-dnd draggable elements in our app are having ghost element problems, and I can't nail down what the root cause is (and don't have a public link to the admin of our app that I can make available).  The initial behavior, that was working fine before, is that dragging an element showed a ghost element while the source element was hidden.
There are 6 different components of our app that are draggable using react-dnd.  2 of them are displaying ghosts just fine, 3 of them are showing no ghost at all, and 1 of them is somehow showing the element at the correct width/height but with no content and a white background.

Here is the list of clues I've found so far:

All of the components are using a drag handle element with a parent element as the preview
All of the components (except the one turning white) are adding an inline opacity:0 style to the preview element if monitor.isDragging() is true
If I remove the conditional opacity:0 logic, I can see the ghosts, but the source element is aways visible, which isn't acceptable
Here's a weird one.  For 2 of the components, adding z-index:1 to them fixes it entirely.  I can see the ghost and the source component is hidden.  For the other 2 broken components this didn't fix the issue. And there was previously no z-index rule or any stacking issues on these components.
That led me to thing that there might be some CSS combination leading the browser to think that the source component isn't visible at dragstart, and thus not creating the ghost.  I've tried removing/changing all kinds of CSS values though and nothing.
This was definitely working before updating Chrome to 50.

I'm seeing the exact same behavior. I also wasn't able to pin-point what's causing it, but it looks like only elements are affected that have child elements that are larger than the parent (overflow: hidden). In cases where the content fits into the parent without overflow the preview shows up in the correct spot, but it's rendered in white only.

Same behavior here! Images stay in the drag preview but all text disappears. Works in Safari and Firefox.

See the related Chromium bug.
My draggable=true element had position relative as well as my child text element. Removing relative positioning from either of them solved my issue.

Seems related to #454. I'll keep this open to track the chromium bug for now.


Refactor Schemathesis runner

Few more steps towards GraphQL support there

Codecov Report

Merging #1116 (8e28a76) into master (4652ec5) will decrease coverage by 0.15%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #1116      +/-   ##
==========================================
- Coverage   99.37%   99.21%   -0.16%
==========================================
  Files          69       69
  Lines        5125     5122       -3
  Branches      843      843
==========================================
- Hits         5093     5082      -11
- Misses         17       22       +5
- Partials       15       18       +3

Flag
Coverage Δ

unittests
99.21% <100.00%> (-0.12%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

src/schemathesis/cli/__init__.py
99.07% <100.00%> (+0.02%)
:arrow_up:

src/schemathesis/runner/__init__.py
100.00% <100.00%> (ø)

src/schemathesis/runner/impl/core.py
97.33% <100.00%> (-0.03%)
:arrow_down:

src/schemathesis/_compat.py
50.00% <0.00%> (-50.00%)
:arrow_down:

src/schemathesis/extra/pytest_plugin.py
98.23% <0.00%> (-1.77%)
:arrow_down:

src/schemathesis/cli/callbacks.py
98.24% <0.00%> (-1.76%)
:arrow_down:

src/schemathesis/cli/cassettes.py
98.43% <0.00%> (-1.57%)
:arrow_down:

Continue to review full report at Codecov.

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


Added vectortiles and style functions

If this is up-to-date @jokd I think you can merge.

@jokd is it ready to merge?


Time for loading drop description increased

Looking at recent tests made me realize that drops description are taking longer than normal to load(more than 5 seconds). (also happens to the created by field)
Can i increase the test timeout? sure
but what caused this problem?
Screencast from 2024-05-23 17-59-49.webm

https://kodadot.xyz/ahp/drops/aeroloom

There are several invalid and empty requests sent before fetching the collection data. It costs double the graphql query time to get the final data. I will fix it.


Add standard for naming convention

Public and private interfaces must be separated e.g. using underscore for private interface names


can i commit to this projiect?

https://github.com/liangsj/go-clean-template/blob/master/README.md
hi,  your project is very helpful to me。 i had translate in chinese 。 can i commit this readme_cn.md to your project. it can help more programer in china

Hello! It's great! You can commit this.

ok ,i had created the pull requests. i wise the readme_cn than can help chinese programmer soon


Fix Google Chrome app name

The current "google chrome" results in an error of windows not being able to find the executable, however "chrome" works. I also tested it with incognito, which also works.

https://github.com/sindresorhus/opn/issues/116 would be a good solution for this.


Error on HA 2023.9.1

Hello, it is a very nice work and I like the result a lot!
It gave me a lot of inputs to "teach" my assistant understand the states of the house.
I cannot however use the controls, as I have the following error in the assistant dialog: "Unexpected error during intent recognition".
And seemingly during start there is an error related to openai_override:
[homeassistant.helpers.integration_platform] Unexpected error importing openai_override/diagnostics.py
Is it something related to the HA version?

Was just about to make an issue about this. Seems to be related to this: https://developers.home-assistant.io/blog/2023/06/14/service-calls/
Removing the limit argument @ line 63 in init.py seems to fix it

Thanks a lot.
I removed the argument as per the following, restarted HA, but no change.
Same error within Assist and erro in the log as well.

Mine was different a bit, but giving it a bit of patience, it started working. I also used your template, and seems more stable in selecting a correct entity.
So I think the error appears indeed when the entity (or the service) was not correctly recognised.
FYI, I also added an instruction for the dimmers:
[...] * Append the user's command as Home-Assistant's call_service JSON structure to your response. In case of brightness, the value should go to the "data:" section.
But if the cause is an incorrect recognition, would it be possible to log the incoming text from OpenAI before the processing? In that case I could fine tune the behavior based on the response. Because as of today, if there is an error, I cannot see the response even from the Assis->Debug section.

Debugging works for me, I turn it on from here:

This is the relevant part of the log I got out when testing:
2023-09-27 07:40:05.869 DEBUG (MainThread) [homeassistant.components.openai_conversation] Prompt for gpt-3.5-turbo: [{'role': 'system', 'content': '<my prompt>'}, {'role': 'user', 'content': "turn off all the lights, you're wasting electricity "}]
2023-09-27 07:40:11.772 DEBUG (MainThread) [homeassistant.components.openai_conversation] Response {
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "message": {
        "content": "Damn, someone's concerned about the environment. I got you covered, bruh.\n{\"service\": \"light.turn_off\", \"entity_id\": \"light.floor_lamp\"}\n{\"service\": \"light.turn_off\", \"entity_id\": \"light.silicon_labs_ezsp_living_room_zha_group_0x0002\"}\n{\"service\": \"light.turn_off\", \"entity_id\": \"light.dining_room\"}\n{\"service\": \"light.turn_off\", \"entity_id\": \"light.boys\"}",
        "role": "assistant"
      }
    }
  ],
  "created":<PHONE_NUMBER>,
  "id": "chatcmpl",
  "model": "gpt-3.5-turbo-0613",
  "object": "chat.completion",
  "usage": {
    "completion_tokens": 123,
    "prompt_tokens": 675,
    "total_tokens": 798
  }
}

Quite happy so far with how it handles multiple actions at a time. It still sometimes tries to interact with hallucinated entities but I saw a big improvement after setting Temperature to 0.5 (from 0.7)  and Top P to 0.9 (from 1), and making sure to mention several times to only interact with entities he knows about. Still not hard to convince him to try to control other things though. I think an even lower temperature would help, but then it's less of a "character" which is what I'm going for.
Here's the status of the house and the only devices Davis can control. The states of these devices must be checked before making a response:
{%- for entity_id in exposed_entities %}
{{ state_attr(entity_id, "friendly_name") }} ({{ entity_id }}) = {{ states(entity_id) }}
{%- endfor %}
If they user asks about the state of something, Davis responds using this information.
Davis does not ever interact with any entity not on this list, and instead berates the user.

Thanks for the debug hint, I get it now to start from the integration
config.
Also good that you suggest some Heat and Top P values, I realized it is
worth playing them.
Now having the log in front of me I realized something strange.
When I get the "Unexpected error during intent recognition" error, and see
what was the response of OpenAI it seems ok, no hallucination.
Even when I copy+paste the response content into the Developer
Tools->Services and call the service, the command is successful, and it
makes the requested control.
What I see more in the log is the following:
2023-09-28 08:20:04.166 ERROR (MainThread)
[homeassistant.components.assist_pipeline.pipeline] Unexpected error during
intent recognition
Traceback (most recent call last):
File
"/usr/src/homeassistant/homeassistant/components/assist_pipeline/pipeline.py",
line 774, in recognize_intent
conversation_result = await conversation.async_converse(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/usr/src/homeassistant/homeassistant/components/conversation/init.py",
line 467, in async_converse
result = await agent.async_process(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/config/custom_components/HomeAssistant-Component-OpenAIOverride-main/init.py",
line 53, in async_process
service_call = json.loads(segment)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/json/init.py", line 346, in loads
return _default_decoder.decode(s)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/json/decoder.py", line 353, in raw_decode
obj, end = self.scan_once(s, idx)
^^^^^^^^^^^^^^^^^^^^^^
json.decoder.JSONDecodeError: Expecting property name enclosed in double
quotes: line 1 column 2 (char 1)
Is it something that can be fixed in the code, or I need to amend the
instructions I give to "Davis"?
ltjessem @.***> ezt írta (időpont: 2023. szept. 27.,
Sze, 8:24):

Debugging works for me, I turn it on from here:
[image: image]
https://user-images.githubusercontent.com/10084953/270873991-be3dcdef-4d3b-4051-b105-78ab26ffc955.png
This is the relevant part of the log I got out when testing:
2023-09-27 07:40:05.869 DEBUG (MainThread) [homeassistant.components.openai_conversation] Prompt for gpt-3.5-turbo: [{'role': 'system', 'content': ''}, {'role': 'user', 'content': "turn off all the lights, you're wasting electricity "}]
2023-09-27 07:40:11.772 DEBUG (MainThread) [homeassistant.components.openai_conversation] Response {
"choices": [
{
"finish_reason": "stop",
"index": 0,
"message": {
"content": "Damn, someone's concerned about the environment. I got you covered, bruh.\n{"service": "light.turn_off", "entity_id": "light.floor_lamp"}\n{"service": "light.turn_off", "entity_id": "light.silicon_labs_ezsp_living_room_zha_group_0x0002"}\n{"service": "light.turn_off", "entity_id": "light.dining_room"}\n{"service": "light.turn_off", "entity_id": "light.boys"}",
"role": "assistant"
}
}
],
"created":<PHONE_NUMBER>,
"id": "chatcmpl",
"model": "gpt-3.5-turbo-0613",
"object": "chat.completion",
"usage": {
"completion_tokens": 123,
"prompt_tokens": 675,
"total_tokens": 798
}
}
Quite happy so far with how it handles multiple actions at a time. It
still sometimes tries to interact with hallucinated entities but I saw a
big improvement after setting Temperature to 0.5 (from 0.7) and Top P to
0.9 (from 1), and making sure to mention several times to only interact
with entities he knows about. Still not hard to convince him to try to
control other things though. I think an even lower temperature would help,
but then it's less of a "character" which is what I'm going for.
Here's the status of the house and the only devices Davis can control. The states of these devices must be checked before making a response:
{%- for entity_id in exposed_entities %}
{{ state_attr(entity_id, "friendly_name") }} ({{ entity_id }}) = {{ states(entity_id) }}
{%- endfor %}
If they user asks about the state of something, Davis responds using this information.
Davis does not ever interact with any entity not on this list, and instead berates the user.
—
Reply to this email directly, view it on GitHub
https://github.com/constructorfleet/HomeAssistant-Component-OpenAIOverride/issues/1#issuecomment-1736776053,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHVM6O5RAKKJ6VDKP4QU6RLX4PBCPANCNFSM6AAAAAA5HKQDL4
.
You are receiving this because you authored the thread.Message ID:
<constructorfleet/HomeAssistant-Component-OpenAIOverride/issues/1/1736776053
@github.com>

json.decoder.JSONDecodeError: Expecting property name enclosed in double
quotes

Well the error is fairly obvious, tracking it down might be trickier though. Could you share the relevant debugging output?
In mine the JSON that OpenAI returns formatted with escaped double quotes: \"service\": \"light.turn_off\"
The examples I provided in my prompt in the HA GUI have unescaped double quotes: "service": "light.turn_off"

Indeed, it is obvious, but I am not yet sure if it should be formatted
within the code or by the command in the prompt.
The latter seems to be less solid.
Here is the relevant part of the log:
{
  "finish_reason": "stop",
  "index": 0,
  "message": {
    "content": "{\n  \"service\": \"cover.close_cover\",\n  \"data\":

{\n    "entity_id": "cover.1_dolgozo_ikarus"\n  }\n}",
"role": "assistant"
}
}
Not only escaped double quotes but new line chars as well.
How about using one of the suggested formatting here:
https://stackoverflow.com/questions/39491420/python-jsonexpecting-property-name-enclosed-in-double-quotes
Maybe an improved one to eliminate new lines, too.
ltjessem @.***> ezt írta (időpont: 2023. szept. 28.,
Cs, 10:14):

json.decoder.JSONDecodeError: Expecting property name enclosed in double
quotes
Well the error is fairly obvious, tracking it down might be trickier
though. Could you share the relevant debugging output?
In mine the JSON that OpenAI returns formatted with escaped double quotes: "service":
"light.turn_off"
The examples I provided in my prompt in the HA GUI have unescaped double
quotes: "service": "light.turn_off"
—
Reply to this email directly, view it on GitHub
https://github.com/constructorfleet/HomeAssistant-Component-OpenAIOverride/issues/1#issuecomment-1738685405,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHVM6O36EMIJ553EY5DJIM3X4UWXJANCNFSM6AAAAAA5HKQDL4
.
You are receiving this because you authored the thread.Message ID:
<constructorfleet/HomeAssistant-Component-OpenAIOverride/issues/1/1738685405
@github.com>

Yeah those newlines will for sure cause issues. Not sure how or why those are turning up, are the examples in your prompt in a single line without newlines? Like the examples from the website:
Example:
Oh sure, controlling the living room tv is what I was made for.
{"service": "media_player.pause", "entity_id": "media_player.living_room_tv"}

Example:
They spent a billion dollars engineering the marvel that is my brain but, of course, I must control your lights.
{"service": "light.turn_off", "entity_id": "light.kitchen_light_homekit"}

You can also straight up just mitigate the newlines like this around line 52 in init.py:
This probably isn't such a bad idea as there shouldn't be newlines there regardless.
            if segment.startswith("{"):
                json_segment = segment.replace("\n", "") # Removes newlines within the JSON segment
                service_call = json.loads(json_segment) # Change from segment to our "sanitized" json_segment

I confirm there are no newlines in my generated prompt.
And the more I test the crazier the answers, an example:
{"plain": {"speech": "Rendben, leengedem a dolgoz\u00f3
red\u0151nyt.\n\n{\n  "service": "cover.set_cover_position",\n
"data": {\n    "entity_id": "cover.1_dolgozo_ikarus",\n
"position": 0\n  }\n}", "extra_data": null}}
This means the sanitization should be made earlier than the segment is
created as this blocks the correct segmentation.
Could you help achieving a correct segmentation  as I am not very good in
manipulating the result.response.speech["plain"]["speech"]
ltjessem @.***> ezt írta (időpont: 2023. szept. 28.,
Cs, 11:35):

Yeah those newlines will for sure cause issues. Not sure how or why those
are turning up, are the examples in your prompt in a single line without
newlines? Like the examples from the website:
Example:
Oh sure, controlling the living room tv is what I was made for.
{"service": "media_player.pause", "entity_id": "media_player.living_room_tv"}
Example:
They spent a billion dollars engineering the marvel that is my brain but, of course, I must control your lights.
{"service": "light.turn_off", "entity_id": "light.kitchen_light_homekit"}
You can also straight up just mitigate the newlines like this around line
52 in init.py:
This probably isn't such a bad idea as there shouldn't be newlines there
regardless.
        if segment.startswith("{"):
            json_segment = segment.replace("\n", "") # Removes newlines within the JSON segment
            service_call = json.loads(json_segment) # Change from segment to our "sanitized" json_segment

—
Reply to this email directly, view it on GitHub
https://github.com/constructorfleet/HomeAssistant-Component-OpenAIOverride/issues/1#issuecomment-1738811302,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHVM6OZ57KCNLA2HO5HG3QDX4VAFPANCNFSM6AAAAAA5HKQDL4
.
You are receiving this because you authored the thread.Message ID:
<constructorfleet/HomeAssistant-Component-OpenAIOverride/issues/1/1738811302
@github.com>

Played around a bit, and this is where I am so far:
just before the for loop:
    content = ""
    segments = result.response.speech["plain"]["speech"].replace("\n",

"").replace("{", "\n{", 1).replace('\"', '"').splitlines()
This is to remove the newlines and replace the escaped double quotes with
simple double quotes.
The trick is to replace the first { with \n{ so the splitlines work well.
But this is not enough, I still needed to further sanitize:
        if segment.startswith("{"):
            json_segment = segment.replace(' ', '').replace('`','') #

Replaces extra spaces and ending '`' characters
service_call = json.loads(json_segment) # Change from
segment to our "sanitized" json_segment
..as extra spaces and 3x ending ` were still there.
But I guess this is not the nicest code that can do the necessary
sanitization... :/
ltjessem @.***> ezt írta (időpont: 2023. szept. 28.,
Cs, 11:35):

Yeah those newlines will for sure cause issues. Not sure how or why those
are turning up, are the examples in your prompt in a single line without
newlines? Like the examples from the website:
Example:
Oh sure, controlling the living room tv is what I was made for.
{"service": "media_player.pause", "entity_id": "media_player.living_room_tv"}
Example:
They spent a billion dollars engineering the marvel that is my brain but, of course, I must control your lights.
{"service": "light.turn_off", "entity_id": "light.kitchen_light_homekit"}
You can also straight up just mitigate the newlines like this around line
52 in init.py:
This probably isn't such a bad idea as there shouldn't be newlines there
regardless.
        if segment.startswith("{"):
            json_segment = segment.replace("\n", "") # Removes newlines within the JSON segment
            service_call = json.loads(json_segment) # Change from segment to our "sanitized" json_segment

—
Reply to this email directly, view it on GitHub
https://github.com/constructorfleet/HomeAssistant-Component-OpenAIOverride/issues/1#issuecomment-1738811302,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHVM6OZ57KCNLA2HO5HG3QDX4VAFPANCNFSM6AAAAAA5HKQDL4
.
You are receiving this because you authored the thread.Message ID:
<constructorfleet/HomeAssistant-Component-OpenAIOverride/issues/1/1738811302
@github.com>

My last mail was not quite right.
What I described there ruins the answer because starts removing chars even
if no control intent.
So the best would be to split the response string into [something]
{control} [remaining something].
In other words it would be good to recognise the first opening { and the
last closing } and everything between should go into one line and try to
call the service. The rest should remain intact. Do you agree?
ltjessem @.***> ezt írta (időpont: 2023. szept. 28.,
Cs, 11:35):

Yeah those newlines will for sure cause issues. Not sure how or why those
are turning up, are the examples in your prompt in a single line without
newlines? Like the examples from the website:
Example:
Oh sure, controlling the living room tv is what I was made for.
{"service": "media_player.pause", "entity_id": "media_player.living_room_tv"}
Example:
They spent a billion dollars engineering the marvel that is my brain but, of course, I must control your lights.
{"service": "light.turn_off", "entity_id": "light.kitchen_light_homekit"}
You can also straight up just mitigate the newlines like this around line
52 in init.py:
This probably isn't such a bad idea as there shouldn't be newlines there
regardless.
        if segment.startswith("{"):
            json_segment = segment.replace("\n", "") # Removes newlines within the JSON segment
            service_call = json.loads(json_segment) # Change from segment to our "sanitized" json_segment

—
Reply to this email directly, view it on GitHub
https://github.com/constructorfleet/HomeAssistant-Component-OpenAIOverride/issues/1#issuecomment-1738811302,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHVM6OZ57KCNLA2HO5HG3QDX4VAFPANCNFSM6AAAAAA5HKQDL4
.
You are receiving this because you authored the thread.Message ID:
<constructorfleet/HomeAssistant-Component-OpenAIOverride/issues/1/1738811302
@github.com>

Some of the craziness could be the use of non-latin characters, but those are not in the response, so that may not be an issue.
I think we need to be working from the prompt side rather than trying to modify the output too much. Looking back at the responses you're getting I think that's where we need to start, as your JSON doesn't look like mine, even without the extra escaped characters.
Can you revert back to this __init__.py, and copy/paste this prompt exactly as follows:
{%- set exposed_entities = [
    "cover.1_dolgozo_ikarus"
] -%}

You are Bob, a home assistant AI.

If the user's intent is to control the home and Bob is not asking for more information, the following absolutely must be met:
* Bobs response should also acknowledge the intention of the user. If unsure, he will ask for confirmation.
* Append the user's command as Home Assistant call_service JSON structure to the response.

Here's the status of the home and the only device Bob can control.
{%- for entity_id in exposed_entities %}
{{ state_attr(entity_id, "friendly_name") }} ({{ entity_id }}) = {{ states(entity_id) }}
{%- endfor %}

Start examples:
User: Close the cover
Bob: No problem, closing the cover.
{"service": "cover.close_cover", "entity_id": "cover.1_dolgozo_ikarus"}

User: Open the cover
Bob: Sure, opening the cover.
{"service": "cover.open_cover", "entity_id": "cover.1_dolgozo_ikarus"}

User: Turn on the light
Bob: I can't do that.

End examples.

Setting the language to English may of may not be needed for this test, but you should get a debugging output similar to this (and the action should happen):
"content": "Sure, opening the cover.\n{\"service\": \"cover.open_cover\", \"entity_id\": \"cover.1_dolgozo_ikarus\"}"

I also realized that OpenAI tried to provide a structured answer with
indents, etc. This caused the problem.
But trying just as you suggested worked like a charm, so far without any
glitch!

Thanks. I will play with it further and if anything useful, I will let you
know.
ltjessem @.***> ezt írta (időpont: 2023. szept. 29., P,
8:00):

Some of the craziness could be the use of non-latin characters, but those
are not in the response, so that may not be an issue.
I think we need to be working from the prompt side rather than trying to
modify the output too much. Looking back at the responses you're getting I
think that's where we need to start, as your JSON doesn't look like mine,
even without the extra escaped characters.
Can you revert back to this init.py
https://github.com/ltjessem/HomeAssistant-Component-OpenAIOverride/blob/patch-1/__init__.py,
and copy/paste this prompt exactly as follows:
{%- set exposed_entities = [
"cover.1_dolgozo_ikarus"
] -%}
You are Bob, a home assistant AI.
If the user's intent is to control the home and Bob is not asking for more information, the following absolutely must be met:

Bobs response should also acknowledge the intention of the user. If unsure, he will ask for confirmation.
Append the user's command as Home Assistant call_service JSON structure to the response.

Here's the status of the home and the only device Bob can control.
{%- for entity_id in exposed_entities %}
{{ state_attr(entity_id, "friendly_name") }} ({{ entity_id }}) = {{ states(entity_id) }}
{%- endfor %}
Start examples:
User: Close the cover
Bob: No problem, closing the cover.
{"service": "cover.close_cover", "entity_id": "cover.1_dolgozo_ikarus"}
User: Open the cover
Bob: Sure, opening the cover.
{"service": "cover.open_cover", "entity_id": "cover.1_dolgozo_ikarus"}
User: Turn on the light
Bob: I can't do that.
End examples.
Setting the language to English may of may not be needed for this test,
but you should get a debugging output similar to this (and the action
should happen):
"content": "Sure, opening the cover.\n{"service": "cover.open_cover", "entity_id": "cover.1_dolgozo_ikarus"}"
—
Reply to this email directly, view it on GitHub
https://github.com/constructorfleet/HomeAssistant-Component-OpenAIOverride/issues/1#issuecomment-1740353394,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHVM6O7TTZAWCOKUD4KCULTX4ZPYHANCNFSM6AAAAAA5HKQDL4
.
You are receiving this because you authored the thread.Message ID:
<constructorfleet/HomeAssistant-Component-OpenAIOverride/issues/1/1740353394
@github.com>

Sorry I didn’t see this issue get opened! I will review comments and see to it! Thanks

@ltjessem Looks like this #2 did the trick - going to close this issue.


NOT issue its a suggestion

its not issue its a suggestion can you maybe add something like if i close the ticket then i get a dm frome the bot with whoclosed/who is owner of ticket/claimed or not and can you maybe add transcripts in .txt
(the dm after ticket close) Example:

Hello,
I added the DM user feature in the latest commit, I will also look into adding a .txt transcript feature soon and will try to put some templates up for both bug reports and suggestions here.
Thank you for your suggestions and for using the bot! 😄

The .txt transcript option has been added now, however I would still recommend using HTML transcripts when possible since it is more elegant and doesn't have as many limitations as the .txt option.
I will be closing this issue now that the suggestions have been added, feel free to create a new one in case of a bug report or other suggestions, I will take a look at them in my free time. 😃


ESP32: Maximum length of NVS key should be 15 characters

Problem

Length of kConfigKey_RegulatoryLocation's name was more than 15 characters.

Change overview
Maximum length of key name should be 15 characters
Testing
Before the fix we were not able to read the parameter, with the fix we can

/rebase


Normal users are not able to make settings read calls for their organizations

Describe the bug
Authentication of normal org users is broken.
Impact
This bug prevents the web receiver launch
To Reproduce
Steps to reproduce the behavior:

Create a user in a PHD user group like DHaz_phd
./prime login
./prime organization get --env staging --name az-phd
Authorization error

Expected behavior
No auth error as the get of setting is authorized. Updates are not.

I can't reproduce this issue.Ott.Sathngam-A@MacBook-Pro prime-router % ./prime login
No need to login in this environment
Ott.Sathngam-A@MacBook-Pro prime-router % ./prime login --env staging
About to launch a browser to log in to Okta...
Login valid until 2022-03-24T18:30:55.328496
Ott.Sathngam-A@MacBook-Pro prime-router % ./prime organization get --env staging --name az-phd
name: “az-phd”
description: “Arizona PHD”
jurisdiction: “STATE”
stateCode: “AZ”
countyName: null
filters: null
meta:
version: 1
createdBy<EMAIL_ADDRESS>createdAt: “2021-12-22T21:39:57.01501Z”

@jorg3lopez and @oslynn were try to reproduce the issue and can't be able to reproduce.  We think the issue is already fixed.  This is an old ticket opened at Apr 30, 2021.  Following is screenshot of trying to reproduce the issue:

Unable to reproduce.  Closing out.


Why is sp_executesql only used on the first SQL invocation?

Driver version or jar name
6.1.6-preview and later
SQL Server version
SQL Server Enterprise:

2014 CU12
2017 CU8

Client operating system
Windows 10 Version 1803, but really ... any
Java/JVM version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
Problem description
I just have a question, not a problem. My question is about the changes explained at https://github.com/Microsoft/mssql-jdbc/wiki/PreparedStatement-metadata-caching. I'm curious why there is no option to run sp_executesql for every invocation of a proc instead of just the first one. I can understand why some devs might want prep/exec/prepexec, but we don't need our devs to control their procedure caching and would be very happy to have MSSQL do it via sp_executesql. Is there a reason this is not done?
Expected behavior and actual behavior
The driver executes every statement with sp_executesql.
Repro code
The issue is discussed at the github link provided above.

Hi @sql-sith ,
The main discussion for this feature can be referenced in issue #166.
Initially there was a proposition to replace sp_prepexec/sp_unprepare with sp_executesql only, but looks like it was later concluded to use sp_executesql only the first time with subsequent calls to prepare/exec/unprepare. From the discussion I can say it was done to get enhanced performance by minimizing SQL Server load and implementing handle caching in the driver.
I'd like to invite @brettwooldridge @davidfrankson @gordthompson and @TobiasSQL for shedding more light on this, as they'll be able to better explain, being involved in the initial design.

Thank you, @cheenamalhotra . I read that issue quite a while ago and there is a lot more discussion there now. It's a pretty long read, but very informative! I had forgotten the discussion about not sending long query text to the server repeatedly and that did not occur to me. Based on reading issue #166, I think I understand this now and can relay to my team, so I'll close this ticket.


After exception in CreateReceiptAsync Orchestrator produce again Tran…

After exception in CreateReceiptAsync Orchestrator produce again TransferCommand instead CancelTransferCommand because in CommandFactory.BuildCancelTransferCommand Header has:
nameof(TransferCommand)
instead of
nameof(CancelTransferCommand)

#6

Good catch, thank you @patrykga! :)


feat: lock bridge

Description of the Changes
Show indication when we have reached the bridge's TVL for a certain token and do not allow to submit transactions.
Checklist

[ ] Changes have been done against master branch, and PR does not conflict
[ ] New unit / functional tests have been added (whenever applicable)
[ ] Test are passing in local environment
[ ] Docs have been updated
[ ] PR title is follow the Conventional Commits convention: <type>[optional scope]: <description>, e.g: fix: prevent racing of requests

This change is

:tada: This PR is included in version 1.5.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Updated the Option 2: Sign up using ADB

The steps had been changed by mistake during the process of update. I have restored the content and updated the section.

please provide WMS ID in the title of the pull request, and image names should have alt text

I have made the changes. Please approve.


Unocss VS Primeflex

Why Choose Unocss Over Primeflex ?

It is developer friendly and maximal flexible
https://unocss.dev/guide/why


Add RCTLinking to React.podspec

Add RCTLinking to React.podspec.

Shall we rename RCTLinkingIOS to RCTLinking ? If yes, I would either:

define RCTLinking along and mark the IOS one as deprecated to be removed in next release so people can upgrade.
mention in release notes

If there's no native code in Libraries/Linking, this doesn't seem to make much sense as a cocoapods subspec, I think?

@LeoLeBras do you have any updates for this pull request? It's been a while so we wanted to check in and see if you've looked at the requested changes.

Hasn't seen activity for a while. Feel free to send a new PR if this is still required.


Replaces ColorLiteGrey with ColorBrightBlack

All work related to the standalone cluster overhaul

What this PR does / why we need it
Replaces the lite gray color with the bright black color

uses code 90 bright black in support of lite theme terminals

Describe testing done for PR
Dark theme:

Lite theme:

looks great!


Update create-an-image-comparison-slider.md

Tiny typo thanks for all the example code!

Thanks, @kensan73 👍


Feat/validate evidence

Implement Meta-Evidence features
Split out httpRequest into it's own helper function
Split event based Arbitrable functions into a parent class
Implement basic ArbitrablePermissionList api

NOTE: The tests are broken

Pull Request Test Coverage Report for Build 727

3 of 67 (4.48%)  changed or added relevant lines in 9 files are covered.
327 unchanged lines in 11 files lost coverage.
Overall coverage decreased (-36.5%) to 16.805%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/contracts/implementations/arbitrator/KlerosPOC.js
0
1
0.0%

src/utils/getContractAddress.js
1
2
50.0%

src/contracts/implementations/arbitrable/ArbitrableTransaction.js
0
1
0.0%

src/utils/Web3Wrapper.js
0
2
0.0%

src/contracts/implementations/arbitrable/ArbitrablePermissionList.js
0
3
0.0%

src/utils/StoreProviderWrapper.js
0
10
0.0%

src/contracts/abstractions/Arbitrable.js
0
11
0.0%

src/utils/httpRequest.js
1
15
6.67%

src/contracts/implementations/arbitrable/Arbitrable.js
1
22
4.55%

Files with Coverage Reduction
New Missed Lines
%

src/constants/error.js
1
83.67%

src/contracts/ContractImplementation.js
1
78.57%

src/contracts/abstractions/Arbitrable.js
2
0.0%

src/kleros.js
8
37.14%

src/utils/Web3Wrapper.js
9
4.0%

src/utils/StoreProviderWrapper.js
10
1.89%

src/contracts/implementations/arbitrable/ArbitrableTransaction.js
15
2.7%

src/utils/EventListener.js
41
0.0%

src/resources/Notifications.js
41
1.34%

src/resources/Disputes.js
76
5.41%

Totals

Change from base Build 719:
-36.5%

Covered Lines:
192

Relevant Lines:
936

💛  - Coveralls


Use of primary and secondary color key

I want to say a big well-done job to the entire team working on this great project. my suggestion is on color, can the color key used in the component be changed to something like primary and secondary instead of using tailwind's default blue and the like?

Well, you can actually extend the FlowbiteColors and add as much colors you like to for your theme, and use it as primary and secundary.
https://github.com/themesberg/flowbite-react/blob/0e4ae62b2b93561c4857bea63df45fe9170f546e/src/lib/components/Flowbite/FlowbiteTheme.ts#L514


housekeeping: Update to mention Verify base packages

This addresses the documentation issue mentioned in https://github.com/VerifyTests/Verify.SourceGenerators/issues/15
Makes it clearer to the user that the Verify adapters are a core dependency of the Verify Source Generators, and that users will need to include at least one.

thank


bug(pdf): incorrect selected area

1. Possibly related issue
#1712.
2. Summary
PDF viewers incorrect select words from PDF, that create by Tesseract.
3. Data
Example files from my book:

KiraProcessedTIF.tif — TIF image
KiraSuperhero.pdf — PDF, that create Tesseract
KiraCorrectOCR.pdf — PDF with correct OCR for comparing

4. Steps to rperoduce
I download 64-bit Windows version from here, how described in official Tesseract wiki → in installation process I select Russian (rus) additional language → I install Tesseract → I add path with tesseract.exe as user PATH environment variable → I run command:
tesseract KiraProcessedTIF.tif KiraSuperhero -l rus pdf

5. Expected behavior
For KiraCorrectOCR text select correctly in any program:

6. Actual behavior
For KiraSuperhero Tesseract select not full word:

It reproduced for any word in KiraSuperhero.
7. Not helped
I reproduce actual behavior for KiraSuperhero in any PDF viewer.

Firefox:

PDF-XChange Editor:

8. Environment

Windows 10 Enterprise LTSB 64-bit EN

D:\SashaDebugging\KiraGoddess>tesseract --version
tesseract v5.0.0-alpha.20190708
 leptonica-1.78.0
  libgif 5.1.4 : libjpeg 8d (libjpeg-turbo 1.5.3) : libpng 1.6.34 : libtiff 4.0.9 : zlib 1.2.11 : libwebp 0.6.1 : libopenjp2 2.3.0
 Found AVX2
 Found AVX
 Found SSE
 Found libarchive 3.3.2 zlib/1.2.11 liblzma/5.2.3 bz2lib/1.0.6 liblz4/1.7.5

Thanks.

Yes, the positions are not exact. That also happens with the old OCR engine (--psm 0).

I am afraid there is no fast solution. It looks like this problem is already rather old.

@stweil , Type: Question ❓
If this issue is «duplicate», can you show an issue, regarding which my issue is duplicate?
I want to subscribe to progress for solving on this issue.
Thanks.

It is a duplicate of https://github.com/tesseract-ocr/tesseract/issues/1712.


Configuring Proxies for Dynamoose (httpOptions.agent)

Summary:
Dynamoose doesn't expose configuration for AWS SDK mentioned here:
https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/node-configuring-proxies.html
Related code:
https://github.com/dynamoosejs/dynamoose/blob/2206935b91f959ed04a6a194ab89c6053fc0f7e1/lib/Dynamoose.ts#L196-L203
More context:
https://stackoverflow.com/questions/38413328/amazon-web-services-dynamodb-requests-slow
Current output and behavior:
Unable to configure proxy (httpOptions.agent)
Expected output and behavior:
Allow configuring proxy (httpOptions.agent)
Environment:
Operating System: MacOs
Operating System Version: 10.15
Node.js version (node -v): 12.14.0
NPM version: (npm -v):  6.13.4
Dynamoose version: 1.11.1
Dynamoose Plugins: None
Dynamoose Plugins:

[ ] Yes, I believe that one or multiple 3rd party Dynamoose plugins are effecting this issue
[ ] No, I believe this issue is independent of any 3rd party Dynamoose plugins I'm using
[ ] Unknown, I'm unsure if Dynamoose plugins are effecting this issue
[x] I am not using any Dynamoose plugins

Other information (if applicable):
Type (select 1):

[ ] Bug report
[x] Feature suggestion
[ ] Question
[ ] Other suggestion
[ ] Something not listed here

Other:

[x] I have read through the Dynamoose documentation before posting this issue
[x] I have searched through the GitHub issues (including closed issues) and pull requests to ensure this issue has not already been raised before
[x] I have searched the internet and Stack Overflow to ensure this issue hasn't been raised or answered before
[x] I have tested the code provided and am confident it doesn't work as intended
[x] I have ensured that all of my plugins that I'm using with Dynamoose are listed above
[x] I have filled out all fields above
[x] I am running the latest version of Dynamoose

@mxhifi That is incorrect.
Take a look at the following code. If you use the setDDB method you can set your own custom DynamoDB instance.
https://github.com/dynamoosejs/dynamoose/blob/2206935b91f959ed04a6a194ab89c6053fc0f7e1/lib/Dynamoose.ts#L218-L225
https://github.com/dynamoosejs/dynamoose/blob/2206935b91f959ed04a6a194ab89c6053fc0f7e1/lib/Dynamoose.ts#L182-L189

@fishcharlie You're right, setDDB does the trick. 👍


Consider having one unified interface for the filters (SG/NACL) and other connection rules resources (transit gateway)

Consider re-organizing functionality related merely to explian tgw, and merging similar structs for rules/prefixes indexes
The function StringPrefixDetails is more explainability-specific...  the relevant part from TGW to return is the prefilx filter object and its indexes.
maybe should consider to separate those functionalities (also for filter traffic resources), consider a separate issue..
(also the prefix filter index is some other "rule" similar to rule index already captured for nacl/sg rules here... )
maybe the abstract type RulesInFilter should be modified to capture also rules for tgw objects?
Originally posted by @adisos in https://github.com/np-guard/vpc-network-config-analyzer/pull/492#discussion_r1555352574

(also the prefix filter index is some other "rule" similar to rule index already captured for nacl/sg rules here... ) maybe the abstract type RulesInFilter should be modified to capture also rules for tgw objects?

The tgw object equiv of RulesInFilter is not stored at the explainability struct. Only the relevant tgw router is stored at the struct; the deduction of the prefix filter here is more straightforward - no multiple tables and layers as in the filter case. Having said that, it might make sense to save the relevant details in the struct - in which case using RulesInFilter could indeed make sense. It will require listing the tgw connection in the same column as SG and NACL. Not completely sure, perhaps we should discuss.

The function StringPrefixDetails is more explainability-specific... the relevant part from TGW to return is the prefilx filter object and its indexes. maybe should consider to separate those functionalities (also for filter traffic resources), consider a separate issue..

Its not only the indexes, its also the lt gt properties and the action; it is internal to the transit gateway and I'm not sure we want to expose these specific details outside of the IBMVPC package
In the filters case we use an internal (to SG/NACL) functionality to print - specifically, getSGRule and getNACLRule. This functionality is not only for explainability and we can use it, of course, only from within the internal SG and NACL functionality.

after discussing with @zivnevo and @adisos it was agreed to add an interface for filters that will be implemented by NACLLayer, SecurityGroupLayer and TransitGateway; functionality used by Explainability should be moved to this interface.
Once this Interface is in place, it should make sense to add  crossVPC rulesInLayers  to rulesConnection

solved partly by #574
We will revisit once there are more rule based resources
For now lowering priority
@adisos

Consider doing it after https://github.com/np-guard/vpc-network-config-analyzer/pull/675 is merge, by defining an interface of []RuleOfFilter (define type) that will implement functionality to replace StringDetailsOfRules(...) and ListFilterWithAction(...)


Little square close to string

I see those little squares appearing close to the colored strings. They appear at the beginning and at the end of every colored line.

I'm using nodeJS. I tested the colors of the following packages and the problem persists.

colors
json-colorizer
pretty-error

Here is an example of the code I get from those colorized strings:
"\u001b[90m{\u001b[39m\r  \u001b[36m\"timestamp\"\u001b[39m\u001b[31m:\u001b[39m \u001b[33m\"1970-01-19T12:08:38.400Z\"\u001b[39m\u001b[90m,\u001b[39m\r  \u001b[36m\"requestContext\"\u001b[39m\u001b[31m:\u001b[39m \u001b[90m{\u001b[39m\r    \u001b[36m\"authorizer\"\u001b[39m\u001b[31m:\u001b[39m \u001b[90m{\u001b[39m\r      \u001b[36m\"profileId\"\u001b[39m\u001b[31m:\u001b[39m \u001b[33m\"76169801-d7a6-4f03-bcb5-7f498187de17\"\u001b[39m\u001b[90m,\u001b[39m\r      \u001b[36m\"accountId\"\u001b[39m\u001b[31m:\u001b[39m \u001b[33m\"76169801-d7a6-4f03-bcb5-7f498187de17\"\u001b[39m\r    \u001b[90m}\u001b[39m\r  \u001b[90m}\u001b[39m\u001b[90m,\u001b[39m\r  \u001b[36m\"level\"\u001b[39m\u001b[31m:\u001b[39m \u001b[33m\"info\"\u001b[39m\u001b[90m,\u001b[39m\r  \u001b[36m\"message\"\u001b[39m\u001b[31m:\u001b[39m \u001b[33m\"Starting request\"\u001b[39m\r\u001b[90m}\u001b[39m"

Hello!
Looks like the logs are coming from a node.js app and I only tested with the logs of a Spring Boot app...
Is it possible to have the code of your app?

Hello!
Looks like the logs are coming from a node.js app and I only tested with the logs of a Spring Boot app...
Is it possible to have the code of your app?

Sadly I cannot provide more information than that about the code because it is in a private organization repo, but I think that the color codes I mentioned above may help you.

Thank you so much @Gerjunior for your PR!
I just published the new version 1.4 with your fix!


Settings sync doesn't specify which extension needs workspace trust to be installed

Have an extension that requires workspace trust to be installed/enabled synced to settings sync
Turn on settings sync from a new VS Code instance that doesn't have that extension installed/enabled already
:bug: get this modal dialog that doesn't specify which extension requires workspace trust to be installed/enabled (I do not know which extension causes this to repro because the dialog doesn't say)

@sandy081 since the install is not triggered explicitly by the user, the dialog does not make sense. Do you need anything from the workspace trust side to avoid this dialog, or vice versa, do you provide something to let us know that this is from settings sync?

@joyceerhl I assume this is happening on the web client, because in Desktop Settings Sync install extensions on the shared process.


s/node/segment/

carina help and carina ls refer to "nodes". It's best to refer to these as segments.
@rgbkrk If you're okay with the change, I could do the PR.
Original request: https://community.getcarina.com/t/any-limits-on-storage/58/2

If you do the PR, that's fine by me.


copy host/inventory tools from openshift-ansible/bin

and generate equivalent RPMs
clean up pylint

:+1:


Specify other alternatives for the Status object

Changes
Mentioned how Character Physics Controllers can be used as a way to add custom states

https://devforum.roblox.com/t/releasing-character-physics-controllers/2623426
Checks
By submitting your pull request for review, you agree to the following:

[x] This contribution was created in whole or in part by me, and I have the right to submit it under the terms of this repository's open source licenses.
[x] I understand and agree that this contribution and a record of it are public, maintained indefinitely, and may be redistributed under the terms of this repository's open source licenses.
[ ] To the best of my knowledge, all proposed changes are accurate.

I'm going to re-sync this pull request as there's been changes since then, there should be no conflicts


[Identity] Move the Identity package to use core-rest-pipeline

The @azure/identity package uses the @azure/core-http package internally to make the HTTP requests to get tokens. This issue is to track the work needed to move to the newer core packages as described in #15594

Important:
Once migrated, please move the timeout back to 500ms. We made it three seconds as part of this PR, to fix an ongoing problem with core-http’s node-fetch: https://github.com/Azure/azure-sdk-for-js/pull/15937/files


Feature #220 - Add notes sort option

Trim after extracting the note's title
Fix test example

Please read the Contribution Guidelines before opening a pull request.
Description
Will add the following notes sort option

Title
Created Date
Last Updated Date
Favorites
Fixes #

Browser Checklist
This PR has been tested in the following browsers:

[X] Chrome
[ ] Firefox
[ ] Safari

@codytowstik @taniarascia, please let me know if this pr looks good or it requires any changes.

This is great! I'll probably update some styles, and we're not using a _func convention for anything but dispatching, so I'll probably want to update that to be consistent as well, but otherwise looks good.

@all-contributors please add @vamshi-tg for code


Misaligned indentation guides with font ligatures

Hi Alexandru :)
monaco-editor version: 0.12.0
Browser: Chrome Canary
OS: macOS 10.13.3
Relevant config:
{
    fontFamily: "Fira Code",
    fontLigatures: true
}

Illustration:

I turned them off for now with:
{
    renderIndentGuides: false
}

Thanks

The indent guides are rendered every N space widths.
https://github.com/Microsoft/vscode/blob/01169b16171dd381816f08daec793792be7d9151/src/vs/editor/browser/viewParts/indentGuides/indentGuides.ts#L135
https://github.com/Microsoft/vscode/blob/01169b16171dd381816f08daec793792be7d9151/src/vs/editor/browser/viewParts/indentGuides/indentGuides.ts#L107
Perhaps you are using a lazy loaded font family i.e. are you running into #392 ?

You are right. Waiting for the font helped. Thank you :)


Support bytes based on 1024

https://en.wikipedia.org/wiki/Kilobyte

I'm curious, what's your usecase for these?

In some cases, we need to convert units using 1024 as the base, and if we'll land this lib to multiplatform, it's necessary to support this feature on Windows.

Thanks @Goooler, but in the interest of simplicity, I think I'll skip these APIs unless someone explicitly requests them. In the meantime, extensions can be used if someone needs them.

In some cases, we need to convert units using 1024 as the base

Actually, I'd argue that's even in most cases. I was rather surprised to see this library only support power-of-10. Usually, using power-of-10 sizes is just the common trick of hard disk vendors to make the capacity of their drives seem larger than they actually are based on power-of-2 sizes.


Update for 3/12/18

Rendered
This needs a bit more detail. @as-cii if you want to quickly jot down some of the results you got from the selections tests, I think that would add a lot to this. Don't spend too much time wordsmithing it. I think these can be rough.

Sorry - Shouldn't the header be "Update for March 12, 2018"?
Great writeup otherwise, though.

Someone posted this repo to Hacker News last week, which drew a bunch of attention to the project. Overall this is obviously great, but I sort of regret reading the comments. People can be so mean on HN and it's really a drag to feel like you're the target of vitriol and derision. I'm just over here trying to build stuff. But I guess you gotta just have a thick skin and keep coding.

Luckily one can choose what discourse to participate in.  We could probably do a better job of speaking up from time to time, though.
I'm very grateful for what you've built on Atom so far, and thrilled to see and follow along this project. Thanks for being so transparent and open about the WIP here, I'm learning tons of the stuff you're sharing through this repo! 👏🙌🙇

HN and Reddit had become an extremely easy place for trolls and ignorant people to just "rant" or disrespect software regardless to the efforts made by it's makers. Be it Atom/Electron, or other free/open source software... The "entry barrier" for people to comment their insightful words and ideas about projects they haven't used, tried, or even know how they are working is really easy, which is ok, but there are right ways to criticize things. Improving and contributing to the success of a project by criticizing its weaknesses is one, bashing it is another. This example shows a more positive way of discussing things...
The large amount of packages written for Atom, PR's submitted by community members and package authors and people who try to improve the editor to keep using it (because they enjoy it and are comfortable with it) is satisfying enough to be worth the bashes made by trolls or less understanding community members who just read comments and upvote without knowing.
So thanks for starting this experiment. This is well appreciated by those who care having more available software to use for their daily dev needs. :)
On a more technical side - in what ways does xray differ than xi-editor now, after these architectural? I know you wrote they are now even closer, but in what ways are they still different? some things are obvious, like having custom UIs rendered to screen by package authors, but could you elaborate?

@nathansobo I'm currently in the early stages of a tentative re-architecture of xi that would bring us into even closer alignment; in particular one of the goals of this redesign would be to support thread-local plugins that have direct access to a buffer's contents without needing IPC.
In addition I'm hoping to move us to a multi-peer runloop based on tokio/futures that removes a bunch of current complexity around shared state; currently each connection to a remote plugin is handled in a distinct thread, and access to buffers / editing operations goes through a mutex.
I suspect our needs at the low level are significantly aligned; I'll be following along with interest, and I'd encourage you to cc me on PRs & issues related to architecture / dispatch / IPC.

Thanks to people offering kind words on this thread. It's nice to read something positive. I definitely welcome being challenged in a constructive way, and the only reason I mentioned the HN thread in the write-up is because it was on my mind and I'm attempting to be more transparent in general.
@cmyr I went ahead and added my thoughts on Xi to the end of the update. I'm definitely happy to cc you on relevant PRs, and I'd appreciate any pointers you have to what we can learn from you guys. Based on some of our technical alignment, at least superficially, it seems like there is potential to work together more closely. But it's also just unclear to me exactly how that would work. Maybe with a fruitful exchange of ideas?

@nathansobo Thanks for including that addition to the update! I think we're all on the same page; while they're obviously closely aligned, our goals are distinct enough that it would be difficult to try and make this a completely unified endeavour. At the end of the day having ideas is hard and writing code is easy. Having two projects with aligned goals using similar technologies makes it more likely that between us we will be able to produce some good ideas.
That said, there are certain areas where more active collaboration could be interesting; the one that comes immediately to mind for me would be plugin/package compatibility, and similar sorts of scaffolding/infrastructure-y stuff; It's far too early to make this a concrete goal, but it could be something worth exploring at some point.
Ultimately though, the potential cross-pollination of ideas is enough to make me very excited about xray, and I'm looking forward to watching the project develop!

I wanted to echo what @cmyr wrote. While both projects have fairly similar goals for the core, we're also exploring quite different technologies for the UI, and for very good reasons. I think it makes perfect sense to explore both, and wouldn't be surprised if both projects make different subsets of users happy at the end of the day.
Joining forces on implementation would have a fairly high coordination cost. If there's one goal I'd like to articulate, though, it would be designing plugin API's in such a way that it's at least possible (perhaps through compatibility shims) to write plugins that would work for both editors. Given that access to the document is async and mediated through CRDT's, I think this is at least possible.
In any case, I'll continue to follow what xray is doing and try to learn as much from the explorations as possible, and am happy to whatever extent other people learn from xi.


Documentation

Hey, I am a user of optix, it seems optax is going to be the future of the library but I don't see any documentation. Is it too early to use this library?

I just wanted to chime in and say that this would be nice to have. I'm working on a project that used to reference some optix functions through intersphinx.. now I don't know where to point it to.

Hi, thanks for reaching out.
Yes I can confirm that 'optax' is the supported solution going forward. It is already widely used internally at DeepMind and I encourage you to also use 'optax' rather than 'optix', as the latter will be deprecated soon.
We will be adding more public documentation for 'optax' in the coming weeks.

switched. looks good

We now have documentation on read the docs!
https://optax.readthedocs.io/en/latest/

Thanks @mtthss
It's so nice to walk through the API without being distracted by the code itself. (I just just saw periodic-update for the first time, awesome!)
One minor thing.. Some of the sections aren't showing up in the correct hierarchy in sidebar. For instance, "Apply Updates" is listed as a subsubsection (under its predecessor item).
I changed some ---- sections to ==== in #79


Add a flag to avoid creating new empty namespaces for every WT

Description

Not every WT needs a brand new namespace mainly if you are using shared consoles
Expected Behavior

User starts WT but no namespace is created
Actual Behavior

A new empty namespace is created for every single WT
Environment
i8 1.x

Operating system: (E.g RHEL 7.6 )
Browser and version: (E.g Google Chrome Version 70.0.3538.102 (Official Build) (64-bit))
OpenShift version:

Yarn version:

Node version:

Npm version:

Project Version/Tag: (E.g release-1.0.1)

Steps to reproduce

Following up in JIRA as  https://issues.jboss.org/browse/INTLY-3964


Usability clarification for help "?"

winget --version will output the version of the tool

Given the logic that you can enter -? at any level reminds me much of Cisco IOS and speaking for Windows

fsutil
netsh
dism

but it is not overly very common in Windows to have the ability to specify /? any time with the previous level of commands. Some have it some have not.
Thanks for giving me the idea winget would favour this. Powershell does not offer a context sensitive help, quite unfortunately.
Before this dupe is entirely wasted time, please let us have a PR to make the winget ? more pointing out to this.
Still I see a inconsistency with the commandline options, we might discuss this in a new bug / feature request:
example
winget ? = help (fallback)
winget /? = help (fallback)
winget -? = help
winget --? = help
next level:
winget install ? or winget install /?
"no matching criteria"
winget install --? works
winget install -? works
Albeit help says:
Wenn Sie weitere Details zu einem bestimmten Befehl erfahren möchten, übergeben Sie ihm das Hilfe-Argument. [-?]
I would rather see it here
Die folgenden Optionen stehen zur Verfügung:
-v,--version  Version des Tools anzeigen
--info           Allgemeine Informationen zum Tool anzeigen
-?, --?           kontextsensitive Hilfe.
Wenn Sie weitere Details zu einem bestimmten Befehl erfahren möchten,
übergeben Sie ihm das Hilfe-Argument
Mind we are still on Windows, and -- commandlines are not common here. For a new tool like winget, which I see a bright future and major positive impact, we should not be dev-oriented but user oriented striving for consistency and clear and concise UX without reading docs, eventually with command lines everything should to work /? or ? see also, I refrain, microsoft/terminal#4632 (comment)
Otherwise winget is a Linux User friendly command line tool, but not so Windows user friendly.
IF we want to drop /? in favour for -? or --? or even ? I am absolutely ok with that
Then please leave a remark when winget /? is issued "please use -? or --? for help"
Originally posted by @Karl-WE in https://github.com/microsoft/winget-cli/issues/478#issuecomment-654490794

Thanks for split @denelon


Make thanks.html redirect message appear at top of screen

Use react-portal to render ThanksNextPetition in a div included in the Wrapper
Fixes #360

I moved the portal element into theme-legacy/wrapper.js :)


Updated validations.py script

Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

It is good now.


ES6 node-js aware refactoring

ES6 node-js aware refactoring, line-of-sight condition restructuralization.

@markstos can we do this now?
maybe we can use babel to transpile, so we can use latest language features

@sibelius Yes, we can drop support for Node.js 4.x now. Node 6 is now the oldest LTS release and should be supported until April, 2019. I'm curious about your interest in the project, though. You haven't otherwise been involved with the passport-saml project-- why spend the time to refactor it if you aren't otherwise working on it?  Elsewhere in the issue tracker you'll find that someone had an interest in splitting the project into a "saml library" (separate package) with the passport-specific parts separated.  I mention it as another project that might be happening soon that could touch a lot of the code base.
I lean slightly against using a transpilation step, but am curious to see what exact language features you might have in might that would benefit from adding that complexity to the project.
CC: @cjbarth

splitting this lib in a core saml library would be very helpfull
I'm trying to do SAML redirect url on React (frontend), and then send the SAML response to backend  to be validated
so I don't need to use the passport code only the saml core one

you could avoid using q and use async await that would make the code much easily to read

For reference, the issue related to splitting this into a Passport-part and a library-part is in #295, where @xylude mentioned the concept and that thread references a fork that purports to do this (https://github.com/Asana/node-saml-lib) which seems to have some contributors active even somewhat recently. I don't currently have a need for a separate library, but perhaps with these interested ones, such work can be accomplished.
My biggest concern is that we now have good support with @markstos shepherding passport-saml. If some other project hosts the library separately, I worry it will get stale like the aforementioned project has. I'm not sure what the opinion of others is of breaking this project into a library that would still be installed as passport-saml, but could then be required as just a library if desired.

@cjbarth,
If the project is split, both parts could have the same maintainers, or possibly different ones. That has not been decided.
There is some possibility that my company will switch from passport-saml to some  third party solution in the future, like Shibboleth, OneLogin or Okta.  So don't plan around the permanence of my maintainership.
I think perhaps if the project was split, it might attract even more users, since the userbase wouldn't be limited to passport-users as much. Growing the user base also grows the potential pool of maintainers, so it could be win for the project.
I am concerned about the security of the project and would want to have confidence that any other maintainers were being careful to keep the project spec-compliant and secure.

what can use babel preset env and have different targets for different node versions
we can have a target for node 8 that won't transpile async await, and another one that transpile
check this https://babeljs.io/docs/en/babel-preset-env
it could be something like
'passport-saml/modern', so you opt in to use async await natively

@sibelius That does sound like  a good solution. It seems we could compile for Node 6, and give Node 8+ users the option to use native code.

I might also propose that we wait for April 2019 to land this and just drop Node 6 support at that time since that is when LTS support ends. That removes the complexity associated with Babel, and 6 months isn't that long, especially given how long this PR has been active anyway.

@cjbarth That approach is OK with me. Given the usually slow pace of changes in this project, someone could go ahead and start on the work if they are OK with the need to possibly rebase and refactor it later to account for changes.


Connecting monitor.getClientOffset to a DropTarget does not refresh props

I created a DropTarget and connected getClientOffset as follows:
targetCollect = function (connect, monitor) {
  return {
    connectDropTarget: connect.dropTarget(),
    isOver: monitor.isOver(),
    clientOffset: monitor.getClientOffset()
  }
}

However, when moving drag within the component, the target does not receive updated props with each wiggle of the mouse (only on enter and exit). The target spec's hover is called however repeatedly. Is there a reason that the clientOffset prop is not injected each time it is changed?

Oh, good point. That's right, I didn't anticipate this usage. Currently, the only way to opt into tracking client offset is to use DragLayer. Otherwise, for performance reasons, it only updates the props if something concerning the drop target itself has changed.
I'd say it's an API problem, and there may be several solutions:

Forbid reaching into getClientOffset() and similar methods from inside collect function and tell to use DragLayer instead (easy but dumb);
Automatically figure out that user wants to track the offset and subscribe to the offset changes if this is the case (harder but more consistent).

I think I'd accept a PR doing the second option. You can check DragLayer implementation to see how it subscribes to the offset changes.

I looked into the second option, but it's tricky as collect is a function, so it's not possible/easy to find out which monitor functions might be called.
My use case is a dragging around of widgets which are snapped into location, possibly displacing other widgets in a relatively complex way (think dragging program icons on an Android). It's really the target that has to rearrange itself depending on the exact hover location, while the drag itself is perfectly ok as an HTML5 snapshot. I can do it with the target spec's hover updating the state of the target component. So I'll leave this for now and work around it. Thanks for an amazing library; I have something decent working in a very few hours of work.

Let's keep this open for now. It's the same as #172: I didn't anticipate people using deltas inside canDrop or the collecting function. I'm not going to fix this right away, but may after I free up in a month or so.

I also ran into this issue. What are your thoughts on letting clients pass a flag into DropTarget spec to subscribe to offset changes? It's one more "gotcha" for the user, but is simpler than manually subscribing/unsubscribing to offsets.

Could you not perhaps use RxJS-DOM to observe the dragover event on the element and update the state with mouse coordinates? Hacky solution perhaps.
  componentDidMount() {     this._events.dragOver = DOM.fromEvent(findDOMNode(this.refs.grid), 'dragover')                             .throttle(200)                             .subscribe(this.getMouseCoords)   }

I ended up grabbing the monitor and subscribing to offset changes like the DragLayer. I also ended up tapping into the internal registry in places. I don't think what I want to do is too unusual, so IMO it could be addressed by simple api changes.

Has anything come of this? I would like to monitor the client offset in my DropTarget rather than in the custom drag layer because I feel like it's easier to change the DropTarget's structure when I can access the hover location from the DropTarget instead of the custom drag layer.

+1 I'd like to do exactly what @jchristman is trying to do.

+1.  Running into this and wasting a lot of time trying to understand why getClientOffset() works fine in canDrop() - which does get called repeatedly... - but no way to forward to my control 'where' over the item we are.  I need to be able to insert above and below a treenode, not just "on" it.  canDrop() has no way that I can find that lets me actually tell my component which of the many "types" of drops the node has so that my control can redisplay accordingly.  Changing the prop in canDrop resulted in an error.  Subscribing to onMouseMove doesn't work during drag and drop operations.  This has been a huge waste of time so far...any help would be appreciated.
@ibash, would you mind posting a gist of what you did to solve your problem?

Switching to using hover finally did it for me.
`    hover: (props: MyProps, monitor: DropTargetMonitor, component: ReportItemRow) => {
if (component != null) {
const clientOffset = monitor.getClientOffset();
        // Is the dragging node dragged above/below us as opposed to "on" us?

        const elementRect = document.elementFromPoint(clientOffset.x, clientOffset.y).getBoundingClientRect();

        const percentageY = (clientOffset.y - elementRect.top) / elementRect.height;

        // Divide the box up into .25 .5 .25
        const insertDragAndDropMagnetPercent = .25;

        if (insertDragAndDropMagnetPercent >= percentageY) {
            component.setState({ dropTarget: "above" });
        }
        else if (1 - insertDragAndDropMagnetPercent >= percentageY) {
            component.setState({ dropTarget: "inside" });
        }
        else {
            component.setState({ dropTarget: "below" });
        }
    }
},`

@noah79, in the meantime of waiting for something to come of this, you can solve your problem by creating a number of Drop Targets and putting them under your treenodes. Somthing like this:
         _____
         _____| <-- drop div1 (above treenode1/below top of list)
treenode1_____| <-- drop div2 (on treenode1)
         _____| <-- drop div3 (below treenode1/above treenode2)
treenode2_____| <-- drop div4 (on treenode 2)
         _____| <-- drop div5 (below treenode2/above bottom of list)

You end up with 2n+1 drop targets, where n is the number of elements in your list. Then, based on which of the divs is being hovered over, you can change how the tree list looks. I've done something very similar to this to get around not being able to access getClientOffset() for now, and I did not notice a hit on performance. The height of each drop div should be 1/2 the height of the treenode1 line and the first drop div should be located 1/4 of the height of the treenode1 line higher than the first line. That is, your CSS should look like this:
.dropdiv-container {
    position: absolute;
    top: -0.25em; /* If the top of this container is aligned with the top of the treenode list initially */
}
.dropdiv {
    height: 0.5em; /* If the height of treenode1 line is 1em with no padding */
}

<div className='dropdiv-container'>
    { renderDropTargets(2 * listLength + 1) }
</div>

Does that make sense?

Here's a gist of how I solved this. The trick is to just reach into the
react-dnd internals and use the global monitor directly. Take a look the
DragDropMonitor.js source to get an idea of what methods are available.
ref: https://github.com/gaearon/dnd-core/blob/master/src/DragDropMonitor.js
You'll have to excuse the coffeescript :)
  # in the component being dragged, get access to the dragDropManager by adding
  # it to the contextTypes
  #
  # dragDropManager is an instance of this:
  # https://github.com/gaearon/dnd-core/blob/master/src/DragDropManager.js

  @contextTypes: {
    dragDropManager: React.PropTypes.object
  }

  # because we can receive events after the component is unmounted, we need to
  # keep track of whether the component is mounted manually.
  #
  # @_monitor is what lets us access all the nice internal state - it is an instance of this:
  # https://github.com/gaearon/dnd-core/blob/master/src/DragDropMonitor.js

  componentWillMount: () =>
    @_isMounted = true
    @_monitor = @context.dragDropManager.getMonitor()

    @_unsubscribeToStateChange = @_monitor.subscribeToStateChange(@_onStateChange)
    @_unsubscribeToOffsetChange = @_monitor.subscribeToOffsetChange(@_onOffsetChange)

  componentWillUnmount: () =>
    @_isMounted = false
    @_monitor = null

    @_unsubscribeToStateChange()
    @_unsubscribeToOffsetChange()

  # we can access dragging / dropping state by accessing the monitor

  _onStateChange: () =>
    return unless @_isMounted

    # When we stop dragging reset the counter state and hide all cursors.
    if @_previousIsDragging && !@_monitor.isDragging()
      console.log('no longer dragging')
    @_previousIsDragging = @_monitor.isDragging()

  _onOffsetChange: () =>
    return unless @_isMounted

    # mouse is the x/y coordinates
    mouse = @_monitor.getClientOffset()

    # item is the drag item
    item = @_monitor.getItem()

    # if you want to check if a dragged item is over a target, you need the
    # targetId -- in the DropTarget wrapper you can pass it in like:
    #
    #   (connect, monitor) ->
    #     {
    #       targetId: monitor.targetId,
    #       connectDropTarget: connect.dropTarget()
    #     }
    #
    # and then you can use it like below

    @_monitor.isOverTarget(@props.targetId))

I was also running into this today and wasted some hours. What about leaving a note about it in the documentation under DropTarget -> The Collecting Function? That would at least spare some others for frustrations.

Btw. one other really ugly hack around this issue can be to send in the coordinates as state from dropTarget.hover():
const dropTarget = {
    hover(props, monitor, component) {
        // HACK! Since there is an open bug in react-dnd, making it impossible
        // to get the current client offset through the collect function as the
        // user moves the mouse, we do this awful hack and set the state (!!)
        // on the component from here outside the component.
        component.setState({
            currentDragOffset: monitor.getClientOffset(),
        });
    },
    drop() { /* ... */ },
};

Of course there are tons of more correct ways to do this that would avoid abusing of setState like that. But at least this little hack is very condensed and may do the job until this issue is eventually fixed. It lets you hack around the bug without changing other components and/or files.

Is there really no way to get the mouse position on drop?  My target component doesn't need to know about it, so setState isn't an option for me.  I just need the coordinates in order to trigger a redux action.

Please ignore my last message.  I see now that drop and endDrag are two different pieces of functionality, and getting cursor positioning within drop works as expected. :)

From my tests, react-dnd is consuming the mouse move events as soon as an item is being dragged over the target. If it were possible for the html-backend not to consume this event then the target component could just place a normal mousemove listener on its dom conditionally when the isOver property is set to true. Thereafter this listener could pick up the mouse position (in the normal way) when something is being dragged over it. I got this to work temporarily using setState from the drag() method react is giving warnings about setting state in the middle of a render transition.

This tripped me up too.  +1 for an API solution or at least something on the FAQ.

Is there any plan to support this?

+1 for this issue. use case I have is I have several drop targets that are in close proximity of each other. It seems weird that when hovering, the proper drop target highlights but actually dropping will drop on a lower target depending on what direction you hovered from.


Split spacecount into indent option

Robotidy normalize all whitespace using the same fixed amount of spaces (configurable via --spacecount). It's then optionally modified by various transformers such as AlignSettingsSection. This PR add additional option --indent that allow to configure indent separetly.
It's now possible to have for example indent of 4 but separator between tokens (spacecount) 2:
robotidy --indent 4 --spacecount 2

Keyword
    FOR  ${index}  ${item}  IN ENUMERATE  @{LIST}
        My Keyword  ${index}  ${item}
    END

Closes #301

Codecov Report

Merging #301 (6e9ab94) into main (6e0fa1d) will increase coverage by 0.00%.
The diff coverage is 100.00%.

:exclamation: Current head 6e9ab94 differs from pull request most recent head 5faea14. Consider uploading reports for the commit 5faea14 to get more accurate results

@@           Coverage Diff           @@
##             main     #301   +/-   ##
=======================================
  Coverage   97.61%   97.61%
=======================================
  Files          37       37
  Lines        2555     2561    +6
=======================================
+ Hits         2494     2500    +6
  Misses         61       61

Impacted Files
Coverage Δ

robotidy/api.py
93.33% <100.00%> (+0.22%)
:arrow_up:

robotidy/cli.py
98.05% <100.00%> (+0.03%)
:arrow_up:

robotidy/disablers.py
97.08% <100.00%> (ø)

robotidy/transformers/NormalizeSeparators.py
100.00% <100.00%> (ø)

robotidy/utils.py
97.41% <100.00%> (+0.01%)
:arrow_up:

Continue to review full report at Codecov.

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


Nested _extend does not appear to work

Bug Report
Current Behavior
When extending a settings file that extends another settings file, the functionality does not appear to be work.
Repo A org/github-settings
File .github/settings.yml
repository:
  allow_squash_merge: true
  allow_merge_commit: true
  allow_rebase_merge: true

Repo B org/repo-b - This works
File .github/settings.yml
_extends: github-settings
repository:
  allow_rebase_merge: false

Repo C org/repo-c - This does not work
File .github/settings.yml
_extends: repo-b
repository:
  allow_squash_merge: false

Expected behavior/code
Would expect the .github/settings.yml file configuration in repo-c to end up being:
repository:
  allow_squash_merge: false
  allow_merge_commit: true
  allow_rebase_merge: false

I'm not sure if this is suppose to work in being able to have nested extended configuration files across different repos, so wanted to create this issue here until having an answer on that (if it is suppose to support that, I can move this issue to the probot/settings repo)
Environment

Utilized w/ probot/settings package [v1.0.0]

I think this is supposed to work, but not 100% sure. Once we ship Probot v10 via #1274 I'll extract the config logic into an Octokit plugin which will make it easier to reason about it

The plugin now exists in github.com/probot/octokit-plugin-config/. If you can reproduce the problem with that library, I'd be happy to look into it.

@gr2m I think I am running into this or a similar bug - see https://github.com/jpoehnelt/in-solidarity-bot/issues/416

can you please open a new issue? Comments on closed issues are easy to miss

Done, see #1660.

Probot is shallow copying the configuration files. I opened a PR for deepmerging.
https://github.com/probot/octokit-plugin-config/pull/263