Dask dependency management plugin for coffea-casa

[ ] Develop a custom Dask nanny plugin that will allow to ship dependencies (e.g files, directories). See more about existing plugins at http://distributed.dask.org/en/latest/plugins.html#nanny-plugins
[ ] Test it with topcoffea notebook
[ ] Contribute code to https://github.com/dask/distributed

Related issues:

https://github.com/CoffeaTeam/coffea-casa/issues/170
https://github.com/CoffeaTeam/coffea-casa/issues/112

Current status:

Andrew started looking at the nanny plugins.
Main issue: Accessing logs for the nanny process.
Issue: Getting nanny to talk back to the scheduler.  Need to figure out this: https://github.com/CoffeaTeam/coffea-casa/commit/24b94cb174ea3636c2555c6d76e7a8f95fd6b99a
Suggestion: Switch completely to the laptop.  Run pure Dask setup using the same version of Dask in the image.  Don't bother with coffea-casa until there's a prototype plugin.

Note on the plugin itself.  It needs to:

Ship file-based dependencies (files/directories)
Ensure those dependencies are in the right PYTHONPATH.
Potentially do a conda install given a requirements.txt.
Handle versioning.  Ensure the version of all the above is known by the Dask scheduler.  Nannys shouldn't allow a worker to start unless their "version" matches the Dask scheduler.

Example: can do the checksum of all the input files and requirements.txt.
Goes toward having a "race condition free" dependency management.

These are the changes I'd made to add a --nanny-port argument to the worker.
https://github.com/dask/distributed/compare/main...jthiltges:nannyport

Another direction to consider here is to leverage the new ability of cloudpickle 2.0 to serialize modules: https://github.com/cloudpipe/cloudpickle/pull/417

@Andrew42 check README in https://github.com/oshadura/dask-custom-docker to have some idea how to local development until I will put coffea-casa in Minikube

@oshadura and I have been working on setting up a k8s+docker+helm local deployment of dask in an effort to mirror the coffea-casa production environment. After a lot of debugging and adjustments to the helm charts setup I think we've finally got the workers to startup with a nanny process at a host+port that it could correctly broadcast back to the scheduler and which also allows for the nanny process to communicate back and forth with the user dask Client.
So now we're able to utilize NannyPlugin type classes such as the UploadDirectory plugin and we see it correctly sending the packaged directory over to the worker nodes. The immediate next steps from my side are going to be to figure out how to have the plugin register some sort of versioning info with the scheduler, so that it can identify when a local copy of the packaged code differs from the ones that are deployed on the workers and then automatically replace the out-of-date code on the workers.

So I think it is going to depend on how exactly your code runs, namely the part that runs on the worker.
In any case, I agree that it doesn't look like transfer_input_files actually moves anything to the worker:
import os
import dask
import pathlib
from dask.distributed import Client
from coffea_casa import CoffeaCasaCluster

directory = "tmp_test"

if not os.path.exists(directory):
    os.makedirs(directory)

with open(pathlib.Path(directory) / "foo.py","w") as f:
    f.write("x = 123")
with open(pathlib.Path(directory) / "bar.py","w") as f:
    f.write("from foo import x\n")
    f.write("print(x)")

cluster = CoffeaCasaCluster(job_extra={'docker_image': "coffeateam/coffea-casa-analysis:latest",'transfer_input_files': "tmp_test"})
host = os.getenv("HOST_IP")
client = Client(f"tls://{host}:8786")

print(client.run(os.listdir))
print(client.run(os.listdir,"dask-worker-space"))

Now if all you want to do is get a directory onto the worker so that your code can access some static data content, you can try using the dask UploadDirectory plugin:
from distributed.diagnostics.plugin import UploadDirectory
client.register_worker_plugin(UploadDirectory(directory,restart=True,update_path=True),nanny=True)

print(client.run(os.listdir,"dask-worker-space"))
print(client.run(os.listdir,"dask-worker-space/tmp_test"))

Which should show that your directory exists on the worker machine.

I am trying the UploadDirectory now, but I am still encountering the error.  perhaps you can help me debug what I'm doing wrong?
For some context, my processor found at TTbarAllHadUproot/TTbarResProcessor.py is directly dependent on correction files.  The first corrections that I am using are TTbarAllHadUproot/CorrectionFiles/SFs/bquark/subjet_btagging.json.gz.
Here is how I defined my client, and check to see that my directory was uploaded:
        cluster = CoffeaCasaCluster(
            job_extra = {
                'docker_image': 'coffeateam/coffea-casa-analysis:latest',
                'transfer_input_files': 'TTbarAllHadUproot/CorrectionFiles/SFs/bquark/'
            }
        )

        client = Client(cluster)

        client.register_worker_plugin(UploadDirectory('TTbarAllHadUproot',restart=True,update_path=True),nanny=True)
        print()
        print(client.run(os.listdir,"dask-worker-space")) #TTbarAllHadUproot Directory should be here
        print(client.run(os.listdir,"dask-worker-space/TTbarAllHadUproot/CorrectionFiles/SFs/bquark/")) #List correction files

After running the job, I am given some information about the cluster, followed by my print statements before preprocessing my dataset.
/opt/conda/lib/python3.8/site-packages/dask_jobqueue/core.py:20: FutureWarning: tmpfile is deprecated and will be removed in a future release. Please use dask.utils.tmpfile instead.
  from distributed.utils import tmpfile
{'job_extra': {'universe': 'docker', 'docker_image': 'coffeateam/coffea-casa-analysis:latest', 'container_service_names': 'dask', 'dask_container_port': 8786, 'transfer_input_files': 'TTbarAllHadUproot/CorrectionFiles/SFs/bquark/', 'encrypt_input_files': '/etc/cmsaf-secrets/ca.pem, /etc/cmsaf-secrets/hostcert.pem, /etc/cmsaf-secrets/xcache_token', 'transfer_output_files': '', 'when_to_transfer_output': 'ON_EXIT', 'should_transfer_files': 'YES', 'Stream_Output': 'False', 'Stream_Error': 'False', '+DaskSchedulerAddress': '"tls://ac-2emalik-2ewilliams-40cern-2ech.dask.coffea.casa:8786"'}, 'protocol': 'tls://', 'security': Security(require_encryption=True, tls_ca_file=Local (/etc/cmsaf-secrets/ca.pem), tls_client_cert=Local (/etc/cmsaf-secrets/hostcert.pem), tls_client_key=Local (/etc/cmsaf-secrets/hostcert.pem), tls_min_version=771, tls_scheduler_cert=Local (/etc/cmsaf-secrets/hostcert.pem), tls_scheduler_key=Local (/etc/cmsaf-secrets/hostcert.pem), tls_worker_cert=Local (/etc/cmsaf-secrets/hostcert.pem), tls_worker_key=Local (/etc/cmsaf-secrets/hostcert.pem)), 'log_directory': 'logs', 'silence_logs': 'DEBUG', 'scheduler_options': {'port': 8786, 'dashboard_address': '8787', 'protocol': 'tls', 'external_address': 'tls://ac-2emalik-2ewilliams-40cern-2ech.dask.coffea.casa:8786'}}

{'tls://ac-2emalik-2ewilliams-40cern-2ech.dask-worker.coffea.casa:8788': ['global.lock', 'purge.lock', 'TTbarAllHadUproot', 'worker-9rdsy2pv', 'worker-9rdsy2pv.dirlock']}
{'tls://ac-2emalik-2ewilliams-40cern-2ech.dask-worker.coffea.casa:8788': ['subjet_deepCSV_106XUL16postVFP_v1.csv', 'DeepCSV_106XUL17SF_V2.csv', 'subjet_btagging.json.gz']}

I can see that my directory, and in turn all of the relevant paths, have been uploaded.  However, after preprocessing, the job still fails giving me the following error:
Traceback (most recent call last):       ] | 8% Completed | 45.0sin  0.2s
  File "/opt/conda/lib/python3.8/site-packages/coffea/processor/executor.py", line 1542, in _work_function
    out = processor_instance.process(events)
  File "/home/cms-jovyan/dask-worker-space/TTbarAllHadUproot/TTbarResProcessor.py", line 765, in process
    btag_sf = correctionlib.CorrectionSet.from_file(SF_filename)
  File "/opt/conda/lib/python3.8/site-packages/correctionlib/highlevel.py", line 186, in from_file
    return cls(open_auto(filename))
  File "/opt/conda/lib/python3.8/site-packages/correctionlib/highlevel.py", line 19, in open_auto
    with gzip.open(filename, "rt") as gzfile:
  File "/opt/conda/lib/python3.8/gzip.py", line 58, in open
    binary_file = GzipFile(filename, gz_mode, compresslevel)
  File "/opt/conda/lib/python3.8/gzip.py", line 173, in __init__
    fileobj = self.myfileobj = builtins.open(filename, mode or 'rb')
FileNotFoundError: [Errno 2] No such file or directory: 'TTbarAllHadUproot/CorrectionFiles/SFs/bquark/subjet_btagging.json.gz'

Is it possible your issue is just a relative path difference? UploadDirectory (which is technically a nanny plugin) uploads the inputs to dask-worker-space, but when your code gets executed on the remote worker, I believe it runs from one directory up. So when your code looks for TTbarAllHadUproot/CorrectionFiles/SFs/bquark/subjet_btagging.json.gz, it can't find it b/c that directory is under dask-worker-space.
I'm not sure why the memory shows up as zero, maybe @oshadura can comment on this? You're also starting up your own CoffeaCasaCluster as part of your runtime script, but typically the way things are supposed to be set up is that you have a scheduler started automatically for you which runs in the background and you connect to it via the dask Client API and the scheduler then goes out and requests workers to do w/e jobs need doing.
The restart=True bit might not be needed in your case since you're starting up your cluster as part of your script, but typically when the scheduler is running independent of your script what happens is that if you re-run your script and re-register the plugin, the scheduler will see that it has already been registered with the worker you had from your previous running and therefore it won't try to re-upload the content. In your case, this might not be a big deal as you might not be making changes to your SF files on a regular basis, but if you did make a change it wouldn't get propagated to any of the workers that were already connected and to make things even more confusing, the new changes would show up in any new workers that connect to your job. So the restart=True option is to force your workers (rather the supervising nanny process) to start with a clean slate.


PV Report Template issue with TPO PPA price

Within the PV Report, there is an issue with the third-party ownership PPA price being displayed as 0.

Fixed in bce417bf6e14ce4a31f73b0380c6baa56c92355a


Add ability to edit variable value

Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
Currently, when you click on a variable, you can edit which environment variable is selected using a dropdown. Below, there is a "Live Preview". It would be nice if in the "Live Preview" textarea we could edit the value stored in the variable.
It would be nice if this could be done for the "Edit Tag" modal as well. We have several CRUD requests hooked up where the update URL references the ID returned in the create request using the "Response -> Body Attribute". If I have an ID that I got from somewhere else I want to be able to use that without having to stomp on the work done to hookup the "Response -> Body Attribute".
Describe alternatives you've considered
To avoid stomping on the "Response -> Body Attribute", I've considered duplicating the request and using a plain variable but I don't like the idea of having so many duplicate requests.
Additional context
Add any other context or screenshots about the feature request here.

I would like to see this happen too


