Support YugabyteDB as a State Store

Describe the feature
Support YugabyteDB as a State Store.
About YugabyteDB:
YugabyteDB is a transactional distributed SQL database for cloud-native applications. It is wire-compatible with Postgresql. More details here.
Release Note
RELEASE NOTE: ADD support for YugabyteDB as a state store in Dapr.

If it is wire compatible with Postgresql, can you not simply use the Postgres state store and point it at YugabyteDB? That would be preferred @ashetkar

According to the docs the GO library lib/pq works to connect. We use jackc/pgx which supports the same required authentication method.
For this reason I do not think a dedicated Dapr component is required to connect to YugabyteDB and we also do not need to update our documentation.
Please just use the Postgres state store.

@berndverst Thank you for the response.
The Postgresql component of Dapr makes use of xmin column for etags and YugabyteDB does not support xmin, hence it cannot use the Postgresql component to connect. And there may be other incompatibilities existing.
Also, we may be able to add YugabyteDB-specific optimisations like using our fork of jackc/pgx driver, etc.
Even though this issue was filed to request the support, it was to be followed up with a PR from us that we have already been working on. And we would like to work with Dapr team to complete this support.
Given this, please consider retaining this GH Issue. Do let me know if you need more details, thanks.

I am reopening the issue for further discussion.
How do you solve the etag in the new component? What ate the other incompatibilities? I am wondering if there is a way to make the existing Postgres component configurable.
Now, if you have a fork of the jackc/pgx driver that you would like to use, have you considered making this a pluggable component? We do have a go-sdk that make this simple if the component is written with the same interface as components-contrib: http://github.com/dapr-sandbox/components-go-sdk

@ashetkar I would prefer if we add whatever capabilities are needed to the existing Postgres state store.
@ItalyPaleAle created the TTL implementation. We can certainly change it, or conditionally enable  / disable it to create compatibility.
Duplicating the Postgres libraries in our code means more memory utilization for something which isn't strictly necessary.
If you must create a new component  I strongly suggest using the version of pgx we are already importing.

I agree with @artursouza if you must use the fork of your driver then this should be a pluggable component (a binary external to the sidecar which communicates with the sidecar).
Importing a fork of pgx specifically for Yugabyte is a dealbreaker for inclusion in the binary directly. But a pluggable component would solve this.
I still lean towards just making the existing Postgres component more flexible and not introducing a new component here. After all the goal is to be able to connect to Yugabyte. The component name does not matter.

xmin is a built-in column in Postgres that indicates the version, and it's used for etags in Dapr: https://www.postgresql.org/docs/current/ddl-system-columns.html
I'm happy to consider a switch that uses a different column for etags for YugabyteDB. You may need to manually generate a new etag (e.g. a UUID) before inserting or updating a column, but it would work (please make sure that Postgres can continue using the buillt-in xmin).
Agree with @berndverst that importing a fork of pgx is not an option I'm afraid. pgx is very actively-maintained, and we don't want to depend on a fork which will lag behind.

Thank you @artursouza for reopening the ticket for discussion and everyone for insightful comments.
Let me take some time to understand the suggestions (like pluggable component among others) and get back to you with answers/ further comments.

@ashetkar maybe you can contribute the performance improvements you need directly to pgx and then we can just use the latest pgx version. That benefits everyone!

@ashetkar can you please try with the CockroachDB component and see if that works with YugabyteDB too? I have a feeling it might (and we're thinking of merging that into the Postgres component)

@ashetkar were you able to check if the CockroachDB component works with Yugabyte? If so, we can just update the docs to indicate that :)

Thank you everyone for the suggestions and comments.
Using the CockroachDB component to connect to YugabyteDB works fine as far as the xmin issue is concerned. But having a separate component for YugabyteDB will help for below reasons:

There are differences between YugabyteDB and CockroachDB [1] [2] and having a separate component will help manage the changes better now and in future.

About using a custom jackc/pgx driver, I had mentioned it as an example.

The additions we have made here cannot be contributed back to the upstream pgx since these are specific to YugabyteDB.
One example is: load balancing client connections either across all or to specific set of servers of a YugabyteDB cluster based on topology.

And we'd like to maintain the YugabyteDB component for Dapr as we do the fork of pgx driver.

@ItalyPaleAle
I don't have enough understanding of Dapr to comment on which features of DB it uses and how. For example, the assumptions it has about transactions from the underlying database may differ from one DB to another.
Agree that another pgx fork may add to Dapr's size. It was brought up as an example of what customisations the YugabyteDB component can have.

@ItalyPaleAle I was able to run conformance tests and those ran fine. How do we enable/run the other extensive tests for YugabyteDB?

Would we potentially be able to use your forked pgx driver for Postgres and CockroachDB too?

The changes are specific to YugabyteDB but are incorporated based on some flags, so it could be possible.

Hello @ItalyPaleAle , Can you please help as what is the next step from our end.

@ashetkar @rahulpoddar-fyndna sorry for the delay, following up on this now.
To recap the current state of affairs:

The CockroachDB component can today be used with YugabyteDB
We do need to expose this so the YugabyteDB name is present.
However you are saying that it would be best to use a fork of pgx for YugabyteDB
We cannot accommodate the usage of the fork sadly for size/memory reasons
You mentioned that you were upstreaming your changes to the official pgx. What's the status of that?

However you are saying that it would be best to use a fork of pgx for YugabyteDB

@ItalyPaleAle My apology if I was not clear earlier. I had mentioned the use of our fork of pgx only as an example of how YugabyteDB as a Dapr state store could be further differentiated. It is no way a pre-requisite for the state store implementation as of today.

You mentioned that you were upstreaming your changes to the official pgx. What's the status of that?

Yes, I had stated that it could be possible to upstream the YugabyteDB-specific changes to official pgx.
But we have no plans for that as of today since it involves collaborating with pgx maintainers and also, not all changes - including the ones which might come in future - may be incorporated in the upstream pgx.

@ashetkar @rahulpoddar-fyndna can you please test whether the Dapr CockroachDB component we have today works with YugaByteDB as is? Don't worry about the name for now - we can add the YugaByteDB name in such a way that both names will load the same underlying component implementation.
What we want to know from you (and are asking you to verify by trying this out) whether the Dapr CockroachDB component works with YugaByteDB out of the box.

We will have Yugabyte as alias of PostgreSQL in 1.13. Will be possible with the v2 of the component: #3250
However, would appreciate if you could help us set up a conformance test for this!

Thanks @ItalyPaleAle!

However, would appreciate if you could help us set up a conformance test for this!

Happy to help, please let us know what is needed from us

@ashetkar is there a Docker compose file we can use to run Yugabyte and a sample Component YAML? See examples for CockroachDB:

https://github.dev/ItalyPaleAle/dapr-components-contrib/blob/85d72fd57c84c6ae6dae50daada0e62f061d6b78/.github/infrastructure/docker-compose-cockroachdb.yml
https://github.dev/ItalyPaleAle/dapr-components-contrib/blob/85d72fd57c84c6ae6dae50daada0e62f061d6b78/tests/config/state/cockroachdb/v2/statestore.yml


vocal: 2.3.0 -> 2.4.0

Motivation for this change
Vocal has a new release featuring a number of bug fixes and new features. See the full changelog at https://github.com/needle-and-thread/vocal/releases/tag/2.4.0.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg eval


replace asg should not wait when there are no instances to start

When replacing an ASG, nemesys should skip the step where it waits for at least one instance to become healthy in the new group before deleting the old group in the case that the old group didn't have any instances to begin with

resolved, not sure which pr it was though


Bump version to match with published Docker image version range and minor bug fixes

Fixes #462
Fixes #463
In particular, for #463 we also do an additional step to avoid errors thrown by the test data generator crashing the application.

IMPORTANT With the recent reset of the application version to 0.0.1, we have accidentally messed up version progression in Docker Hub, so we will do a minor version bump all the way to 0.3.0 to resume the proper order for the Docker image as the current highest version now on the hub is 0.2.56 for finos/legend-studio and 0.0.10 for finos/legend-query
See https://hub.docker.com/r/finos/legend-studio/tags?page=1&ordering=last_updated

@cla-bot[bot] check

@cla-bot[bot] check


Where can I find a file that contains the following timing information?

I'm trying to find the detailed information about the delays of some components or their library files in the 'report_timing.setup.rpt' file provided by OpenFPGA. Where can I find them?

@Chris202305 Please check the .blif file which is the input to VPR. You can find the net/LUT in the same name.

Can I understand that all the detailed delay information provided by the VPR analysis on the FPGA structure generated by OpenFPGA is described in the architecture file?

Correct.

Okay, with your help, I can now roughly understand the composition of this delay. So, when I use VPR-OpenFPGA to output an FPGA design, VPR will provide a timing analysis report, and then how can I perform Timing Back-Annotation on it?

@Chris202305 Can you clarify the timing back-annotation? I am not sure about the concept in your context.

I'm sorry, I'm not very experienced, and it seems like my words may have caused some confusion. What I meant was, before I started working with OpenFPGA, I was learning to synthesize RTL designs using the DC tool. During my learning process, I discovered that I could generate an SDF file for timing annotation in post-synthesis simulations. My idea is that after VPR completes the placement and routing, it provides a timing report. I'm wondering if it's possible to create a file similar to SDF, where I can annotate the timing information from the architecture file and then perform post-routing simulations to see the results

By the way, can I program an FPGA with the bitstream generated by OpenFPGA using Quartus for testing? I'm currently attempting this and was wondering if you have any experience in this area

