Order SolidQueue failed executuions by id desc

When inspecting the failed jobs, I want to see in an instant the most recent ones.
This seems to be the default in Sidekiq and GoodJob AFAICS.
I was very surprised to see that this was not the case with mission control + solid queue, it actually made me miss some important dead jobs that were hidden in page 2.
This PR changes the ordering of failed executions so they are ordered by (failed execution) ~creation~ ID  DESC.

Sorry for the delay on this one, I was busy with other stuff. I kept thinking about it, though, and added a comment with an alternative idea in https://github.com/rails/solid_queue/pull/207#issuecomment-2051726512. Let me know what you think!

@rosa I'm trying to make the specs pass, I'm having an issue on the ActiveJob::QueueAdapters::AdapterTesting::JobBatches concern.
Since it's used for both resque and solid queue (and potentially new adapters down the road) the behavior it tests has to be the same.
Right now it's (indirectly) testing the order of failed jobs, if I adapt the tests to pass for solid queue they will fail for resque, and it doesn't seem to be easy to have resque return the list of failed jobs in a descending order.
I tried to change the spec to use finished jobs instead but it seems than once the jobs are performed on resque the ActiveJob.jobs call will return an empty relationship, failing the spec.
Do you have any pointers ? Also many other specs are failing but I haven't looked at them yet

Right now it's (indirectly) testing the order of failed jobs, if I adapt the tests to pass for solid queue they will fail for resque, and it doesn't seem to be easy to have resque return the list of failed jobs in a descending order.