Radar pointcloud preparation in NuScenes dataset

Hi, thank you for the great codebase.
I am trying to implement radar-camera fusion for object detection.
I want to know if minimal modification is required to collect N-sweeps of radar pointcloud instead of  lidar pointcloud?
One possible way I guessed is from nuscenes_converter.py#line206 and points loading process.
But it seems that I need to deal with the data dimension problem from the difference between lidar pointcloud and radar pointcloud.
Could you give me any hints?

[update]
After following the tutorial for custom data pipeline, I added my radar pointcloud loading module with N-sweeps data collection.
Note that the radar data collection method is from NuScenes official API which provides 18-dims data for a radar point.
I just regarded the radar points as LiDARPoints currently, hope it will be OK...
sample_instance = self.nusc.get('sample', results['sample_idx'])
radar_pointcloud, timestamps_list = RadarPointCloud.from_file_multisweep(self.nusc, sample_instance, chan="RADAR_FRONT", ref_chan="LIDAR_TOP", nsweeps=self.sweeps_num)
# Nuscene official accumulated pointcloud -> mmdet3d LiDARPoints
points = mmdet3d.core.points.LiDARPoints(tensor=torch.from_numpy(radar_pointcloud.points.transpose()), points_dim=self.load_dim)

I will keep going and close the issue later if it goes well.

Hi, glad to know your attempts to incorporate radar information. I do not play much with radar points, but I could share some basic experience about it.

Typically radar points do not have accurate height information, so we often set it to 0. They are usually used in the bird view where height information is not necessary.

@coolcat647
Hi, have you worked out the radar data stream processing? Could you provide more details about that?
I will be very appreciative if you can do me a favor.

Thanks a lot! Best wishes!


loading page as ajax request

Hi,
is some option to load page with ajax request?
In framework what i am using is function to detect ajax request and i can overload page styles to "naked style".
Idea:
1)If i click to button where is link to page with parameter "?nostyle=true" lightbox load page via ajax and my system overload styles for lightbox view (without header, footer, etc - naked)..

If i click to same button but open link in new window / tab, page was with standart styles (with header, footer etc).

It's possible?
Thanks

No, sorry. Lity doesn't support loading contents via ajax.


CSS border behaving strangely

When i add a border to a SketchField via a CSS style page it appears 6-8 pixles inside of the SketchField on the right side. Dose anyone know why this is and/or how to fix it?

@homomnomassassin it appears that increasing the border thickness, moves the whole drawing to the left, proportionally. Indeed strange behavior, will look into this.

@homomnomassassin The reason behind this behavior is that the canvas dimensions are calculated and set inline. When a border is set on the parent elements, is not considered in the calculations, and the canvas element overflows.
You may consider 3 approaches:
Setting the border via a js variable and taking it into account on the calculation of the canvas width
On class .canvas-area set your desired border and add "overflow: hidden"
On class .canvas-area instead of setting border, you may achieve the desired effect using outline. (a side-effect here is that the outline grows on the outside eliminating the surrounding space)


Keeping track of line numbers

In https://github.com/IainNZ/Coverage.jl/pull/36, I'm trying to leverage this to improve our accounting for code coverage. The biggest challenge is keeping track of line numbers appropriately. Here's a good example of the challenge (save this to a file /tmp/testparser.jl):
f1(x) = 2x
if isdefined(:f1)
    f2(x) = 3x
end
f3(x) = 4x

Here's what comes from parsing this file:
julia> io = open("/tmp/testparser.jl")
IOStream(<file /tmp/testparser.jl>)

julia> ast = Parser.parse(io)
:(f1(x) = begin  # none, line 1:   # we're at line 1
            2x
        end)

julia> ast = Parser.parse(io)
:(if isdefined(:f1) # line 2:
        f2(x) = begin  # none, line 2:   # we're at line 2+1 = 3
                3x
            end
    end)

julia> ast = Parser.parse(io)
:(f3(x) = begin  # none, line 1:    # we're at line 1+3 = 4?
            4x
        end)

Because the end doesn't get its own line number, it doesn't seem possible to keep track of the line number just by looking for :line exprs or LineNumberNodes.