@Chris202305 Commercial FPGAs have their in-house configuration protocols and address maps, which are not open to public. If you want to support, you may check some reverse engineering projects (e.g., project X-ray  https://f4pga.readthedocs.io/projects/prjxray/en/latest/) and build your FPGA programmer to support it.

@Chris202305 If you need SDF, you may try the timing-annotated simulation which is supported by VPR: https://docs.verilogtorouting.org/en/latest/tutorials/timing_simulation/


style: format action builder

Ran SQLFluff on Action Builder! The only changes im seeing on here are

Remove unused table aliases
Add as keyword when declaring an alias
remove empty lines at end of file

There were some other linting errors that were all of this kind:
 Keywords should not be used as identifiers.
But they were column existing column names that we probably shouldn't change, so i left it as is.

seems cool! i have the same q here as the other sqlfluff PR you have open right now: does dbt run without a problem without the extra line at the end of each file?

same here! ran the models and it ran through successfully


Adding Tenderly to the list of visualization tool

Tenderly gives a visualization of the execution path for every transaction on the major networks, the idea for such a visualization was initially shown at ETHParis where it was among the winners.

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


Getting the pure value without the mask

Is it possible? Couldn't find any way to do it.

Use , then when you need to get pure value use this.refs.masker.mask.getRawValue().

Hey @shin-monkey @mohithg can you give code example where you used this.refs.masker.mask.getRawValue(). Sorry I am new to react and could not figure out where to use it.

@hhsadiq
  <MaskedInput  ref="masker"
                             mask="1111111111"
                             onBlur={this.validate}
                             className="form-control"
                             placeholder="Phone"
                             name="PHONE"
                             onChange={this.changeInput}/>


App crashes on first launch after giving permission to use location

App crashes at let userLocation: CLLocationCoordinate2D = (self.locationManager.location?.coordinate)! in SelectedTourViewController.calculateDirections() when the app is run for the first time on a device

Just pushed a commit to New-Info-Screen to try and fix this, just checked that self.locationManager.location wasn't nil before I did all the userLocation stuff. Works on my phone now, but needs more testing.


Connection to assetsd was interrupted or assetsd died

I'm getting this error when using Regift. I think it's related to memory issues writing too large of a gif, but I'm wondering if anyone's seen or resolved this.

Hmm that's a really annoying error! I haven't come across it, so I'm not sure I can help fix it sorry. I will leave this open for a couple of weeks—hopefully someone else will come across it :)

Yeah, it's not your fault. Turns out the CGImageDestinationFinalize loads all images in the GIF into memory at once and writes in one giant operation. If you have too many/too large images you'll run out of memory.
See http://stackoverflow.com/questions/29723024/creating-a-large-gif-with-cgimagedestinationfinalize-running-out-of-memory for more information.


Boxcar Tooltip

Let's expand boxcar Tooltip to more like “boxcar half-width of 5 pixels (11-pixel moving average)”.

@mzieg Can we close this one?


load world partially threaded

This reduces the loading time of big worlds. My tested world had about 800000 ZDOs which took about 10 sec to be processed by ZDOMan.Load(). With this patch it was reduced by 4 sec. If a world is bigger the gain is even better and in a small world it creates no significant impact either way.
It doesn't load ZDO data right away but store them in an array to load them threaded with C# Parallel. In my testing this needed about 350MB of RAM but it is released when the functions ends.
I only patch the current data version, when it changes in a future patch it falls back to the vanilla version.

Looks good, but is it possible that num2 < batch?

yep, it breaks badly


Prep for 0.5.4 release

Bumps the package version and adds a release note.

For reference, the release notes for this release have:

Fix to keep small errors from skewing curve fits
Fix for RB when a 2Q gate has no coupling map (mainly a fix for AerSimulator in 0.13)
Remove leading reset from tomography so it can be used on backends without reset

There is also a small change to RB to improve performance which is not in the release notes.


[Build] cargo audit should fail at warning level

Motivation
cargo-audit should exit with an error if any warning advisories are found.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Tested locally with cargo-audit 0.10.0
Related PRs
#1535

Before we land this, do we have a plan to update the term crate that generates advisory warning?  cc @gedigi


UserWarning: Latitude normalization has been prohibited in the newer versions of geopy

2024-07-04 02:00:02: JSON from API doesn't have a 'results' key
/usr/lib/python3.11/site-packages/geopy/point.py:472: UserWarning: Latitude normalization has been prohibited in the newer versions of geopy, because the normalized value happened to be on a different pole, which is probably not what was meant. If you pass coordinates as positional args, please make sure that the order is (latitude, longitude) or (y, x) in Cartesian terms.
return cls(*args)
Exception in thread ProcessThread:
Traceback (most recent call last):
File "/usr/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
File "/usr/lib/python3.11/threading.py", line 982, in run
self._target(*self._args, **self._kwargs)
File "/p2000.py", line 1174, in process_thread_call
self.post_data(msg)
File "/p2000.py", line 653, in post_data
geodesic(
File "/usr/lib/python3.11/site-packages/geopy/distance.py", line 540, in init
super().init(*args, **kwargs)
File "/usr/lib/python3.11/site-packages/geopy/distance.py", line 276, in init
kilometers += self.measure(a, b)
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/geopy/distance.py", line 556, in measure
a, b = Point(a), Point(b)
^^^^^^^^
File "/usr/lib/python3.11/site-packages/geopy/point.py", line 175, in new
return cls.from_sequence(seq)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/geopy/point.py", line 472, in from_sequence
return cls(*args)
^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/geopy/point.py", line 188, in new
_normalize_coordinates(latitude, longitude, altitude)
File "/usr/lib/python3.11/site-packages/geopy/point.py", line 74, in _normalize_coordinates
raise ValueError('Latitude must be in the [-90; 90] range.')
ValueError: Latitude must be in the [-90; 90] range.

Hi, thanks for reporting, this looks like an internal issue within geopy, since we call the geodesic() function as advertised in the readme, underneath the point() routine is called which has this issue, I haven't seen the error yet, can you check if you still have this, after rebuilding the addon, maybe it was related to a certain version of py3-geopy.
https://github.com/geopy/geopy?tab=readme-ov-file#measuring-distance


Poor Elevation scale in Drive Details

I'm a new user since yesterday, and am very impressed so far.
I note that the Elevation plots in the Drive Details view have a very poor Y axis scale.  The elevation range for this drive is roughly 1100 ft to 1200 ft, but every Y axis tick is labeled as "1K", and the details that appear when hovering over the plot with the cursor are all labeled either "1.1K" or "1.2".
See attached screenshot.
Is there some Grafna tweak I need to make?
I'm running TeslaMate in Docker on Ubuntu 19.10.

I'm a new user since yesterday, and am very impressed so far.

Thanks!

Is there some Grafna tweak I need to make?

I'll  update the scale with the next release :-)
In principle, the dashboards can be fully customized. If you'd like to fix it yourself in the meantime do this:

sign in with the default user admin (password is admin)
Click edit on the elevation graph and change Visualization > Axes > Left Y > Unit to none
Save the dashboard as JSON and import it as a new dashboard

Thanks for the assistance.  That worked.  I'll dig into the Grafna docs to figure out how to link my modified dashboard to the Drives dashboard (assuming that all my changes will be overwritten when the next release comes out - I better validate that assumption before I go too crazy with changes).


Add link to this GitHub repo in Settings page

Add a link to this GitHub repo on the settings page.

Can I work on this issue?

Sure that would be a great help!


haskellPackages.sydtest: Unbreak by disabling test suite.

Description of changes

Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[X] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[X] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

If possible, I'd like to see this backported to 23.05.

Please open a new PR without pinging a lot of unrelated people.
For future reference, here is how to properly rebase to staging: https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#rebasing-between-branches-ie-from-master-to-staging


[WIP] Proof-of-concept Mixer Direct API Envoy Metrics Service impl

This PR is the initial strawman PoC for the first entry into the suite of
APIs that will be exposed as part of the Mixer Direct API. It provides an
implementation of the Envoy V2 Metrics Service (streaming gRPC).
Reviewers: I am interested in comments on a few critical items. Please ignore
the hacky quality of the code for now. The items:

code locations. Are the parts in the appropriate places? If not, where should they be?
integration approach. Please notice all of the config changes. Is this how we want the UX? There is a high cost to providing data (have to know metric name/shape ahead of time, for instance).
identity attributes. Notice the destination.service bits (and node id extraction bits). How
can we do this better?

I've tested as follows:

run local mixer with the testdata/config changes in this PR
$ ./directapi metrics server --batch=1
$ ./directapi metrics client

With all of that config, localhost:42422/metrics:
# HELP istio_envoy_family_one envoy_family_one
# TYPE istio_envoy_family_one gauge
istio_envoy_family_one{testing="labelsVal"} 234.245345

/hold

@douglas-reid: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-dashboard.sh
7a2553128cb0e2b4001510590c89a3926c19f45d
link
/test e2e-dashboard

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

I'm also curious how we want to orchestrate the direct API service? Is it a separate container, a process managed by mixer, a service?

@douglas-reid: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Are we just closing any non 1.0 PRs?


Accessibility: Selected buttons cannot be triggered on Game Controller

Steps to Reproduce
When using a Flutter app with a POWKIDDY X18 device, you can select buttons fine (which is the same as pressing Tab on a keyboard in the Android Emulator), but you cannot trigger them (which would be pressing Enter).
Target Platform: Android
Devices: POWKIDDY X18
Expected behavior
In native Android apps, the A game button can be pressed to trigger selected buttons, but in Flutter apps it does not work.
Logs
flutter doctor -v
[√] Flutter (Channel master, v1.13.3-pre.23, locale en-US)
    • Flutter version 1.13.3-pre.23 at flutterRoot
    • Framework revision c06bf6503a (10 days ago), 2019-12-13 17:42:35 -0500
    • Engine revision e0e0ac0a68
    • Dart version 2.8.0 (build 2.8.0-dev.0.0 45db297095)

@gspencergoog Is it possible that this is related to https://github.com/flutter/flutter/pull/33868?

Hi @creativecreatorormaybenot
Even if flutter had an "out-of-the-box" game controller support,
this might not the use case;
I'm not sure that said product has an sdk,
but I'd like to share the experience I had dealing with these devices.
I just linked the "button event" Android side
to a Platform Channel and everything worked seamlessly.

android
package com.example.##################;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import io.flutter.app.FlutterActivity;
import io.flutter.plugin.common.EventChannel;
import io.flutter.plugins.GeneratedPluginRegistrant;

public class MainActivity extends FlutterActivity {

  static IntentFilter filter = new IntentFilter();
  static String mAction = "###############";
  static final String mKey = "###############";
  static final String STREAM = "## flutter side ##/Stream";
  EventChannel.EventSink mEventSink;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    GeneratedPluginRegistrant.registerWith(this);
    filter.addCategory(Intent.CATEGORY_DEFAULT);
    filter.addAction(mAction);
    registerReceiver(myBroadcastReceiver, filter);
    new EventChannel(getFlutterView(), STREAM).setStreamHandler(
            new EventChannel.StreamHandler() {
              @Override
              public void onListen(Object args, final EventChannel.EventSink eventSink) {
                mEventSink=eventSink;
              }
              @Override
              public void onCancel(Object args) {
                mEventSink=null;
              }
            }
    );
  }

  @Override
  protected void onDestroy() {
    super.onDestroy();
    unregisterReceiver(myBroadcastReceiver);
  }

  private BroadcastReceiver myBroadcastReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
      String action = intent.getAction();
      if (action.equals(mAction)) {
        try {
          String data = intent.getStringExtra(mKey);
          mEventSink.success(data);
        } catch (Exception e) {
        }
      }
    }
  };
}