Ahhh, that makes sense. I think that should be doable for the Resque adapter, changing how this works.  The offset would need to be applied relative to the end of the list, combined with the limit to find the new offset, something like new_offset = list_length - offset - limit - 1 (I haven't tested) and then reversing the result from Resque::Failure.all(new_offset, limit) in memory.
I understand this is a bit out of scope for this PR, although arguably, we'd have a consistent ordering across adapters 🤔

I tried to change the spec to use finished jobs instead but it seems than once the jobs are performed on resque the ActiveJob.jobs call will return an empty relationship, failing the spec.

Yeah, Resque doesn't store finished jobs anywhere, and the adapter doesn't support the finished status. Jobs are taken from the queue (which is a list in Redis) and removed from it. Only if they fail they are put back somewhere (the failed queue), but not if they finish.
I think a temporary solution could be that each adapter test could declare the order for failed jobs :desc or :asc (similarly to how they declare how to perform jobs) and then use that in the test to change the assertions.
The best solution would be to make Resque and Solid Queue behave in the same way, I think 🤔

Thanks for the pointers.
You're right, the behaviour should be the same for all adapters.
I'll try to look into it in the next days


getting error on installation on window

hint: See above for details.
WARNING: There was an error checking the latest version of pip.

C:\Users\haide>py -m pip install deepspeed==0.14.1
Collecting deepspeed==0.14.1
  Downloading deepspeed-0.14.1.tar.gz (1.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.3/1.3 MB 4.4 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [28 lines of output]
      [2024-06-11 12:18:43,296] [INFO] [real_accelerator.py:203:get_accelerator] Setting ds_accelerator to cuda (auto detect)
      [2024-06-11 12:18:43,630] [INFO] [real_accelerator.py:203:get_accelerator] Setting ds_accelerator to cuda (auto detect)
      test.c
      LINK : fatal error LNK1181: cannot open input file 'aio.lib'
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "C:\Users\haide\AppData\Local\Temp\pip-install-raag0ja_\deepspeed_634873663f3f4cd79636ab15bca9392a\setup.py", line 37, in <module>
          from op_builder import get_default_compute_capabilities, OpBuilder
        File "C:\Users\haide\AppData\Local\Temp\pip-install-raag0ja_\deepspeed_634873663f3f4cd79636ab15bca9392a\op_builder\__init__.py", line 18, in <module>
          import deepspeed.ops.op_builder  # noqa: F401 # type: ignore
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\haide\AppData\Local\Temp\pip-install-raag0ja_\deepspeed_634873663f3f4cd79636ab15bca9392a\deepspeed\__init__.py", line 25, in <module>
          from . import ops
        File "C:\Users\haide\AppData\Local\Temp\pip-install-raag0ja_\deepspeed_634873663f3f4cd79636ab15bca9392a\deepspeed\ops\__init__.py", line 15, in <module>
          from ..git_version_info import compatible_ops as __compatible_ops__
        File "C:\Users\haide\AppData\Local\Temp\pip-install-raag0ja_\deepspeed_634873663f3f4cd79636ab15bca9392a\deepspeed\git_version_info.py", line 29, in <module>
          op_compatible = builder.is_compatible()
                          ^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\haide\AppData\Local\Temp\pip-install-raag0ja_\deepspeed_634873663f3f4cd79636ab15bca9392a\op_builder\fp_quantizer.py", line 29, in is_compatible
          sys_cuda_major, _ = installed_cuda_version()
                              ^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\haide\AppData\Local\Temp\pip-install-raag0ja_\deepspeed_634873663f3f4cd79636ab15bca9392a\op_builder\builder.py", line 50, in installed_cuda_version
          raise MissingCUDAException("CUDA_HOME does not exist, unable to compile CUDA op(s)")
      op_builder.builder.MissingCUDAException: CUDA_HOME does not exist, unable to compile CUDA op(s)
       [WARNING]  async_io requires the dev libaio .so object and headers but these were not found.
       [WARNING]  If libaio is already installed (perhaps from source), try setting the CFLAGS and LDFLAGS environment variables to where it can be found.
       [WARNING]  Please specify the CUTLASS repo directory as environment variable $CUTLASS_PATH
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
WARNING: There was an error checking the latest version of pip.

Hi @xalteropsx - looks like you are trying to install on Windows.  Have you followed the Windows batch script here?
CC: @costin-eseanu

is this work on rx 7900 xtx ? not tried the window batch script yet

I'm not sure, we only have officially tested on AMD MI100 and MI200, it may work, it will depend on the ROCm support, but if you need to install on Windows, you'll need to either use WSL to the Windows batch script to ensure the correct ops are built.

@xalteropsx - could you share more info on what errors you are hitting when using the updated windows batch script install?  That way we can work on fixing that?  cc: @costin-eseanu

I don't know you have still suffer from this issue but it seems complain about your windows environment variable which name is CUDA_HOME.
I think you need to set this parameter on System Environment Variables panel


feat: add extended bidding label and timer to lot grid

The type of this PR is: feat

This PR solves BID-339
Description
This PR updates the Lot grid on the sale page to show the extended label and respect the extendedBiddingEndAt thus resetting the timer whenever a bid extends a lot's end time.

Rebase with latest, that should clear up the ❌


Collect up design documents into a doc directory

Mostly on the tin, but create a doc directory and get the design documents in there.  Looking for user stories, use cases (functional spec) and components.

Added a doc folder


Integrate Open Access Journals

Open access journals can provide users with access to a wider range of scholarly resources.

Please describe your plan in more detail

Here's a brief plan/steps to integrate Open Access Journals into the NFDI-Search-Engine:
1. Defining the Integration Requirements:
Determine the specific functionality or data we want to integrate from Open Access Journals.
2. Explore Available APIs or Data Sources:
Research and identify APIs or data sources that provide access to Open Access Journals.
3. Choose an Integration Approach:
Decide on the integration approach that best suits our needs, considering available APIs or data sources.
4. Implement Integration:
Add new code or modify existing code to integrate Open Access Journals into the NFDI-Search-Engine.
5. Test Integration:
Thoroughly test the integration to ensure it functions as expected, covering various scenarios and edge cases.
6. Handle Authentication and Authorization:
Implement mechanisms to handle authentication and authorization if required by the Open Access Journals API or data source.
7. Document Integration:
Update the documentation of the NFDI-Search-Engine to include a description or instruction of the integrated Open Access Journals (if required).
8. Push Changes and Create Pull Request:
Push into a new branch in the remote repository. Create a pull request to merge the changes into the develop/main branch. Review, address feedback, and merge the pull request to update the main branch with the integrated Open Access Journals functionality.

Good plan. In general, just too broad. So maybe scale to 1-2 journals (ACM, ACL, IEEE?) to prove it is possible. My point here is, that you could endlessly do this issue but the issue should be done by 1st June.

Thank you, Ricardo. I will consider one journal according to the time restriction and proceed accordingly.

Dear Ricardo,
I have reviewed all the IEEE, ACM, ACL, and some other open-access journals. I considered various aspects such as their policies, documentation, technical support, etc. Here is a brief summary for your attention and further action.
IEEE: Provides API access, but in order to obtain the necessary API key, I had to submit an application. They provided the key but unfortunately, the key is still awaiting activation, despite my follow-up emails to them.
ACM: According to the information provided about their Digital Library, they offer different access levels to their members. However, they have not provided specific details about the API or technical/developer documentation. I have already contacted the relevant board to inquire about API access, but there has been no update thus far. It's important to note that ACM membership is not free.
ACL: ACL provides API access through their ACL-Anthology, which is available on GitHub. To utilize it, we need to clone the repository. This will enable us to define objects and retrieve the relevant data we require. The integration is nearly complete; it just requires some additional tracing and testing. I'm also exploring if there are any shortcuts or easier methods available.

Thanks for looking into the issue that deep. Regarding ACL, mind, that we do not index or store data as a principal of the search engine. That is, if you need to copy data instead of using the Github API, then better not touch ACL.

Isn't IEEE covered by DBLP anyway? Let's wait for that. In the meantime, please clean up unused files and comments (see backlog) or support the other ongoing tasks (see In Progress)

DBLP includes papers from IEEE, but it does not provide comprehensive coverage of all IEEE resources. For accessing IEEE's extensive collection of academic articles and publications, the primary platform is IEEE Xplore which is accessible via their APIs.
Sure I will do that.

IEEE is integrated.


samplebrain: init at 0.18

A custom sample mashing app designed by Aphex Twin, created by Dave Griffiths!
Recently shared by Warp Records on twitter.
Can confirm, it's good fun :)

Things done

Built on platform(s)

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

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

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

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Comments have been addressed, and version updated from 0.18.0 -> 0.18.5.
cc @SuperSandro2000


Rewrite profile banners system to better support multiple templates and custom colours

Right now, only the "Club Glows" banner supports custom colours.
In reality, all of them should and will. It'd be best to, although keep the "Backdrop Style" dropdown, remove the "Custom" option and just have a checkbox for Custom Background Colours. templates will also have to be able to specify whether there's a gradient angle in play or not, we can just hide it from the UI if not, no further work needed.
It's probably best to rewrite the entire generation system for these banners from the ground up to better support multiple templates and such.

moved to octon


Fix tests failures in dpp_test.py

FAILED ../../../../integration_tests/src/main/python/dpp_test.py::test_dpp_bypass
FAILED ../../../../integration_tests/src/main/python/dpp_test.py::test_dpp_empty_relation
FAILED ../../../../integration_tests/src/main/python/dpp_test.py::test_dpp_from_swizzled_hash_keys
FAILED ../../../../integration_tests/src/main/python/dpp_test.py::test_dpp_reuse_broadcast_exchange
FAILED ../../../../integration_tests/src/main/python/dpp_test.py::test_dpp_reuse_broadcast_exchange_cpu_scan
FAILED ../../../../integration_tests/src/main/python/dpp_test.py::test_dpp_skip
FAILED ../../../../integration_tests/src/main/python/dpp_test.py::test_dpp_via_aggregate_subquery

All these tests run when ANSI=off, but there are memory leaks:
../../../../integration_tests/src/main/python/dpp_test.py::test_dpp_reuse_broadcast_exchange[false-4-parquet][DATAGEN_SEED_OVERRIDE=0, TZ=UTC, INJECT_OOM, IGNORE_ORDER] 2
024-06-12 21:43:40,169 [Cleaner Thread] ERROR ai.rapids.cudf.HostMemoryBuffer - A HOST BUFFER WAS LEAKED (ID: 10873<PHONE_NUMBER>20)
2024-06-12 21:43:40,169 [Cleaner Thread] ERROR ai.rapids.cudf.HostMemoryBuffer - A HOST BUFFER WAS LEAKED (ID: 10744 77700dec6730)
2024-06-12 21:43:40,170 [Cleaner Thread] ERROR ai.rapids.cudf.HostMemoryBuffer - A HOST BUFFER WAS LEAKED (ID: 10871 77701cdff130)
2024-06-12 21:43:40,170 [Cleaner Thread] ERROR ai.rapids.cudf.HostMemoryBuffer - A HOST BUFFER WAS LEAKED (ID: 11822 77700df0a560)
2024-06-12 21:43:40,170 [Cleaner Thread] ERROR ai.rapids.cudf.HostMemoryBuffer - A HOST BUFFER WAS LEAKED (ID: 11541 777013e78520)
2024-06-12 21:43:40,170 [Cleaner Thread] ERROR ai.rapids.cudf.HostMemoryBuffer - A HOST BUFFER WAS LEAKED (ID: 11792 77701ce20ef0)

Do we have memory leaks with Spark versions below 4?


[Testing] Fix bf16->f32 utility to preserve shape of the input

-- This commit adds a quick fix for bf16->f32 utility to preserve the shape of the input.
-- Without this the utility is linearizing the input which causes issues during comparison.
Signed-off-by: Abhishek Varma<EMAIL_ADDRESS>

Thanks.


docs: add gen 2 bug report

Description of changes

Add gen 2 bug report and move to top to list.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

The feature request doesn't ask for package versions so I figured it would be applicable to gen 1 or gen 2.


chore: correct typo for 'MaximiseVertically'.

Just noticed this whilst playing with the plugin (which is great!) :shipit:

Thank you! It's funny: a typo in message about typo :smile:

Indeed, the irony wasn't lost on me either 😂


[WIP] Switch Colour Scheme to Light Pastel

Most changes are done, some of the charts still use darker colours. The text on the intro graphic is hard to see but once the new graphic with this lighter theme is made, it should be okay.
Please give thoughts on readability, aesthetic pleasure, etc.

I like the lighter colour scheme!
This suggestion might still be part of your work, but I think we should make the word maps stand out a bit more from the background (maybe more contrasted colour), and similar for some of the graphs that have the same colour as the background. Otherwise, the overall colours are pleasing

Noticed a few more issues

We still need to fix the color scheme here:
For least and most enjoyed there should be a color difference. I think the issue is the legend?? But it is confusing to me at this time.

Not sure if this is on purpose but the box plot, dot plot and line graph colors appear to be inconsistent.

LGTM, the only thing that we probably want to change at somepoint is the color on this too, just so it's more clear which data someone is looking at, but that's something I can change on my end too, since I added this graph type


Fix the track distance in test case

With a speed of 5, car can be driven 20 times before battery drains. So
the track distance to test CanFinish just before battery drained should
be 100.

This actually passes without change with learner implementations. Are you sure you are not falling into altering tests in order to make an implementation pass which should not?
Can you create a state output to show what you are trying to solve?

Based on the description, my assumption is that with every invocation of Drive() the car covers Car.speed distance and battery drains by Car.batteryDrain.
My implementation of CanFinish was as below:
func CanFinish(car Car, track Track) bool {
	tries := track.distance / car.speed
	return car.battery-(tries*car.batteryDrain) > 0
}

My logic was to find out how many invocations of Drive() does it take to cover the given track distance, and then see if the car has enough battery to sustain.
But the problem here was that I was using '>' instead of '>=' which gives the incorrect result when the car has just enough battery to cover the track distance.
However, the test case does not catch this.
The test case "Car can finish the track distance just before battery drained." has the track distance set to 20, whereby, with a speed of 5 the car can cover a distance of 100 with full battery.
{
    name: "Car can finish the track distance just before battery drained.",
    car: Car{
        speed:        5,
        batteryDrain: 5,
        battery:      100,
        distance:     20,
    },
    track: Track{
        distance: 20,
    },
    expected: true,
},

Again, this is all based on my assumption that with each Drive(), the car covers Car.speed distance.
Note 1:
In the meta implementation of the solution, Car.distance is used instead of Car.speed.
func CanFinish(car Car, track Track) bool {
	maxDistance := car.battery / car.batteryDrain * car.distance
	return track.distance <= maxDistance
}

Even if my assumption about what is expected in Drive() is wrong, the test case still doesn't cover the expected scenario where track.distance == maxDistance.
The maxDistance  will then be 400 and that should the track.distance in the test case.
Note 2:
If the meta implementation is the correct one, then the description here is possibly incorrect.
"Cars start with full (100%) batteries. Each time you drive the car using the remote control, it covers the car's speed in meters and decreases the remaining battery percentage by its battery drain."
Please let me know if this clarifies things. I am sorry for not including all the details in the pull request when I opened it.

Understood, thank you!
The main concern I have (the reason I opened the PR at the first place) is that my solution was wrong, but then the test case didn't catch it. i.e. when the track.distance == car.maxdistance (maxdistance in the literal sense here) my implementation gives the wrong result, but there wasn't a test case to catch that.
And among the existing test cases, I thought Car can finish the track distance just before battery drained is the one that should have covered the scenario.
Or put it in a different way,
func CanFinish(car Car, track Track) bool {
	tries := track.distance / car.speed
	return car.battery-(tries*car.batteryDrain) > 0
}

and
func CanFinish(car Car, track Track) bool {
	tries := track.distance / car.speed
	return car.battery-(tries*car.batteryDrain) >= 0
}

produces the same test results with the current test cases.


mkFlutterApp does not respect preBuild and preInstall

Describe the bug
flutter.mkFlutterApp does not seem to give any meaning to preBuild and preInstall scripts.
Steps To Reproduce
Steps to reproduce the behavior:

make a temporary directory
write default.nix:

let
  pkgs = import <nixpkgs> { };
  pre = ''echo test && exit 1'';
in

pkgs.flutter.mkFlutterApp {
  name = "test";
  src = ./.;
  preBuild = pre;
  preInstall = pre;
}

execute nix-build default.nix
observe error

Expected behavior
The build fails because preBuild exited and not because flutter couldn't build
Actual behavior
Fails because flutter can't build
these 2 derivations will be built:
  /nix/store/ab79lbl80nasa3zhak3kn8x33i6vrj5y-test-deps-flutter-v3.3.8-x86_64-linux.tar.gz.drv
  /nix/store/pxdl1gpjdjxgnff0nz8ks9nghwgpkkxa-test.drv
building '/nix/store/ab79lbl80nasa3zhak3kn8x33i6vrj5y-test-deps-flutter-v3.3.8-x86_64-linux.tar.gz.d
rv'...
unpacking sources
unpacking source archive /nix/store/xyhakbsm8jzrr3m9pqyynr8wh5d3bg74-asd
source root is asd
patching sources
configuring
no configure script, doing nothing
installing
Setting "enable-linux-desktop" value to "true".

You may need to restart any open editors for them to read new settings.
Downloading Material fonts...                                      516ms
Downloading Gradle Wrapper...                                       19ms
Downloading package sky_engine...                                  176ms
Downloading flutter_patched_sdk tools...                           449ms
Downloading flutter_patched_sdk_product tools...                   483ms
Downloading linux-x64 tools...                                      4.5s
Downloading linux-x64/font-subset tools...                         157ms
Expected to find project root in current working directory.
error: builder for '/nix/store/ab79lbl80nasa3zhak3kn8x33i6vrj5y-test-deps-flutter-v3.3.8-x86_64-linu
x.tar.gz.drv' failed with exit code 1;
       last 10 log lines:
       >
       > You may need to restart any open editors for them to read new settings.
       > Downloading Material fonts...                                      516ms
       > Downloading Gradle Wrapper...                                       19ms
       > Downloading package sky_engine...                                  176ms
       > Downloading flutter_patched_sdk tools...                           449ms
       > Downloading flutter_patched_sdk_product tools...                   483ms
       > Downloading linux-x64 tools...                                      4.5s
       > Downloading linux-x64/font-subset tools...                         157ms
       > Expected to find project root in current working directory.
       For full logs, run 'nix log /nix/store/ab79lbl80nasa3zhak3kn8x33i6vrj5y-test-deps-flutter-v3.
3.8-x86_64-linux.tar.gz.drv'.
error: 1 dependencies of derivation '/nix/store/pxdl1gpjdjxgnff0nz8ks9nghwgpkkxa-test.drv' failed to
 build

Additional context
I want preBuild because the app I'm trying to package has a monorepo approach. It has multiple flutter packages in one repo, but they depend on each other with relative paths. If I just cd, and then build userland "not nix" it works.
Again, setting src to the subdir won't work because it has to find dependencies in ../
Notify maintainers
Contributors to https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/flutter/default.nix:
@SuperSandro2000
@lukegb
@mkg20001
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
- system: `"x86_64-linux"`
 - host os: `Linux 5.15.85, NixOS, 23.05 (Stoat), 23.05.20221228.e182da8`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.12.0`
 - channels(usr1): `""`
 - channels(root): `""`
 - nixpkgs: `/nix/store/5ip8szfhmy5ify1pbbpra3h6y9bz6rii-source`

In this case, you should be able to set sourceRoot to make this work; the preBuild hook isn't run for the deps fixed-output-derivation (FOD) step, and it's difficult to say that it should be.

Thanks. Will try.

You should be able to set it to e.g. just "packages/gui_app" I think. It might need to be "source/packages/gui_app" though.

Thanks for the help.


It is not support IPV6.

How can I enable IPV6?
Thanks.

IPv6 is enabled by default in the build. Make sure you workstation and local router is set up for IPv6 and you should be able to hit an IPv6 site like: https://ipv6.google.com/?gws_rd=ssl
Test:
`$ curl -v https://ipv6.google.com/?gws_rd=ssl

Trying 2607:f8b0:4007:808::200e...
Connected to ipv6.google.com (2607:f8b0:4007:808::200e) port 443 (#0)
TLS 1.2 connection using TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
Server certificate: *.google.com
Server certificate: Google Internet Authority G2
Server certificate: GeoTrust Global CA

GET /?gws_rd=ssl HTTP/1.1
Host: ipv6.google.com
User-Agent: curl/7.43.0
Accept: /

< HTTP/1.1 200 OK
< Date: Mon, 05 Sep 2016 17:09:28 GMT
...`
NOTE: If you are trying to specify the IPv6 address, you need to use brackets in the URL, like this:
https://[2607:f8b0:4007:808::200e]/


Is there DetailView row width option

The row width is not consistent in DetailView

Is there an option to set the row width fixed?
I wanted to split the total rows to display as columns, Is this is the right one to extend?
i.e: I have 10 rows, which I wanted to display in 5 rows and 2 columns. Just thinking to to avoid more custom code.

table.detail-view th {
    width: 25%;
}

table.detail-view td {
    width: 75%;
}

ref: http://stackoverflow.com/a/31111888/599477


Deprecated selector in dropkick-dark-syntax\index.less

In dropkick-dark-syntax\index.less:
Starting from Atom v1.13.0, the contents of atom-text-editor elements are no longer encapsulated within a shadow DOM boundary. This means you should stop using :host and ::shadow pseudo-selectors, and prepend all your syntax selectors with syntax--. To prevent breakage with existing style sheets, Atom will automatically upgrade the following selectors:

atom-text-editor .search-results .marker .region, atom-text-editor .search-results .marker .region => atom-text-editor .search-results .syntax--marker .region, atom-text-editor .search-results .syntax--marker .region

atom-text-editor .search-results .marker.current-result .region, atom-text-editor .search-results .marker.current-result .region => atom-text-editor .search-results .syntax--marker.current-result .region, atom-text-editor .search-results .syntax--marker.current-result .region

Automatic translation of selectors will be removed in a few release cycles to minimize startup time. Please, make sure to upgrade the above selectors as soon as possible.


Allow to manage the debug verbosity- and the RSyslogging- of the RPC server from the genJMRI GUI/Configuration

Is your feature request related to a problem? Please describe.
Allow to manage the debug verbosity- and the RSyslogging- of the RPC server from the genJMRI GUI/Configuration
Describe the solution you'd like
When configuring the logging of genJMRI, it should also be reflected for the JMRI RPS Server logging. E.g.:

Verbosity
RSyslog server collection end point.

Describe alternatives you've considered
TBD
Additional context

Already existing


Stabilize Smoke Test

The smoke test underwent massive invasive surgery. We've accomplished to

[x] Reduce randomness in the results
[x] Reduce total run duration to under 2 minutes

We still need to

[x] Investigate why debug often fails in Linux @isidorn

https://monacotools.visualstudio.com/Monaco/_build/index?buildId=32229&_a=summary
https://monacotools.visualstudio.com/Monaco/_build/index?buildId=32227&_a=summary
https://monacotools.visualstudio.com/Monaco/_build/index?buildId=32228&_a=summary
https://monacotools.visualstudio.com/Monaco/_build/index?buildId=32226&_a=summary

[x] Investigate why Dataloss "before all" hook sometimes fails in Linux @sandy081

https://monacotools.visualstudio.com/Monaco/_build/index?buildId=32227&_a=summary

[x] Investigate why Multi Root "before all" hook sometimes fail in macOS @sandy081

https://monacotools.visualstudio.com/Monaco/_build?buildId=32277

[ ] Integrate the smoke test into our actual TFS builds @joaomoreno

@isidorn I've noticed the smoke test getting the contents of app.js instead of launch.json at this point. That seems to be one of the causes, although I'm sure it's not the only problem since I've seen the test pass that point yet fail later on.

@joaomoreno great analysis. I have looked into debug failures and the last 2 are the same and as you already noticed they come from the fact that I am getting the contents of app.jsinstead of the launch.json. However I am doing exactly the same wait everybody is doing when waiting for the editor to get focus here
I am not sure is it possible that the editor "launch.json" gets focus but somehow I still get stale text with getEditorVisibleText
As for the first two failures screenshots would be great help, I noticed we have a screenshot step in builds but I am not sure how to access them.
Also when running the smoketest locally with latest I constantly get the following failures

@isidorn To prevent getting text from previously opened editors, we have this wait for editor to get focus. Let's see what is that condition is missing in waiting for that editor to focus. I would probably take a screenshot immediately after waiting for launch.json editor is focus.
About those above tests which are failing, I had never seen them. Are you consistently reproducing them?

@sandy081 yes those tests are constantly failing for me locally (I just pulled to get latest)
I added more screenshots to check what is the problem.
I have also increased the ping timeout from 400 to 600 ms which should prevent second failure. However the first failure comes from the node debug adapter that step in sometimes continues and this happens from rarely. Maybe @weinand can comment more as I remember there was an issue about that step actually doing a continue.
As for the last two failures we will know more once the builds are done with the new screenshots. I have queued 3 consectuive linux builds, hope that is fine

However I am doing exactly the same wait everybody is doing when waiting for the editor to get focus here

Maybe there's another monaco-editor hidden somewhere.

I have also increased the ping timeout from 400 to 600 ms which should prevent second failure.

Can we somehow get rid of the timeout altogether and just fire the ping once the debugger is ready for it?

No, there is no monaco-editor hidden, the screenshot shows it nicely. Somehow it happens that the editor title is launch.json even though the content is from app.js
I am trying to get rid of the timeout...

Ok I have

removed one timeout all together
am now waiting for debugger to say "attached" before pinging, however it is still too early so I had to leave another timout (had no other choice since that attached signal in the console is all I have got)
am now parsing JSON multiple times until I get a proper result

Now I triggered 3 linux build they should pass, but we shall see soon

am now parsing JSON multiple times until I get a proper result

I thought about that too... but it means that others might still hit the bug... can't we nail down the wait criteria for the editor?

The problem with the search criteria is that the name of the file is nowhere in the content of the editor. So we can not check the content with anything else.
To nail this down further it would be cool if we had a html snapshot functionality. So in that moment we could print out the editor HTML and see if there is something unique to check for once the editor has stale content.
I believe nobody else is hitting this issue yet is due to the fact that most files are being open via quick open and this is one of the rare ones that we use some other action to open a file - debug configure.

Ok for some reason the smoke test is still failing. Continuing investigation tomorrow morning

To nail this down further it would be cool if we had a html snapshot functionality. So in that moment we could print out the editor HTML and see if there is something unique to check for once the editor has stale content.

I believe you can get this from the base API.

I believe nobody else is hitting this issue yet is due to the fact that most files are being open via quick open and this is one of the rare ones that we use some other action to open a file - debug configure.

Interesting. The answer might be here.

At the same time, this doesn't sound like a good criteria. @bpasero might be setting that aria-label as well as calling focus before the file is even read from disk. We need a different assertion there to make sure the editor has loaded the text.

Yup, check this out. I've hit a breakpoint when .focus() is called on the editor. Right after that happens, the aria-label is there, the text area has focus, yet view-lines has nothing:

Introducing such a smoke test specific attribute makes sense to me. I browsed a bit through the code and this looks like the place once the editor has resolved its input. And they way that would float up to the container would be the same as the AriaLabel all the way up to the editor configuration here.
Another way is instead of introducing a new label we could modify the aria label based on the fact if the editor is completely loaded or not.
fyi @bpasero
@joaomoreno yes I could use fs to get the content of the launch.json. Let me try that

It seems like the failures yesterday were connected to something failing before debug.
2 smoke tests from today on linux passed. Now I triggered 2 more to verify

Ok, now I am reading the launch.json via fs.
Debug now seems to always pass on linux.
I triggered 4 more builds to verify. If they all pass then I will victouriously check the box in the top comment for investigate debug.
@sandy081 From time to time I still get data loss failures, example

From running the 8 test suits, now I see the following patterns

dataloss fails on linux https://monacotools.visualstudio.com/Monaco/_build/explorer?_a=summary&buildId=32391
econrefused failures https://monacotools.visualstudio.com/Monaco/_build?buildId=32395
all "before all" hooks timeout https://monacotools.visualstudio.com/Monaco/_build?buildId=32394
Rename and debug console fail https://monacotools.visualstudio.com/Monaco/_build/explorer?_a=summary&buildId=32393
debug still fails sometimes on linux https://monacotools.visualstudio.com/Monaco/_build/explorer?_a=summary&buildId=32389

@sandy081 @joaomoreno any idea what is going on with all the non debug failures

Ok I have updated debug to not have any timeouts at all. I also updated the smoke test such that it prints out the port when it is ready to be pinged, this way there is no randomness on the debug smoke test side.
Triggered 3 more linux builds to verify debug is good.

Editor focus thingy is very subtle. I share the same observation as @joaomoreno that we are hitting the point when

Tab of launch.json is active
Editor container is having the aria-label of launch.json
Text area is focussed
But editor still showing the content of old file

I am not sure there is something which we can depend on for the editor is ready. It looks like Arial label containing file name is set on monaco editor only when the accessibility is on. Will check with @alexandrudima and see if he can shed some light here.
Not sure what is causing this time out in dataloss test. From screenshots I see that test ran successfully. Also I suspect some editor focus issues. I will inspect on non-debug related issues.
Thanks @isidorn

All 3 linux builds passed -> checking off debug in first post, seems to be good now.

Talked to @bpasero and @alexandrudima on the editor focus issue. Looks like active tab showing old content is a real issue. But for the smoke tests, we would need much more reliable way to find if the editor is ready or not. For this @alexandrudima  suggested to add an attribute data-uri on editor domNode. Will add it and update the smoke test code.
I will trigger more builds to see if everything is good.

Okay.. Here is some good news... We have green smoke builds. The last 20+ builds are green except one (failing due to slow market place queries) which is OK.
I think we can make them part of our main builds.
Good job guys @joaomoreno @isidorn 👍

@isidorn One of the last Linux builds still failed in Debug: https://monacotools.visualstudio.com/Monaco/_build/index?buildId=32459&_a=summary
Together with @sandy081, we've gone over the debug test suite and added a bit more screenshots so we get an idea of what is happening there. We've also changed a few of the assertions done in the suite. And we've also fixed an issue with the screenshots overall which caused screenshots to be placed in the wrong folder name. Here's our changes: https://github.com/Microsoft/vscode/commit/4c26c77894e60d1db0f70852a5b74b2e4662c186
We triggered many new builds, so let's wait for them to come back.

@joaomoreno your changes look great to me, thanks

@isidorn We also wrapped those http calls in order to catch errors coming from them.

@joaomoreno yeah I noticed, good work

Holy cow I think we are close:

Just fixed an issue in the Debug test suite wrt the quick open input box taking focus away from the quick open tree, only to have the ListService being 50ms late to setting the listFocus context key to false: https://github.com/Microsoft/vscode/commit/ddda90314e75806295720d9e6fd15fe90c095764. This would cause Space to be dispatched as a keybinding to the keybinding service, which triggers the list.toggleExpand command, instead of inserting literal spaces into the quick open input, which is the desired behaviour. @bpasero We should get rid of those 50ms.

These two tests are now sometimes failing, looking into them:

Debug test suite fails sometimes due to quick open:
2017-10-02T13:43:51.2975220Z   1) Debug configure launch json:
2017-10-02T13:43:51.2993920Z      TypeError: names.some is not a function
2017-10-02T13:43:51.3013680Z       at waitForQuickOpenElements.names (out/areas/quickopen/quickopen.js:46:64)
2017-10-02T13:43:51.3049590Z       at SpectronClient.<anonymous> (out/spectron/client.js:198:25)
2017-10-02T13:43:51.3068890Z       at Generator.next (<anonymous>)
2017-10-02T13:43:51.3088280Z       at fulfilled (out/spectron/client.js:8:58)
2017-10-02T13:43:51.3107420Z       at process._tickDomainCallback (internal/process/next_tick.js:135:7)
2017-10-02T13:43:51.3118030Z
2017-10-02T13:43:51.3136640Z   2) Debug breakpoints:
2017-10-02T13:43:51.3159910Z      Error: wait for active element: div.quick-open-widget[aria-hidden="false"] .quick-open-input input: Timed out after 20 seconds.
2017-10-02T13:43:51.3186650Z       at SpectronClient.<anonymous> (out/spectron/client.js:189:31)
2017-10-02T13:43:51.3205250Z       at Generator.next (<anonymous>)
2017-10-02T13:43:51.3224040Z       at fulfilled (out/spectron/client.js:8:58)
2017-10-02T13:43:51.3233510Z
2017-10-02T13:43:51.3251580Z   3) Debug start debugging:
2017-10-02T13:43:51.3274220Z      Error: element with selector .debug-actions-widget .debug-action.pause: Timed out after 20 seconds.
2017-10-02T13:43:51.3298090Z       at SpectronClient.<anonymous> (out/spectron/client.js:189:31)
2017-10-02T13:43:51.3317000Z       at Generator.next (<anonymous>)
2017-10-02T13:43:51.3341790Z       at fulfilled (out/spectron/client.js:8:58)
2017-10-02T13:43:51.3351580Z
2017-10-02T13:43:51.3371790Z   4) Debug focus stack frames and variables:
2017-10-02T13:43:51.3401710Z      Error: there should be 4 local variables: Timed out after 20 seconds.
2017-10-02T13:43:51.3421220Z       at SpectronClient.<anonymous> (out/spectron/client.js:189:31)
2017-10-02T13:43:51.3440010Z       at Generator.next (<anonymous>)
2017-10-02T13:43:51.3458820Z       at fulfilled (out/spectron/client.js:8:58)
2017-10-02T13:43:51.3468560Z
2017-10-02T13:43:51.3493710Z   5) Debug stepOver, stepIn, stepOut:
2017-10-02T13:43:51.3517000Z      Error: click with selector .debug-actions-widget .debug-action.step-into: Timed out after 20 seconds.
2017-10-02T13:43:51.3556320Z       at SpectronClient.<anonymous> (out/spectron/client.js:189:31)
2017-10-02T13:43:51.3577720Z       at Generator.next (<anonymous>)
2017-10-02T13:43:51.3597000Z       at fulfilled (out/spectron/client.js:8:58)
2017-10-02T13:43:51.3609530Z
2017-10-02T13:43:51.3627670Z   6) Debug continue:
2017-10-02T13:43:51.3653370Z      Error: click with selector .debug-actions-widget .debug-action.continue: Timed out after 20 seconds.
2017-10-02T13:43:51.3678440Z       at SpectronClient.<anonymous> (out/spectron/client.js:189:31)
2017-10-02T13:43:51.3698770Z       at Generator.next (<anonymous>)
2017-10-02T13:43:51.3718020Z       at fulfilled (out/spectron/client.js:8:58)
2017-10-02T13:43:51.3728520Z
2017-10-02T13:43:51.3746700Z   7) Debug debug console:
2017-10-02T13:43:51.3765060Z      Error: undefined: Timed out after 20 seconds.
2017-10-02T13:43:51.3783950Z       at SpectronClient.<anonymous> (out/spectron/client.js:189:31)
2017-10-02T13:43:51.3807660Z       at Generator.next (<anonymous>)
2017-10-02T13:43:51.3826340Z       at fulfilled (out/spectron/client.js:8:58)
2017-10-02T13:43:51.3835850Z
2017-10-02T13:43:51.3853750Z   8) Debug stop debugging:
2017-10-02T13:43:51.3876380Z      Error: click with selector .debug-actions-widget .debug-action.stop: Timed out after 20 seconds.
2017-10-02T13:43:51.3899460Z       at SpectronClient.<anonymous> (out/spectron/client.js:189:31)
2017-10-02T13:43:51.3918810Z       at Generator.next (<anonymous>)
2017-10-02T13:43:51.3937310Z       at fulfilled (out/spectron/client.js:8:58)

@joaomoreno the only time that test depends on quick open is here https://github.com/Microsoft/vscode/blob/master/test/smoke/src/areas/debug/debug.test.ts#L49
And we use that open file api in all other tests

@isidorn Hopefully fixed in https://github.com/Microsoft/vscode/commit/d28ace31aa147596e35adf101a27768a048c79ec

@joaomoreno lovely jovely

@sandy081 Check those two builds:
https://monacotools.visualstudio.com/Monaco/Monaco Team/_build/index?buildId=33064&_a=summary
https://monacotools.visualstudio.com/Monaco/Monaco Team/_build/index?buildId=33062&_a=summary
Both had this problem:
2017-10-03T14:18:43.1153920Z   1) Preferences turns off editor line numbers and verifies the live change:
2017-10-03T14:18:43.1182370Z      Error: elements with selector .line-numbers: Timed out after 20 seconds.
2017-10-03T14:18:43.1199670Z       at SpectronClient.<anonymous> (out/spectron/client.js:189:31)
2017-10-03T14:18:43.1211660Z       at Generator.next (<anonymous>)
2017-10-03T14:18:43.1227440Z       at fulfilled (out/spectron/client.js:8:58)

@joaomoreno Above screenshot is not from the failing test in the build. Failing test in the build is
'turns off editor line numbers and verifies the live change'
and the above screen shot is from the test
`changes 'workbench.action.toggleSidebarPosition' command key binding and verifies it
But both of them are same suite. Does both tests are failing for you?
I cannot reproduce locally now because, I am getting different error in Preferences due to the message box

Sorry, I have to update my npm packages. This could be due to that.

It failed only once on my machine (where the screenshot came from).

This could happen when the following happens

There is a setting already in the settings file
Preferences first test adds a setting to the file without comma. This will create errors in the file
Preferences second test triggers VS Code to add another setting and you see this error

Not sure how you landed into that situation. But added a fix in Preferences to always add a trailing comma to prevent this.
Otherwise, preferences tests are good locally

Latest round of tests:
https://monacotools.visualstudio.com/Monaco/_build/index?buildId=33116&_a=summary
Windows fails in dataloss, debug and git:
2017-10-04T13:20:22.1701767Z   1) Dataloss verifies that 'hot exit' works for dirty files:
2017-10-04T13:20:22.1701767Z      Error: click with selector .tabs-container div.tab[aria-label="Untitled-1, tab"]: Timed out after 20 seconds.
2017-10-04T13:20:22.1701767Z       at SpectronClient.<anonymous> (D:\work\agent2\5\s\test\smoke\out\spectron\client.js:189:31)
2017-10-04T13:20:22.1701767Z       at Generator.next (<anonymous>)
2017-10-04T13:20:22.1701767Z       at fulfilled (D:\work\agent2\5\s\test\smoke\out\spectron\client.js:8:58)
2017-10-04T13:20:22.1701767Z
2017-10-04T13:20:22.1701767Z   2) Preferences turns off editor line numbers and verifies the live change:
2017-10-04T13:20:22.1701767Z      Error: click with selector .tabs-container div.tab[aria-label="app.js, tab"]: Timed out after 20 seconds.
2017-10-04T13:20:22.1701767Z       at SpectronClient.<anonymous> (D:\work\agent2\5\s\test\smoke\out\spectron\client.js:189:31)
2017-10-04T13:20:22.1701767Z       at Generator.next (<anonymous>)
2017-10-04T13:20:22.1701767Z       at fulfilled (D:\work\agent2\5\s\test\smoke\out\spectron\client.js:8:58)
2017-10-04T13:20:22.1701767Z
2017-10-04T13:20:22.1701767Z   3) Debug configure launch json:
2017-10-04T13:20:22.1701767Z      Error: click with selector div[id="workbench.parts.sidebar"] .actions-container .configure: Timed out after 20 seconds.
2017-10-04T13:20:22.1701767Z       at SpectronClient.<anonymous> (D:\work\agent2\5\s\test\smoke\out\spectron\client.js:189:31)
2017-10-04T13:20:22.1701767Z       at Generator.next (<anonymous>)
2017-10-04T13:20:22.1701767Z       at fulfilled (D:\work\agent2\5\s\test\smoke\out\spectron\client.js:8:58)
2017-10-04T13:20:22.1701767Z
2017-10-04T13:20:22.1701767Z   4) Debug start debugging:
2017-10-04T13:20:22.1701767Z      Error: element with selector .debug-actions-widget .debug-action.pause: Timed out after 20 seconds.
2017-10-04T13:20:22.1701767Z       at SpectronClient.<anonymous> (D:\work\agent2\5\s\test\smoke\out\spectron\client.js:189:31)
2017-10-04T13:20:22.1701767Z       at Generator.next (<anonymous>)
2017-10-04T13:20:22.1701767Z       at fulfilled (D:\work\agent2\5\s\test\smoke\out\spectron\client.js:8:58)
2017-10-04T13:20:22.1701767Z
2017-10-04T13:20:22.1701767Z   5) Debug focus stack frames and variables:
2017-10-04T13:20:22.1701767Z      Error: there should be 4 local variables: Timed out after 20 seconds.
2017-10-04T13:20:22.1701767Z       at SpectronClient.<anonymous> (D:\work\agent2\5\s\test\smoke\out\spectron\client.js:189:31)
2017-10-04T13:20:22.1701767Z       at Generator.next (<anonymous>)
2017-10-04T13:20:22.1701767Z       at fulfilled (D:\work\agent2\5\s\test\smoke\out\spectron\client.js:8:58)
2017-10-04T13:20:22.1701767Z
2017-10-04T13:20:22.1701767Z   6) Debug stepOver, stepIn, stepOut:
2017-10-04T13:20:22.1701767Z      Error: click with selector .debug-actions-widget .debug-action.step-into: Timed out after 20 seconds.
2017-10-04T13:20:22.1701767Z       at SpectronClient.<anonymous> (D:\work\agent2\5\s\test\smoke\out\spectron\client.js:189:31)
2017-10-04T13:20:22.1701767Z       at Generator.next (<anonymous>)
2017-10-04T13:20:22.1701767Z       at fulfilled (D:\work\agent2\5\s\test\smoke\out\spectron\client.js:8:58)
2017-10-04T13:20:22.1701767Z
2017-10-04T13:20:22.1701767Z   7) Debug continue:
2017-10-04T13:20:22.1701767Z      Error: click with selector .debug-actions-widget .debug-action.continue: Timed out after 20 seconds.
2017-10-04T13:20:22.1701767Z       at SpectronClient.<anonymous> (D:\work\agent2\5\s\test\smoke\out\spectron\client.js:189:31)
2017-10-04T13:20:22.1701767Z       at Generator.next (<anonymous>)
2017-10-04T13:20:22.1701767Z       at fulfilled (D:\work\agent2\5\s\test\smoke\out\spectron\client.js:8:58)
2017-10-04T13:20:22.1701767Z
2017-10-04T13:20:22.1701767Z   8) Debug debug console:
2017-10-04T13:20:22.1701767Z      Error: undefined: Timed out after 20 seconds.
2017-10-04T13:20:22.1701767Z       at SpectronClient.<anonymous> (D:\work\agent2\5\s\test\smoke\out\spectron\client.js:189:31)
2017-10-04T13:20:22.1701767Z       at Generator.next (<anonymous>)
2017-10-04T13:20:22.1701767Z       at fulfilled (D:\work\agent2\5\s\test\smoke\out\spectron\client.js:8:58)
2017-10-04T13:20:22.1701767Z
2017-10-04T13:20:22.1701767Z   9) Debug stop debugging:
2017-10-04T13:20:22.1701767Z      Error: click with selector .debug-actions-widget .debug-action.stop: Timed out after 20 seconds.
2017-10-04T13:20:22.1701767Z       at SpectronClient.<anonymous> (D:\work\agent2\5\s\test\smoke\out\spectron\client.js:189:31)
2017-10-04T13:20:22.1701767Z       at Generator.next (<anonymous>)
2017-10-04T13:20:22.1701767Z       at fulfilled (D:\work\agent2\5\s\test\smoke\out\spectron\client.js:8:58)
2017-10-04T13:20:22.1701767Z
2017-10-04T13:20:22.1701767Z   10) Git reflects working tree changes:
2017-10-04T13:20:22.1701767Z      unknown error: Element <a class="action-label icon contrib-cmd-icon-2" role="button" title="Refresh" tabindex="0"></a> is not clickable at point (194, 17). Other element would receive the click: <div class="message-left-side message-overflow-ellipsis">...</div>
2017-10-04T13:20:22.1701767Z   Error
2017-10-04T13:20:22.1701767Z
2017-10-04T13:20:22.1701767Z   11) Git stages, commits changes and verifies outgoing change:
2017-10-04T13:20:22.1701767Z      unknown error: Element <a class="action-label icon contrib-cmd-icon-11" role="button" title="Commit" tabindex="0"></a> is not clickable at point (162, 17). Other element would receive the click: <span class="message-left-side severity app-info" title="Code - Insiders for 64-bit Windows is now available!" style="background-color: rgb(0, 122, 204); color: rgb(238, 238, 238);">...</span>
2017-10-04T13:20:22.1701767Z   Error