Much less important now that I used a hack in Coverage.jl](https://github.com/timholy/Coverage.jl/commit/c244d43df3c393e877a40cc2dea395be5a2de59f). In several respects this hack is probably the right way to do it; there's no bookkeeping of any kind, so no risk you'll ever be wrong.
I'll let you decide what you want to do with this issue.

I want to preserve compatibility with the scheme parser.  We could have the parse function take a line parameter to initialize the parse state, the reported line number would be offset from this based on the input stream.  I think this is more of a limitation of how we do line numbers in general.


Zlib error

Hi,
I've a strange issue while running gulp tasks on the CI(Linux machine). It continues to break up in the middle exactly at the favicon generation task. Follows, the error message,

events.js:85
     throw er; // Unhandled 'error' event
Error: invalid distance too far back
    at Zlib._handle.onerror (zlib.js:366:17)

Seems some problem with Zlib module(http://stackoverflow.com/questions/27039415/error-when-using-zlibinflate-invalid-distance-too-far-back).
Though, I never get such error at my dev(windows machine) environment. Any ideas?
By the way, thanks for the excellent favicon npm module. Its very helpful.

Hey @senthanal, merging this issue into Favicons 4.0. I'd love for you to join in the discussion: #51


When creating new session, stuck at ap resolver

Describe the bug
Cannot connect, stuck at ap resolver
To Reproduce
Using https://github.com/librespot-org/librespot-java/tree/dev/lib example
Some code snipped i used, https://hastebin.de/wurexutoqo.java
Expected behavior
Should connected to spotify
Screenshots/Stracktraces/Logs

Version/Commit
v1.6.2

Without seeing your code it's hard to know if it's an issue with your implementation or librespot-java itself. I think the issue is you're not instantiating the player correctly.

Try removing the locale, I'm not sure whether US is a valid locale. Also how do you know it's not connecting to Spotify?

if its connected the logs will show this,

Try removing the locale, I'm not sure whether US is a valid locale. Also how do you know it's not connecting to Spotify?

thanks, that fixes my issues


EDIT: Instagram, DuckDuckGo failed with error 0

EDIT: Upon more testing, it's primarily Instagram and DuckDuckGo.  Twitter seems to work.  Instagram hashtag search works, but username search does not.
Host is OpenBSD 6.5.  This issue cropped up after upgrading from OpenBSD 6.4; I received error 500 on every site, so I re-pulled rss-bridge from git.  Now I'm getting the below error for every site. I've verified /etc/ss/cert.pem exists, and I even have pulled it into the chrooted path.
On OpenBSD 6.4, everything worked as expected.
Error message: The requested resource cannot be found! Please make sure your input parameters are correct! cUrl error: error setting certificate verify locations:   CAfile: /etc/ssl/cert.pem   CApath: none (77) PHP error:
Query string: action=display&bridge=DuckDuckGo&u=test&sort=%2Bsort%3Adate&format=Atom
Version: git.master.33c16f8

Well, I don't know why, but somehow it fixed itself.  I'm am thoroughly confused.

Closing


New version: ONLYOFFICE.DesktopEditors version 8.2.1

Pull request has been created with WinGet Releaser :rocket:
Microsoft Reviewers: Open in CodeFlow

Manifest Error: Duplicate installer entry found.

@wingetbot run


Stack traceback when importing AirSkyBoat sql DBs

Trying to get a more accurate MobDB for the HorizonXI private server. When I acquire the necessary files from ASB and place them in the import folder, I receive a stack traceback when running the import command.
Addon 'mobdb' encountered an error during an event callback 'command'. Error: addons/mobdb/import_lsb:342: attempt to index local 'raw' (a nil value)
stack traceback:
addons/mobdb/import_lsb.lua: in function 'BuildDropTable'
addons/mobdb/import_lsb.lua:594: in function 'BuildTables'
\addons\mobdb\\mobdb.lua:91: in function <\addons\mobdb.lua:23>

I have confirmed the FFXIPATH variable in import_lsb.lua is set correctly to my game installation path.

There is no import folder, the folder it loads from is ashita/config/addons/mobdb/input/*.sql.  Given the error is also indicating the file wasn't loaded, I would assume you placed the files in the wrong location.

That said, mobdb's included data files are already generated from a relatively recent ASB branch.  I don't expect you'll gain much(anything?) from making them again, unless Horizon has started committing their custom changes somewhere or made them available.

Thanks Thorny, didn't realize the data was already included. Regarding the path, I mispoke--I have my sql files placed in .\config\addons\mobdb\input. Mixed up the term input and import in my report.

To be clear, that specific error is happening here:
    local raw = io.open(string.format('%sconfig/addons/mobdb/input/mob_droplist.sql', AshitaCore:GetInstallPath()));
    local lines = raw:lines();```

So, I do not believe it to be an actual error in mobdb.  It seems more likely that you have placed the files in the wrong location, or missed the mob_droplist.sql file, or have a permissions issue on your machine.

Closing this as there was no further comment and the error itself indicates a failure to access input files, not a flaw in the code.


Game resumes on incorrect puzzle

A user writes:

I am wondering why it keeps going back to puzzle 16. I am playing them in order and am up to 120 but for some reason it keeps going back to puzzle 16. I have saved it on 115 but that didn't solve my problem.

Duplicate of #37.


How to add Images in Background

Hi,
Please tell how can images be added in the slides background.

Hey! In the end, the  container is just a block element and you can do with it what you want. So for example, you could assign a class and add a background-image with css. You can also put HTML inside the  container.


Stateful stubbing appears to automatically retry requests

Issue guidelines
If you're asking a question, rather than reporting a bug or requesting a feature, please post your question on the mailing list, and do not open an issue.
Please do not log bugs regarding classpath issues (typically manifesting as 'NoClassDefFoundException' or 'ClassNotFoundException').
These are not WireMock bugs, and need to be diagnosed for your project using your build tool. Plenty has already been written in WireMock's issues and mailing list about how to resolve these issues
so please search these sources before asking for help.
Bug reports
We're a lot more likely to look at and fix bugs that are clearly described and reproduceable. Please including the following details when reporting a bug:

[x] Which version of WireMock you're using: com.github.tomakehurst:wiremock-jre8-standalone:2.27.2 (latest)
[x] How you're starting and configuring WireMock, including configuration or CLI the command line

import com.github.tomakehurst.wiremock.WireMockServer;
import com.github.tomakehurst.wiremock.http.Fault;
import com.github.tomakehurst.wiremock.stubbing.Scenario;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
import static com.github.tomakehurst.wiremock.client.WireMock.anyUrl;
import static com.github.tomakehurst.wiremock.client.WireMock.get;
import static java.nio.charset.StandardCharsets.UTF_8;

public class Main {

    public static void main(String[] args) throws Exception {
        final WireMockServer w = new WireMockServer();
        w.stubFor(get(anyUrl())
                .inScenario("scenario")
                .whenScenarioStateIs(Scenario.STARTED)
                .willSetStateTo("second")
                .willReturn(aResponse().withFault(Fault.CONNECTION_RESET_BY_PEER)));

        w.stubFor(get(anyUrl())
                .inScenario("scenario")
                .whenScenarioStateIs("second")
                .willReturn(aResponse().withBody("success!")));

        w.start();

        final HttpURLConnection con = (HttpURLConnection) new URL(w.baseUrl()).openConnection();
        final InputStream is = con.getInputStream();
        final ByteArrayOutputStream os = new ByteArrayOutputStream();
        int read;
        final byte[] buf = new byte[1024];
        while ((read = is.read(buf, 0, buf.length)) != -1) {
            os.write(buf, 0, read);
        }
        os.flush();

        System.err.println("response: " + new String(os.toByteArray(), UTF_8));
        System.err.println("requests to server: " + w.getAllServeEvents().size());

        w.stop();
    }
}

[x] A failing test case that demonstrates the problem

See above. I'd expect only a single request to be made to the server. Actual output:
response: success!
requests to server: 2

[ ] Profiler data if the issue is performance related

Feature requests
Please include details of the use case and motivation for a feature when suggesting it.
I am attempting to test an application that has retry logic for retrying on IOException. My application's tests pass even when I disable retry. My expectation is that making a single client request would only result in a single response from the server (the mapping that simulates a network fault). I've reproduced the issue using the minimal example included above. Am I misconfiguring something?

From running this code with a tcpdump going, it seems it's HttpURLConnection that's doing the retrying, and that this behaviour is intentional and hard-coded: https://dzone.com/articles/pola-and-httpurlconnection
I'd suggest using a better HTTP client TBH, HttpURLConnection is crap in all sorts of ways.

I'd ask you to reopen this. I only used HttpURLConnection to simplify the example. Here's the same issue reproduced using OkHttp. If its an internal retry implementation by these HTTP clients, is there a way to have wiremock return a response that would throw some kind of IOException?
import com.github.tomakehurst.wiremock.WireMockServer;
import com.github.tomakehurst.wiremock.http.Fault;
import com.github.tomakehurst.wiremock.stubbing.Scenario;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
import static com.github.tomakehurst.wiremock.client.WireMock.anyUrl;
import static com.github.tomakehurst.wiremock.client.WireMock.get;

public class Main {

    public static void main(String[] args) throws Exception {
        final WireMockServer w = new WireMockServer();
        w.stubFor(get(anyUrl())
                .inScenario("scenario")
                .whenScenarioStateIs(Scenario.STARTED)
                .willSetStateTo("second")
                .willReturn(aResponse().withFault(Fault.CONNECTION_RESET_BY_PEER)));

        w.stubFor(get(anyUrl())
                .inScenario("scenario")
                .whenScenarioStateIs("second")
                .willReturn(aResponse().withBody("success!")));

        w.start();

        final Response res = new OkHttpClient()
                .newCall(new Request.Builder().url(w.baseUrl()).build())
                .execute();

        System.err.println("response: " + res.body().string());
        System.err.println("requests to server: " + w.getAllServeEvents().size());

        w.stop();
    }
}

response: success!
requests to server: 2

Web servers can't make clients perform a retry, that's entirely at the client's discretion.
You can prevent OkHttpClient from retrying like this:
OkHttpClient client = new OkHttpClient.Builder()
                .retryOnConnectionFailure(false)
                .build();

If you want a response that's more likely to make the client throw an exception regardless of retry config, I'd suggest trying Fault.MALFORMED_RESPONSE_CHUNK


Issue while replacing * when a string contains a matching word

Hello all,
I have used below code to replace my words list using this package. This doesn't work anymore when string contains word surrounds with extra characters.
`var Filter = require('bad-words');
var filter = new Filter({regex: /w/gi, list:['bad','word','some']});
filter.clean(" sobad wordme! sometimes");`
Thanks

Resolved with https://github.com/web-mech/badwords/releases/tag/v1.6.0

Downgrading from current version to 1.6.0 fixed this for me


Some question about LogMessageTime

Hi! I have a few questions about LogMessage.
https://github.com/google/glog/blob/3a0d4d22c5ae0b9a2216988411cfa6bf860cc372/src/glog/logging.h.in#L103-L120

Why don't these member functions return int  directly ?
Why does the LogMessage::min(Line 111) have one more parenthesis than other member functions ?
Thanks.

What issue are you trying to solve?

What issue are you trying to solve?

nothing, just some questions in the process of reading the code.

What issue are you trying to solve?

nothing, just some questions in the process of reading the code.

I just think int and int32_t are basic types, there is no need for reference.

This is an issue tracker not a Q&A site. Unless you want to discuss specific code issues and demonstrate the problem that requires genuine attention, your questions are better suited elsewhere. Thanks.


Advanced Paste problem

I would like to paste several rows without erasing existing data. When doing advanced paste for several rows existing data will be ovewritten.
I have tried to insert a new row but the new row is alwawys inserted above the last previously existing line. This means the last line will be overwritten. If I try to sort after inserting a row the new row will dissapear. I have also tried to insert a new row and adding some fake data, then sorting so it ends up last and then paste advanced. The last method sort of works but it is unnessecarily cumbersome and it is problematic. E.g. the fake values need to be such that it sorts last and does not violate key constraints.
The problem could be resolved in at least 3 ways:

Insert inserts a new row after the last one rather than above currently
Allow an advanced paste command that paste to end of table regardless of what part of the table is selected
Do as in PgAdminIII and MS Access: Always secure a blank row at the end of the table for pasting/inserting new data.

Agreed, pasting a bunch of new rows isn't very convenient.
1 is configurable in preferences (insert after or before current row). I think I'll made "insert after" default.
2 won't work because table may have a lot of rows.
3 will require major code change + I don't like this UI.
Maybe this can be solved like this: if you perform advanced paste over a new row (after alt+insert) then all rows will be inserted as new rows. Otherwise overwrite will be done.

You can check fixed paste in EA (http://dbeaver.jkiss.org/files/ea/)

Wow! Thank you!
It works perfectly now!!!
By the way I love the dbeaver: the UI, the responsivness, the functionality, java base. And on top of that the advanced copy/paste sets it aside from competition in a really big way.
I could never settle for one of the "browser"/wen-components ones. All productivity applications should follow dbeavers suite in design philosophy!


DnD Character Creation

I want a DnD character creation app.  Very phone friendly with a BIG red "Roll a new Character" button.
To start, it should auto-gen your four major attributes:

Alignment: lawful, neutral, chaotic
Alignment: good, neutral, evil
Race: Dragonborn, Dwarf, Eladrin, Elf, Gnome, Half-elf, Half-orc, Halfling, Human, Tiefling
Class: Barbarian, Bard, Druid, Monk, Paladin, Ranger, Sorcerer, Warlock

You should be able to pick your version of the Player's handbook.  Here is information:

Races
Classes

Stretch goals:

auto-generate names
auto-roll stats (this would require more research

In retrospect, this could get quite complicated.  There is a LOT of possible detail here.
https://jsfiddle.net/ucLnsr9j/1/

Here is a better template: https://jsfiddle.net/jsg1f7yr/

I need to link to where I found some of the content........


Create combined translation keys file

@bpostlethwaite @alexcjohnson for your review

Since this 'makes' another build artifact required to run in prepublish you could give it a make:? name.
:dancer: other than that!

haha this approval button's pretty strict, another 👀  @bpostlethwaite ?

ok, how about those filenames? and also changed some scripts around


Request for Page

Do you have plan to update it? Maybe like add pages with tab button? Thanks!

This is an old project of mine that will more than most likely no longer be updated since it would require a lot of work to keep it up to date with Fusion. Right now it's not stable enough to justify spending time on a component library that I personally don't need.


Table of contents, focus border is not going away on active item

Detailed description
Describe in detail the issue you're having.
When clicking on the TOC, the 2px focus border appears but does not disappear when the page moves to that selected section.

Is this a feature request (new component, new icon), a bug, or a general issue?
Bug
Is this issue related to a specific component?
TOC
What did you expect to happen? What happened instead? What would you like to see changed?
The 2px border should not remain once the page and indicator reaches the selected section. Only the blue sidebar/scroll indicator should remain on an active item.
Desired:

What browser are you working in?
Chrome
What offering/product do you work on? Any pressing ship or release dates we should be aware of?
Web simplification / IBM.com reboot
Steps to reproduce the issue
Test this on the Learn page: http://ibmdotcom-nextjs-test.mybluemix.net/learn.html
Additional information
The behavior is correct when scrolling on the page. This is only a problem when clicking through TOC items.

FYI @ltitle

@Praveen-sr @chetankan Can you take a look at this issue.  Linda and Jeff would like to talk to you about whether "fixing" this problem will present accessibility issues.
cc:  @ljcarot @jeffchew

Ram will investigate and provide an update.

This behavior is a by product of the Accessibility fix included in issue (#1395).  Closing this design issue.


Support x: tags in styles.xml

The XML tags in styles.xml sometimes have an extra x: which messes up parse_sty_xml
<x:cellXfs count="2">
    <x:xf numFmtId="0" fontId="0" fillId="0" borderId="0" xfId="0" />
    <x:xf numFmtId="14" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1" />
</x:cellXfs>

(see https://social.msdn.microsoft.com/Forums/vstudio/en-US/a72442fd-a1a6-446e-9416-876f7669d8e2/openxml-excel-date-formatting for more examples)
This is a simple fix for the problem

@tombousso Do you have, or can you generate, a sample file?

problem.xlsx
Here's a sample file. In Excel and Libreoffice it will be recognized as a date, but js-xlsx does not currently recognize it as a date

Thanks for the fix!

We amended the commit, so unfortunately github will show this PR as closed.  If you link your email address to your account, it will show you as a contributor to the project.


added qtile colorscheme

Summer colorscheme for Qtile
Made a simple colorscheme for qtile using python. It comes with a INSTRUCTIONS.md file for ease of use.

I have only added the base palette, pastel version may be added later.

Nice


Add missing semicolons.

Add missing semicolons.

Looks like the style of the codebase is to use not semicolons? And checking package.json- it's using https://github.com/feross/standard

Thanks for taking the time to create a PR, but yes it's on purpose.


Package Manager with "12-18-b" Snapshot release of Swift fails to build Curassow

Hello,
I've had success building a small example app with the 12-01 Swift snapshot release, but the new 12-18 snapshot release appears to break building Curassow. I'm targeting the 0.2 release of Curassow in my package file, and it's the only dependency I directly declare. Below is the results of running swift build.
I tracked this down to the SPM throwing an error in https://github.com/apple/swift-package-manager/blob/master/Sources/dep/Manifest+configureTargets.swift#L51 but I can't immediately see why this happens.
$ swift build
Cloning Packages/Curassow
Using version 0.2.0 of package Curassow
Cloning Packages/Nest
Using version 0.2.1 of package Nest
Cloning Packages/Inquiline
Using version 0.2.2 of package Inquiline
Cloning Packages/Commander
Using version 0.4.0 of package Commander
Compiling Swift Module 'Nest' (1 sources)
Linking Library:  .build/debug/Nest.a
Compiling Swift Module 'Inquiline' (3 sources)
Linking Library:  .build/debug/Inquiline.a
Compiling Swift Module 'Commander' (8 sources)
Linking Library:  .build/debug/Commander.a
swift-build: Your source structure is not supported due to conflicting directories: /path/to/project/Packages/Curassow-0.2.0

Other data:
OS: Ubuntu 14.04 (so I'm using the -b snapshot build)
$ uname -a
Linux ubuntu 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

$ swift --version
Swift version 2.2-dev (LLVM 3ebdbb2c7e, Clang f66c5bb67b, Swift 0ddf238ad7)
Target: x86_64-unknown-linux-gnu

@stupergenius I think you just need to run swift build --clean to delete binary builds compiled with the older swift.
$ swift build --clean
$ swift build

Actually, I can confirm it's broken. I'll take a look, thanks for reporting.

Figured it out, with the presence of example.swift in the root of the repository, newer versions of SPM fail.

Awesome, thanks!


Unable to start debugging. GDB exited unexpectedly.

Brief Issue Summary
Hi everyone,
I just set up cmake with a medium sized c++ project using g++ that came with the msys64 installation. The program runs and compiles as expected. However, when I want to debug (I go into the cmake tools section, right click on my project and click debug), the debugging doesn't start. It crashes with the message:
ERROR: Unable to start debugging. GDB exited unexpectedly.

The program 'C:\Users\rueffe01\Documents\vscode_projects\mm_ionsimulator\build\mm_ionsimulator.exe' has exited with code 0 (0x00000000).

ERROR: During startup program exited with code 0xc0000139.

My CMakeList.txt looks as follows:
cmake_minimum_required(VERSION 3.0.0)
project(mm_ionsimulator VERSION 0.1.0)

include(CTest)
enable_testing()

add_library(
    mm_ionsimulatorlib
    dicer.h
    dicer.cpp
    dp45.h
    dp45.cpp
    fft.h
    fft.cpp
    parser.h
    parser.cpp
    potentials.h
    potentials.cpp
    rk4_fixed.h
    rk4_fixed.cpp
    rk4_adaptive.cpp
    temperature.h
    temperature.cpp
)

add_executable(mm_ionsimulator main.cpp)

target_link_libraries(mm_ionsimulator PRIVATE mm_ionsimulatorlib)

set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
include(CPack)

This is my CMake: Log Diagnistics output:
{
  "os": "win32",
  "vscodeVersion": "1.62.3",
  "cmtVersion": "1.9.1",
  "configurations": [
    {
      "folder": "c:\\Users\\rueffe01\\Documents\\vscode_projects\\mm_ionsimulator",
      "cmakeVersion": "3.21.4",
      "configured": true,
      "generator": "MinGW Makefiles",
      "usesPresets": false,
      "compilers": {
        "C": "C:/msys64/mingw64/bin/x86_64-w64-mingw32-gcc.exe",
        "CXX": "C:/msys64/mingw64/bin/x86_64-w64-mingw32-g++.exe"
      }
    }
  ],
  "cpptoolsIntegration": {
    "isReady": true,
    "hasCodeModel": true,
    "activeBuildType": "Debug",
    "buildTypesSeen": [
      "Debug"
    ],
    "requests": [],
    "responses": [],
    "partialMatches": [],
    "targetCount": 30,
    "executablesCount": 1,
    "librariesCount": 1,
    "targets": []
  },
  "settings": [
    {
      "communicationMode": "automatic",
      "useCMakePresets": "auto",
      "configureOnOpen": true
    }
  ]
}

I'm thankfull for any help I can get on this.
Cheers,
Luca

We've had a lot of trouble with the msys64 environment in the past, and I'll be honest, we're not experts in that system. I would venture a guess that the target being debugged is not launched in the correct environment and immediately exits.  Is your executable capable of running correctly outside of that environment?

Hey, sorry for my late reply.
Yes, I can run my executable outside the environment.

Hey,
so just a quick update:
So apparently it works now. The problem I was having originally was that I was unable to compile a program that was able to compile before without changing any code of that program. I'm assuming that this was caused by some internal software update that my company is doing regulary. It might also be this update that caused the problem with the debugger.
Now everything works fine again without me doing anything... Good I hate these random updates...
Thank you for your time!

Ok. Glad to hear you're unblocked!


Add Responsive Footers

Add responsive footers with different animations and stylings

Please assign me this issue

@pranjay-poddar
please assign me this issue

@pranjay-poddar please assign me this issue

I would like to work on this issue @pranjay-poddar  please assign it to me

I would like to work on this issue. Can you please assign this issue to me. @pranjay-poddar

Want to made the footer responsive. Can you please assign this issue to me. @pranjay-poddar


Cannot properly install necessary node modules

I've been experiencing this issue for the past few hours.

Research says that this is usually because of slow Internet connection (because I am not hiding behind a proxy).
I won't be able to resolve this quickly, so I will have to resort on uploading files and folders manually into the repo.

Update:
Decided to do a risky move by copying the node_modules folder from the existing folder I had before uploading the files in the repo.
Worked out alright.


weird artefact to shapekeys

Tested versions
4.2.1
System information
windows 11
Issue description

Steps to reproduce
test5multiple_shapes.zip
Minimal reproduction project (MRP)
As seen in the ss there is a weird artefact. I attached the GLTF file as zip. All this happens in the editor. It flickers and sometimes it appears normal.
Not a big bug or anything.

this is how it should look like

Vulkan API 1.3.250 - Forward Mobile - Using Vulkan Device #0: Intel - Intel(R) UHD Graphics
Vulkan API 1.3.250 - Forward+ - Using Vulkan Device #0: Intel - Intel(R) UHD Graphics
same outcome

I tried the same file in Godot 3 and not only it does not work but it is worse. the whole mesh gets bigger as the part is ascending upward. Maybe it helps.


Data Science With Python : Local Convolutional Features with Unsupervised Training for Image Retrieval

Description
Welcome to the 'DSWP' Team, good to see you here
With this issue, readers will get introduced to core information to Local Convolutional Features with Unsupervised Training for Image Retrieval along with sample code completely in an effective way.
To get assigned to this issue, add your serial numbers mentioned in the spreadsheet of "Data Science with Python", the approach one would follow and the choice you prefer (Documentation, Audio, Video). You can go with all three or any number of options you're interested to work on.
If you had referred any resources, add them up in "DS Resources". Similarly, if you had used datasets, include them in "DS Datasets".
Domain: Computer Vision
Mentors Assigned: Dhruv Bajaj / Aishani Singh
Points to Note :
The issues will be assigned on a first come first serve basis, 1 Issue == 1 PR.
"Issue Title" and "PR Title should be the same. Include the issue number along with it.
Changes should be made inside the Datascience_With_Python/ directory & Datascience_With_Python branch.
Follow Contributing Guidelines & Code of Conduct before start Contributing.
This issue is only for 'GWOC' contributors of the 'DSWP' domain.
All the best. Enjoy your open source journey ahead. 😎
Domain
Datascience with Python
Type of Contribution
Audio, Video, Documentation
Code of Conduct

[ ] I follow Contributing Guidelines & Code of conduct of this project.

Name : Freny Reji
Serial No : 707 ( Batch 18)
Type : Documentation
Approach :  Explain Image retrieval using Convolutions features with the help of Keras

I would like to contribute to this issue.
Name: Kishlay Kumar
Serial number: 501
Type: Documentation
Approach: Explaining Image retieval using CNN , keras , tensorflow.

/assign

As issue is assigned on FCFS basis, this issue is assigned to @freny24 for documentation.
You can choose audio/video if you would like to. @kishlayaug15

I would like to contribute to this issue.
Name: Kishlay Kumar
Serial number: 501
Type: Audio
Approach: Explaining Image retieval using CNN , keras , tensorflow.

/assign

@prathimacode-hub can I start working for audio in this issue?
Will you allow it ?

@prathimacode-hub  The mentor has approved my documentation . He had told me to add libraries in requirements folder, I did it. kindly merge it.


Node improvements

In this PR:

Renamed STOP_HEIGHT env var to ORGA_STOP_HEIGHT
Made stop height handling more reliable
Prevent hiding Tendermint log errors when running nodes with simplified log output
Fixed issue where opening MerkStore in read-only mode would open snapshots with write access

Codecov Report

Merging #215 (b8a3bb4) into develop (c25f674) will decrease coverage by 0.14%.
The diff coverage is 0.00%.

:exclamation: Current head b8a3bb4 differs from pull request most recent head 0287251. Consider uploading reports for the commit 0287251 to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@             Coverage Diff             @@
##           develop     #215      +/-   ##
===========================================
- Coverage    59.61%   59.48%   -0.14%
===========================================
  Files           84       83       -1
  Lines        15274    15276       +2
===========================================
- Hits          9106     9087      -19
- Misses        6168     6189      +21

Files Changed
Coverage Δ

src/abci/mod.rs
0.00% <0.00%> (ø)

src/abci/node.rs
0.00% <0.00%> (ø)

src/merk/snapshot.rs
17.80% <0.00%> (-0.13%)
:arrow_down:

src/merk/store.rs
31.11% <0.00%> (ø)

src/tendermint/mod.rs
0.00% <0.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


record the lat/long of my first haul with a single button press

As a fisherman I would like to be able to record the lat/long of my first haul with a single button press https://github.com/StAResComp/sifids/issues/8

Should


Ch2 TFP - AttributeError: module 'tensorflow' has no attribute 'contrib'

https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers/blob/master/Chapter2_MorePyMC/Ch2_MorePyMC_TFP.ipynb
In the Tensorflow port of Chapter 2, there is an error when the first cell in run:
AttributeError                            Traceback (most recent call last)
<ipython-input-1-103d57c84299> in <module>()
     38
     39 import tensorflow as tf
---> 40 tfe = tf.contrib.eager
     41
     42 # Eager Execution

AttributeError: module 'tensorflow' has no attribute 'contrib'

@RyanMarten The notebooks need to be upgraded to the latest versions of tf and tfp, which Collab uses by default. If you downgrade the versions in Collab with the following code, the notebook works:
!pip install tensorflow-probability==0.6.0


jets: parse

For posterity, test benchmarking on my machine as of Dec 8:
Vere serf w/ full pill:                 3m  6s
Vere serf w/ slim pill:                 1m  5s
Ares serf w/ slim pill:                12m 25s
Ares serf w/ slim pill & parser jets:  12m  1s


Create item transport should work with the Mechanical Exchanger

Describe the Suggestion
Funnel, chute and other Create blocs that involve item transportation should work with the Mechanical Exchanger
Right now thé only block i know that Can import and export items in and out if the Mechanical Exchanger is the Hopper but it isn't practical and is very slow
Screenshots and Videos
No response
Additional Context
No response

nah it works, try again maybe. Keep in mind that it is like a furnace: you can only input in first slot, and you can only output in second slot

either that or you are using a version that doesnt work, in that case we may need the version so i dont spend 1 hour figuring out which one it is

well outputting doesnt work actually, it's a bug then

Okay i understand, I'll close this for now and I'll reopen if it doesn't work
I'm still annoyed that putting a funnel to the side of the block is not working, it's confusing to work with the block using belts with this behavior

nono, you are actually right, outputting is not working, at some point it got broken. I'm fixing it

I can confirm in 1.19.2 the chute doesn't work with this block


Dockerfile RUN don't support multiple lines

Dockerfile RUN don't support multiple lines
ENV: Mac OS
Docker Version: 1.13.0
RUN apt-get update && apt-get upgrade -y \
    && apt-get install -y curl wget git make sudo \
    && wget http://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb \
    && dpkg -i erlang-solutions_1.0_all.deb \
    && apt-get update \
    && rm erlang-solutions_1.0_all.deb \

A Dockerfile RUN command contain multiple lines as above,  when I build an image, an error jump out:
rupert in ~/Code/test/docker-phoenix λ docker build   .
Sending build context to Docker daemon 4.096 kB
Error response from daemon: Unknown instruction: &&

Then I switched docker version to 1.12.3,  it work well.
Output of docker version:
Client:
 Version:      1.13.0-rc2
 API version:  1.25
 Go version:   go1.6.3
 Git commit:   1f9b3ef
 Built:        Wed Nov 23 06:24:33 2016
 OS/Arch:      darwin/amd64

Server:
 Version:             1.13.0-rc2
 API version:         1.25
 Go version:          go1.6.3
 Git commit:          1f9b3ef
 Built:               Wed Nov 23 06:24:33 2016
 OS/Arch:             darwin/amd64

Output of docker info:
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 6
Server Version: 1.13.0-rc2
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 6
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: null host bridge overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 4.4.27-moby
Operating System: Alpine Linux v3.4
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.951 GiB
Name: moby
ID: FH53:CQG6:5IWC:OMT3:KF47:BTEN:5NJO:D26M:PRXA:52PB:H2QH:XARU
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 16
 Goroutines: 31
 System Time: 2016-12-06T09:15:58.524022168Z
 EventsListeners: 2
Username: rupertqin
Registry: https://index.docker.io/v1/
WARNING: No kernel memory limit support
Insecure Registries:
 <IP_ADDRESS>/8

I suspect you have a blank line in your RUN instruction. 1.13.0-rc2 contained a bugfix to prevent the Dockerfile parser from continuing parsing lines as part of the previousRUNStatement. However, people have started to rely on this bug, so we reverted that change for 1.13 (see https://github.com/docker/docker/issues/29005)
docker 1.13.0-rc3 has been released, and a new beta will be released soon; however, you should be able to fix this by removing the blank line.

Try this
RUN apt-get update && apt-get upgrade -y;     apt-get install -y curl wget git make sudo;
wget http://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb;     dpkg -i erlang-solutions_1.0_all.deb;
apt-get update;     rm erlang-solutions_1.0_all.deb;

Try using
RUN apt-get update && apt-get upgrade -y;`
apt-get install -y curl wget git make sudo;`
wget http://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb;`
dpkg -i erlang-solutions_1.0_all.deb;`
apt-get update;`
rm erlang-solutions_1.0_all.deb;`

@JamesNyamu that will only work if a custom escape character is set. If the issue is occurring on 1.13.0-rc2, but not on 1.12, it's most likely due to https://github.com/docker/docker/issues/29005, and fixed in 1.13.0-rc3

Have you got a space after any of the \? This is not correct, although I think we might have reverted the change, but it is not correct to have spaces after the continuation character.

@justincormack I got no space after \,  but some space before &&

Also make sure you have no line comments inside the RUN statements

Running Server Version: 1.13.0-rc3 if i have a trailing whitespace on ENV it fails.
For instance:
ciro@host02-dev:/tmp/teste$ docker build -t teste .
Sending build context to Docker daemon 2.048 kB
Error response from daemon: Unknown instruction: TEST2=ABC
ciro@host02-dev:/tmp/teste$ cat Dockerfile
FROM alpine

ENV test=abc \
    test2=abc

The change in behavior w.r.t. having trailing whitespace after a continuation-character looks to be because of https://github.com/docker/docker/pull/27146, which fixes the validation for this, so
/cc @duglin

right, this was basically a bug before - trailing whitespace after a \ should invalidate the semantics of \ being a continuation char.

@rupertqin can you upload your Dockerfile somewhere (not via cut and paste)? It looks like you must have a space after the \ which is invalid but used to work. But if it is not that we need to test it. I just tested DOS line endings and they dont seem to be an issue.

This should be fixed in 1.13.0-rc6. We reverted this change for now, so that we can work on a deprecation period (i.e., warn if a Dockerfile contains trailing whitespace), see https://github.com/docker/docker/issues/30010


Upload scanned text from PDF.

Maybe create a new temporary entity type? This will aid in the data entry process.

I've added the scans to a GCS bucket, made them available for public access.
Examples:

https://storage.googleapis.com/north-castle-veterans-site-scans/page-007.txt
https://storage.googleapis.com/north-castle-veterans-site-scans/page-007.jpg

Next step is to make these images available through an administrative page for added/editing veterans.


Canonicalize FSST arrays without branching

FSST saves the compressed bytes into a giant packed string heap (which is stored in a VarBinArray).
Canonicalizing currently requires decompressing each string one-at-a-time, so that we can get the uncompressed length to construct the new canonical VarBinAray. It turns out that VarBinArray::bytes_at() is incredibly expensive when it's backed by an ArrayView.
This PR instead

Decompresses the entire packed heap in a single call to the decompressor. This lets us spend all of our time in the hot decompress loop without expensive branches
Stores the uncompressed lengths for each string. When canonicalizing, we can turn this into an offsets array. Later when we are using VarBinView, we can use the lengths directly to build our BinaryView values.

TODO

[ ] Fix merge conflicts from the vortex_expect PR
[ ] Cascading-compress the uncompressed_offsets

Is bytes_at always slow or is it metadata deserialisation for arrayview, or is it something else? If it’s something about arrayviews we should investigate

Before

After

@robert3005 bytes_at spends all of its time in

ArrayView::child, which itself seems to spend lots of time in cumulative_nbuffers
Deserializing and validating metadata

I think this PR is the right thing to do regardless of performance issues in bytes_at, but I can file a ticket for tracking bytes_at.
FWIW this PR basically replicates what BtrBlocks does, the only difference being that we store both compressed and uncompressed string lengths b/c we need random access within the array, whereas BtrBlocks basically just does block-compression of the entire FSSTArray.

From_Clipboard.speedscope-4.json
^ speedscope export


Fail to build image: Failed to download `gnu' archive.

Trying to build the image with:
docker build . -t base

fails with Failed to download `gnu' archive.
A workaround is to add at the top of the init.d file the following:
(setq package-check-signature nil)

This allows the use of elpa, but then helm fails to install. I'll open another issue for the failure to install helm.

For the helm issue, this is actually caused by helm itself: https://github.com/emacs-helm/helm/pull/2205 Helm declared a dependency on helm-org, which depends on helm, and package.el can't handle circular dependencies.
For the first issue, emacs26 works fine as well, instead of disabling the signature verification

Melpa just got updated to helm 20191006.1608


literal value in CLS-JSON

When citing a publication with a corporate author CSL adds a "literal" value to the author field. Hugo-Cite goes blank here. The solution is to make the authorPart more robust so that it deals with these situations.

  {"id":"international_organization_for_standardization_iso_iso_2007","author":[{"literal":"International Organization for Standardization (ISO)"}],"collection-title":"as amended through 2020 by the ISO 639-3 registrar, SIL International","event-place":"Geneva, Switzerland","issued":{"date-parts":[[2007]]},"language":"en","publisher":"International Standards Organization","publisher-place":"Geneva, Switzerland","title":"ISO 639-3:2007 : Codes for the representation of names of languages -- Part 3: Alpha-3 code for comprehensive coverage of languages","type":"book","URL":"https://www.iso.org/standard/39534.html"}

There is an interesting fix to this in the network here: https://github.com/joksas/hugo-cite/commit/1b3cfdb4f331a32ef95ccc7684b6ef103aa4ed6b
I haven't tested this mod yet.

I would also like to second this and "request" an extension regarding the 'author' field, so hugo-cite can accept literal author/editor (corporate authors), with no family name or given name. I would assume that whoever is fluent writing hugo shortcodes could do this in a few minutes so the partial could read this field from the JSON as well.
Amazing tool by the way, thanks a lot!


Header and chats indicator

run pnpm migration:up first,

Added indicator for unread chats and posts

Demo:
https://github.com/user-attachments/assets/e9b06395-a4df-41ed-a257-738dbbe1181f

Everything else is working, except for the count indicator in the header. It's functioning, but in mobile view, the icons disappear.

What do you think is the fix here @aaronjoshuaespinosa?

User bug, current user name is being displayed instead of the other user

User bug, current user name is being displayed instead of the other user

Fixed.

Instead of removing the icon when there is a new unread post on mobile view. Just copy the notification indicator for the notification to keep the indicator and icon both visible.
Like this

How about something like this?

LGTM but I have minor concern, maybe we can use the size of green circle like the one on notification because the one on header looks slightly bigger, and also put it on the top right of the icon just like the notification just for consistency


Broken link on main page

I'm getting 404 when I click this: http://carbondesignsystem.com/style/iconography/library

Hi @markdebhailis! 👋 Where do you see this link in the README? If it helps, here is the updated link 😄 https://www.carbondesignsystem.com/guidelines/iconography/library

@joshblack sorry it's not the readme, it's repo title link, see below

Oh duh, thanks for the catch! Updating now. Thanks!


Error on ScrollBenchmarks

Bug when ScrollBenchmarks is running
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object androidx.test.uiautomator.UiObject2.wait(androidx.test.uiautomator.SearchCondition, long)' on a null object reference
searchCondition and contentList is null

I was getting that error. Then changed the code like below and it worked.
private fun scroll(compilationMode: CompilationMode) {
        benchmarkRule.measureRepeated(
            packageName = "com.example.macrobenchmark_codelab",
            iterations = 5,
            metrics = listOf(FrameTimingMetric()),
            compilationMode = compilationMode,
            startupMode = StartupMode.COLD,
        ) {
            pressHome()
            startActivityAndWait()
            val contentList = device.findObject(By.res("snack_list"))

            val searchCondition = Until.hasObject(By.res("snack_collection"))
            // Wait until a snack collection item within the list is rendered
            contentList.wait(searchCondition, 5_000)

            // Set gesture margin to avoid triggering gesture navigation
            contentList.setGestureMargin(device.displayWidth / 5)

            // Scroll down the list
            contentList.fling(Direction.DOWN)

            // Wait for the scroll to finish
            device.waitForIdle()
        }
    }

Thanks! Feel free to open a pull request :)

I think this is actually a bug in the Macrobenchmark library causing this.

Actually, it turned out the bug is WAI. The reason is that you can use StartupMode.COLD for startup benchmarks, but the process is killed after the setupBlock, so you can prepare your app (e.g. login), but also start the app cold.
For scrolling benchmark, we generally can't use COLD, because the measure block never won't be cold.
Therefore, the apropriate mode is either startupMode = null that won't do anything to the app, or StartupMode.WARM that will restart the activity between each iteration.

I got this error even when without using the startup parameter .. with version upto 1.2.4 ..
It seems like the fix is still in the beta version of 1.3.0. adding the 1.3.0 beta xx version fixes the issue for me.


created lobbys are visible in the lobby overview

in the lobby overview all lobbys are displayed
for every lobby it displays information(hostname, status and how much people are in the lobby)

Estimated time: 4h
This task is part of user story with issue number #5

Only the lobby is displayed. further information are following as we see which ones are needed. for now only the basic information is displayed for simplicity.

55081ca5caa130c32c63438aeaf43e633c753515


Fixed documentation for withoutEnlargement

Fixes the issue docs:withoutEnlargement #972

Coverage remained the same at 99.325% when pulling 10c1afa3c90e0f18cfef26ed0236987789bba00d on moyvera:fix-withoutEnlargement-docs into bbe897e6073858789d1f251673eaab3141cd9408 on lovell:master.

Hello, this has been superseded by #992. Thanks again for this PR - they are always welcome.


RemoteDuck event fires on the interruption, but not when the interruption is over

One more thing I found:  The RemoteDuck event only fires on the interruption, and not again when the interruption is over. Try these steps in the example app:

Start playing
Start a 5 second timer
Timer goes off and pauses track player (service receives duck event)
Stop the timer
Service doesn't receive another event, so it can't resume again

Originally posted by @doughsay in https://github.com/DoubleSymmetry/react-native-track-player/discussions/1264#discussioncomment-1751283

Additional data:

It's working for me but only paused is true and it doesn't duck back to continue the stream.
Make sure to put alwaysPauseOnInterruption: true in .updateOptions().

Also, I'm seeing that if I pause the stream from onDuck event, the position and bufferedPosition are becoming negative, it plays for 10 seconds and stops. After that, hitting play makes it normal.

Originally posted by @kanzitelli in #1264 (comment)

Might this be happening because audio focus is abandoned when you pause the audio after receiving the first event?
In onIsPlayingChanged I see audio focus is abandoned whenever the audio ceases to play.
In the Android guide to managing audio focus, it is not required to release audio focus when the audio has been paused: https://developer.android.com/guide/topics/media-apps/audio-focus#:~:text=Abandoning audio focus is not required if the user pauses playback but may resume it later.
I also just verified that I do receive the follow up event when only muting the audio after receiving the interruption.

See https://github.com/DoubleSymmetry/KotlinAudio/pull/12 for an alternative fix by having exoplayer handle audio focus itself. (Potentially allowing us to get rid of the whole REMOTE_DUCK event)

I think you're probably right about the audio focus being at fault here.. I've also thought about automatically handling pausing and resuming (on iOS) for the lib -- but it'd be a breaking change and I've avoided adding breaking changes so far as part of the Android rewrite.
I'm still not sure I want to do this now.. thought I do agree it would make things simpler.

Fair enough – perhaps we could reconsider it after the rewrite has been merged in then.
ExoPlayer's AudioFocusManager implementation might be of interest for this issue: https://github.com/google/ExoPlayer/blob/bd54394391b0527893f382c9d641b8a55ffca765/library/core/src/main/java/com/google/android/exoplayer2/AudioFocusManager.java#L184
They only abandon focus if playbackState == Player.STATE_IDLE.

Yeah, I'd first try to solve this while keeping the existing functionality.
But I think past the android rewrite release, along with bug fixes we'll work our way up to a 3.0 release.
I think there's a few places that could use some better API's and improvements that would currently require breaking changes. There's also quite a bit of places where the platform's functionality differs a bit.

Sounds good. Can we create some additional issues to track these tasks for a v3 release?

The following PR should fix this issue: https://github.com/DoubleSymmetry/KotlinAudio/pull/13

Will take a look @puckey ! Thanks :)

The PR was merged in and RNTP updated to use the latest KotlinAudio. Thanks a lot @puckey !

Epic work thanks @puckey
I'll close this for now to help clear the clutter.


404 when navigating to config.yaml

From Enterprise-Scale-AppService created by ahmedsza: cykreng/Enterprise-Scale-AppService#75
Step 4 on the user guide - Navigate to config.yaml - the link to config.yaml is incorrect

implemented the fix in user guide branch.

closing old items for now


Fix CI failing in master branch

This is fix for CI failing in master branch.
By removing zeppelin.interpreters property from test resources, let test perform with default values defined in ZeppelinConfiguration.

Merging, while it does not bring any change in the code but removing unnecessary fields in test resources and fixes the master branch failing.


Added check that authentication went through

@tyle8552 Can you check this? Added a line to make sure that the authentication went through before moving on. If cancel was hit an error would be thrown because configuration was null.

@john0005 Looks fine. Thanks

hello I am a new leaner to study arcgis sdk for java.I have a problem about how to open shape file with the latest version of sdk.Can you please tell me what to do?I am really puzzled for a long time.来自我的华为手机-------- 原始邮件 --------主题：Re: [Esri/arcgis-runtime-samples-java] Added check that authentication went through (#116)发件人：Tyler Schiewe 收件人：Esri/arcgis-runtime-samples-java 抄送：Subscribed @tyle8552 approved this pull request.
—You are receiving this because you are subscribed to this thread.Reply to this email directly, view it on GitHub, or mute the thread.
{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/Esri/arcgis-runtime-samples-java","title":"Esri/arcgis-runtime-samples-java","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/Esri/arcgis-runtime-samples-java"}},"updates":{"snippets":[{"icon":"PERSON","message":"@tyle8552 approved #116"}],"action":{"name":"View Pull Request","url":"https://github.com/Esri/arcgis-runtime-samples-java/pull/116#pullrequestreview-20796338"}}}

@zz0807 Opening a Shape file is not possible yet with the latest version of Quartz. Update 1 which we are working on now, should be released here in 2 months, may have it to were you can open a Shape File using a Local Server. For opening one without using a Local Server seems that it will come in the next update.

thank you very much来自我的华为手机-------- 原始邮件 --------主题：Re: [Esri/arcgis-runtime-samples-java] Added check that authentication went through (#116)发件人：JC Malott 收件人：Esri/arcgis-runtime-samples-java 抄送：zz ,Mention @zz0807 Opening a Shape file is not possible yet with the latest version of Quartz. Update 1 which we are working on now, should be released here in 2 months, may have it to were you can open a Shape File using a Local Server. For opening one without using a Local Server seems that it will come in the next update.
—You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or mute the thread.
{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/Esri/arcgis-runtime-samples-java","title":"Esri/arcgis-runtime-samples-java","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/Esri/arcgis-runtime-samples-java"}},"updates":{"snippets":[{"icon":"PERSON","message":"@john0005 in #116: @zz0807 Opening a Shape file is not possible yet with the latest version of Quartz. Update 1 which we are working on now, should be released here in 2 months, may have it to were you can open a Shape File using a Local Server. For opening one without using a Local Server seems that it will come in the next update. "}],"action":{"name":"View Pull Request","url":"https://github.com/Esri/arcgis-runtime-samples-java/pull/116#issuecomment-278998580"}}}


Implement retries (#56)

Overview
This pull request implements the retry functionality mentioned in #21
It follows the outlined draft (#56) pretty closely, except for a bit more frontend fixes to display the correct color and strings when the service is pending (retrying)
Also for now, if a service enters the retry condition, hearbeats with that status do not count towards the uptime calculation.
This change requires a database migration for existing uptime kuma installations.
The new table looks like this:
CREATE TABLE "monitor" (
	"id"	INTEGER NOT NULL,
	"name"	VARCHAR(150),
	"active"	BOOLEAN NOT NULL DEFAULT 1,
	"user_id"	INTEGER,
	"interval"	INTEGER NOT NULL DEFAULT 20,
	"url"	TEXT,
	"type"	VARCHAR(20),
	"weight"	INTEGER DEFAULT 2000,
	"hostname"	VARCHAR(255),
	"port"	INTEGER,
	"created_date"	TIMESTAMP,
	"keyword"	VARCHAR(255),
	"maxretries"	INTEGER NOT NULL DEFAULT 0,
	PRIMARY KEY("id" AUTOINCREMENT),
	FOREIGN KEY("user_id") REFERENCES "user"("id") ON DELETE SET NULL ON UPDATE CASCADE
);

The monitor table received another field maxretries
The required migration script is NOT part of this PR, however the initial database has been updated accordingly.
Screenshot

@louislam: Do we have automatic DB migrations at server startup?

@louislam: Do we have automatic DB migrations at server startup?

Yes, I am implementing this.


Fix README.md typo

Looks like an extra word got in there? 😄

Alas, indeed. Thanks for the correction!


Repo reorganization

Moved library source files to its own folder
Add Nuproj projects to main solution
Add msbuild property to allow building Nuproj projects locally when GitVersion is not available
Add NuGet.config
Remove deprecated .nuget folder from solution
Drop solution specific for NuGets
Update CI scripts accordingly

Signed-off-by: nfbot<EMAIL_ADDRESS>

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


[Bug Report] el-select with multiple and filterable property can not be closed by clicking the input area

Element UI version
2.4.5
OS/Browsers version
Chrome  68.0.3440.106
Vue version
2.5.16
Reproduction Link
https://jsfiddle.net/mmx38qxw/4767/
Steps to reproduce
click on select component and then click on the input area
What is Expected?
el-select-dropdown component will be closed
What is actually happening?
el-select-dropdown component is not closing

Duplicate of #11846


Added General Root Calculator

Fixes Issue🛠
Closes #448
Description👨💻
Calculates the nth root of a given number upto n precision.
Type of change📄

[x] New feature (non-breaking change which adds functionality)

How this has been tested✅

Checklist✅

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have added demonstration in the form of GIF/video file
[x] I am an Open Source Contributor

Screenshots/GIF📷

Merged ✨ @TheDarkW3b


Issues/538

closes #538

v11.11.2 has been released and contains a fix for the issue. Feel free to reopen the issue or to submit a new one if you meet any problems.


selectDates with dateBelongsTo always returns true

Version: 7.1.5
I have this code to print the date and a check if the date I selected belongs to current month display.
func calendar(_ calendar: JTAppleCalendarView, didSelectDate date: Date, cell: JTAppleCell?, cellState: CellState) {
    print("\(date) : \(cellState.dateBelongsTo == .thisMonth)")
}

And it prints:
2018-01-27 16:00:00 +0000 : true
2018-01-28 16:00:00 +0000 : true
2018-02-01 16:00:00 +0000 : false
2018-02-02 16:00:00 +0000 : false
But, with this code: (Note: I'm in the January calendar)
 func calendar(_ calendar: JTAppleCalendarView, didSelectDate date: Date, cell: JTAppleCell?, cellState: CellState) {
    if cellState.selectionType == .programatic {
        print("\(date) : \(cellState.dateBelongsTo == .thisMonth)")
    } else {
        self.calendarView.deselectAllDates(triggerSelectionDelegate: true)
        self.calendarView.selectDates(from: formatter.date(from: "2018 01 28")!, to: formatter.date(from: "2018 02 03")!, triggerSelectionDelegate: true, keepSelectionIfMultiSelectionAllowed: false)
    }
}

It prints:
2018-01-27 16:00:00 +0000 : true
2018-01-28 16:00:00 +0000 : true
2018-01-29 16:00:00 +0000 : true
2018-01-30 16:00:00 +0000 : true
2018-01-31 16:00:00 +0000 : true
2018-02-01 16:00:00 +0000 : true
2018-02-02 16:00:00 +0000 : true

What i want to do is to select a row of dates and then check if those dates are in the current month displayed.

ok. i see.
Well, Programmatic selection always selects the true date (not inDates or outDates like manual selection). So there is no need to check.


Unable to login to wechat4u (web) via QR code

Important：Please file the issue follow the template, or we won't be able to help you to solve the problem.

0. Report Issue Guide

Please run the following command and check whether the problem has been fixed：
WECHATY_LOG=verbose nodemon -w room-bot.js room-bot.js

Please search in FAQ List first, and make sure your problem has not been solved before.

Please search in the issue first, and make sure your problem had not been reported before

1. Versions

What is your wechaty version?

Answer: 0.56.6

Which puppet are you using for wechaty? (puppeteer/padlocal/service...)

Answer: "wechaty-puppet-wechat4u"

What is your wechaty-puppet-XXX（padchat/puppeteer/） version?

Answer: 0.17.4

What is your node version? (run node --version)

Answer : v14.18.1

What os are you using

Answer: CodeSandbox (linux?)
2. Describe the bug
My WeChat account is created before 2017 and is on the WeiXin server, not the international Wechat version. When I try to login to the web version of WeChat (web.wechat.com), I don't get any errors but the website tells me

"提示 For the security of your account, you cannot log in to WeChat for Web via this WeChat ID. You can go to the website https://weixin.qq.com/ to download the WeChat app and log in."

Upon trying the same procedure using Wechaty, I get the following error in the console after scanning the QR code.
https://login.weixin.qq.com/l/gfRUmSKY3A==
[3] Scan QR Code in above url to login:
00:02:09 VERB PuppetWechat4u monkeyPatchOffState(checkLogin) funcNew()
00:02:12 VERB PuppetWechat4u monkeyPatchOffState(login) funcNew()
00:02:13 VERB PuppetWechat4u monkeyPatchOffState(_init) funcNew()
00:02:15 INFO Bot error: Error: 1 == 0
00:02:15 VERB MemoryCard <puppet> delete(PUPPET-WECHAT4U)
00:02:15 VERB MemoryCard <room-bot> save() to StorageFile</sandbox/room-bot.memory-card.json>
00:02:15 VERB StorageFile save() to /sandbox/room-bot.memory-card.json

3. To Reproduce

This part is very important: if you can not provide any reproduce steps, then the problem will be very hard to be recognized.

How to create a Minimal, Reproducible Example
Steps to reproduce the behavior:

4. Expected behavior

Give a clear and concise description of what you expected to happen.

5. Actual behavior

If applicable, add screenshots to help explain your problem. But the log message must be in plain text instead of screenshot.

6. Full Output Logs

Set env WECHATY_LOG=silly in order to set log level to silly, then we can get the full log (If you dosen't set log env, log level is info as default, we cannot get the full log)

 WARN lifecycle The node binary used for scripts is /tmp/yarn--1646266467862-0.3395678214724689/node but npm is using /home/sandbox/.nvm/versions/node/v14.18.1/bin/node itself. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm was executed with.

><EMAIL_ADDRESS>bot /sandbox
> WECHATY_LOG=verbose nodemon -w room-bot.js room-bot.js

[nodemon] 2.0.7
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): room-bot.js
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node room-bot.js`
00:14:40 INFO Config registering process.on("unhandledRejection") for development/debug
00:14:40 VERB Config constructor()

=============== Powered by Wechaty ===============
-------- https://github.com/Chatie/wechaty --------
Hello,
I'm a Wechaty Botie with the following super powers:
1. Find a room
2. Add people to room
3. Del people from room
4. Change room topic
5. Monitor room events
6. etc...
If you send a message of magic word 'ding',
you will get a invitation to join my own room!
__________________________________________________
Hope you like it, and you are very welcome to
upgrade me for more super powers!
Please wait...

Show Logs

$ WECHATY_LOG=silly node yourbot.js

-> Make sure to copy/paste the full (instead of only fragments) log message in text format (instead of image/screenshot) at here

7. Additional context

Add any other context about the problem here.

According to the below message when you are trying to login the web WeChat, we can confirm that your WeChat account is not be supported to use the Web Protocol:

"提示 For the security of your account, you cannot log in to WeChat for Web via this WeChat ID. You can go to the website https://weixin.qq.com/ to download the WeChat app and log in."

You can try using other puppet providers like XP, see the official docs at

https://wechaty.js.org/docs/puppet-providers/


Fixing lower end of the latest silverstripe issues

You are still missing the lower bound for the 3.2.x versions.

Hello @xabbuh
Isn't that considered 3.2.0 automatically?
Spek

@spekulatius No (actually that's what @stof was talking about in https://github.com/FriendsOfPHP/security-advisories/pull/118#discussion_r45588913).

ahhhh, okay @xabbuh   Now I got it. My morning coffee hasn't kicked in yet.

@spekulatius Well, I think you should nonetheless use <3.1.0 as the upper bound for the 3.0.x versions (the fix only mentions 3.1.x).

okay, I can remove the whole 3.0.x section.

@xabbuh are you happy with this now?

:+1:

:)

@xabbuh what do think? Are we good to merge this in?

@spekulatius Yes, but I am not a maintainer here so we have to wait for @fabpot :)

Yupp, thats fine - I just want to make sure we are all happy :)


Parameter Tuning

Thank you for sharing. I encountered a Y-axis offset issue while running in the tunnel. Do you have any suggestions for parameter tuning? Thanks

Hi, I’ve noticed that the texture information in the intensity image is insufficient for robust ORB feature matching. I recommend exploring machine learning-based feature detection methods, such as xfeat, as a potential replacement for ORB features. This could enhance the matching accuracy by leveraging more discriminative feature points.

嗨，我注意到强度图像中的纹理信息不足以进行稳健的 ORB 特征匹配。我建议探索基于机器学习的特征检测方法，例如 xfeat，作为 ORB 特征的潜在替代品。这可以通过利用更多的判别性特征点来提高匹配准确性。

Thank you very much for your suggestion. I will give it a  try.

It's my pleasure! If it works well, you are welcome to push your changes to this repository.


Will the Basilisk fly?

Yep, could see this one coming.
Have already tried flying with the Basilisk in the previous version, but although the flight engaged, it wouldn't fly. Do you have plans to make the Basilisk fly? Thing is the accelerator sits on the rocket launcher, and the decelerator on its cannon.

It certainly could! Maybe it could have a drone-only mode, where the sights would lock forward?

Oh, that would be awesome.


Fixes mysqld issue and updates zookeeper

Solves #45 and #47

@Debdutto thanks for the contribution. This patch looks good to me.
Would you resolve the conflicts? Also would you please fill out our CLA here (http://druid.io/community/cla.html)?

@jihoonson I've filled out the CLA and resolved the conflicts. docker-druid is up and running. Thanks.


Implementation of contract management section in admin panel

As a User of Trace-X
I want to see all my data contracts within the admin panel incl. the defined usage and access policies
so that I can manage those contracts.
Hints / Details

Acceptance Criteria

[ ] data conctracts with usage and access policies are visible in admin panel
[ ] data contracts with usage and access policies are manageble in admin panel

Out of Scope

@jzbmw this is a duplicate #421. Recommendation is to  close this ticket .


How to sort with two or more columns?

/**
 * The sort options for a model
 *
 * @type array
 */
'sort' => array(
    'field' => 'name',
    'direction' => 'asc',
),

only can config with one column, so how to sort with two or more columns?

There is no way to do this currently


Fix Assets/Image

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

Complexity increasing per file
==============================
- src/Command/Clean.php  2
- src/Step/AssetsCopy.php  3

Complexity decreasing per file
==============================
+ src/Assets/Image.php  -1

See the complete overview on Codacy

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

Complexity increasing per file
==============================
- src/Command/Clean.php  2
- src/Step/AssetsCopy.php  3

Complexity decreasing per file
==============================
+ src/Assets/Image.php  -1

See the complete overview on Codacy


Provide GitHub Action for SecHub

Provide a GitHub Action for SecHub on the public marketplace: https://github.com/marketplace?type=actions. A public action can easily be used by the community.
(Changes by @de-jcup) :
Here we only provide an initial SecHub GitHub Action which provides the standard report output formats json, html
Further issues will provide addtional features (e.g. SARIF support, tables etc. )

Definition
Here a definition of the wanted features, pathes etc.
Actions to implement
We want two actions at the beginning;

scan
markFalsePositives

Pathes
The actions will be settled NOT inside the root folder, but inside dedicated subfolders
We create a sub folder github-actions inside root folder and inside this folder subfolders for the dedicated actions:
/github-actions/${nameOfAction}/

Example:
/github-actions/scan

This means that the action can be used in a worflow via following one liner:
- uses mercedes-benz/sechub/github-actions/scan

Shared folder
If possible we try to have a shared folder where common used parts can be put in and reused.
Parameters

API token is mandatory parameter (and can be set by user via a github secret)
Other parameters can be defined by sechub.json file
If possible introduce some parameters inside action to have override possiblity


Travis: enable OSX builds

Let Travis CI run on OSX builders too.

This pull request is now managed with CodeReviewHub. Refresh.

Current coverage is 80.30%

Merging #356 into master will not affect coverage as of 645f506

@@            master   #356   diff @@
=====================================
  Files          211    211
  Stmts         7184   7184
  Branches         0      0
  Methods          0      0
=====================================
  Hit           5769   5769
  Partial          0      0
  Missed        1415   1415

Review entire Coverage Diff as of 645f506

Powered by Codecov. Updated on successful CI builds.

@terahxluna please review

:+1:

:+1:


Use native lib in unit tests

Problems:

It's not clear how to test BaseStorage.persist() because under the hood it uses flow and debounce
https://slack-chats.kotlinlang.org/t/489420/does-anyone-know-how-to-unit-test-code-which-uses-flow-debou

It's not clear how to use prepared files (PDF, etc.)

@mdrlzy am I right, that:

Previews rendering (Bitmap usage) and video metadata extraction (decoders) require Android SDK — possible to test only using instrumented tests?
Same for BaseStorage.persist()?

Regarding prepared PDF and other files — probably tiny samples are OK to keep in the repo.
Probably we can create Git submodule, put all heavy stuff in there and use those samples only from instrumented tests as separate pipeline stage? The workflow would call something like git submodule update --init --recursive before running these heavier tests. @oluiscabral @antlko @gwendalF Guys, any idea regarding this?

@mdrlzy am I right, that:

Previews rendering (Bitmap usage) and video metadata extraction (decoders) require Android SDK — possible to test only using instrumented tests?
Same for BaseStorage.persist()?

@kirillt

Yes, this is part of Android SDK
The problem is that flushing to disk has a delay after request. I have not yet found a way to "wait" for this delay

@mdrlzy

Eventually, we'll port previews generation and video processing to arklib. Yes, we can't utilize unit tests to compare the two implementations, but it's not a critical issue for well-separated functionality.
Not sure, but there was this link to SO in the last post of that topic on Kotlin forum: https://stackoverflow.com/questions/61224047/unit-testing-coroutines-runblockingtest-this-job-has-not-completed-yet/67897542#67897542


Only invalidate session if authenticated

Fix #721

Would be good to have a test for this. Also this breaks existing tests.

thanks for the feedback @marcoow.
I've added unit tests and rebased against latest master to cleanup the history.  let me know if there's anything else you'd like to see done.

thanks!


Remove SN/sign number in the selection lists for Morphemes and Related Signs

Upon creating new entries in the tables in the panels Morphemes and Related Signs, a list of possible entries appears as the user starts typing in a gloss. Next to the gloss, either the sign number (in the box itself) or the empty placeholder "SN:null" (in the pull-down menu) appears. Please remove both: all that should appear is the gloss.

(Other change to same panels: #120)
(Earlier #17 we had already removed Sign Number elsewhere in the interface.)

@ErwinKomen , would you still have time to look into this? I noticed it also when selecting a morpheme while editing a sign.

I'll have a look at it on wednesday

Notes:

Auto completion is done by information gathered with ajax queries; see adminviews.py gloss_ajax_complete and morph_ajax_complete. The bracketed (%s) is defined here.
Requests are made from gloss_edit.js: gloss_bloodhound and morph_bloodhound
Type-ahead is facilitated in here too: morphtypeahead() and glosstypeahead()

Actions:

Edited gloss_ajax_complete()
Edited morph_ajax_complete()
Edited gloss_edit.js

Should be solved now. Close?

Gitted


How to evaluate the pretrained models?

I have reproduced the B1 training, But the evaluate results keeps incorrect. Could you release a Recommended eval commands?

@xingyueye
what is your result?


Issue moved back to 'in progress' after PR is created

When I manually update an issue in linear to 'in review', create a PR afterwards in Github, the issue status in linear goes back to 'in progress'.

Thanks @JeroenReumkens. Do you have the Linear GitHub integration installed? If so, it can be re-configured to move PR-linked issues to 'in review'. Hope this helps!

Closing as out of scope, but please let me know if you think we should re-open it


FR: Move Inline Tags to YAML Frontmatter

request: add a yaml rule described above.

Looks like there is some desire to have this added, so I will see about having it added. However it is unclear whether this would just add a copy or actually remove the tags from the text outside of the frontmatter. How would this work @ToUpgrade ?

Want to chime in. I came here looking for this feature, but i would prefer it adds to yaml rather than move. Or perhaps an option to do both in linter settings (to cater for both situation).
In my case, I have tags in my obsidian notes that are published to github pages. I need it to be in yaml for me to use tags summary/archive pages, but i also have workflow in obsidian that places metadata at bottom of the note.

Thanks for the feedback! That helps. I was not sure exactly how to proceed with this, but thanks to what has been said, I think I can impliment this.

I almost have this ready. I just need to go ahead and add some UTs and add the ability to drop the hashtag in the content of the note after moving the body contents to the yaml tag.

This has been added and should be present on master and in the next release which I am looking to release tomorrow. Please let us know if master or the next release does not satisfy this feature request.

I like the idea here, but it needs an exceptions block. Some tags perform specific functions, such as #tasks for the Tasks plugin.

I like the idea here, but it needs an exceptions block. Some tags perform specific functions, such as #tasks for the Tasks plugin.

If you would like, you can put in a feature request around that.


2.0.6

tsParticles 2.0.6
Bug Fixes

Fixes build scripts, closes #3909 and #3911

Thx for the fix <3


Object_detection_image.py isn't suitable for MobileNet SSD model?

when I test trained MobileNet SSD model using Object_detection_image.py I get weird results: it detects boxes everywhere
tough it works fine with  Faster-RCNN-Inception-V2 model
or is just script isn't suitable for MobileNet SSD model?

The large number of boxes is most likely due to the MobileNet SSD model's lower accuracy. The script works the same regardless of which type of model is used. Did you train it on your own dataset? It may be that the dataset has too few pictures or doesn't have clear enough images of the object.


Headers option changing case

While using option --headers I noticed it changed the case of the header's name.
Example request :

Result :

Now, the API I am using doesn't like it, since it's case sensitive, so I really need it to use the case I am giving.

I found the issue. Proposing pull-request #338 to fix it.
Apparently http.Header Add and Set methods canonicalize the header name when adding values to the header map.
There is a trick to fix this, as stated here

thanks this is now implemented on the dev branch


Template client is out-dated and needs to be updated, removing or updating ClientVersion

SDK authors start with the template client and might incorrectly assume we want a ClientVersion() method.
This is not what we want for SDKs, and hence the template client needs to be updated to reflect the correct pattern here.
https://github.com/Azure/azure-sdk-for-cpp/blob/487c7ce5425cbb44c68d0250c799fe0388b00f47/sdk/template/azure-template/inc/azure/template/template_client.hpp#L12
cc @LarryOsterman, @RickWinter
It showed up in Attestation APIView because it started off as a template client:
https://github.com/Azure/azure-sdk-for-cpp/blob/af7281ef1a273404abb9c79f4de775b5b32f089b/sdk/attestation/azure-security-attestation/inc/azure/attestation/attestation_client.hpp#L163
https://apiview.dev/Assemblies/Review/5b2efd771af642728e4796813564404b#Azure::Security::Attestation::AttestationAdministrationClient

Removing ClientVersion from Template as a part of updating Template to match service requirements.


Hook callbacks are called random number of times

OrientDB Version, operating system, or hardware.

[x] v2.2.11

Operating System

[X] Linux

Expected behavior and actual behavior
The callbacks like onRecordAfterCreate() should be called only once for every insert.
Steps to reproduce the problem
public class MyHook extends ODocumentHookAbstract {
  @Override
  public DISTRIBUTED_EXECUTION_MODE getDistributedExecutionMode() {
    return DISTRIBUTED_EXECUTION_MODE.TARGET_NODE;
  }
  @Override
  public void onRecordAfterCreate(ODocument iDocument) {
    System.out.println("Created " + iDocument.toJSON());
  }
}

  for (int i = 0; i < 10; i++) {
    try (ODatabaseDocumentTx db = dbPool.acquire()) {
      db.save(new ODocument("SomeTable").field("entry", i));
    }
  }

Result:
Created {"@type":"d","@rid":"#17:0","@version":1,"@class":"SomeTable","entry":0}
Created {"@type":"d","@rid":"#18:0","@version":1,"@class":"SomeTable","entry":1}
Created {"@type":"d","@rid":"#19:0","@version":1,"@class":"SomeTable","entry":2}
Created {"@type":"d","@rid":"#19:0","@version":1,"@class":"SomeTable","entry":2}
Created {"@type":"d","@rid":"#20:0","@version":1,"@class":"SomeTable","entry":3}
Created {"@type":"d","@rid":"#20:0","@version":1,"@class":"SomeTable","entry":3}
Created {"@type":"d","@rid":"#17:1","@version":1,"@class":"SomeTable","entry":4}
Created {"@type":"d","@rid":"#17:1","@version":1,"@class":"SomeTable","entry":4}
Created {"@type":"d","@rid":"#17:1","@version":1,"@class":"SomeTable","entry":4}
Created {"@type":"d","@rid":"#18:1","@version":1,"@class":"SomeTable","entry":5}
Created {"@type":"d","@rid":"#18:1","@version":1,"@class":"SomeTable","entry":5}
Created {"@type":"d","@rid":"#18:1","@version":1,"@class":"SomeTable","entry":5}
Created {"@type":"d","@rid":"#19:1","@version":1,"@class":"SomeTable","entry":6}
Created {"@type":"d","@rid":"#19:1","@version":1,"@class":"SomeTable","entry":6}
Created {"@type":"d","@rid":"#19:1","@version":1,"@class":"SomeTable","entry":6}
Created {"@type":"d","@rid":"#19:1","@version":1,"@class":"SomeTable","entry":6}
Created {"@type":"d","@rid":"#20:1","@version":1,"@class":"SomeTable","entry":7}
Created {"@type":"d","@rid":"#20:1","@version":1,"@class":"SomeTable","entry":7}
Created {"@type":"d","@rid":"#20:1","@version":1,"@class":"SomeTable","entry":7}
Created {"@type":"d","@rid":"#20:1","@version":1,"@class":"SomeTable","entry":7}
Created {"@type":"d","@rid":"#17:2","@version":1,"@class":"SomeTable","entry":8}
Created {"@type":"d","@rid":"#17:2","@version":1,"@class":"SomeTable","entry":8}
Created {"@type":"d","@rid":"#17:2","@version":1,"@class":"SomeTable","entry":8}
Created {"@type":"d","@rid":"#17:2","@version":1,"@class":"SomeTable","entry":8}
Created {"@type":"d","@rid":"#17:2","@version":1,"@class":"SomeTable","entry":8}
Created {"@type":"d","@rid":"#18:2","@version":1,"@class":"SomeTable","entry":9}
Created {"@type":"d","@rid":"#18:2","@version":1,"@class":"SomeTable","entry":9}
Created {"@type":"d","@rid":"#18:2","@version":1,"@class":"SomeTable","entry":9}
Created {"@type":"d","@rid":"#18:2","@version":1,"@class":"SomeTable","entry":9}
Created {"@type":"d","@rid":"#18:2","@version":1,"@class":"SomeTable","entry":9}

Hi @dominioon,
how do you register the hook in the database instance ?
here is a example test case:
package test;

import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

import com.orientechnologies.orient.core.db.OPartitionedDatabasePool;
import com.orientechnologies.orient.core.db.document.ODatabaseDocument;
import com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx;
import com.orientechnologies.orient.core.hook.ODocumentHookAbstract;
import com.orientechnologies.orient.core.hook.ORecordHook.DISTRIBUTED_EXECUTION_MODE;
import com.orientechnologies.orient.core.record.impl.ODocument;

public class HookTest {

  public class MyHook extends ODocumentHookAbstract {
    @Override
    public DISTRIBUTED_EXECUTION_MODE getDistributedExecutionMode() {
      return DISTRIBUTED_EXECUTION_MODE.TARGET_NODE;
    }

    @Override
    public void onRecordAfterCreate(ODocument iDocument) {
      System.out.println("Created " + iDocument.toJSON());
      count++;
    }
  }

  private int count = 0;

  @Before
  public void before() {
    ODatabaseDocument db = new ODatabaseDocumentTx("memory:test");
    db.create();
    db.getMetadata().getSchema().createClass("Test");
    db.close();
  }

  @After
  public void after() {
    ODatabaseDocument db = new ODatabaseDocumentTx("memory:test");
    db.open("admin", "admin");
    db.drop();
  }

  @Test
  public void test() {
    OPartitionedDatabasePool pool = new OPartitionedDatabasePool("memory:test", "admin", "admin");
    for (int i = 0; i < 10; i++) {
      try (ODatabaseDocument some = pool.acquire()) {
        MyHook aa = new MyHook();
        some.registerHook(aa);
        some.save(new ODocument("Test").field("entry", i));
        //If you comment out this you get your problem ;)
        some.unregisterHook(aa);
      }
    }
    Assert.assertEquals(10, count);
    pool.close();

  }

}

Hi, @tglman,
The hook was registered via orientdb-server-config.xml

hi @dominioon,
so you are registering the hook server side, and the log is server side, are you running operations on remote or embedding the server?
Bye

Hi @tglman,
the server is embedded. See the example app from https://github.com/orientechnologies/orientdb/issues/6718.  Sorry, Im not near computer and cant post the full example atm by myself.

hi @davidmoten,
I reproduced this writing a test with an embedded server, ad I fixed it also, is going to be released in 2.2.12.
Thank you for reporting this.
Regards

Hi,
The 2.2.12 has been released with this fix, closing
Bye