flutter
  static const String _eventStream = '## flutter side ##/Stream';
  static const EventChannel eventChannel = const EventChannel(_eventStream);
  static StreamSubscription _streamSubscription;
  Future<bool> enableScanner({final Information info}) async {
    await disableScanner();
    _streamSubscription = eventChannel.receiveBroadcastStream()
      .listen((data) {
        /// #### YOUR LOGIC ####
      });
    return true;
  }

  Future<bool> disableScanner() async {
    await _streamSubscription?.cancel();
    _streamSubscription = null;
    return true;
  }

but of course you need to know the intent first.
I hope you find this helpful.
thank you

@iapicca I think that it is actually possible to achieve what you did using Android native code using only Flutter code because of https://github.com/flutter/flutter/pull/33868.
See the following line:
https://github.com/gspencergoog/flutter/blob/679b6e2999c1c53ef57e5db4903fb0e2f35d96c9/packages/flutter/lib/src/services/keyboard_maps.dart#L182
This can be handled in FocusNode.onKey.
Actual problem
If my assumption is correct, the actual problem here would be that the accessibility functionality in Flutter does not handle this "game button A" press, even though it should do so. As I explained previously, pressing the Enter button on a physical keyboard will trigger this accessibility action and game button A should do so as well, but I could not find the relevant section in the Flutter SDK.

I think this may simply be because the ActivateAction isn't bound to the game controller A button.
If you add a Shortcuts widget around your app with the following shortcut map, does it do what you expect?
Shortcuts(
  shortcuts: <LogicalKeySet, Intent>{LogicalKeySet(LogicalKeyboardKey.gameButtonA): const Intent(ActivateAction.key)}
  child: ...)

@gspencergoog Thanks! That is what I was looking for and also what I meant.
I will post an update once I know this works for certain.
Do you think having this link by default would be an option?

Yes, that's definitely an option, but let's make sure it fixes the problem first.

@gspencergoog I can confirm that it works using Shortcuts. Navigation already worked before using the D-pad as I explained previously.
I assume that there is some lower level definition of shortcuts within the framework, but I am not sure where they are defined - otherwise I could open a PR.
Anyways, I am going to close this issue for now - I could open a new one for a feature request to make this a default if needed.


Current Weather NOT WORKING [Bug: Current]

I enter the code for Voronez, Russia, which is "RSXX0412", it does not give me the weather forecast when updating, the current weather widget remains unresponsive and empty.
I also tired to input the full weather code from weather.com URL for Voronezh, Voronezh, Russia which is "b9f5f149dd507ce04f3807acb17695cff1110b45d47a0f05197367db579642cb", since someone had mentioned it in an closed issue for forecast, but that didn't solve the issue either.
Expected behavior
A clear and concise description of current weather along with other info as seen below

Screenshots

Desktop

Windows 10 Pro 21H2 (build 19044.2728) 64bit

Rainmeter version: v<IP_ADDRESS>00 64bit

Additional context
When I enter the code of any other region also does not work

It looks okay to me. Even in the Russian language looks normal, as well.
Or maybe your OS is outdated.
Mine is Windows 10 Pro 22H2 64-bit (March 2023 Patch Update)


Fix image fragment

It' about this issue https://github.com/TechFreak/WizardPager/issues/16

thanks @tonyshkurenko !


testdiff: ignore doesn't work

Hello,
I've copied exactly the example exposed in README and ran it. The output I get is that they are different in the field I told it to ignore.
I am using golang 1.10
Thanks,

turns out its just a problem in the import, it imports the old code

Yeah, sorry about that, just pushed a new release with the latest code.


Bug fix on mark controller line 290

$ sign in front of tex which should not be
Was causing an error

please what is the login credentials for the school management system,


Fixed USB RNDIS not to send over MTU packet

USB RNDIS sent the packet which has
CONFIG_ETH_PKTSIZE + CONFIG_NET_GUARDSIZE.
The maximum size of Ethernet packet should be CONFIG_ETH_PKTSIZE.
Signed-off-by: Koichi Okamoto<EMAIL_ADDRESS>

@patacongo
Thank you for your discussion with CONFIG_NET_GUARDSIZE.
Does each of drivers have the responsibility of the limitation of ethernet packet length?
If so, each of drivers may treat the appropriate ehternet packet length in it regardless of CONFIG_NET_GURARDSIZE.
It seems to me that CONFIG_NET_GUARDSIZE is the spirit of uIP. I am not sure but
if TCP/IP statemachine or checksum algorism doesn't need CONFIG_NET_GUARDSIZE,
this value can be removed from NuttX code.
Upon reconsidering the matter, driver level modification such as USB RNDIS can limit
an affected code area. When nobody uses CONFIG_NET_GUARDSIZE in driver, as well as TCP/IP statemachine and application, NuttX can remove this CONFIG safely.
I will also discuss the lack of error handling of rndis_fillrequest() return 0 (Ethernet length is 0 and over CONFIG_NET_ETH_PKTSIZE). In this case,there is no RNDIS BULKIN header. I choose EINVAL in this case. Is this reasonable modification?


Sql db projects non-working codeflows in VSCode

After PR #22847  is checked in- following workflows need more investigation in VSCode to work:

Create project from database doesn't pick the context from profile correctly
Create project from database doesn't complete (because of the next issue)
sanitizeStringForFilename doesn't work as expected, so can't add new objects to the project.

closing this since these work when the new version of data workspace is installed

@SakshiS-harma I didn't run into the first problem mentioned ("Create project from database doesn't pick the context from profile correctly"). The correct connection and database were getting chosen when I tried create project from db


Introduces Artefacts to Paper Configs

This PR inttroduces artefacts to the tool suite.
This allows to attach artefact definitions to a paper config.
This way, the artefacts, like plots or result tables,
can be generated from result files automatically.
Typically, a paper config has a file artefacts.yaml that manages artefact definitions.
The new command vara-art allows to manage artefact definitions and generate the artefacts from the definitions.
Resolves se-passau/VaRA#558

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

Complexity increasing per file
==============================
- varats/paper/paper_config.py  1
- varats/utils/yaml_util.py  3
- varats/tools/driver_artefacts.py  9
- varats/paper/artefacts.py  3

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 2

Complexity increasing per file
==============================
- varats/tools/driver_artefacts.py  9
- varats/utils/yaml_util.py  3
- varats/plots/plot.py  1
- varats/paper/paper_config.py  1
- tests/paper/test_artefacts.py  2
- varats/paper/artefacts.py  3

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

Complexity increasing per file
==============================
- tests/paper/test_artefacts.py  2
- varats/utils/yaml_util.py  3
- varats/tools/driver_artefacts.py  8
- varats/plots/plot.py  1
- varats/paper/artefacts.py  3
- varats/paper/paper_config.py  1

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

Complexity increasing per file
==============================
- tests/paper/test_artefacts.py  2
- varats/paper/artefacts.py  3
- varats/utils/yaml_util.py  3
- varats/tools/driver_artefacts.py  8
- varats/plots/plot.py  1
- varats/paper/paper_config.py  1

See the complete overview on Codacy

I'll address your other suggestions later today.

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

Complexity increasing per file
==============================
- varats/plots/plot.py  1
- varats/paper/artefacts.py  3
- tests/paper/test_artefacts.py  2
- varats/paper/paper_config.py  1
- varats/tools/driver_artefacts.py  8
- varats/utils/yaml_util.py  3

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 2

Complexity increasing per file
==============================
- varats/plots/plot.py  1
- varats/paper/paper_config.py  1
- tests/paper/test_artefacts.py  2
- varats/utils/yaml_util.py  3
- varats/tools/driver_artefacts.py  8
- varats/paper/artefacts.py  3

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

Complexity increasing per file
==============================
- varats/tools/driver_artefacts.py  8
- varats/paper/artefacts.py  3
- varats/plots/plot.py  1
- varats/utils/yaml_util.py  3
- tests/paper/test_artefacts.py  2
- varats/paper/paper_config.py  1

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- varats/tools/driver_artefacts.py  8
- varats/paper/artefacts.py  3
- varats/plots/plot.py  1
- varats/utils/yaml_util.py  3
- varats/paper/paper_config.py  1
- tests/paper/test_artefacts.py  2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- varats/plots/plot.py  1
- varats/utils/yaml_util.py  3
- varats/tools/driver_artefacts.py  8
- varats/paper/artefacts.py  3
- tests/paper/test_artefacts.py  2
- varats/paper/paper_config.py  1

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- tests/paper/test_artefacts.py  2
- varats/paper/paper_config.py  1
- varats/tools/driver_artefacts.py  8
- varats/plots/plot.py  1
- varats/utils/yaml_util.py  3
- varats/paper/artefacts.py  3

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- varats/tools/driver_artefacts.py  8
- varats/paper/artefacts.py  3
- tests/paper/test_artefacts.py  2
- varats/plots/plot.py  1
- varats/utils/yaml_util.py  3
- varats/paper/paper_config.py  1

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- varats/utils/yaml_util.py  3
- varats/plots/plot.py  1
- varats/paper/artefacts.py  3
- varats/tools/driver_artefacts.py  8
- varats/paper/paper_config.py  1
- tests/paper/test_artefacts.py  2

See the complete overview on Codacy


Resource.Designer.cs is missing in Android project template

Steps to Reproduce
Create a new project with XamarinFormsTemplate.
Expected Behavior
Android project is created successfully.
Actual Behavior
Android project is NOT created because of an error. (see the following attached file)

Cause

Missing Resource.Designer.cs file in the Android project template items.
Resource.Designer.cs file should be placed under the XFApp.Android/Resources folder.

I worry that you have added a standard .gitignore including Resource.Designer.cs to your FORKED repository ?
My repository does not have gitignore.


Using an alternate key in ModelBuilder API can fail if PK relationship was discovered by convention