Mac fails in dataloss:
https://monacotools.visualstudio.com/Monaco/_build/index?buildId=33115&_a=summary
2017-10-04T13:17:05.7949513Z   1) Dataloss verifies that 'hot exit' works for dirty files:
2017-10-04T13:17:05.7949513Z      Error: getTextContent with selector .monaco-editor[data-uri$="Untitled-1"] .view-lines: Timed out after 20 seconds.
2017-10-04T13:17:05.7949513Z       at SpectronClient.<anonymous> (D:\work\agent1\6\s\test\smoke\out\spectron\client.js:189:31)
2017-10-04T13:17:05.7949513Z       at Generator.next (<anonymous>)
2017-10-04T13:17:05.7949513Z       at fulfilled (D:\work\agent1\6\s\test\smoke\out\spectron\client.js:8:58)

And both Linux runs are failing with a very strange error:
https://monacotools.visualstudio.com/Monaco/_build/index?buildId=33118&_a=summary
https://monacotools.visualstudio.com/Monaco/_build/index?buildId=33117&_a=summary
2017-10-04T13:06:27.5081100Z   1) Search "before all" hook:
2017-10-04T13:06:27.5108930Z      Error: Timeout of 60000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.
2017-10-04T13:06:27.5128040Z

Debug failed because the smoke test could not find the configure button since it is covered by the message box. All debug errors are failing due to this.