This may be related to Issue #1398 since in this case the type of the PK and the alternate key are different, resulting in the same exception as in that bug. However, in this case the root cause seems to be that the PK relationship has already been discovered and configured by convention. This means that the workaround for #1398 does not work here--the exception is thrown regardless of whether the ForeignKey call or the ReferencedKey call is made first.
See GraphUpdateTestBase for repro code--model is big, so not copying it all here.

Fixed in 10d3f43


Could not generate kubeconfig file

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az aks get-credentials
Errors:
[Errno 2] No such file or directory: 'rbpaks01'
Traceback (most recent call last):
Temp\pip-install-ygnynjtx\knack\knack\cli.py, ln 206, in invoke
azure\cli\core\commands\__init__.py, ln 560, in execute
azure\cli\core\commands\__init__.py, ln 618, in _run_jobs_serially
azure\cli\core\commands\__init__.py, ln 611, in _run_job
Local\Temp\pip-install-ygnynjtx\six\six.py, ln 693, in reraise
azure\cli\core\commands\__init__.py, ln 588, in _run_job
azure\cli\core\commands\__init__.py, ln 297, in __call__
azure-cli-core\azure\cli\core\__init__.py, ln 461, in default_command_handler
azure\cli\command_modules\acs\custom.py, ln 1699, in aks_get_credentials
azure\cli\command_modules\acs\custom.py, ln 2420, in _print_or_merge_credentials
FileNotFoundError: [Errno 2] No such file or directory: 'rbpaks01'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az aks get-credentials -g {} -n {} --file {}

Expected Behavior
Environment Summary
Windows-10-10.0.17134-SP0
Python 3.6.6
Shell: powershell.exe

azure-cli 2.0.66 *

Additional Context

@richardgragasin Need a little help to repro this. Were you creating a brand new kubeconfig or merging into an existing one?

Closing due to lack of response. If you are still seeing this and can provide more repro detail, please reopen.


Conflict read/query support.

This PR will cover below points

Provided getItem(Class klass) api on CosmosConflictProperties, so user can consume the content and take action accordingly.
Added PartitionKey on CosmosConflictRequestOptions
Fixes conflict query pipeline by moving to partitioned query for conflicts as it is for document. With older code service was throwing x-ms-documentdb-query-enablecrosspartition required.
Added integration testing (CosmosConflictsTest) to cover 4 scenarios , default LWW, custom LWW, custom sproc, custom invalid sproc resolution.
Added test case in MultiMasterConflictResolutionTest.java to validate service will throw exception if we try to update the existing conflict resolution policy on container.

/azp run java - cosmos - tests

This is great - thanks for completing this Naveen.

/azp run java - cosmos - tests


Support for unique og:image for indivual pages

Setting og:image metatag for Quartz
Quartz supports setting a site-wide "og:image" by placing an image titled og-image in quartz/static.
However, what is lacking is the ability to set a unique og:image for individual pages.
Proposed Implementation
Using frontmatter, you could override the default og:image specified in quartz/static by setting an og-image: frontmatter field in a note.
This is similar to Obsidian Publish's use of the 'image' frontmatter field. The field should support either a url to an image, or a "[[wikilink]]" to an image surrounded by double quotes.
An image defined in the frontmatter field would override the default og:image.

Closing this as a kind-of duplicate issue, as an alternative implementation is already in-progress in 'feat(open-graph): Add ability to generate OG images + further OG support #740'


Generate downloadable bundle of Flutter API docs

Docsets is a common format to export documentation of an API.
A lot of powerful tools exist that integrate docsets into any dev tools from intellij to studio code on any platform : Dash, Zeal, Velocity.
Currently all main programming languages and frameworks are supported, you'll find Darlang, Polymer, AngularDart as an example.
Having Flutter supported consist of publishing to dartdocs.org. Here's the current script
https://github.com/astashov/dartdocs.org/blob/master/update_flutter.sh
Having this corrected will offer a huge support for the discovery of the API and learning curve.
ps: And I'm so tired to switch between intellij and my browser looking for docs ;)

I'm in favor of this, because I like to be able to work offline (riding passenger in a vehicle), and I can't do that and have the Flutter docs available to reference.

In the meantime, you can generate the docs:
git clone the alpha branch of flutter
cd flutter
dev/bots/docs.sh

Do that with a network connection first, it may want to download some dependencies.
Let us know if that works!

Currently docs have been updated to https://www.dartdocs.org/documentation/flutter/0.0.27-dev/index.html and so Flutter is available to Dash.
Flutter doctor would not tell what's the last version is but having access to 0.0.27 docs is really helpful.
To be fair this feature is way underestimated on how it helps with the Flutter learning curve.

Flutter doctor would not tell what's the last version

Would you be willing to mock up what flutter doctor should print out? an example would help. Thanks!

Here's my Flutter output, how can I check the version number I'm working on ?
[✓] Flutter (on Mac OS X 10.12.5 16F73, locale en-FR, channel master) Flutter at /Users/robbie/Install/flutter Framework revision 3db402ec98 (11 hours ago), 2017-06-15 23:01:25 -0700 Engine revision f741647d49 Tools Dart version 1.24.0-dev.6.7
As you may see I'm on master to benefits the last commits but I've no idea on what version I'm.
It's master and commit 3db402ec98 but how this rely to
Official docs (see page footer)
Flutter •  Dart • cc license • 2017-06-15 01:01 • 6f77b4a9a76e57c4e6d23e61ba59a0cdd80d22b7
DartDocs (page footer)
flutter 0.0.27-dev •  Dart • cc license
This is just for convenience knowing what documentation numbers I'm reading when using Dash.
My point is just I've no idea how far my current workflow is from the last published docs on DartDocs.
Thanks !

Thank you! can you please:

Open a new issue which states that our docs.flutter.io doesn't make it clear which version it's using.

Open a new issue which states that it's not easy to find the version number from flutter doctor's output?

Much appreciated.
(meanwhile, we probably want to stop generating docs on dartdocs.org for Flutter. I believe there's an issue to delete those docs, or at least redirect over to docs.flutter.io)

Ah ! so there's no change to have this bug resolved and have Flutter doc inside Dash ?
You must have some serious reasons do not do this since nearly all large adoption publish to docset tools ? I'm really insisting on this :)
OK for opening issues.

@Solido we should generate a .zip of our API docs on every alpha build. That's what this issue is about. Would that be sufficient for Dash integration?
Meanwhile, you brought up some good points about other aspects of our docs, which I don't want to lose, and thus we should open separate issues.

The dash lead dev have build a parser for dartdocs.org. Any package published get translated to DocSet and is available to all tools. It mean than intellij, VSCode or even Alfred on MacOS get instant search on the Flutter API.
I'm working on complex stack and using this tools I've access to ALL my techs documentations, from Groovy to SpringFramework, Dart collections, etc and it's very painful for me to have to open a website and type some words in a search box since I'm searching a LOT (Flutter is kinda complex :D ).
I'm not aware of the full process but I've talked to the lead dev of Dash. They wrote a parser for Dart and any documentation published to DartDocs is parsed to docsets and published to all tools as package.
To give you an idea how I use it in my case it's bind to Alfred, VsCode and Intellij. Pressing Alt+Space from any where and tapping elevation drive me straight to the Flutter docs flutter material AppBar elevation
It is difficult for me to be able on one side to find any class/methods/fields/ StackOverflow questions in Spring/Java/Scala/Javascript/Haskell Frameworks and not be able to do the same using Flutter. Having to open a website and tap in the search field to find so docs is overkill.
You should be able to generate docs and publish when you deploy new alpha/beta once every weeks, it would be more than enough but I'm not aware of the full publication process/difficulties. I'm stubborn on the benefits would overcome problems.
Have a quick look here to see why all devs from java to react are using DocSets tools.
https://youtu.be/8j8q-yorAKo?t=1m48s
PS: App is available on IOS/Android yes it means offline documentation.

Thanks! Agreed, we need to build a .zip of the docs on every alpha release and put it at a known download URL.

Any progress on this? :)

If the dart package docs system could auto generate the packages that would be awesome.

Could not download Flutter documentation in Dash.
Please see the attachment for the error details.

We can basically in https://github.com/flutter/flutter/blob/master/dev/bots/docs.sh#L32 insert another line that just packs the whole thing in a zip and host it in the same directory in firebase.
The tricky bit was generating the .docset via https://twitter.com/kapeli/status/983853760459034624 which seems to work for Dash's maintainer but doesn't work for me for some reason. I didn't dig more into it.

I'd love to see this working!

@xster It does not work for me either.
It is very annoying that dartdocset is not open sourced

Hello guys, I've successfully build a docset of flutter using dashing. Any suggestions for the location to upload this docset? It is 658.6MB before compression.

RE: https://github.com/Kapeli/Dash-User-Contributions/issues/1638
@filiph @bjornbjorn @maksimr
I've created a probably correct version of flutter docset: https://drive.google.com/file/d/1cEtXuAkSctAk6AUoVfZAWRVStfBhEqPT/view
MD5 (flutter-0.5.6-pre.75.tgz) = c151a3fec08f2a0eda97f530701c7294
SHA1: e7e2890d2091d392a947dc4fdc959b5eac0fbf03  flutter-0.5.6-pre.75.tgz

Source code for dashing:
{
    "name": "flutter-doc-dev",
    "package": "flutter",
    "index": "index.html",
    "selectors": {

        "#exceptions span.name a": {
            "type": "Exception"
        },

        "body > main > div.col-xs-12.col-sm-9.col-md-8.main-content > h1": {
            "requiretext": " library",
            "type": "Library",
            "regexp": " library",
            "replacement": ""
        },

        "body > main > div.col-xs-12.col-sm-9.main-content > h1": {
            "requiretext": " class",
            "type": "Class",
            "regexp": " class",
            "replacement": ""
        },

        "body > main > div.col-xs-12.col-md-8.main-content > h1": {
            "requiretext": " function",
            "type": "Function",
            "regexp": " function",
            "replacement": ""
        },

        "body > main > div.col-sm-9.col-md-8.main-content > h1": {
            "requiretext": " typedef",
            "type": "Type",
            "regexp": " typedef",
            "replacement": ""
        },

        "body > main > .col-xs-12.col-sm-9.col-md-8.main-content > h1": {
            "requiretext": " enum",
            "type": "Enum",
            "regexp": " enum",
            "replacement": ""
        },

        "body > main > .col-md-8.main-content > h1": {
            "requiretext": " constant",
            "type": "Constant",
            "regexp": " constant",
            "replacement": ""
        },

        "body > main > div.col-xs-12.col-sm-9 > h1": {
            "requiretext": " method",
            "type": "Method",
            "regexp": " method",
            "replacement": ""
        },

        "body > main > .col-xs-12.col-sm-9.col-md-8 > h1": {
            "requiretext": " property",
            "type": "Property",
            "regexp": " property",
            "replacement": ""
        },

        "body > main > .col-xs-12.col-md-8 > h1": {
            "requiretext": " constructor",
            "type": "Constructor",
            "regexp": " constructor",
            "replacement": ""
        },

        "body > main > .col-xs-12.col-sm-9.main-content > h1": {
            "requiretext": "operator ",
            "type": "Operator",
            "regexp": "operator ",
            "replacement": ""
        }

    },
    "ignore": [
        "ABOUT"
    ],
    "icon32x32": "",
    "allowJS": false,
    "ExternalURL": ""
}

Please feel free to contribute it to the Dash docset repository.

it works, thank you so much, downloaded, decompressed, moved to my docset folder and restarted Zeal. Thank you

Thanks it works fine ...
but it cant be updated :(

RE: Kapeli/Dash-User-Contributions#1638
@filiph @bjornbjorn @maksimr
I've created a probably correct version of flutter docset: https://drive.google.com/file/d/1cEtXuAkSctAk6AUoVfZAWRVStfBhEqPT/view
MD5 (flutter-0.5.6-pre.75.tgz) = c151a3fec08f2a0eda97f530701c7294
SHA1: e7e2890d2091d392a947dc4fdc959b5eac0fbf03  flutter-0.5.6-pre.75.tgz

Source code for dashing:
{
    "name": "flutter-doc-dev",
    "package": "flutter",
    "index": "index.html",
    "selectors": {

        "#exceptions span.name a": {
            "type": "Exception"
        },

        "body > main > div.col-xs-12.col-sm-9.col-md-8.main-content > h1": {
            "requiretext": " library",
            "type": "Library",
            "regexp": " library",
            "replacement": ""
        },

        "body > main > div.col-xs-12.col-sm-9.main-content > h1": {
            "requiretext": " class",
            "type": "Class",
            "regexp": " class",
            "replacement": ""
        },

        "body > main > div.col-xs-12.col-md-8.main-content > h1": {
            "requiretext": " function",
            "type": "Function",
            "regexp": " function",
            "replacement": ""
        },

        "body > main > div.col-sm-9.col-md-8.main-content > h1": {
            "requiretext": " typedef",
            "type": "Type",
            "regexp": " typedef",
            "replacement": ""
        },

        "body > main > .col-xs-12.col-sm-9.col-md-8.main-content > h1": {
            "requiretext": " enum",
            "type": "Enum",
            "regexp": " enum",
            "replacement": ""
        },

        "body > main > .col-md-8.main-content > h1": {
            "requiretext": " constant",
            "type": "Constant",
            "regexp": " constant",
            "replacement": ""
        },

        "body > main > div.col-xs-12.col-sm-9 > h1": {
            "requiretext": " method",
            "type": "Method",
            "regexp": " method",
            "replacement": ""
        },

        "body > main > .col-xs-12.col-sm-9.col-md-8 > h1": {
            "requiretext": " property",
            "type": "Property",
            "regexp": " property",
            "replacement": ""
        },

        "body > main > .col-xs-12.col-md-8 > h1": {
            "requiretext": " constructor",
            "type": "Constructor",
            "regexp": " constructor",
            "replacement": ""
        },

        "body > main > .col-xs-12.col-sm-9.main-content > h1": {
            "requiretext": "operator ",
            "type": "Operator",
            "regexp": "operator ",
            "replacement": ""
        }

    },
    "ignore": [
        "ABOUT"
    ],
    "icon32x32": "",
    "allowJS": false,
    "ExternalURL": ""
}

Currently I am too busy to refine it so that it could get a good quality for publishing to the Dash docset repo.
Please feel free to contribute it to the Dash docset repository.
Preview:

from where you downloade the flutter (html pages) folder ?

I hope you find a good job,
Thanks for your replay :)

@FlutterIODev
Good news, I've generated the docs of version 0.8.2 for you:
https://drive.google.com/open?id=11BoHcGefNXcfYttH4XfgEuTcLEwBb-IE
In addition, I also generated the .docset with the dashing config I provided before: https://drive.google.com/open?id=1iTgp6YWVOy8lFz1OMSvzO8ob9zfLoDnW
Please note that this version of docset may not work perfectly.

OK, I've submitted a PR for review to generate a zip file of our docs whenever we generate our documentation, and upload it to the docs.flutter.io site.  What else needs to happen to make it available in Dash?  And is there a way to make documentation sets available in IDEs on other platforms, as it appears that Dash is macOS only?

@gspencergoog My pleasure. A PR is opened: #24374.
Please note that the dashing.json does not support the version field according to https://github.com/technosophos/dashing/blob/master/dashing.go#L52-L70

Thanks, I'll remove the version then and just put it into the feed xml file.

OK, this has merged, but we're having some issues with our docs site deployment, so bear with us until that's ironed out. I'll post here (and close this issue) once the docset and zip file are actually available.

Cheers!
I could keep updating my personal docset builds until the official docset is deployed. In addition, I will also help to improve the dashing.json after getting a job : )

Hi @imWildCat.
Im getting this error when trying to build the docs for the new release but im getting the next error.
ProcessException: The system cannot find the file specified.
Command: flutter
#0      _ProcessImpl._runAndWait (dart:io/runtime/binprocess_patch.dart:488:7)
#1      _runNonInteractiveProcessSync (dart:io/runtime/binprocess_patch.dart:633:18)
#2      Process.runSync (dart:io/runtime/binprocess_patch.dart:66:12)
#3      main (file:///D:/Projects/Flutter/flutter/dev/tools/dartdoc.dart:43:41)
<asynchronous suspension>
#4      _startIsolate.<anonymous closure> (dart:isolate/runtime/libisolate_patch.dart:287:32)
#5      _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:171:12)

Info:
OS: Windows 10.
Flutter 1.0.0 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 5391447fae (6 days ago) • 2018-11-29 19:41:26 -0800
Engine • revision 7375a0f414
Tools • Dart 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)

Looks like the flutter command isn't in your path.  If you really need to build the docs locally (you shouldn't need to in most cases), try running the dev/bots/docs.sh script on Linux or macOS.

I added the feed and installed the docset, but I think that I don't have the complete docs. Here is a screenshot

and if I search for IconButton for example, I get no results

Yes, there was an issue generating docsets for the stable release, which we have since fixed, but we haven't generated a new release yet.  You can use the docs for the master channel until the next stable release:
https://master-api.flutter.dev/offline/flutter.xml

Thanks for the reply

@gspencergoog Seems like it wasn't fixed for the 1.5.4 release, https://docs.flutter.io/offline/flutter.xml gives a 404. The master docs work though.

@gspencergoog Is the generator code online somewhere? I'd love to fill in some of the gaps.

Sure, it's in https://github.com/flutter/flutter/blob/master/dev/bots/docs.sh#L49
The docs themselves are generated by dartdoc from this script: https://github.com/flutter/flutter/blob/master/dev/tools/dartdoc.dart
The Docset is generated using Dashing from the HTML that dartdoc generates.

The config for Dashing is in https://github.com/flutter/flutter/blob/master/dev/docs/dashing.json
And we do some post-processing on it: https://github.com/flutter/flutter/blob/master/dev/docs/dashing_postprocess.dart

Excellent! Thank you Greg. :)


history management

Currently every time you issue the command browse to widget .help with a filename, a new filename is added to history even when it's the same file:
$help browse shtmlview.html
history: C:/Users/Downloads/shtmlview/shtmlview.html
$help browse shtmlview.html
history: C:/Users/Downloads/shtmlview/shtmlview.html C:/Users/Downloads/shtmlview/shtmlview.html
$help browse shtmlview.html
history: C:/Users/Downloads/shtmlview/shtmlview.html C:/Users/Downloads/shtmlview/shtmlview.html C:/Users/Downloads/shtmlview/shtmlview.html
Even when this is debatable, for example because you want to track the opened files, I think it would be better to check if the file is already in the history stack and only add it if not already present.