Windows:

because of the message box hiding the UI elements like Tabs.

Mac:

Not sure why the content is not written correctly into the editor. Instead of Hello, Untitled Code it is Hello, Untitled Coed.

Linux:

It seems Status bar tests are not even started after Git tests. This making me to suspect if the following call in the set up is taking for ever

cp.execSync('git checkout .', { cwd: WORKSPACE_PATH });

Issue 1: Why are we seeing that message box - We should assume that there should be any messages by default.
Issue 2: Waiting for text content to write is not still reliable?
Issue 3: Git check out might be taking time in the set up?

Very interesting. That bar shouldn't be there but also just thought about how dangerous it is to tell Spectron to click a specific element: another might be on top.
I'll make sure that update popup doesn't come up.

https://github.com/Microsoft/vscode/commit/08e6c5d09efb2c294dca2adc40e880cdc2d8ca74 should disable updates during the smoketest.
Looking into issue 3.

Issue 3 is very likely: https://github.com/electron/spectron/issues/219

Related to issue 3: https://github.com/Microsoft/vscode/commit/d78d5da119e8aacf5ef252c2314d34502d800257 should kill all leftover running instances of Code before starting the smoketests.

Getting very close:
2017-10-05T08:26:02.5172290Z   1) Preferences turns off editor line numbers and verifies the live change:
2017-10-05T08:26:02.5189500Z      Error: elements with selector .line-numbers: Timed out after 20 seconds.
2017-10-05T08:26:02.5208590Z       at SpectronClient.<anonymous> (out/spectron/client.js:188:31)
2017-10-05T08:26:02.5219830Z       at Generator.next (<anonymous>)
2017-10-05T08:26:02.5232900Z       at fulfilled (out/spectron/client.js:8:58)