In fact more attention should be applied to the history management, since you are saving not only files but also fragments it is a bit more complicate to decide when a history item is duplicated,  if you have in history:
{  c:/file1.html c:/file1.html#first c:/file1.html#second }
then you have three different history items but only one file.  Since you want to track the history movements you need to keep them all,  you have to decide if you want to save the real movement done by the user, i.e:
{  c:/file1.html c:/file1.html#first c:/file1.html#second c:/file1.html#first c:/file1.html#second c:/file1.html#first }
indicating the user was jumping back and forth over fragments first and second,  or if you want to track the distinct history when for the same situation describe before your history will be:
{  c:/file1.html c:/file1.html#first c:/file1.html#second }
Since you are reading the file every time you visit it, I think it would be better the last option, so what I do is check  if string is already in history before adding it, so if my history is:
{  c:/file1.html c:/file1.html#first c:/file1.html#second }
and I browse file2.html I get a new history:
{  c:/file1.html c:/file1.html#first c:/file1.html#second c:/file2.html }
but if now I browse c:/file1.html  (or even c:/file1.html#first , if possible) I won't add it to the history because it's already there and so my history continue being:
{  c:/file1.html c:/file1.html#first c:/file1.html#second c:/file2.html }
Another problem due to handle of fragments is where to place new history items:

an option always appending at the end of the history list, this is probably the expected  behaviour for new files opened with browse command, but maybe not so good for fragments open from a file in certain position in history
another option is inserting always after current position in history,  probably this fits better in all situations but I think creates a weird history sequence
and final option is follow the internet browsers, where movings in history are allowed only in an inmutable history, as soon as you open a new file, you loose forward history, only preserving back history from current positon, and forward from current is only the new file.

Also I think there's a problem of history mangling,  after open several files and fragments, I end up with movement buttons in toolbar not accurate, for example I have close button disabled when I have one file in the browser or have forward button enabled whe I have only one file in history...  more exahustive testing is required to find all cases.

interesting features to implement:

to have the history accessible, maybe with a combobox or list, in a way you can dropdown a list with all items and history and click on what you want to fast moving rather than going back back back back back for example
status line indicating the history from home to current, maybe a line below toolbar like:

home >> file1.html >> file1.html#fragmentA
(assuming we're currently viewing the file1.html#fragmentA in the browser)
consider it a ToDo ;-)

There is now a widget option -historycombo (default: false) which can be set to true at widget creation, then you get a ttk::combobox with history where you can directly pick a link.
However, it is important to not blow up the widget with too many more or less specific features, it should just provide the basic functionality to browse a set of HTML or Markdown files. However it should offer  methods and options to extend the functionality by the user/developer. That for instance is the browsecmd option thought for, you, as a developer, can keep track of all visited files and anchor links in the script given to that option. To simplify this even more, I now added as well two public methods getFiles and getHistory which can be used to retrieve this information directly. BTW: The functionality you suggest, no double entries etc, looks more like a file management, list of open files, than a history of visited sites. So I suggest to separate the functionality, between file management and history, therefore the two functions.
The toolbar buttons indeed needs to be more careful activation/deactivation. I will look later a little bit into this.

However, it is important to not blow up the widget with too many more or less specific features, it should just provide the basic functionality to browse a set of HTML or Markdown files.

Ok, so let's say basic functionality is history with traveling (back, forth, close, quick combo), local files (html and markdown) with local images and basic zoom,  is it ok?

However it should offer methods and options to extend the functionality by the user/developer. That for instance is the browsecmd option thought for, you, as a developer, can keep track of all visited files and anchor links in the script given to that option. To simplify this even more, I now added as well two public methods getFiles and getHistory which can be used to retrieve this information directly. BTW: The functionality you suggest, no double entries etc, looks more like a file management, list of open files, than a history of visited sites. So I suggest to separate the functionality, between file management and history, therefore the two functions.

Ok but I don't fully understand the difference in terms of user experience between history and open files, I will explain on this in another issue
I undestand there's only one file rendered in the widget at a time, so you're reading and rendering each file as long as you move across history  (except when dealing with fragmets of a file)


NIFI-4326 - ExtractEmailHeaders.java unhandled NullPointerException

Resolve a null pointer exception when there is no recipient available in a TO, CC, or BCC header field.
No JIRA, although I did pull and build and test this change. It fixes the previously broken case.

Opened a JIRA Issue NIFI-4326

getAllRecipients() will also throw an Empty Address exception. This causes blank addresses (<>, or "") to also not be parsed correctly.

Whoops, didn't see this (or the corresponding JIRA) until after I opened a ticket and PR for the same issue (NIFI-4339, PR 2118) after it showed up on StackOverflow. Looks like I accidentally duplicated your effort @btwood, my apologies. I was able to come up with a test case for the issue, see my branch if interested.

@kevdoran No worries. I've actually been working on this for a while. I have a solution for both the NullPointerException, and also a problem I was having in my own production environment with strict email addresses. I've all but committed the code at this point.
I'll be making a commit very soon, and you can see if my fork solves your problem.

@kevdoran The patch is in. I'll see if I can get it committed to mainline. Let me know if this solves your issue. I noticed you made some changes to a few other files in your PR. So I'm not sure if this operates the same way.
I didn't make any changes to the jUnit tests, and I'm not sure I need to. I guess I could add "non-strict" addresses in the CC field or something...

@btwood Thanks!
I think they are close enough that I still consider them duplicates -- or more precisely, my patch is a subset of the issues yours addresses, as you have also added handling for non-strict addresses. Your changes should fix the case reported on StackOverflow, which is what my PR was intended to solve, but as I don't have access to that data the OP on SO will have to verify. I've encouraged that in a comment there.
I think the best thing to do is for me to close my current PR and instead submit a patch to your branch that adds my unit test case. Would you be open to that?

Yes. We can definitely do that. Once you submit to my brand I'll review/accept the changes.
Side note, how can I make myself the "Assignee" in JIRA? I can't seem to make any updates that I'm doing the work, or that the work is complete (or almost complete).

Oh, and to get the permissions for assigning yourself tickets on the NiFi JIRA, subscribe to the dev mailing list and send the dev list an email requesting that. Someone with sufficient permissions will modify your account. Pretty good NiFi discussions take place on that list.

Alright. Two new commits for each processor. The strict addressing setting is now a property configurable through the GUI. The default setting is "true" because that was the behavior prior to this patch.
Please review it and we can see if anything else needs to be done. I'm feeling pretty good about where this is now.
@kevdoran Do you still need to get the test code added?

Hi @btwood, I'm checking the updated branch out now. Will let you know soon!

Ok, I opened a PR to your branch. Take a look and let me know if you see anything else that needs to be done or if this is ready. Looks good on my end.

This is done.
This PR does the following:

Handles the Null Pointer Exception when parsing email addresses (lack of address will not cause the Processors to fail)
Adds the "Use Strict Address Parsing" Property to the ExtractEmailHeaders Processor to allow the user to tune the strictness of email address parsing
Relaxes the strict email address requirement on the ExtractEmailAttachments Processor (from email doesn't need to be valid and is not used in the internal logic of the Processor)
Adds unit tests for non-strict address parsing
Fixes GennerateAttachment.java to return the correct value

Submitting this for review and merge.

Thanks, build is passing on my machine as well.
+1, LGTM

+1, build with contrib-check OK, code LGTM. Merging to master. Thanks for the work and review @btwood @kevdoran !


Change IP

Hello, is possible to change the IP address where the server is running?

Afaik this is just a front-end service, IP config shall be done somewhere else. But you can change the port.


Visualizer sources

Hello. Are Visualizer's sources available somewhere?
I'd like to use it offline not just so I can work on models without internet but also for easy import of local STEP files.
Thanks

You can install the Visualiser as a web app, which should allow to use it offline. A real local installation with your own web server is not supported afaik.

Yes, I confirm that I keep the visualiser private for now, it might be a way to monetize the project at some point.
That said, it might be useful to expose something to make STEP files import a bit easier!


Psu import task

Adding a generic DWCA tab-separated-value batch-load importer.
Adding tests for the batch loader, with test files.
Adding  an interface for the importation of the files from Penn State (https://docs.google.com/spreadsheets/d/1kzqHU_guLZP3J-fRPs1cC98Ua7lbOP8SXNeR2zi1LA0/edit?usp=sharing).

Coverage increased (+1.0%) to 68.334% when pulling e7f364f70b23cb986f3f0ce635f52b32e78fae6d on PSU_Import_Task into 928b0ed7d2beca073f1c5e3f819e70a30cd018c8 on development.

Coverage increased (+0.9%) to 68.3% when pulling 1054678bd7c8175d056dde270f60562ee027d3ba on PSU_Import_Task into 928b0ed7d2beca073f1c5e3f819e70a30cd018c8 on development.

Coverage decreased (-0.2%) to 67.179% when pulling aa53b710076b4eb626f0517cf9eeb025e23373e2 on PSU_Import_Task into 928b0ed7d2beca073f1c5e3f819e70a30cd018c8 on development.

Coverage decreased (-0.2%) to 67.163% when pulling 505eb3a6a8a453fea2528da24595458f2b2acb23 on PSU_Import_Task into c5602578ebe35a374722dcad814440939ddf840a on development.

Coverage decreased (-0.2%) to 67.163% when pulling 0ce3b2a8d3b3a3b3b3ff23a99295290c09f9ac10 on PSU_Import_Task into c5602578ebe35a374722dcad814440939ddf840a on development.

Coverage decreased (-0.2%) to 67.168% when pulling 7ef258a441bb9ef4d44ea1e7cc2c0cf24251efaf on PSU_Import_Task into c5602578ebe35a374722dcad814440939ddf840a on development.

Coverage increased (+0.9%) to 68.25% when pulling 1579bdc1c12a861deb5ed1d91e2ea8e617e991b3 on PSU_Import_Task into c5602578ebe35a374722dcad814440939ddf840a on development.

Coverage increased (+0.9%) to 68.261% when pulling b6d9335b835d6949452b73b26979ee8ade552109 on PSU_Import_Task into c5602578ebe35a374722dcad814440939ddf840a on development.


Restoring models hangs (sometimes)

I have a model of moderate complexity written in tensorflow using tensor2tensor. (It uses an RNN, if that is relevant. All other parts are pretty trivial.) The model saves to disk relatively quickly (~30-60 seconds), but when I try to restore it, it hangs, seemingly forever. I've given it half an hour and it never finishes.
Interestingly, it is able to restore a model relatively efficiently when the job first starts. When I examine the running processes using top, the successful loading takes up 300% cpu, while the unsuccessful loading takes up about 30% cpu, and that only sporadically.
I have tried to make sure that I am using the C++ implementation of protobuf, as that is one possible cause of slow loads. Not entirely sure how to verify that I am using it, however.

Bizarrely, enough, the problem seems to go away if I avoid the function tf.nn.bidirectional_dynamic_rnn and roll my own bidirectional RNN.

That's very bizzare and looks more like a generic TF issue than a T2T one. Can you reproduce the problem with a pure TF test? In that case, it'd be great to submit a bug to Tensorflow. Otherwise, we'd need you to make a PR with your model to reproduce. Thanks for reporting in all cases!

Finally managed to get a small, clean reproduction of the bug. It seems that any/most models involving an LSTM are doing something really weird when using the default "orthogonal" initializer.
https://github.com/tensorflow/tensor2tensor/pull/381


HyperBackup fails to verify integrity

Hello,
I am sure that you know what Hyper backup is, as I think you tested this on synology + docker, right?
so, I setup your proxy, I got it to work to upload the backups (100GB) every day to a sharepoint site
but once the integrity check hits on sunday, it throws an error about corrupted backups and stops working
is this something because of the proxy, because of hyperbackup or just straight away sharepoint online?
could you help with this?

Hello, sorry for the late response. Is this still an issue? If so, first step I suggest is to turn on debug-logging and have a look at the log output.

Same here: using the current docker image. Problem is: since I did the verification and it failed, I can‘t even start the synchronization anymore. I‘d love to try to overwrite/correct the possibly corrupt upload, but Hyper Backup cannot start that job anymore, even manually: all relevant “buttons” are gone.
What do you suggest, what can I provide to you?

hello. for the past 4-5 weeks i have started to see corrupted backups on my synology system. the backup process performs ok but once hyperbackup runs the integrity check, it will show a Destination corrupted error.  this will cause the backup to be useless.
No matter how many times i re-do the backup task, it will eventually get corrupted
Backup task was unable to run due to errors found at the backup destination. The following files were found broken in the latest integrity check and cannot be restored. There may be other broken files which were not detected this time. If you have further questions, please contact Synology support.

Hi,
@skleeschulte thank you for the project and the nice approach.
I'm facing the same issue. Like  #descripted here and in #11.
I see in the synology logs a after a time the error => Server error: status='429', msg = 'Too many request'
So I think it is a issue with the throttling in the OneDrive Business case.
https://docs.microsoft.com/en-us/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online
And it makes sense that in case of a Backup the issue is not so often because the number of Request to the OneDrive are not that much. And in Case of a Integrity Check where are a lot of request to OneDrive we getting the throttling effect.
I will try to add to your solution the possibility to add the UserAgent from an environment variable.
And then people can add an App Registration and add the string in the correct form to every request to the OneDrive API what should then prevent us from getting throttled by the OneDrive Service.
Hopefully this will work and the issue is gone.
My Log File Entries:
2022-01-25T18:30:13+01:00 synostation img_backup[14512]: transfer_webdav.cpp:417 need retry #0: stat failed: -1000, Too many request 2022-01-25T18:30:20+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(139): Server error: status='429', msg = 'Too many request' 2022-01-25T18:30:20+01:00 synostation img_backup[14512]: transfer_webdav.cpp:326 need retry #0: recvFile failed: -1000, Too many request 2022-01-25T18:30:26+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(363): Server error: status='429', msg = 'Too many request' 2022-01-25T18:30:26+01:00 synostation img_backup[14512]: transfer_webdav.cpp:417 need retry #0: stat failed: -1000, Too many request 2022-01-25T18:30:32+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(363): Server error: status='429', msg = 'Too many request' 2022-01-25T18:30:32+01:00 synostation img_backup[14512]: transfer_webdav.cpp:417 need retry #0: stat failed: -1000, Too many request 2022-01-25T18:30:38+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(363): Server error: status='429', msg = 'Too many request' 2022-01-25T18:30:38+01:00 synostation img_backup[14512]: transfer_webdav.cpp:417 need retry #1: stat failed: -1000, Too many request 2022-01-25T18:30:45+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(363): Server error: status='429', msg = 'Too many request' 2022-01-25T18:30:45+01:00 synostation img_backup[14512]: transfer_webdav.cpp:417 need retry #2: stat failed: -1000, Too many request 2022-01-25T18:30:54+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(363): Server error: status='429', msg = 'Too many request' 2022-01-25T18:30:54+01:00 synostation img_backup[14512]: transfer_webdav.cpp:417 need retry #3: stat failed: -1000, Too many request 2022-01-25T18:31:15+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(363): Server error: status='429', msg = 'Too many request' 2022-01-25T18:31:15+01:00 synostation img_backup[14512]: transfer_webdav.cpp:417 need retry #0: stat failed: -1000, Too many request 2022-01-25T18:31:21+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(363): Server error: status='429', msg = 'Too many request' 2022-01-25T18:31:21+01:00 synostation img_backup[14512]: transfer_webdav.cpp:417 need retry #1: stat failed: -1000, Too many request 2022-01-25T18:31:28+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(363): Server error: status='429', msg = 'Too many request' 2022-01-25T18:31:28+01:00 synostation img_backup[14512]: transfer_webdav.cpp:417 need retry #2: stat failed: -1000, Too many request 2022-01-25T18:31:53+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(139): Server error: status='429', msg = 'Too many request' 2022-01-25T18:31:53+01:00 synostation img_backup[14512]: transfer_webdav.cpp:326 need retry #0: recvFile failed: -1000, Too many request 2022-01-25T18:31:59+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(139): Server error: status='429', msg = 'Too many request' 2022-01-25T18:31:59+01:00 synostation img_backup[14512]: transfer_webdav.cpp:326 need retry #1: recvFile failed: -1000, Too many request 2022-01-25T18:32:21+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(139): Server error: status='429', msg = 'Too many request' 2022-01-25T18:32:21+01:00 synostation img_backup[14512]: transfer_webdav.cpp:326 need retry #0: recvFile failed: -1000, Too many request 2022-01-25T18:32:27+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(139): Server error: status='429', msg = 'Too many request' 2022-01-25T18:32:27+01:00 synostation img_backup[14512]: transfer_webdav.cpp:326 need retry #1: recvFile failed: -1000, Too many request 2022-01-25T18:32:50+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(139): Server error: status='429', msg = 'Too many request' 2022-01-25T18:32:50+01:00 synostation img_backup[14512]: transfer_webdav.cpp:326 need retry #0: recvFile failed: -1000, Too many request 2022-01-25T18:32:56+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(139): Server error: status='429', msg = 'Too many request' 2022-01-25T18:32:56+01:00 synostation img_backup[14512]: transfer_webdav.cpp:326 need retry #1: recvFile failed: -1000, Too many request 2022-01-25T18:33:19+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(363): Server error: status='429', msg = 'Too many request' 2022-01-25T18:33:19+01:00 synostation img_backup[14512]: transfer_webdav.cpp:417 need retry #0: stat failed: -1000, Too many request 2022-01-25T18:33:25+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(363): Server error: status='429', msg = 'Too many request' 2022-01-25T18:33:25+01:00 synostation img_backup[14512]: transfer_webdav.cpp:417 need retry #1: stat failed: -1000, Too many request 2022-01-25T18:33:47+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(139): Server error: status='429', msg = 'Too many request' 2022-01-25T18:33:47+01:00 synostation img_backup[14512]: transfer_webdav.cpp:326 need retry #0: recvFile failed: -1000, Too many request 2022-01-25T18:33:53+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(139): Server error: status='429', msg = 'Too many request' 2022-01-25T18:33:53+01:00 synostation img_backup[14512]: transfer_webdav.cpp:326 need retry #1: recvFile failed: -1000, Too many request 2022-01-25T18:34:16+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(363): Server error: status='429', msg = 'Too many request' 2022-01-25T18:34:16+01:00 synostation img_backup[14512]: transfer_webdav.cpp:417 need retry #0: stat failed: -1000, Too many request 2022-01-25T18:34:22+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(363): Server error: status='429', msg = 'Too many request' 2022-01-25T18:34:22+01:00 synostation img_backup[14512]: transfer_webdav.cpp:417 need retry #1: stat failed: -1000, Too many request 2022-01-25T18:34:29+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(363): Server error: status='429', msg = 'Too many request' 2022-01-25T18:34:29+01:00 synostation img_backup[14512]: transfer_webdav.cpp:417 need retry #2: stat failed: -1000, Too many request 2022-01-25T18:34:56+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(139): Server error: status='429', msg = 'Too many request' 2022-01-25T18:34:56+01:00 synostation img_backup[14512]: transfer_webdav.cpp:326 need retry #0: recvFile failed: -1000, Too many request 2022-01-25T18:35:19+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(139): Server error: status='429', msg = 'Too many request' 2022-01-25T18:35:19+01:00 synostation img_backup[14512]: transfer_webdav.cpp:326 need retry #0: recvFile failed: -1000, Too many request 2022-01-25T18:35:25+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(139): Server error: status='429', msg = 'Too many request' 2022-01-25T18:35:25+01:00 synostation img_backup[14512]: transfer_webdav.cpp:326 need retry #1: recvFile failed: -1000, Too many request 2022-01-25T18:40:29+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(363): Server error: status='429', msg = 'Too many request' 2022-01-25T18:40:29+01:00 synostation img_backup[14512]: transfer_webdav.cpp:417 need retry #0: stat failed: -1000, Too many request 2022-01-25T18:40:52+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(139): Server error: status='429', msg = 'Too many request' 2022-01-25T18:40:52+01:00 synostation img_backup[14512]: transfer_webdav.cpp:326 need retry #0: recvFile failed: -1000, Too many request 2022-01-25T18:40:59+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(139): Server error: status='429', msg = 'Too many request' 2022-01-25T18:40:59+01:00 synostation img_backup[14512]: transfer_webdav.cpp:326 need retry #1: recvFile failed: -1000, Too many request 2022-01-25T18:43:59+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(363): Server error: status='429', msg = 'Too many request' 2022-01-25T18:43:59+01:00 synostation img_backup[14512]: transfer_webdav.cpp:417 need retry #0: stat failed: -1000, Too many request 2022-01-25T18:51:10+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(139): Server error: status='429', msg = 'Too many request' 2022-01-25T18:51:10+01:00 synostation img_backup[14512]: transfer_webdav.cpp:326 need retry #0: recvFile failed: -1000, Too many request 2022-01-25T18:51:16+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(363): Server error: status='429', msg = 'Too many request' 2022-01-25T18:51:16+01:00 synostation img_backup[14512]: transfer_webdav.cpp:417 need retry #0: stat failed: -1000, Too many request 2022-01-25T18:51:22+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(139): Server error: status='429', msg = 'Too many request' 2022-01-25T18:51:22+01:00 synostation img_backup[14512]: transfer_webdav.cpp:326 need retry #0: recvFile failed: -1000, Too many request 2022-01-25T18:51:28+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(363): Server error: status='429', msg = 'Too many request' 2022-01-25T18:51:28+01:00 synostation img_backup[14512]: transfer_webdav.cpp:417 need retry #0: stat failed: -1000, Too many request 2022-01-25T18:51:34+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(139): Server error: status='429', msg = 'Too many request' 2022-01-25T18:51:34+01:00 synostation img_backup[14512]: transfer_webdav.cpp:326 need retry #0: recvFile failed: -1000, Too many request 2022-01-25T18:53:09+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(363): Server error: status='429', msg = 'Too many request' 2022-01-25T18:53:09+01:00 synostation img_backup[14512]: transfer_webdav.cpp:417 need retry #0: stat failed: -1000, Too many request 2022-01-25T18:53:15+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(139): Server error: status='429', msg = 'Too many request' 2022-01-25T18:53:15+01:00 synostation img_backup[14512]: transfer_webdav.cpp:326 need retry #0: recvFile failed: -1000, Too many request 2022-01-25T18:53:21+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(363): Server error: status='429', msg = 'Too many request' 2022-01-25T18:53:21+01:00 synostation img_backup[14512]: transfer_webdav.cpp:417 need retry #0: stat failed: -1000, Too many request 2022-01-25T18:53:28+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(139): Server error: status='429', msg = 'Too many request' 2022-01-25T18:53:28+01:00 synostation img_backup[14512]: transfer_webdav.cpp:326 need retry #0: recvFile failed: -1000, Too many request 2022-01-25T18:53:34+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(363): Server error: status='429', msg = 'Too many request' 2022-01-25T18:53:34+01:00 synostation img_backup[14512]: transfer_webdav.cpp:417 need retry #0: stat failed: -1000, Too many request 2022-01-25T18:58:58+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(139): Server error: status='429', msg = 'Too many request' 2022-01-25T18:58:58+01:00 synostation img_backup[14512]: transfer_webdav.cpp:326 need retry #0: recvFile failed: -1000, Too many request 2022-01-25T18:59:04+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(139): Server error: status='429', msg = 'Too many request' 2022-01-25T18:59:04+01:00 synostation img_backup[14512]: transfer_webdav.cpp:326 need retry #0: recvFile failed: -1000, Too many request 2022-01-25T18:59:10+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(363): Server error: status='429', msg = 'Too many request' 2022-01-25T18:59:10+01:00 synostation img_backup[14512]: transfer_webdav.cpp:417 need retry #0: stat failed: -1000, Too many request 2022-01-25T18:59:17+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(139): Server error: status='429', msg = 'Too many request' 2022-01-25T18:59:17+01:00 synostation img_backup[14512]: transfer_webdav.cpp:326 need retry #0: recvFile failed: -1000, Too many request 2022-01-25T18:59:23+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(363): Server error: status='429', msg = 'Too many request' 2022-01-25T18:59:23+01:00 synostation img_backup[14512]: transfer_webdav.cpp:417 need retry #0: stat failed: -1000, Too many request 2022-01-25T18:59:29+01:00 synostation img_backup[14512]: cloudstorage/protocol/webdav/webdav-protocol.cpp(139): Server error: status='429', msg = 'Too many request' 2022-01-25T18:59:29+01:00 synostation img_backup[14512]: transfer_webdav.cpp:326 need retry #0: recvFile failed: -1000, Too many request

I'm facing the same issue.
@Blubern

I will try to add to your solution the possibility to add the UserAgent from an environment variable.
And then people can add an App Registration and add the string in the correct form to every request to the OneDrive API what should then prevent us from getting throttled by the OneDrive Service.

Is there any update on it?

@cuongpl
I was trying a lot to make it work, without success!

@Blubern
Thanks for your reply. I temporarily turned off HyperBackup integrity check.


Potential Fix for Live Preview Properties Update

Fixes #973
There seems to be an issue caused by calling the original save callback right after linting a file. This causes Live Preview and Reading View's properties view to not update immediately. I am not sure what causes this, but likely the save event causes a refreshing of the cache or something that prevents the immediate UI update. So it seems best to do the original save callback and then do the Linter logic. This could cause 2 save events, but the debounce should prevent that from my understanding.
Changes Made:

Made the original save callback run before linting the file

Based on the information I have at this time, I believe this is a good fix for the problem. We can come back and change things up if it causes some kind of issue.


Replace Grammarly with ltex-ls and languagetool

sorry, I did not mean to create a PR , just pushing to my fork!


relax deps to allow phoenix 1.6

Love to see this merged in!

is this project abandoned? Why is this not merged yet?

@mgwidmann scrivener pagination is really useful for our application but it's blocking us upgrading our application to phoenix 1.5. Can we get this merged in ?

Just sent @mgwidmann an email. Hopefully he responds and maybe we can get this merged in.

Any updates on this?

Noting that #98 is also trying to add support for Phoenix v1.5.x

Are there any updates on this? Still the blocker in upgrading to 1.5.x.....

@jaimeiniesta did you have good success just relaxing the dependencies, or is there more to be done.
The PR at https://github.com/mgwidmann/scrivener_html/pull/98/files shows that some tests had to be adapted, but nothing critical.

@jaimeiniesta did you have good success just relaxing the dependencies, or is there more to be done.
The PR at https://github.com/mgwidmann/scrivener_html/pull/98/files shows that some tests had to be adapted, but nothing critical.

@thbar yes, I'm using my branch on a Phoenix 1.5.4 app and it works just fine.

@thbar yes, I'm using my branch on a Phoenix 1.5.4 app and it works just fine.

@mgwidmann Anything preventing this from being merged?
PS.: For people upgrading to phoenix 1.5, just add override: true in the meanwhile.

@mgwidmann Anything preventing this from being merged?
PS.: For people upgrading to phoenix 1.5, just add override: true in the meanwhile.

FYI, I am trying to spread the word in order to find a way to reach Matt, and maybe find a new team of maintainers (even just for simple stuff):
https://github.com/mgwidmann/scrivener_html/issues/103#issuecomment-924269872

Hello @jaimeiniesta! Can you confirm you are using this PR in production? Thanks!
@williamweckl you have approved the changes, but do you have merge rights on the repo?

@thbar yes, I'm using this PR in production with Phoenix 1.6.2, Elixir 1.12.3 and it works fine!

🎉 thanks!


Option to use dragStartDelay only for touch events

Feature Description
Ability to control which events cause dragStartDelay to be used.
Use Case
dragStartDelay works great for touch screen devices to prevent dragging when you meant to scroll, but on the desktop with the mouse it just makes it feel like it's buggy or unresponsive. It'd be great if we had the ability to choose which events it applied to - even better if it defaulted to only applying to touch-screen events.

@crisbeto the PR looks great, exactly what I was looking for. Thanks. We must be getting close to version 9 being released, do you think this will make it in there?
For anyone that needs a workaround until this is released, I use [cdkDragStartDelay]="dragStartDelay" (touchstart)="dragStartDelay = 100" (mousedown)="dragStartDelay = 0" which works surprisingly well.


We do not actually need to have cmocka installed,

We can just build cmocka quickly on demand.
What this PR does is that if cmocka is not found, we just download it and build it.
This is how projects like CRoaring do it.

This is what I am getting...
$ ctest . --verbose
UpdateCTestConfiguration  from :/home/dlemire/CVS/github/simdzone/build/DartConfiguration.tcl
Parse Config file:/home/dlemire/CVS/github/simdzone/build/DartConfiguration.tcl
UpdateCTestConfiguration  from :/home/dlemire/CVS/github/simdzone/build/DartConfiguration.tcl
Parse Config file:/home/dlemire/CVS/github/simdzone/build/DartConfiguration.tcl
Test project /home/dlemire/CVS/github/simdzone/build
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 1
    Start 1: supported_types

1: Test command: /home/dlemire/CVS/github/simdzone/build/tests/zone-tests "-g" "types" "-t" "supported_types"
1: Test timeout computed to be: 0
1: [==========] Running 1 test(s).
1: [ RUN      ] supported_types
1: [       OK ] supported_types
1: [==========] 1 test(s) run.
1: [  PASSED  ] 1 test(s).
1/2 Test #1: supported_types ..................   Passed    0.00 sec
test 2
    Start 2: include_from_string

2: Test command: /home/dlemire/CVS/github/simdzone/build/tests/zone-tests "-g" "include" "-t" "include_from_string"
2: Test timeout computed to be: 0
2: [==========] Running 1 test(s).
2: [ RUN      ] include_from_string
2: <string>:1: $INCLUDE is not allowed
2: [       OK ] include_from_string
2: [==========] 1 test(s) run.
2: [  PASSED  ] 1 test(s).
2/2 Test #2: include_from_string ..............   Passed    0.00 sec

100% tests passed, 0 tests failed out of 2

Total Test time (real) =   0.00 sec

Is the <string>:1: $INCLUDE is not allowed something to be concerned with ?

Ping @k0ekk0ek

Hi @lemire! Ah, yes. You're right cmocka is only required for testing. The error message is part of the test and intended, so no need to worry there. I figured users may want to have includes disabled when parsing strings for cases when it's used to parse non-trusted input and bad actors try malicious inputs and find a way to print contents or whatever.
As for downloading and installing, I chose to use Conan (C/C++ cross-platform package manager). That'll allow us to have Debug and Release builds for various platforms/compilers to be installed simultaneously. Doesn't mean we can't have this CMake script too, but you if you take a look at build-test.yml you might be pleasantly surprised at the ease of use(?) Still want to have this outlined in the README.md, so I should probably update the instructions.
Let me know, if the above works for you. I'll take a serious look at the CMake script if you still prefer that.

Looking at this, there's two separate concerns(?)

CMake cannot find the cmocka library installed on macOS.
Choose between letting CMake build the library and/or have that handled by Conan.

The first may be caused by the library being installed through Homebrew in /usr/local/[Cellar|opt], or another location not searched by default(?)
The second is somewhat harder. Both give more-or-less the same benefits, tied to the branch, specific version, cache, etc. The single difference being:
conan install -s build_type=<build-type> -of . ../conanfile.txt

And that would install the required dependency tree.
But, I prefer it. To me the build system controls the build for the software developed by the project. It can try to be helpful by searching default locations, but IMHO it shouldn't control dependencies itself. At least, not download and build without user intervention. Conan downloads files too, but the step is purposely not integrated into CMake.
I like to fix the find functionality and leave the rest as is.
What is the system location on macOS? If we add that to HINTS in Findcmocka.cmake we should be ok?

The linked PR at least fixes things for newer cmocka versions (the one that came with Homebrew on my system was 1.1.7).


Rack implementation

Description
Adds the oneview_rack resource
Issues Resolved
(none)
Check List

[x] New functionality includes testing.

[x] All tests pass ($ rake test).
[x] New resources and/or actions have are included in the matchers.rb and matchers_spec.

[x] New functionality has been documented in the README if applicable.

[x] New functionality has been thoroughly documented in examples (please include helpful comments).

[x] Changes documented in the CHANGELOG.

Ruby 2.1 Travis issues will be fixed by #40 . Merging


Merge global and custom defaults - validate role #192

#192

Created new action plugin to handle merging factory and custom defaults

Added task to retrieve custom defaults from file and invoking the merge action plugin.

@anramgop I verified the merging logic and it looks good.  We need to also update the docs as part of this PR to explain the usage.  Can you add a section to the README explaining the custom defaults capability?
https://github.com/netascode/ansible-dc-vxlan/blob/develop/README.md