This last failure happens due to some letters are switched/missing when typing in the editor. It is the same underlying issue behind the Dataloss occasional failures.

we're starting to see something very strange in macos smoketest:
only in the editor (so far), it appears that sometimes we send a sequence of keys to type in something
eg: lineNumbers
and sometimes it comes up as ilneNumbers
or Hello, Untitled Code becomes Hello, Unitled Coed (notice here a t is missing and the last two letters are swapped)
do you think there might be something in our input detection/textarea polling code which could cause this?

I also just saw this happening on Linux too!
Investigating...
cc @alexandrudima

About
2017-10-04T13:06:27.5108930Z      Error: Timeout of 60000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.

I found out that the application stays stuck here:

Now... why?

Here's what we're hitting: https://bugs.chromium.org/p/chromium/issues/detail?id=522853
After some effort I was able to get our very own application logs (which I will soon make a part of the artifacts to create during a smoketest build). Right in the beginning there appeared this message:
[51990:1005/140613.896448:WARNING:discardable_shared_memory_manager.cc(193)] Less than 64 MB of free space in temporary directory for shared memory files: 8

I checked what this meant and the shared memory in Linux is represented by the /dev/shm device, which in our Docker containers is only 64MB. Now, if Electron complains when this free memory is low... could it be that everything just crumbles down when that limit is hit? That would explain everything we've seen so far:

It only happens sometimes (only when that memory limit is hit)
When it happens, the processes stay running, keeping even more of that memory busy, making successful runs even more prone to fail, since less memory is available

I've tried saturating that memory manually and, lo and behold, YES, THAT'S IT.
The fix is to increase that shared memory level to something more than 64MB. Working on that.

@isidorn @mjbvz Another message going over the debug toolbar... 🤕

What to do?

@mjbvz Can we get an easy way out of this, not through the settings?

It seems it was a one time thing... no idea what happened there... maybe no Internet?

/dev/shm fix didn't quite fix it...
But https://github.com/Microsoft/vscode/issues/32908 is interesting...

Nope...
I was able to get dbus working inside the container, those Failed to connect to the bus error messages went away and the app still crashes every now and then.
I start to think the problem is really behind using Ubuntu 14.04 for the base container image:

https://github.com/atom/atom/issues/7506
https://github.com/atom/atom/issues/11977

@joaomoreno Are you still running into the npm issue? If the issue is just that npm is not being picked up properly, try setting an explicit path with "typescript.npm" You can also disable automatic type by setting:   "typescript.disableAutomaticTypeAcquisition": true.

No, it seemed to have only happened once.

The crash problem was related to both /dev/shm and enabling dbus. It seems to be much more stable now.
I'll investigate the editor problem.

OK there are only two problems left as far as I know:
The editor input issue, in which some characters appear delayed in the buffer. We might want to have programmatic access to the editor @alexandrudima as a workaround. This happens in Windows, Linux and macOS.

And the preferences conflict save, which could be related to the previous one as it occurs also when the previous one does @sandy081.

Fixed the editor issue by inputting text into it via:

Replacing the textarea contents with the previous text and the new text inserted at the cursor position
Update the cursor position
Fire an input event

Finally closing this since we merged the branch: https://github.com/Microsoft/vscode/commit/db578b9d3ac9510a5675152b999863360fa0bd71
Thanks for the efforts @michelkaporin @sandy081 @isidorn! 🍻


Stored procedure helpers

Hi,
I'm currently using this implementetion in order to call sp nicely.
Do you think something like this would be helpful to include in the NPoco core?
Thanks,
Enrico

I would use this overload
int Execute(string sql, CommandType commandType, params object[] args);
where you can specify the command type.
db.Execute("mysp", CommandType.StoredProcedure);

Don't have a fetch overload, but that can be done at some point.

You can fetch a resultset from a stored procedure too using the "exec" work-around in Sql Server:
  var p1 = "somevalue%";
  var result = db.Query<SomeType>("exec SomeProc @param1", new { param1 = p1 });

Works for Query() and Fetch().
But it might have a small performance penalty vs using the CommandType StoredProcedure.

What if you have to read multiple resultset from the sp?

FetchMultiple should work, but its not something we endeavor to support.

I've used FetchAsync this way like @dheijl suggested:
var p0 = "test";
var result = await database.FetchAsync<MyType>(@"EXEC myProc @0", p0);

Pagination could be done inside the procedure or in memory in case of small set o data, so I'm good with it.
In case I need more result I'll let you know how I ended up!
Thanks


docs: add translation for owners

part of https://github.com/ti-community-infra/tichi/issues/356

/assign @Mini256
PTAL~ Thanks!

/lgtm

/merge

It seems that the Semantic bot is on strike again.


show membermanagers that arent members in group page

Previously, if a user was a membermanager (i.e. a sponsor) of
a group, but not a member of the group, they would not show up
in the list of membermanagers (sponsors) on the group listing
page. However, if that user was logged in and looking at the
group page, they still could edit the other members of the group.
This commit corrects the group page to show membermanagers(sponsors)
that happen to not be members of the group.
Related: #108
Signed-off-by: Ryan Lerch<EMAIL_ADDRESS>

Just copying what @tiran wrote on IRC:
<Crys> ryanlerch: hi, I saw your PR https://github.com/fedora-infra/securitas/pull/114
<Crys> ryanlerch: Doing HTTP RPC calls in a loop is not efficient. The IPA API has a batch mode to perform multiple API calls in a single operation.
<Crys> ryanlerch: I think you can also assume that most member managers are group members, too.

Updated the PR to use the IPA batch mode.

@abompard i think i have this covered now!


Upgrade from materialize 1.0.0-beta2 to materialize 1.0.0

This goes for #3 as well but is there going to be a release that works with 1.0.0 that removes JQuery?

I don't have time now for this update.
But it should be rocket science.
The new implementation of Materialize components is much simpler.
Did you try upgrading ?


Can you fix the demo huggingface please?

It looks horrible why it's 8 fps and 3 seconds video ?

This is due to the GPU quota limit, so it can only generate 25 frames at a time. We have two options to play it at 1 second & 24 fps or 3 seconds & 8 fps.
We could not decide which is better, both are very unfortunate compromises. Now we have added an FPS control button so you can choose.

Thank you for your suggestion, we will continue to improve the model and look into these hosting platforms.


scanpy.pl.dotplot - does standard_scale need to subtract the min?

I am wondering about the motivation that went into subtracting the min when performing standardisation of the scale between genes. I find that it leads a misleading visualisation when the genes expressed by all clusters so I am now copying and modifying your function for my work. Do you think it would be justified to remove min subtraction step or make it optional?
Thanks, and please let me know what you think!

If I recall correctly, the implementation mimic the one found in seaborn.  Besides, the idea is to map the gene expression to an scale from 0 to 1, thus is needed to subtract the min.

Exactly. But I do agree that it can be misleading in some cases e.g if there is one cell with a single UMI out of 1000 cells, this nonzero mean value will be mapped to 1, giving the impression that there is something going on. I recently abandoned standard_scale and switched to zscore and RdBu_r colormap both in heat maps and dotplots with vmin=-3 and vmax=3, which leads a better standardization. The only caveat of this normalization in dotplot is that dot size is determined by the number of cells above the average, which was possibly higher than zero before zscore, compared to the regular zero cutoff.


BatchNormalization with virtual_batch_size breaks load_model()

Click to expand!
Issue Type
Bug
Source
binary
Tensorflow Version
tf 2.4.1, 2.8.2, nightly
Custom Code
No
OS Platform and Distribution
linux (colab cpu)
Mobile device
No response
Python version
No response
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
Passing `virtual_batch_size=int` to BatchNormalization performs "Ghost Batch Normalization", which creates virtual sub-batches which are each normalized separately.

Loading a keras model with such a layer fails with a ValueError.

In BatchNormalizationBase, the `axis` attrib is incremented, e.g. from [3] to [4], I think this happens here: https://github.com/keras-team/keras/blob/07e13740fd181fc3ddec7d9a594d8a08666645f6/keras/layers/normalization/batch_normalization.py#L382

Then, when self.build() is called upon load_model(), `axis` is checked against input rank, which fails. This check has moved in the current version to `validate_axis()` in keras/utils/tf_utils.py:

https://github.com/keras-team/keras/blob/07e13740fd181fc3ddec7d9a594d8a08666645f6/keras/utils/tf_utils.py#L228

It seems there is some confusion in the code, whether or not `axis` is allowed to be larger than rank - 1.

Standalone code to reproduce the issue
https://colab.research.google.com/drive/1QN7EPzr0MaYnHAdzVc2ucaMO544aQYvY?usp=sharing

Relevant log output
/usr/local/lib/python3.7/dist-packages/keras/layers/normalization/batch_normalization.py in build(self, input_shape)
    311       if x < 0 or x >= ndims:
    312         raise ValueError(
--> 313             f'Invalid axis. Expected 0 <= axis < inputs.rank (with '
    314             f'inputs.rank={ndims}). Received: layer.axis={self.axis}')
    315     if len(self.axis) != len(set(self.axis)):

ValueError: Invalid axis. Expected 0 <= axis < inputs.rank (with inputs.rank=4). Received: layer.axis=ListWrapper([4])

Hi @yellowdolphin,
Thanks for opening this issue. Development of keras moved to another repository.
Could you please post this issue on keras-team/keras repo.
To know more please refer:
https://discuss.tensorflow.org/t/keras-project-moved-to-new-repository-in-https-github-com-keras-team-keras/1999
Thank you!

OK, done. I opened the issue in the keras repo.


Javacomplete does not find the methods on the original clase - gradle project

Actual behavior (Required!)
Only methods from the original class, already used in the projects are find by javacomplete2.
Expected behavior (Required!)
For instance, if some class in an external library defines 3 methods (method_1, method_2, method_3), and two of them are already used in the project, calling javacomplete will have the following result:
object.method_1
object.method_2
and will never show method 3 (which is defined in the class but was not yet used in the project).
Following two pictures depicts that behaviour (comparing the output of nvim/javacomplete from intelliIDEA):

The steps to reproduce actual behavior (Required!)

...
...
...

Environment (Required!)

OS: debian jessie
Vim version:
Neovim version: 0.1.5

A few extra notes:

The result of calling :JCclasspathGenerate is shown in picture Error.png

Creating a file java.gradle with the content  allprojects{apply from: '.mypath/vim-javacomplete2/classpath.gradle'}, and calling: gradle -I gradle/java.gradle classpath  has brings this output:

The Task.leftShift(Closure) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use Task.doLast(Action) instead.
        at classpath_jh66c6sjidnabmsea63uoht7.run(/mypath/.config/nvim/plugged/vim-javacomplete2/classpath.gradle:1)

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':hpc-api'.
> Cannot change strategy of configuration ':hpc-api:buildDevShellConf' after it has been resolved.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED````

@DonnieWest , can you participate, please.

@alnavv can you please show us either the project you're getting this error on or a minimal project that replicates the error?

@DonnieWest, unfortunately I cannot share anything related to the project itself.
However we may find a way..., can you reach me by email?

@alnavv Yeah, but if you can just create a separate project that replicates the error that will suffice as well. If you still need to conduct this over email though you can reach me at:
me at donniewest dot com

I dont see any contact at : donniewest dot com, however in my git account is my gmail ...

#291 might help with this, but I encountered another issue while investigating that might be pertinent. The returned classpath from Gradle is occasionally empty and I don't know why. When run from the command line, the classpath task outputs something like this:
Incremental java compilation is an incubating feature.
The TaskInputs.source(Object) method has been deprecated and is scheduled to be removed in Gradle 4.0. Please use TaskInputs.file(Object).skipWhenEmpty() instead.
:classpath
CLASSPATH:/home/igneo676/.gradle/caches/modules-2/files-2.1/org.jacoco/org.jacoco.report/<IP_ADDRESS>505241946/cb1ac5562a45c98cd7b774452f3e8b867b71cd65/org.jacoco.report-<IP_ADDRESS>505241946.jar:/home/igneo676/android-sdk-linux/platforms/android-25/android.jar:/home/igneo676/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/42a25dc3219429f0e5d060061f71acb49bf010a0/hamcrest-core-1.3.jar:/home/igneo676/.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.1.1/67ff45d9ae02e583d0f9b3432a5ebbe05c30c966/javawriter-2.1.1.jar:/home/igneo676/Code/Dispatch/app/build/intermediates/exploded-aar/com.android.support/support-core-ui/25.0.0/jars/libs/internal_impl-25.0.0.jar:/home/igneo676/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/2.0.1/516c03b21d50a644d538de0f0369c620989cd8f0/jsr305-2.0.1.jar:/home/igneo676/Code/Dispatch/app/build/intermediates/exploded-aar/com.android.support/support-v4/25.0.0/jars/classes.jar:/home/igneo676/Code/Dispatch/app/build/intermediates/exploded-aar/com.android.support/support-compat/25.0.0/jars/libs/internal_impl-25.0.0.jar:/home/igneo676/Code/Dispatch/app/build/intermediates/exploded-aar/com.android.support/support-fragment/25.0.0/jars/libs/internal_impl-25.0.0.jar:/home/igneo676/Code/Dispatch/app/build/intermediates/exploded-aar/com.android.support/support-core-ui/25.0.0/jars/classes.jar:/home/igneo676/Code/Dispatch/app/build/intermediates/exploded-aar/com.android.support/design/25.0.0/jars/classes.jar:/home/igneo676/.gradle/caches/modules-2/files-2.1/javax.annotation/javax.annotation-api/1.2/479c1e06db31c432330183f5cae684163f186146/javax.annotation-api-1.2.jar:/home/igneo676/Code/Dispatch/app/build/intermediates/exploded-aar/com.android.support/transition/25.0.0/jars/classes.jar:/home/igneo676/Code/Dispatch/app/build/intermediates/exploded-aar/com.android.support/recyclerview-v7/25.0.0/jars/classes.jar:/home/igneo676/Code/Dispatch/app/build/intermediates/exploded-aar/com.android.support/support-media-compat/25.0.0/jars/libs/internal_impl-25.0.0.jar:/home/igneo676/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-integration/1.3/5de0c73fef18917cd85d0ab70bb23818685e4dfd/hamcrest-integration-1.3.jar:/home/igneo676/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-debug-all/5.0.1/f69b5f7d96cec0d448acf1c1a266584170c9643b/asm-debug-all-5.0.1.jar:/home/igneo676/Code/Dispatch/app/build/intermediates/classes/debug:/home/igneo676/android-sdk-linux/extras/android/m2repository/com/android/support/support-annotations/25.0.0/support-annotations-25.0.0.jar:/home/igneo676/Code/Dispatch/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/25.0.0/jars/classes.jar:/home/igneo676/.gradle/caches/modules-2/files-2.1/junit/junit/4.12/2973d150c0dc1fefe998f834810d68f278ea58ec/junit-4.12.jar:/home/igneo676/Code/Dispatch/app/build/intermediates/exploded-aar/com.android.support/animated-vector-drawable/25.0.0/jars/classes.jar:/home/igneo676/Code/Dispatch/app/build/intermediates/exploded-aar/com.android.support/support-compat/25.0.0/jars/classes.jar:/home/igneo676/.gradle/caches/modules-2/files-2.1/org.jacoco/org.jacoco.ant/<IP_ADDRESS>505241946/929ea3871a1f11e63b86f092061141cd7c790c9/org.jacoco.ant-<IP_ADDRESS>505241946.jar:/home/igneo676/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-library/1.3/4785a3c21320980282f9f33d0d1264a69040538f/hamcrest-library-1.3.jar:/home/igneo676/Code/Dispatch/app/build/intermediates/exploded-aar/com.android.support/support-core-utils/25.0.0/jars/classes.jar:/home/igneo676/.gradle/caches/modules-2/files-2.1/org.jacoco/org.jacoco.core/<IP_ADDRESS>505241946/1ea906dc5201d2a1bc0604f8650534d4bcaf4c95/org.jacoco.core-<IP_ADDRESS>505241946.jar:/home/igneo676/Code/Dispatch/app/build/intermediates/exploded-aar/com.android.support/support-fragment/25.0.0/jars/classes.jar:/home/igneo676/Code/Dispatch/app/build/intermediates/exploded-aar/com.android.support/support-media-compat/25.0.0/jars/classes.jar:/home/igneo676/.gradle/caches/modules-2/files-2.1/javax.inject/javax.inject/1/6975da39a7040257bd51d21a231b76c915872d38/javax.inject-1.jar:/home/igneo676/Code/Dispatch/app/build/intermediates/exploded-aar/com.android.support/support-core-utils/25.0.0/jars/libs/internal_impl-25.0.0.jar:/home/igneo676/Code/Dispatch/app/build/intermediates/exploded-aar/com.android.support/support-vector-drawable/25.0.0/jars/classes.jar:/home/igneo676/.gradle/caches/modules-2/files-2.1/org.jacoco/org.jacoco.agent/<IP_ADDRESS>505241946/2f0308aaf7b3f2e133d410de8af49739cb0964aa/org.jacoco.agent-<IP_ADDRESS>505241946.jar

BUILD SUCCESSFUL

Total time: 0.863 secs

However, whenever I log out the output of the command from within the classpath/gradle.vim file I get
:classpath
CLASSPATH:
BUILD SUCCESSFUL
Total time: 0.691 secs

It's as if some of the output is getting filtered by something. I've created a sample project that does this here and you can replicate the issue by running :JCclasspathGenerate in vim, closing the editor, reopening the project and running it again. The classpath (occasionally) will be something like ..: as opposed to a full classpath as is originally generated. You can test the command line output by changing the init.gradle file to the location of your vim-javacomplete2's classpath.gradle file and running ./gradlew -I init.gradle classpath
Any ideas @artur-shaik ? I'm not really sure what's filtering this output

I played, a little bit with your project. So, I've got this issue only when I open vim not in Dispatch directory.
Do you have empty output, even when you in git root?

@DonnieWest , I made some changes, can you test it here: https://github.com/artur-shaik/vim-javacomplete2/tree/DonnieWest-gradleFixes

@artur-shaik works perfectly! Good find on the directory, I can't believe I missed that :)
Thanks!

Closed by<PHONE_NUMBER>2b564d42ce817e45d93c3c167acd61


Is there a minified version for playing only audio?

Hello
I need plyr only for audio, I realise the size of the js and css files is a bit too much. Is there a minified version of the css and js files in which only audio works?

Nope - but it's on the list to build.


Appstudio update test-custom-default-branch-yhcq

Pipelines as Code configuration proposal
To start the PipelineRun, add a new comment with content /ok-to-test
For more detailed information about running a PipelineRun, please refer to Pipelines as Code documentation Running the PipelineRun
To customize the proposed PipelineRuns after merge, please refer to Build Pipeline customization

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-annotations-mwia-on-pull-request-
creating pipelinerun test-annotations-mwia-on-pull-request- in namespace build-e2e-ihcm-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-kqtd-on-pull-request-
creating pipelinerun test-simple-build-kqtd-on-pull-request- in namespace build-e2e-ihcm-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request


RG connection without arm extras

This is not an issue with the package, I would like to connect the RG2 gripper directly to the end-effector link of the robot without the arm extras. I tried to change the rg2.urdf.xacro :
 <joint name="rg2_joint" type="fixed">
      <origin rpy="0 0 0" xyz="0.218 0 0"/>
      <parent link="${prefix}ee_link"/>
      <child link="${prefix}rg2_body_link"/>

However this does not work.

The change you've made in rg2.urdf.xacro is fine. In ur10_robot_rg2_arc.urdf.xacro please change the  to  in the following lines


fixed disable dragging and dropping action

How can I disable action drag and drop when open to other models such as dialog?
https://github.com/user-attachments/assets/a0914aaa-1aa4-4cae-b355-5cc6b382b90a

I fixed this problem by adding an attribute disabled of SortableContext


New PR to test SignCLA at 2019-06-25 14:13:12.388049419 -0700 PDT m=+6.769757401

Body of PR

indiv-pass-staging: test succeeded


Split preview button into rescan / preview

What's your idea?
Currently I feel preview button functionality is bit unintuitive because from user perspective it really has two functions: full search for the save data on the disk, and scan for updates to backed up save data. I think it would be better to split this into separate buttons.

Rescan - update list of games/save data, useful after installing/uninstalling game etc.
Preview - scan selected games for changes to save data

Additionally after splitting this functionality it would make sense to auto preview on opening the gui (with the option to turn this off in settings)

Internally, these are really the same thing (either a full scan of all possible games or a partial scan of specific games). I think of it as one function: "show me the saves on this system". That said, I could see two main use cases for a new option:

If you don't care about any new games, then it's faster to do a partial scan. On my system, a full scan is only 10 seconds, so it's not a big deal to stick to full scans.
If you have filters applied, there's no way right now to just preview the games found by the filter. This could definitely be improved.

Since games have to be in the list for you to filter them in the first place, I think it could make sense to say that "preview" and "back up" only apply to visible games when you have a filter active. Alternatively, we could add a "..." menu with a "Preview visible games only" option, independently from any filter.

I've implemented this via filtering. This also lets you scan specific subsets of games:

https://github.com/user-attachments/assets/b15a4578-b87d-4416-9104-592e41c1f430


Tables relationship

@alganet how will work relationship across the tables?

Using the schema. Let me show you an example.
First, I'll declare the schema for the first example module "Posts":
[postsSchema Supercluster\Gravity\Datasources\SchemaContribution]
; raw properties - these names should match their types across all tables
subscribeType[] = [Post, 'INT REFERENCES Post(id)']
subscribeType[] = [id, 'INTEGER PRIMARY KEY AUTOINCREMENT']
subscribeType[] = [name, 'VARCHAR(255)']
subscribeType[] = [articleBody, 'TEXT']
; Locale columns
subscribeRange[] = [Post, id]
subscribeRange[] = [Post, name]
subscribeRange[] = [Post, articleBody]

Types are schema units that translates to columns. Ranges define which tables uses each columns.
If only this module is used, the result SQL create statement would be something like this:
CREATE TABLE Post (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name VARCHAR(255),
    articleBody TEXT
)

That is because I've declared that the table post has these three columns. We declared a fourth type, which is a foreign key to the table Post. Since our module don't have any other tables, the schema consensus ignores this key.
Now let's consider a different module, a second example named "Comments" with a new different schema:
[postsSchema Supercluster\Gravity\Datasources\SchemaContribution]
; raw properties - these names should match their types across all tables
subscribeType[] = [Post, 'INT REFERENCES Post(id)']
subscribeType[] = [Comment, 'INT REFERENCES Post(id)']
subscribeType[] = [id, 'INTEGER PRIMARY KEY AUTOINCREMENT']
subscribeType[] = [name, 'VARCHAR(255)']
subscribeType[] = [description, 'TEXT']
subscribeType[] = [count, 'INT']
; Locale columns
subscribeRange[] = [Post, id]
subscribeRange[] = [Post, count]
subscribeRange[] = [Comment, id]
subscribeRange[] = [Comment, name]
subscribeRange[] = [Comment, description]
subscribeRange[] = [Comment, Post]

If you use only this module, the result SQL will be:
CREATE TABLE Post (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    count INT
)

CREATE TABLE Comment (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    Post INTEGER REFERENCES Post(id)
    name VARCHAR(255),
    description TEXT
)

These two modules declare very similar names and columns. The names for both tables and columsn should be borrowed from the schema.org catalog, as we did on content-proto, which uses http://schema.org/Article
Now, the schema consensus really works well when these two modules are used together. If you install Gravity and request a consensus between the "Post" and "Comment" schemas, the result SQL will be:
CREATE TABLE Post (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    count INT,
    name VARCHAR(255),
    articleBody TEXT
)

CREATE TABLE Comment (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    Post INTEGER REFERENCES Post(id)
    name VARCHAR(255),
    description TEXT
)

Now the schema considered all columns and references. The module "Comment" contributed with the column "count" to a table for the "Post" module. This means that multiple modules can add columns to the same tables.
If any column or name doesn't match, the SchemaConsensus class is able to detect the inconsistency and tell you that a consensus was broken. Since names are standardized by the schema.org vocabulary, chances of conflict are possible but simple to manage (change INIs, change the SchemaConsensus implementation, relax type comparisons, etc).


Cancel health check when closing health checked endpoint

I ran into this while debugging why awaitInitialEndpoints in https://github.com/openzipkin/zipkin/pull/2653 often takes seconds to resolve localhost. I don't think I found the real culprit yet, but it does look like when closing and re-registering a health checked endpoint group, health checks from the closed one will still continue to be sent forever.
Also wondering if we need to redesign it so EndpointGroupRegistry is a field of ClientFactory instead of static.

Also wondering if we need to redesign it so EndpointGroupRegistry is a field of ClientFactory instead of static.

That's a good idea. It was one of the hardest one to understand when I first looked into Armeria and I think it's unintuitive.

Related issue: #1084

Not sure if it's a good idea to move the registry under ClientFactory, but it's worth exploring.

Thanks, @anuraaga :+1:


tixati: 2.81 -> 2.84

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/tixati/versions.
meta.description for tixati is: "Torrent client"
meta.homepage for tixati is: "http://www.tixati.com"
meta.changelog for tixati is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

Warning: no invocation of /nix/store/xn900c2r7ry45m95wzjdcz5qzab8fjkg-tixati-2.84/bin/tixati had a zero exit code or showed the expected version

0 of 1 passed binary check by having a zero exit code.

0 of 1 passed binary check by having the new version present in output.

found 2.84 with grep in /nix/store/xn900c2r7ry45m95wzjdcz5qzab8fjkg-tixati-2.84

found 2.84 in filename of file in /nix/store/xn900c2r7ry45m95wzjdcz5qzab8fjkg-tixati-2.84

directory tree listing: https://gist.github.com/48fff15f8ad618a25c5d59345b1f9e47

du listing: https://gist.github.com/f49e88779375d3c69f578aba32dbfa8e

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
0 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
0 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
tixati

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/xn900c2r7ry45m95wzjdcz5qzab8fjkg-tixati-2.84 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A tixati https://github.com/r-ryantm/nixpkgs/archive/71f18bf70896fb7a067d7bd92cb31771d922a75b.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/xn900c2r7ry45m95wzjdcz5qzab8fjkg-tixati-2.84
ls -la /nix/store/xn900c2r7ry45m95wzjdcz5qzab8fjkg-tixati-2.84/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.


feature: forward to strcase customization

It would be really nice if we can forward settings to
https://github.com/ettle/strcase/blob/main/README.md#customization
and rewrite the caser such that it would use this.
Would you welcome a PR?

I think that providing the full configuration is too complex to be usable within a configuration.
I also think only the initialism elements are interesting as a configuration.
Related to #19 and #2.
What is your use case behind this issue?

Basically we would like to have
custom lints: e.g. "mongoDB" is not in the list which strcase will convert to "mongoDb" which is conflicting with stylecheck etc.
So a way to configure exceptions by leveraging the full caser customization in strcase would help.

So you don't need all the options related to the caser customization but just initialisms options.


colaboration

Hello everyone, I would like to be able to contribute to your project, I would love to participate, I hope I can have positive news.
greetings to all

Hi,
you can check the 5 minutes first commit to open source and then, choose any issue you want to fix.
that's what you mean?


Enable Custom Metrics App Config Value

Summary of the Pull Request
What is this about?
EnableCustomMetrics was set to 'false' by default so it was getting reset every release.
PR Checklist

[ ] Applies to work item: #xxx
[ ] CLA signed. If not, go over here and sign the CLI.
[ ] Tests added/passed
[ ] Requires documentation to be updated
[ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx

Info on Pull Request
What does this include?
Validation Steps Performed
How does someone test & validate?

Codecov Report

Merging #3190 (c62e13e) into main (8c90419) will decrease coverage by 4.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #3190      +/-   ##
==========================================
- Coverage   29.59%   25.57%   -4.03%
==========================================
  Files         332      152     -180
  Lines       38910    16327   -22583
==========================================
- Hits        11516     4175    -7341
+ Misses      27394    12152   -15242

see 180 files with indirect coverage changes


Ability to load PIPENV_* environs from .env file

I understand the existence of #902, but the it seems the OP was looking for something different.
Sometimes I want Pipenv to handle one particular project differently than others. The most common problem is I don’t usually set PIPENV_VENV_IN_PROJECT, but for some projects I want to do. This is however not possible, because they are loaded for shell and run, not install etc., and even if they are, .env is loaded during runtime, therefore doesn’t affect values in environments.py.
direnv and similar tools like autoenv are not an option for me because they are all shell-depedent, and I operate in the command prompt on Windows.
My current workaround is to use a custom Dotenv loader, and a Batch script like this:
REM pipenv.bat
REM Shim to wrap Pipenv invocation in a loaded environment.
REM Put this in the project root so it’s picked up when you call "pipenv".

if exist ".env" (
    dotenv-run pipenv %*
) else (
    pipenv %*
)

which sort of works, but is suboptimal. I wish Pipenv could handle this more cleanly since it already loads .env files anyway.
Steps to replicate

Create a project
Run pipenv install with PIPENV_VENV_IN_PROJECT set
Unset PIPENV_VENV_IN_PROJECT, create .env with PIPENV_VENV_IN_PROJECT=1

Expected result
> pipenv install
Loading .env environment variables…
Installing dependencies from Pipfile.lock

Pipenv should go on reusing .venv and perform operations.
Actual result
> pipenv install
Creating a virtualenv for this project…

Pipenv goes on to create a virtualenv in the default location, not respecting values in .env.

Hey @uranusjr thanks for another well thought out report. We were just discussing this internally and are on agreement that the desired behavior is as you describe. The fix is relatively simple but likely delayed until we have appveyor working

+1

Cool, super happy to know this is coming. Tell me if there’s anything I can do to help :)

we do not want to support this.

@kennethreitz I'd be interested to know what the reasoning for this is. It seems like it would be a useful feature to have.

This feature would be very useful to me, as well.


Review DwC mapping

Mapping online available:
https://github.com/riparias/anb-plants-occurrences
A second pair of 👀 for review are welcome.

I have a few comments:

datasetName: could be made shorter. A suggestion: Monitoring of invasive alien plants in the LIFE RIPARIAS areas in Flanders, Belgium
measurementType and measurementValue: some odd values there:

for measurementType = coverage:  measurementValue = 60% and measurementUnit = %. I would omit the % in measurementValue
for measurementType = estimated covered area:  measurementValue = 1 exemplaar and measurementUnit = m². I would map this as measurementValue = 1 and measurementUnit = individual (there are more)
measurementType = river bank sound odd, that's just a description of the habitat.  For me that's more an occurrenceRemark.

Thanks @LienReyserhove a lot!  If column geschatte_ contains number of examplars (erroneously) I removed such rows from MoF as this information is mapped in occurrence extension as individualCount.
I hope I worked as fast as good 😄

Great, thx! You worked too fast actually!


refactor: use generic trait bound for RpcClient

This PR splits off the RpcClient into two separate crates:

edr_rpc_client: contains a genericised version of RpcClient that accepts any type which implements the trait RpcMethod. As RpcClient's caching mechanism requires knowledge about the block number and chain ID I added the chain_id_request and block_number_request methods to trait RpcMethod, alongside an associated type that specifies the CacheableMethod type.
The RpcClient type can be reused by chain types with varying JSON-RPC methods, as listed here.
edr_rpc_eth: introduces an EthRpcClient for all chains that support the Ethereum L1 JSON-RPC specification. It allows variance in the Block and Transaction types, but this could be extended to Receipt or other types as necessary. It's main goal is to avoid duplication of pub enum RequestMethod between Optimism, Arbitrum, Ethereum L1.

Alternatively to the block_number_request and chain_id_request methods in 1, they could be reworked to block_number_without_caching and chain_id_without_caching.

unless I'm missing a reason not to.

In the edr_rpc_client crate, the test functions use a private member to validate logic: assert!(client.cached_block_number.read().await.is_some());. edr_rpc_eth only uses the public API.

In the edr_rpc_client crate, the test functions use a private member to validate logic:
assert!(client.cached_block_number.read().await.is_some());
edr_rpc_eth only uses the public API in combination with 1) a mocking server; and 2) remote access to Alchemy. If you don't think that's a valid reason to consider them integration tests, please let me know.

Ok so there is a hard reason why client tests in edr_rpc_client need to be "unit tests".
I can see why you implemented client tests as "integration tests" in edr_rpc_eth from a logical perspective, but from a practical perspective I think this differentiation will be annoying, because often changes to one crate will need changes in the other and the different testing pattern can trip us up. So I'd prefer to have client tests in edr_rpc_eth as "unit tests" unless them being "integration tests" brings a practical benefit (since the crates are internal I can't think of any, but happy to be convinced otherwise).

The main benefit I see is separation of the tests into dedicated test files, instead of either being interspersed with source files or resulting in incredibly long source files with a test submodule.
I'm happy to move the tests into the client.rs source file if it hampers your dev experience, though.

Awesome thanks! We can move the tests to a submodule client/tests.rs if it gets too large.


Delete bucket scenarios should be put at the last position

https://github.com/yunify/qingstor-sdk-test-scenarios/blob/4a2de34ec41e227dd7172f52cb75842cfa177b5d/bucket.feature#L56
Otherwise, how to execute the following List Multipart Uploads scenario?

We will remove the create & delete bucket tests.

We will remove the create & delete bucket tests.


Find Provider provides Fuzzy Scoring

fixes #229748

@benibenj red

Please consider making this a candidate for recovery. It fixes an issue affecting FileSearchProviders that don't guarantee to return folder-only fuzzy matches after all fuzzy matches found in the filename.
Or, if not the whole PR, then the change that it made to these lines, making the break become a continue:
https://github.com/microsoft/vscode/blob/fce582c5d81c9f50ca6166e72d625fb50bb4fef1/src/vs/workbench/contrib/files/browser/views/explorerView.ts#L224-L226


Benchmarking

Initial commit with iteration count testing. lentraj_maketests creates a txt file holding the iteration number array, which is used by lentraj_runtests.
Next steps:
New implementaion using PkgBenchmark
Adding more granular Benchmarking criteria using a mutable struct:
of LMO calls
gradient calls
function calls

intermediate commit using PkgBenchmark for timing benchmarks

Codecov Report

Merging #262 (8405b53) into breaking-02 (a1454ed) will decrease coverage by 0.02%.
The diff coverage is 69.44%.

@@               Coverage Diff               @@
##           breaking-02     #262      +/-   ##
===============================================
- Coverage        83.96%   83.94%   -0.03%
===============================================
  Files               15       16       +1
  Lines             1840     1875      +35
===============================================
+ Hits              1545     1574      +29
- Misses             295      301       +6

Impacted Files
Coverage Δ

src/fw_algorithms.jl
82.14% <ø> (+0.79%)
:arrow_up:

src/oracles.jl
87.25% <ø> (ø)

src/tracking.jl
68.57% <68.57%> (ø)

src/types.jl
85.04% <100.00%> (+2.80%)
:arrow_up:

Continue to review full report at Codecov.

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


Collection support in CDC.

I have tried few functionality on CDC and found that Column with collections type like List, Set, Maps are not getting synced to Elastic Search. @vroyer @jgillenwater @kijanowski @eolivelli

There is an open PR
https://github.com/datastax/cdc-apache-cassandra/pull/48
we should cut a release next week with this feature

There is an open PR #48
we should cut a release next week with this feature
HI @eolivelli ,

We tried testing with branch mentioned in PR but It didn't work as expected for collection type. Can you help us understand If we are missing something. Collection data not getting mapped to elastic search.

@eolivelli @olim7t , Can you please help me make CDC working with Collection Type. I tried but It's not working as Expected.
If you can provide some steps to make it work, That would be helpful.


No way to configure schema name

It seems to me there is no way to configure which schema Phinx uses. It just unceremoniously dumps its table into the public schema assuming that's acceptable. I have a sneaking suspicion this may be because MySQL has poor or no support for schemas, and Phinx makes no secret about being a MySQL-first, other-engines-second project. Supporting schemas would go some way towards correcting this bias.

Although undocumented, this is supported with, for example, default_migration_table: phinx.log.


Valid OAuth redirect URI

What should i write in Valid OAuth redirect URIs in facebook application advanced settings?

hello,
i have set this 'https://www.facebook.com/connect/login_success.html' url as valid oAuth url in facebook app but getting following error at facebook page of android phone
given url is not allowed by the application configuration : one or more of the given URLs is not allowed by the app’s settings. To use ths URL you must add a valid native platform in your app’s settings
can any one help me to configure my facebook app for facebook login in meteor android/ios app??

Did you make sure you added the plugin?
On Sun, Sep 13, 2015 at 5:44 PM Dhaval Rajani<EMAIL_ADDRESS>wrote:

hello,
i have set this 'https://www.facebook.com/connect/login_success.html' url
as valid oAuth url in facebook app but getting following error at facebook
page of android phone
given url is not allowed by the application configuration : one or more of
the given URLs is not allowed by the app’s settings. To use ths URL you
must add a valid native platform in your app’s settings
can any one help me to configure my facebook app for facebook login in
meteor android/ios app??
—
Reply to this email directly or view it on GitHub
https://github.com/ccoenraets/OpenFB/issues/1#issuecomment-139857022.

yes i have added plugin<EMAIL_ADDRESS>

Did you have the AP ID included in your init() call?
On Sun, Sep 13, 2015 at 5:47 PM Dhaval Rajani<EMAIL_ADDRESS>wrote:

yes i have added plugin<EMAIL_ADDRESS>—
Reply to this email directly or view it on GitHub
https://github.com/ccoenraets/OpenFB/issues/1#issuecomment-139857131.

i am developing meteor app so this plugin is handling all thing i have specified app id in mobile-config.js

It should be when you initialize the plugin
On Sun, Sep 13, 2015 at 5:55 PM Dhaval Rajani<EMAIL_ADDRESS>wrote:

i am developing meteor app so this plugin is handling all thing i have
specified app id in mobile-config.js
—
Reply to this email directly or view it on GitHub
https://github.com/ccoenraets/OpenFB/issues/1#issuecomment-139857343.

yes i declared


Allow Parameterized Types in Feature Hierarchy

Right now, we can't create a generic hook for a generic base class like this:
public abstract class BaseAggregator<T extends SomeClass> {
}

public class BaseHook<T extends SomeClass> extends Hook<BaseAggregator<T> {
}

To support this scenario, it is necessary to change the following ReflectionUtils method:
public static Class<?> getFeatureTypeArgumentAt(Class<?> clazz, int index) {
    Type superClassGenericType = getGenericTypeArgumentAt(clazz.getGenericSuperclass(), index);

    if (superClassGenericType instanceof TypeVariable) {
        return (Class<?>) getGenericTypeBound(clazz, ((TypeVariable) superClassGenericType).getName());
    }

    return (Class<?>) superClassGenericType;
}

Probably could replace that method with something like Java Classmate. Shouldn't be hard.