add error-prone for static analysis

https://errorprone.info/
also fixed one warning it found:

https://errorprone.info/bugpattern/PreconditionsCheckNotNullPrimitive

also in this change is dropping a compiler target of 1.7 for a few of the modules (as error-prone is 8+ only).
helios-client, -testing and -tools are currently built with a 1.7
target. In 0bf718b these modules were excluded from being upgraded to
a 1.8 target to not exclude people who still used 1.7 or depended on it
(with the CLI, or Hadoop-using teams that were stuck on 1.7).
I'm not 100% certain it is worth doing that, but it was needed for error-prone.

@spotify/docker-admins
this is pretty low priority, but I was adding errorprone to other projects and wanted to add it here as well. Turns out our code quality was already pretty good, so not much to change.


Clarify if Benthos can still be used as a name

Alexander Gallego claimed on Twitter that every usage of Benthos must now be renamed to Redpanda Connect.
I understand why that's in the best interest of Redpanda (free marketing).
That's also a move that erodes trust both in Benthos and Open Source in general.
Seeing that Benthos still exists as a library (and technically there is still a benthos cmd package) it would be nice to clarify whether that's actually true, because I imagine it would put a pretty heavy burden on every benthos user out there to eliminate all appearances of "benthos".
Plus benthos is actually a name (brand) known to people out there. Why destroy it?

@Jeffail would be nice to get your take on this.


[Bug]: Workflow doesn't even start first action

Apache Hop version?
2.8
Java version?
openjdk 17.0.10 2024-01-16
Operating system
Linux
What happened?
The workflow hangs before it starts its first action. There are no intelligible log entries to further analyse. All that is visible are three entries - telling that the workflow itself started as remote and then repeats its name - and that's it.
2024/03/26 13:17:11 - /home/beccon/DWH_Import_Hop/Workflows/WF_Import_Antraege.hwf : WF_Import_Antraege - Executing this workflow using the Remote Workflow Engine with run configuration 'remote vm-dwh-ua run config'
2024/03/26 13:17:12 - /home/beccon/DWH_Import_Hop/Workflows/WF_Import_Antraege.hwf : WF_Import_Antraege - 2024/03/26 13:17:11 - WF_Import_Antraege - Start of workflow execution
2024/03/26 13:17:12 - /home/beccon/DWH_Import_Hop/Workflows/WF_Import_Antraege.hwf : WF_Import_Antraege - 2024/03/26 13:17:11 - WF_Import_Antraege - WF_Import_Antraege

There are no signs of that the first action item (pipeline) has even tried to start (i.e. no log file). The log entry "Starting action [first_pipeline.hpl]" does not appear.

all action items - rather simple pipelines - run both locally and remotely with no issues
there is no sign of any activity on the remote server itself - all CPUs idling and plenty of RAM
an equally configured workflow with a much smaller data goes through smoothly with no issues (says Starting action ... pipeline items with their metric, and "Finished action" success.)
the HOP gui is still usable and the workflow can be interrupted  - it even shows its duration - bot no actions taken.

How can I further analyse what goes wrong here?
Issue Priority
Priority: 1
Issue Component
Component: Hop Gui, Component: Hop Run, Component: Infrastructure, Component: Pipelines, Component: Workflows

what does it say when increasing the log level to debug?

I've selected the most verbose log level (row -level - or something - I run the German locale: "Zeilenebene")
It looks like that processing doesn't even get to the point where this can have any effect.

Is export linked resources turned on in the remote run configuration? If that is the case I think we will need a reproduction path to further investigate the issue.

Yes, Export Linked Resources is checked. However there is no difference at all whether I run the workflow remotely or locally. It just hangs with no clues.
I created a workflow consisting of quite a few simple pipelines - complex SQL in - output to destination table. It worked fine. Then I added a more complex pipeline (containing sorts and a merge) to that workflow and that workflow started to hang. Even removing that complex pipeline didn't help. Copying the structure to a new empty workflow did the job. I could even add the complex pipeline again and it worked. Comparing the xml of the hwf files doesn't show much difference except that the sequence of the piplines is somewhat scrambled.
What can be the cause?

Memory - we have 6GB in the machine where the GUI resides and 4GB on the server - htop doesn't show memory exhaustion.
CPU - htop shows that all cores idle
some semaphore or MUX - probably - but how can I find out which one?

I run HOP on an KVM virtual machine running Xfce4. The server is across a VPN at the client's premises. It works so far. It always works when I start a pipeline directly. What's wrong here?

Then I think you have found the cause, something must have gone wrong in the workflow file causing it to not load properly.
The error must get eaten up somewhere in the code. It would be great if you happen to still have the broken workflow then we can debug and see where it's going wrong and try to avoid it.

Back from vacation - sorry for delay. The strange thing is that the working and non working Workflows do not differ that much. How can I send you the hwf - files? Posting them here would probably not the best place.


lets default to the nice new package based installation approach which uses a single YAML for openshift or kubernetes which is easier to consistently version and release

[merge]


(PYL-W0612) Unused variable found

Description
An unused variable takes up space in the code and can lead to confusion. It should be removed. If this variable is necessary, name the variable _ or start the name with unused or _unused.
Occurrences
There are 5 occurrences of this issue in the repository.
See all occurrences on DeepSource → deepsource.io/gh/mikeysan/retweet_anything/issue/PYL-W0612/occurrences/
IMPORTANT
Please do not change anything other than the indicated issue.
Use the link above to find all files and instances where the unused variable occurs. Example:
except tweepy.TweepError as e:

All you need to do is get rid of the as e so you end up with:
except tweepy.TweepError:

Hi I have made all the necessary changes and made the PR. All have been accepted except the one related to the file whoismikey-bot/twitterBot.py . Please can you review that PR and tell what's going wrong.

Thank you. All merged. I'm not sure what that one file was complaining about but I merged it anyway. I will take a look at deepsource to see if it gives me more detail later.


SMTP Attachment

Currently It's no way to attach files in compose message?

Messages can be attached by Drag and Drop. Drag any file to the message editor and your files will be listed at the bottom of the message.
Currently implemented features are listed in this blog post: https://blog.marcnuri.com/isotope-mail-client-introduction/
Feature was implemented in #124


[Kernel] AQ AZP 4/4: Integrate asymmetric quantization to linear method

Waiting on #7270.
This PR adds end-to-end support for asymmetric activation quantization by invoking AZP quant and scaled_mm kernels in linear method.
BEFORE SUBMITTING, PLEASE READ THE CHECKLIST BELOW AND FILL IN THE DESCRIPTION ABOVE

 PR Checklist (Click to Expand)
Thank you for your contribution to vLLM! Before submitting the pull request, please ensure the PR meets the following criteria. This helps vLLM maintain the code quality and improve the efficiency of the review process.
PR Title and Classification
Only specific types of PRs will be reviewed. The PR title is prefixed appropriately to indicate the type of change. Please use one of the following:

[Bugfix] for bug fixes.
[CI/Build] for build or continuous integration improvements.
[Doc] for documentation fixes and improvements.
[Model] for adding a new model or improving an existing model. Model name should appear in the title.
[Frontend] For changes on the vLLM frontend (e.g., OpenAI API server, LLM class, etc.)
[Kernel] for changes affecting CUDA kernels or other compute kernels.
[Core] for changes in the core vLLM logic (e.g., LLMEngine, AsyncLLMEngine, Scheduler, etc.)
[Hardware][Vendor] for hardware-specific changes. Vendor name should appear in the prefix (e.g., [Hardware][AMD]).
[Misc] for PRs that do not fit the above categories. Please use this sparingly.

Note: If the PR spans more than one category, please include all relevant prefixes.
Code Quality
The PR need to meet the following code quality standards:

We adhere to Google Python style guide and Google C++ style guide.
Pass all linter checks. Please use format.sh to format your code.
The code need to be well-documented to ensure future contributors can easily understand the code.
Include sufficient tests to ensure the project to stay correct and robust. This includes both unit tests and integration tests.
Please add documentation to docs/source/ if the PR modifies the user-facing behaviors of vLLM. It helps vLLM user understand and utilize the new features or changes.

Notes for Large Changes
Please keep the changes as concise as possible. For major architectural changes (>500 LOC excluding kernel/data/config/test), we would expect a GitHub issue (RFC) discussing the technical design and justification. Otherwise, we will tag it with rfc-required and might not go through the PR.
What to Expect for the Reviews
The goal of the vLLM team is to be a transparent reviewing machine. We would like to make the review process transparent and efficient and make sure no contributor feel confused or frustrated. However, the vLLM team is small, so we need to prioritize some PRs over others. Here is what you can expect from the review process:

 After the PR is submitted, the PR will be assigned to a reviewer. Every reviewer will pick up the PRs based on their expertise and availability.
 After the PR is assigned, the reviewer will provide status update every 2-3 days. If the PR is not reviewed within 7 days, please feel free to ping the reviewer or the vLLM team.
 After the review, the reviewer will put an  action-required label on the PR if there are changes required. The contributor should address the comments and ping the reviewer to re-review the PR.
 Please respond to all comments within a reasonable time frame. If a comment isn't clear or you disagree with a suggestion, feel free to ask for clarification or discuss the suggestion.

Thank You
 Finally, thank you for taking the time to read these guidelines and for your interest in contributing to vLLM. Your contributions make vLLM a great tool for everyone!

/ready

Replaced the exception with a warning for untested code paths

@ProExpertProg  I fixed the quantization tests that were previously failing. I've also updated the dtype for zero points for the static case and added a static test model to quantization tests.
The model currently fails due to a dtype error

@dsikka thanks for the help! I fixed the failing test case.
I also removed the warning for the static asymmetric case because the code is no longer untested.


Adding Performance test script

Leaving draft for now and we can discuss/improve next week.

I think it's looking good as a first PR - can make improvements as we go along:
Use:
git clone https://github.com/project-codeflare/multi-cluster-app-dispatcher
cd multi-cluster-app-dispatcher/test/perf-test

./perf.sh
How many appwrapper jobs do you want?10
jobs number is 10

Jobs started at: 11:30:13

Submitting job 1
appwrapper.mcad.ibm.com/defaultaw-schd-spec-with-timeout-1 created
Submitting job 2
appwrapper.mcad.ibm.com/defaultaw-schd-spec-with-timeout-2 created
Submitting job 3
appwrapper.mcad.ibm.com/defaultaw-schd-spec-with-timeout-3 created
Submitting job 4
appwrapper.mcad.ibm.com/defaultaw-schd-spec-with-timeout-4 created
Submitting job 5
appwrapper.mcad.ibm.com/defaultaw-schd-spec-with-timeout-5 created
Submitting job 6
appwrapper.mcad.ibm.com/defaultaw-schd-spec-with-timeout-6 created
Submitting job 7
appwrapper.mcad.ibm.com/defaultaw-schd-spec-with-timeout-7 created
Submitting job 8
appwrapper.mcad.ibm.com/defaultaw-schd-spec-with-timeout-8 created
Submitting job 9
appwrapper.mcad.ibm.com/defaultaw-schd-spec-with-timeout-9 created
Submitting job 10
appwrapper.mcad.ibm.com/defaultaw-schd-spec-with-timeout-10 created
No resources found in default namespace.
Number of completed jobs is:  0  and the goal is:  10
No resources found in default namespace.
Number of completed jobs is:  0  and the goal is:  10
Number of completed jobs is:  2  and the goal is:  10
Number of completed jobs is:  5  and the goal is:  10
Number of completed jobs is:  7  and the goal is:  10
Number of completed jobs is:  8  and the goal is:  10

All 10 jobs finished: 11:31:18
Total amount of time for 10 appwrappers is: 65 seconds

Test results are stored in this file: job-10-11:30:13.log
Do you want to cleanup the most recently created appwrappers? [Y/n]
y
OK, deleting
appwrapper.mcad.ibm.com "defaultaw-schd-spec-with-timeout-1" deleted
appwrapper.mcad.ibm.com "defaultaw-schd-spec-with-timeout-10" deleted
appwrapper.mcad.ibm.com "defaultaw-schd-spec-with-timeout-2" deleted
appwrapper.mcad.ibm.com "defaultaw-schd-spec-with-timeout-3" deleted
appwrapper.mcad.ibm.com "defaultaw-schd-spec-with-timeout-4" deleted
appwrapper.mcad.ibm.com "defaultaw-schd-spec-with-timeout-5" deleted
appwrapper.mcad.ibm.com "defaultaw-schd-spec-with-timeout-6" deleted
appwrapper.mcad.ibm.com "defaultaw-schd-spec-with-timeout-7" deleted
appwrapper.mcad.ibm.com "defaultaw-schd-spec-with-timeout-8" deleted
appwrapper.mcad.ibm.com "defaultaw-schd-spec-with-timeout-9" deleted

We will explore Kuttl later as it involves transforming all ginkgo tests into kuttl. we need an agreement with ODH folks if kuttl is something we can transition.

Sound's good. I would consider the conversation closed for this PR. Purposes.

@asm582. I've been starting to put run data in here:  https://ibm.ent.box.com/file/1182185239246


[5.7] Make queue tests compatible with windows 10

On windows 10 I get these error showing that the $escape is wrong for windows.
The only way to make them pass is to select an empty string.
PHP 7.2.9
PHP 7.1.8

This is due to the changes in src/Illuminate/Queue/Listener.php
before $command variable was an string, now it is an array.
So $this->commandline will be an array.
and finally when the $process->getCommandLine() gets called
it return a different result.
  public function getCommandLine()
    {
        return \is_array($this->commandline) ? implode(' ', array_map(array($this, 'escapeArgument'), $this->commandline)) : $this->commandline;
    }

Still need feedback from other Windows users.

Tests do indeed seem to fail due to the escapes.


NullableHelper is catching more than just Nullable References

Describe the bug
A clear and concise description of what the bug is.
The src\HotChocolate\Core\src\Types\Utilities\NullableHelper.cs file is looking for the System.Runtime.CompilerServices.NullableAttribute to help with Nullable Reference Types, but is catching other attributes that use the NullableAttribute name, causing the whole process to crash since it isn't the Nullable attribute that it's looking for.
To Reproduce
Steps to reproduce the behavior:

Add an attribute to a field that has the name NullableAttribute, such as the LINQ-To-DB project's NotNull attribute
Add the ObjectType mapping
Start process
See error

Expected behavior
A clear and concise description of what you expected to happen.
The NullableHelper file only checks for the built-in NullableAttribute
Desktop (please complete the following information):

OS: [e.g. iOS] Win10
Version [e.g. 22] 19041.264

Additional context
Add any other context about the problem here.

I have a fix locally that unblocks this issue if there's interest

Hi @jonmill
Thank you for reporting this!!
As you already have a fix, do you mind to create a PR for it?

Sure no problem! My team is currently blocked on this, what's the usual cadence for bug fixes moving into production? :)

@jonmill  Release cycle depends on @michaelstaib
Should be out quickly. I backported it to V10 so you get it also in these prereleases.
So currently it is under review

Great, thank you!!

Thanks for the help and getting the release out so quickly @PascalSenn and @michaelstaib, it's much appreciated!


[Search] Add troubleshooting guide

API change check for Azure.Search.Documents
API changes are not detected in this pull request for Azure.Search.Documents

cc: @tg-msft


NaN shows up as a year for a publication

This publication https://rc.experts.ucdavis.edu/work/2816532 when viewed on this profile https://rc.experts.ucdavis.edu/person/03d481b0407c9f14beb561b595bb41f7 shows NaN as the year of publication (click on  view more in Academic Articles to see it). The article was published in 2019.

@Vensberg / @jrmerz.  The VIVO schema only has a publication date predicate.  Elements has both a publicationDate and an onlinePublicationDate.  The current setup maintains consistency by mapping both of these to the date field.  As a result we have this VIVO definition....
<http://experts.ucdavis.edu/work/2816532>
        a       <http://purl.org/ontology/bibo/AcademicArticle> , <http://experts.ucdavis.edu/schema#work> ;
        <http://vivoweb.org/ontology/core#dateTimeValue>
                <http://experts.ucdavis.edu/work/2816532#date> ;
        .

<http://experts.ucdavis.edu/work/2816532#date>
        a       <http://vivoweb.org/ontology/core#DateTimeValue> ;
        <http://vivoweb.org/ontology/core#dateTime>
                "2019-05-23T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> , "2019-05-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
        <http://vivoweb.org/ontology/core#dateTimePrecision>
                <http://vivoweb.org/ontology/core#yearMonthPrecision> , <http://vivoweb.org/ontology/core#yearMonthDayPrecision> .

This results in the following elastic search item (via vessel)
{
"@type": ["bibo:AcademicArticle","experts:work"],
"@id": "ucdrp:work/2816532",
"publicationDate": ["2019-05-23T00:00:00","2019-05-01T00:00:00"],
"doi": "10.1002/ces2.10007"
}

Then, in the publication display: https://rc.experts.ucdavis.edu/person/03d481b0407c9f14beb561b595bb41f7
publicationDate is expected to be a scalar which results in a NaN designation.
I think if we conform to the VIVO spec, then we should allow multiple dates, and so this should be an rp-client issue checking for array values for date, and showing (I suggest) only the earliest date.
Alternatively, we could add a digital date to the VIVO schema.

@qjhart It should be the latest date. For some reason the paper publication date supersedes the epub one.

deployed to sandbox

Looks good.


fix(engine): return the cue values merge error if non nil

I found a rather confusing error while making changes to some values.cue default definitions, which led me to investigate (happy to open an accompanying issue if that is useful):
10:13AM ERR build failed:
explicit error (_|_ literal) in source:
    ./values.cue:2:9

The change proposed returns the cue Values error if not nil, before attempting to write out the generated value.
The problem is in my values.cue file. It was that I had put a concrete list in my default values that wasn't compatible with my changes in the overriden values. For example:
// in default values.cue:
values: {
  list: []
}

// in overridden values.cue:
values: {
  list: [{ name: "some other entry" }]
}

I figured this had something to do with CUE merging my default and supplied values files together.
The reference ./values.cue:2:9 made no sense relative to my values files, so I assumed it was referring to some other intermediate generated file which led me to find the module builder. When I put in a debug line to print out the finalVal I found in had the contents (literall bottom value with a comment):
_|_ // values.list: incompatible list lengths (0 and 1)

Changing the builder to return the value error if not nil results in timoni failing like so:
10:14AM ERR values.list: incompatible list lengths (0 and 1)

@GeorgeMac thank you for this. Just as a remark that the values.cue from the module root should be empty. The best place to provide defaults, is in the #Config definition. An example for this is in the https://github.com/stefanprodan/timoni/tree/main/blueprints/starter.


Fix for viewing git repositories

This is still a work in progress... This fixes #2456, but contents of subfolders do not appear (for ex., no files/folders appear in 'A1/a')

Can now see immediate subfolders of assignments, but if you try to go deeper you get errors.
Ex: can see contents of A1/a fine, but can't see contents of A1/a/b. Problem is with the revision.directories_at_path(previous_path) call in the get_exit_directory function in submissions_helper.rb. directories_at_path needs to be called with a full path.

All fixed! View contents of folders at any depth.

@Sm1th I'm not sure that the selection by revision date works correctly.  The top level files seem to be okay.  In subdirectories, it seems to get the right files, but the date displayed doesn't look right.  I haven't experimented with different versions of files yet, but I will.

@reidka I've made some bug fixes that I found.
My dates are not formatted like that though... I get this format: 3/11/2016, 3:09:00 PM. Is that due to my computer settings?
I think it's getting the right dates now, I'm just not exactly sure how the date is being formatted... It's suppose to be using the long_date time format in the language files, but the format in your screenshot and the format I see don't match that.

The date is getting formatted again in _repo_files_table.js.jsx.erb, line 87:
f.last_revised_date = new Date(file.last_revised_date).toLocaleString();

Shouldn't formatting be done only once? If so, which location should it be done in?

@reidka This should be fixed now.
However, I think we should add seconds to the last revised date. What do you think?

@Sm1th I completely agree that we should add seconds and timezone to last revised date.

It would be good to fix the n+1 queries, but this now works well.  Thanks @Sm1th


Add Machine Scope for Eloston.Ungoogled-Chromium

Resolves #69381

@Nifury - I checked the version before this and it did contain scopes for user and machine. If possible, when updating this package in the future, be sure to keep both the user scope and machine scope as it causes issues for people upgrading if both are not present in new versions. (Ref #68863)
Microsoft Reviewers: Open in CodeFlow

Oh sorry I didn't know the machine scope was actually requested by a user. I removed it only because winget-create doesn't support multiple scopes for the same installer. I'll try other ways to update this package automatically.

@denelon - Do you know if there are any open issues over at create regarding same scope for multiple installers?

Ah this issue occurs when I update the manifest. https://github.com/microsoft/winget-create/issues/291#issuecomment-1198459372

Ohhh, I see. Makes sense! Thanks for your help looking into it!!

@ryfu-msft can you check wingetcreate for this scenario?


pg_cron: 1.1.2 -> 1.1.3

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/pg_cron/versions.
meta.description for pg_cron is: '"Run Cron jobs through PostgreSQL"'.

Checks done (click to expand)

built on NixOS

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

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

directory tree listing: https://gist.github.com/c21ad115c2a78e81c95808e8dbe09516

du listing: https://gist.github.com/0fd1ce6b6b6fa56deb6ad114ca4ed42e

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

3 total rebuild path(s)
1 package rebuild(s)
1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
pg_cron

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/z1rajpjxapkh7yqhbwv9hvv8046605sl-pg_cron-1.1.3 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A pg_cron https://github.com/r-ryantm/nixpkgs/archive/2c0f0fe4793e38e02e1f4cd8aaf823f3e52b6285.tar.gz

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

cc @thoughtpolice for testing.

@thoughtpolice I tried to get it working locally, but I didn't manage to get a properly working environment for postgres. As I've seen that you've been working quite much on this it would be awesome if you could test this :)

postgresql extensions were reorganized, closing so the bot will pick up the bump again


update dependencies, fix typedoc

waiting for checks…

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 34.956%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1200

Relevant Lines:
3086

💛  - Coveralls


Add style.css: extend docs page width

What does this changes
Add docs/_static/style.css and modified docs/conf.py (refer to https://github.com/PyThaiNLP/pythainlp/issues/720)
What was wrong
According to the issue, the document page's width is limited to 1100px.
How this fixes it

add css file to modify class .wy-nav-content width.

.wy-nav-content {
    max-width: none;
}

add custom configuration inside conf.py

html_css_files = ["style.css"]

Your checklist for this pull request
🚨Please review the guidelines for contributing to this repository.

[x] Passed code styles and structures
[x] Passed code linting checks and unit test

Thank you!

Coverage increased (+1.9%) to 94.426% when pulling 4dc2024339b3b29cd560fb34b84915d4b97d105b on LXZE:dev into 904439b58d2a2b8f7c021e87e84eecb9f3a481eb on PyThaiNLP:dev.


Avoid unnecessary compareAndSet in EventLoop.wakeup implementations

Motivation: Unnecessary costly CAS operations
Modification: Test condition with a volatile read before issuing compareAndSet
Result: Fewer unnecessarily costly CAS operations
FWIW, I considered two further extensions to this:

updating NioEventLoop to use a volatile int like EPoll and KQueue
updating the select invocations of CAS to avoid them

I decided not to proceed with either, mostly because I didn't want to tangle too closely with the logic in select, which isn't very intuitive to me, but also because the change is going to be most valuable on offer since these calls should dominate by far.  I decided it was better to keep the change simple, focused and safe.

@netty-bot test this please

Testfailure unrelated...
@netty-bot test this please

Related to discussion in https://github.com/netty/netty/issues/9105#issuecomment-487559698

Also just to be clear this is not something super urgent so we can take our time to discuss this ;)

I also was playing with this exact same idea recently but thought better of it since there's a negative trade-off in the case that the EL is waiting. It seems reasonable that this is outweighed by the benefit to the case that the EL is busy, but making such a change without any kind of empirical evidence of that seems a bit speculative.
If this is added, it would make sense to also change the compareAndSet to a getAndSet. It might be beneficial to do that even if the pre-check isn't added, but for similar reasons the net positive of that isn't immediately obvious to me (without evidence).
I do share the hunch that the CAS use as it currently stands is unnecessarily expensive though, and expect there's some way to optimize the overall wakeup mechanism. And not saying I'm against this change, just that the net benefit isn't self-evident.
@franz1981 added a nice benchmark recently which I think was intended for exactly this kind of thing... at least for evaluating the aspect that the CAS was intended to protect against in the first place (avoiding redundant successive wakeups).

I also was playing with this exact same idea recently but thought better of it since there's a negative trade-off in the case that the EL is waiting.

The whole thing could be refactored, for sure, but this minimal change has no downside that I am aware of.  What negative trade-off are you referring to?

If this is added, it would make sense to also change the compareAndSet to a getAndSet

What's your rationale for this suggestion?  getAndSet is a strictly costlier operation, since in its current implementing it must loop until the LOCK CMPXCHG succeeds, and then return the result that was successfully swapped.  The JVM could implement this with an XCHG instruction, but it doesn't presently (at least in JDK8, so far as I know), and I don't believe it would be any faster if it did.

What negative trade-off are you referring to?

The cost of the additional volatile load preceding the CAS in the case that wakenUp is 0.

The JVM could implement this with an XCHG instruction, but it doesn't presently (at least in JDK8, so far as I know), and I don't believe it would be any faster if it did.

AFAIK it does in fact do this (via an intrinsic), and my understanding is that this is generally cheaper in the case where the value changes (i.e. equivalent to successful CAS). It is possible I'm wrong about either or both of those facts though :)

@njhill @belliottsmith I need to look way better to the logic used here (I'm used to must simpler await logic like ): but AFAIK http://hg.openjdk.java.net/jdk8/jdk8/hotspot/file/tip/src/share/vm/opto/library_call.cpp#l809 getAndSet  seems inlined as XCHG nodes

What negative trade-off are you referring to?

The cost of the additional volatile load preceding the CAS in the case that wakenUp is 0.

On modern x86 systems, the cost of a CMPXCHG is ~40 cycles, whereas the cost of a volatile read is zero (at least, in excess to the regular read), so the main cost is fetching to cache (which happens either way), followed (most likely) by three instructions: mov, cmp, jne, with the latter two being fused, so (essentially) ~2 cycles.
Even on ARM, with a dependent load immediately following to the same variable, and dependent loads providing strong visibility guarantees, there should be no increased cost (though I cannot guarantee the compiler/CPU combo are smart enough here)

The JVM could implement this with an XCHG instruction, but it doesn't presently (at least in JDK8, so far as I know), and I don't believe it would be any faster if it did.

AFAIK it does in fact do this (via an intrinsic), and my understanding is that this is generally cheaper in the case where the value changes (i.e. equivalent to successful CAS). It is possible I'm wrong about either or both of those facts though :)

Thanks @franz1981 for a pointer to the relevant source file in hotspot.  This does confirm the use of the XCHG instruction, but the XCHG instruction is essentially as costly as CMPXCHG.  The cost of CMPXCHG is not to my knowledge dependent on its success, only on the cache line's status, and this is true also of XCHG.  If anything, reducing the number of CMPXCHG operations on a single memory address will reduce the latency further, since multiple processors competing to perform a CMPXCHG we know cannot succeed will all compete for the bus lock.

@belliottsmith
Agree with you, there are many [articles](https://software.intel.com/en-us/articles/implementing-scalable-atomic-locks-for-multi-core-intel-em64t-and-ia32-architectures and benchmarks) that shows that XCGH and CMPXCHG doesn't have significan cost differences when prefix with lock(Ivy Bridge apart).

@franz1981 @belliottsmith I presume though that this cost equivalence is w.r.t. the naked instruction (uncontended). It may well make negligible overall difference here, but wouldn't XCHG be at least as good and possibly better (when contended)?
@belliottsmith re the extra load, if you are sure that it's essentially free that's fine. It just wasn't obvious to me but that could certainly be due to a knowledge/understanding deficit.

I suppose that the volatile load is free on non-dirty data, but costly If not: it would increase the cache coherency traffic by invalidating the cache line where the variable sit, making an eventual change more costy. It seems to me a good candidate for padding...

I did a quick benchmark with variations of the following:
    public boolean casWithGuard(Blackhole bh) {
        bh.consume(atomic.get() == 0 && atomic.compareAndSet(0, 1));
        return atomic.get() == 1 && atomic.compareAndSet(1, 0);
    }

The uncontended ones are with a single thread and contended are with 4 threads:
Benchmark              Mode  Cnt    Score    Error  Units
casOnly                avgt   20   15.303 ±  0.091  ns/op
casOnlyContended       avgt   20  174.489 ± 15.347  ns/op
casWithGuard           avgt   20   19.913 ±  0.142  ns/op
casWithGuardContended  avgt   20  188.555 ±  3.916  ns/op
gasOnly                avgt   20   15.021 ±  0.061  ns/op
gasOnlyContended       avgt   20  165.104 ± 11.167  ns/op
gasWithGuard           avgt   20   19.541 ±  0.128  ns/op
gasWithGuardContended  avgt   20  190.924 ±  8.147  ns/op

This is intentionally a kind of "maximal success" case i.e. closer to an extreme where the EL is always waiting when woken up. So I don't mean to imply that this is a conclusive evidence against making the change, just trying to make the case that it may not be so much of a no-brainer.

This test isn't terribly useful for this situation as you point out - we can have at most one successful CAS before the event loop wakes up (which will take a fairly long time in processor terms to happen), and the wakeup signal won't be cleared until after the queue has been processed (so potentially quite a long time), during which every enqueue incurs the risk of the 10x contended cost, whereas every single guarded operation is even cheaper than measured (since it is decided immediately).
Similarly, the branch predictor will be completely disarmed by this test as it is formulated, with each CMP being effectively a coin toss, increasing the cost of the first conditional to ~10-15 cycles (or more depending on CPU) when combined with the entailed pipeline stall, whereas in a real system the condition will flip fairly infrequently for the same reasons given above, leading to effective branch prediction.

Anyway, I've had fun discussing this, but it wasn't intended to turn into such a large discussion.  You're welcome to discard the patch - it was only incidental to the discussion on #9105, and @normanmaurer suggested I rustle up a quick patch.

Thanks @belliottsmith and sorry that it turned into such a long discussion, for me at least it has been genuinely interesting/educational. I'm not suggesting to discard the patch, if I had to put money on it I would guess that this does provide a net improvement, I just don't have a good feel for how busy event loops are in general and what proportion of tasks are submitted in each state. I'm fine with it going in as-is if others are, or we could try more benchmark variations that mix in some CAS-failures and/or cpu consumption.

@belliottsmith @njhill I've run the burst benchmark on NioEventLoop and found something strange: please join the gitter channel of Netty where I've posted my finding :+1:

If I may revive this Issue:
Looking at the wake up logic I think the preexisting code is already racy.  While working on #9187 I tried to test the logic by making event FD writes very large (like Long.MAX_VALUE), which would occasionally force an eventFd read.  To my surprise, the eventFd reads would occasionally fail too, with EAGAIN!  The only explanation I can come up with is that multiple outside threads are able to call wakeup() concurrently, meaning the debouncing didn't work.
I think the logic here can be greatly simplified by depending on orderring.  Outside threads only need to call wakeup() in case they want to schedule work, or execute something immediately.   This means they always call execute() first, then wakeup().
NonEventLoop:

Add work
scheduleWakeUp()

win race, call eventFdWrite
lose race wakup is in progress.

EventLoop:

Exit from epoll_wait()
Run all ready events,
Run scheduled tasks
Clear wakeUp.
Check if any more task have been added

If new work is present, continue to 3
If no new work is present, epoll_wait()

There is a small gap in the epoll loop between 4 and 5 where a NonEventLoop could have scheduled work and reset the wakeup flag.   This is resolved by 5, which only goes to sleep when it knows there is no more work.

@carl-mastrangelo
I've got the same impression while analyzing how the event loop works https://github.com/netty/netty/issues/9112: In addition I've noticed that, althought making it more performant in some benchs, the event loops are triggering unnecessary wakeups that would lead to wakeup immediately for no apparent reasons (and not because selectors need to be rebuilt), leading to unnecessary CPU works.

I think we can close this one now as we use getAndSet(...) now which should be "cheaper" and we also added some guards to remove some wakeups that are not needed.

@belliottsmith thanks again to bring this to our attention


WSI image not show in ohif Viewer

After the Querying Study loads successfully in the Orthanc but when I load the same Study in the Ohif Viewer it will not show the Whole slide image. and not give any error My screen short are shown below. In Which I will add the breakpoint where Frame instance is converted into the blob using the function retrieveInstanceFrames. Kindly guide where I do mistake.

Screen short after converting blob

Viewer show

Network Request Showing as

Is this a different issue than https://github.com/OHIF/Viewers/issues/589? Are you getting any errors? I don't know how you expect us to reproduce this. If it's the same issue, don't open two issues for the same problem.

Yes, this is different plz review the image and send your feedback why
image not show.
On Sat, Jun 29, 2019, 12:22 PM Erik Ziegler<EMAIL_ADDRESS>wrote:

Is this a different issue than #589
https://github.com/OHIF/Viewers/issues/589? Are you getting any errors?
I don't know how you expect us to reproduce this. If it's the same issue,
don't open two issues for the same problem.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/OHIF/Viewers/issues/601?email_source=notifications&email_token=AE3X44WHSJVQCA7GGO6RJ7LP44EUHA5CNFSM4H4JRBH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODY3TRAI#issuecomment-506935425,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE3X44S66245Y6HYLTL4W53P44EUHANCNFSM4H4JRBHQ
.

You didn't provide the image, how can I review it?

Image is uploaded in the drive
https://drive.google.com/open?id=1nLYeGR6M_BJDtzE9EeBaNg6z7malfQ44
On Sat, Jun 29, 2019, 12:49 PM Erik Ziegler<EMAIL_ADDRESS>wrote:

You didn't provide the image, how can I review it?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/OHIF/Viewers/issues/601?email_source=notifications&email_token=AE3X44UFNH2SGD3IBMQURSLP44HYXA5CNFSM4H4JRBH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODY3T4HI#issuecomment-506936861,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE3X44TQN4GLW3BI6OZOAYTP44HYXANCNFSM4H4JRBHQ
.

Hi Erik,
When I use retrieveRendered = true it will add the /rendered at the end of
URL but the Orthanc doesn't have any API with endpoint rendered. therefor
it gives me 404 not found error. and when i use retriveRendered= false. it
uses retrieveInstanceFrames for fetch instance data. which is good but when
it converts data to blob with mimeType = image/jpeg it will return 200 but
Image not show.
Thanks
On Sat, Jun 29, 2019 at 1:39 PM Malik Adil<EMAIL_ADDRESS>wrote:

Image is uploaded in the drive
https://drive.google.com/open?id=1nLYeGR6M_BJDtzE9EeBaNg6z7malfQ44
On Sat, Jun 29, 2019, 12:49 PM Erik Ziegler<EMAIL_ADDRESS>wrote:

You didn't provide the image, how can I review it?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/OHIF/Viewers/issues/601?email_source=notifications&email_token=AE3X44UFNH2SGD3IBMQURSLP44HYXA5CNFSM4H4JRBH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODY3T4HI#issuecomment-506936861,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE3X44TQN4GLW3BI6OZOAYTP44HYXANCNFSM4H4JRBHQ
.

Hi Erik,
are you see the issue?
On Sat, Jun 29, 2019 at 2:20 PM Malik Adil<EMAIL_ADDRESS>wrote:

Hi Erik,
When I use retrieveRendered = true it will add the /rendered at the end of
URL but the Orthanc doesn't have any API with endpoint rendered. therefor
it gives me 404 not found error. and when i use retriveRendered= false. it
uses retrieveInstanceFrames for fetch instance data. which is good but when
it converts data to blob with mimeType = image/jpeg it will return 200 but
Image not show.
Thanks
On Sat, Jun 29, 2019 at 1:39 PM Malik Adil<EMAIL_ADDRESS>wrote:

Image is uploaded in the drive
https://drive.google.com/open?id=1nLYeGR6M_BJDtzE9EeBaNg6z7malfQ44
On Sat, Jun 29, 2019, 12:49 PM Erik Ziegler<EMAIL_ADDRESS>wrote:

You didn't provide the image, how can I review it?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/OHIF/Viewers/issues/601?email_source=notifications&email_token=AE3X44UFNH2SGD3IBMQURSLP44HYXA5CNFSM4H4JRBH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODY3T4HI#issuecomment-506936861,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE3X44TQN4GLW3BI6OZOAYTP44HYXANCNFSM4H4JRBHQ
.


NFT transfer tracking

stores an 'owner' field with the destination of the last transfer. it's anticipated that "burns" will transfer to 0x00...00 and leave it there. our record of the nft will still exist


Fix for unnecessary spacing in custom case lists on new UI

IMP NOTE: For the material diff, look at the 1st commit only. The 2nd commit is just reformatting (somehow this file got missed out on our conversion from tabs to spaces) but it makes basically the whole file have a diff, so can't see the meaningful changes from looking at the overall diff.
Explanation: For both REC and Parto (the 2 main apps using case tiles for their case lists), on the new UI there is currently an awkward amount of extra spacing between lines of content in each case tile. Since the spacing of the tile contents are dependent on the tile sizes, which are in turn dependent upon how many tiles the device tries to show per screen, the solution was to increase the default number of grid tiles that are shown per screen (from 5 to 7). Screenshots included below for how this changes the look of the case lists in both Parto and REC.
Also includes some linting to GridEntityView (mostly renaming of variables and removal of unnecessary class-level variables).
Don't pull yet -- waiting for confirmation from both REC and ICDS that they are OK with the changes.

REC case list before changes:

REC case list after changes:

Parto case list before changes:

Parto case list after changes:

@ctsims -- Got ok from all relevant projects, so good to go.


89 | Gray Code | C++

Title -

Gray Code
What will change -
A single file of the solution will be added in C++ folder.

Type of Issue -
Please add/delete options that are not relevant.

[x] Adding New Code
[ ] Improving Code
[ ] Improving Documentation
[ ] Bug Fix

Programming Language
Please add/delete options that are not relevant.

[ ] Python
[x] C++
[ ] Java
[ ] SQL

Self Check

Ask for issue assignment and wait to get assigned to it before making Pull Request.
Add your file in the proper folder
Clean Code and Documentation for better readability
Add Title and Description of the program in the file

:star2: Star it :fork_and_knife:Fork it :handshake: Contribute to it!
Discord server ✉ - https://discord.gg/CXksGdn
Happy Coding,

C++ code


Request to unblock a few domains

Hi,
It appears that a few domains are blocked on this hosts list which I can't for the life of me figure out why.
act.fossilfueltreaty.org
emails.khanacademy.org
www2.citizensclimatelobby.org
As per this link, it appears that not just the Citizens' Climate Lobby link is being blocked, but also act-on, which is what they use for the www2 subdomain. This breaks most links coming from CCL.
As per this link, it appears that act.fossilfueltreaty.org is just blocked outright. Why? This is the domain in which the Fossil Fuel Non-Proliferation Treaty can be signed (see here)
With regard to the Khan Academy email domain, here it shows that the domain isn't necessarily blocked, but Sailthru is, which effectively breaks all the email links.
Other domains I've encountered problems with (but can better understand why) are:
clicks.aweber.com
lptag.liveperson.net
avantlink.com
Blocking these breaks newsletter links, customer support chats, and product referral links, respectively.
I get that many people want to block all trackers no matter the cost, but can there at least be an option to opt out of blocking referral and redirect links? For the most part, they only track the people who click them directly, and there is no way around them once they're blocked.
Thanks.

Hi @GBT7 thank you for raising this issue.
Let's look, shall we?
act.fossilfueltreaty.org
$ dig act.fossilfueltreaty.org all

act.fossilfueltreaty.org. 14399	IN	CNAME	go.pardot.com.
go.pardot.com.		1288	IN	CNAME	pi.pardot.com.
pi.pardot.com.		298	IN	CNAME	pi-ue1.pardot.com.
pi-ue1.pardot.com.	28	IN	CNAME	pi-ue1-public-lb-f0209c6950285322.elb.us-east-1.amazonaws.com.
pi-ue1-public-lb-f0209c6950285322.elb.us-east-1.amazonaws.com. 58 IN A <IP_ADDRESS>
pi-ue1-public-lb-f0209c6950285322.elb.us-east-1.amazonaws.com. 58 IN A <IP_ADDRESS>
pi-ue1-public-lb-f0209c6950285322.elb.us-east-1.amazonaws.com. 58 IN A <IP_ADDRESS>
pi-ue1-public-lb-f0209c6950285322.elb.us-east-1.amazonaws.com. 58 IN A <IP_ADDRESS>
pi-ue1-public-lb-f0209c6950285322.elb.us-east-1.amazonaws.com. 58 IN A <IP_ADDRESS>

Well surprise, surprise. The domain act.fossilfueltreaty.org is a  CNAME record that goes through pardot.com subdomains and many or its incarnations.
If we unlist act.fossilfueltreaty.org then you're still going to be blocked by the many pardot.com domains we block here.
Do you want me to continue @GBT7, because I can continue.  Or have you seen enough. I've certainly seen enough.


Send model for valid and invalid callbacks

When binding collections to Backbone.Validation may be difficult to identify which of the models is invalid. I end up doing something like this:
Backbone.Validation.bind(this, {
    valid: this._onValid.bind(this),
    invalid: this._onInvalid.bind(this),
    collection: this.collection
});

_onInvalid: function(view, attr, error){ <-- add model here

  var $form = this._getCapacitiesForm();

  $form
    .find('tr[data-id="' + this.checkedModel.get('id') + '"]')
    .find('[data-validation~="' + attr + '"]')
    .addClass('has-error')
    .find('.help-block')
    .removeClass('hidden')
    .text(error);
},

this.collection.each(function(model){

    this.checkedModel = model; <-- this

    if (model.isValid(true)) {
        return;
    }
}, this);

It would be nice to have the model available as argument for valid and invalid callbacks.
Thanks

This is fixed in a fork i'm maintaining (tried contact this repository admins without luck): https://github.com/blikblum/backbone.validation
The updated package can be found at https://www.npmjs.com/package/backbone.validation
To use with node: npm install backbone.validation


.-easy+math

I don't see where is the issue here.

Absolutely no idea. Must have been a mistake on my part. Cheers


Added jupyter notebook

Looks good! Thanks @paulitapb!

Could you just rename the notebook to nx_notebook.ipynb? thanks!

absolutely! It's done!


Hooks for unet patching

I have implemented FreeU for the webui here:
https://github.com/ljleb/sd-webui-freeu
Some users noticed that it was not possible to use FreeU in conjunction with TRT:
https://github.com/ljleb/sd-webui-freeu/issues/36
FreeU replaces the th.cat that concatenates the backbone with the skip connections as input to each unet decoder block.
I've skimmed through the code but I can't find the unet forward function used by TRT, so I'm not sure what to patch. I tried debugging but I can't step into what appears to be the actual unet forward call. So my first question is, how can I patch the concatenation logic for the decoder blocks when TRT is in use?
And I guess as a more general question, for any other extension, how can I patch any part of the unet forward function when TRT is in use? Is this not possible because the code is compiled?

The engine is compiled and can't be intercepted. I assume FreeU is a different Unet architecture / uses some magic in between the encoder and decoder connections?

No magic, it's just a scalar for the backbone and a highpass filter for the skip connection, one of each for each stage of decoder blocks.

I am suspecting this is not very practical, but if we could compile the engine into 2-3 components and then compose these blocks during inference, then arbitrary code could be inserted between the compiled components.

Thinking of alternatives for solving this -- would it be possible to simply bake the FreeU calculations into the ONNX graph with either pre-set values or accepting scalar inputs?  It's quite likely that a majority of people using FreeU will only have one set of settings they use for each model.

Was this closed because FreeU was added or made possible in some way, or is this simply not planned?


Do not print nrn_state if breakpoint does not get solve block

With Nico we discussed that since this PR controls something pretty important it's better not to merge at this state, before adding sufficient tests and validating that NMODL has the same bahavior as mod2c

@alkino can this be closed?


CA requesting removal of filter

Problem statement
CA wants to receive all Covid antigen tests
What you need to know
CDPH is requesting a full rollback of a previous change. We would no longer like any non-positive covid antigen results blocked from reaching us.
To do

Remove filter of non- positive antigen test

This ticket is referring to ticket 9380. I will ask Don to look into it

Hey @cloudmagic80 When we met with CA, they asked us to reverse what you did for ticket 9380. Will you complete this? Thanks!

https://github.com/CDCgov/prime-reportstream/pull/10291/files
@adegolier  @victor-chaparro  I made the pull request. Once I get a positive review, I will merge into master.


Update FlairYourPostBot.py

Added in add_flair_message_wiki which looks for a wiki page in the subreddit that is titled "FlairYourPostBotInitial" and it uses that as the initial remove message. If the post is not flaired within 10 minutes than the bot uses remove_post_message_wiki which looks for a wiki page in the subreddit that is titles "FlairYourPostBotFinal" and it uses that as the final remove message. All subreddits will be required to make the two wiki pages and copy paste the template for the message, after that mods can choose to edit the template or leave it as it is.

You should gave them as functions, instead of variables


feat: Inverted LED Effect

Fixes #134
NOW, you can play with another LED Effect on your badges.
Changes:

Improved DataToSend According to the invertedLED
We now check the invertedLED Check before preview and sending
All the hexadecimal to binary conversions are shifted to Converters.kt

Screenshots for the change:

@ShridharGoel @yashk2000 @yatri1609 @anhanh11001 Please Review

@adityastic it looks pretty good. But when you are making the invert LED effect on text, can you make another red line appear before the first character? For ex. in "hello", there's a red line at the end after "o". Make the same line appear before the "h" too.

@iamareebjamal, Have a Look Sir.


Clone from private gitlab repo

Q
A

Issue Type
Question

Deployer Version
4.2.1

Local Machine OS
MacOS Sierra

Remote Machine OS
CentOS Linux 7.3.1611

Description
I am trying to use with private repo. Deployer can reach server and create directory structure but can't clone files from private gitlab repo.
Content of deploy.php
<?php
namespace Deployer;
require 'recipe/common.php';

// Configuration

set('ssh_type', 'native');
set('ssh_multiplexing', true);

set('repository', 'git@gitlab.com:coderontheroad/**********.git');
set('shared_files', []);
set('shared_dirs', []);
set('writable_dirs', []);

// Servers

server('production', '*.*.*.*')
    ->user('****')
    ->identityFile()
    ->set('deploy_path', '/home/****/****/****');

// Tasks

desc('Restart PHP-FPM service');
task('php-fpm:restart', function () {
    // The user must have rights for restart service
    // /etc/sudoers: username ALL=NOPASSWD:/bin/systemctl restart php-fpm.service
    run('sudo systemctl restart php-fpm.service');
});
after('deploy:symlink', 'php-fpm:restart');

desc('Deploy your project');
task('deploy', [
    'deploy:prepare',
    'deploy:lock',
    'deploy:release',
    'deploy:update_code',
    'deploy:shared',
    'deploy:writable',
    'deploy:vendors',
    'deploy:clear_paths',
    'deploy:symlink',
    'deploy:unlock',
    'cleanup',
    'success'
]);

// [Optional] if deploy fails automatically unlock.
after('deploy:failed', 'deploy:unlock');

Error

@coderontheroad Try to run git clone on the server manually. Did you set a deploy key in the repo and add it on the server?

@pluseg I already added deploy key but I didn't execute any git clone command. So I tried to execute and it works but i noticed that, server asked add gitlab to (ECDSA) to the list of known hosts. And I said yes. Than deploy comment started to work now :) Thanks...

@pluseg it will be good to add this to docs, ...will help a lot of people.


Filtering by dates range

On the client side (or maybe server side?) I need to be able to select range of dates for which plots are displayed

Also display values in the table from the newest


Update dependency: deps/haskell-backend_release

The CI tests hand forever on MacM1 while running test-logTiming. Unfortunately, I cannot reproduce the failure locally.


Fix two windings transformer equations

Proposed a fix for two windings transformer equations.
Starting from definitions S=VI* and S0 = -S1,
We have V0I*0=-V1I*1.
From there we have I0=-I1/(ρejα)*,
And then I0=-I1/ρe-jα
The rest of adjustments to the elements of the admittance matrix are derived from this.

The part of the sentence that defines the shunt admittance y is a little bit confusing. We propose either to remove completely the clarification at secondary side of the transformer (its location is clear from the diagram) or say at side 1 with respect to series impedance


add support to pcre2 operations

Hello everyone, everything good? I would like to propose a simple change in the way "oxi" implements regex, I recently came across a problem, I need to replace the import of some libraries for a specific pattern, but I only managed to get a satisfactory regex using an operator called negative lookahead operator, although ripgrep already has support if we use the --pcre2 flag, sed and not even oxi supports these operators by default, by researching a little it is possible to see that oxy uses the rust regex lib, however, it does not support pcre2 operations, but I found a call fancy_regex that supports "pcre2" operators which is very similar to regex, and I just made a small change in the "matchstr" function and now it is possible for operators to use pcre2 without any problem , ripgrep already supports this type of operator, it is very simple to support this implementation in the plugin configuration, here is an example:
return {
  "nvim-pack/nvim-spectre",
  opts = {
    default = {
      replace = {
        cmd = "oxi",
      },
    },
    find_engine = {
      ["rg"] = {
        cmd = "rg",
        args = {
          "--pcre2",
          "--color=never",
          "--no-heading",
          "--with-filename",
          "--line-number",
          "--column",
        },
      },
    },
  },
}

Can you add "--pcre2" argument to README? Also wth is ur pfp, lmao?

hey brow, I apologize for the delay in completing a simple task, I was busy, but I made the adjustments.


Support .net 4.0

Hi,
Is it possible to add support of .net 4.0
In out example we are using Umbraco 6.* and we can't migrate out solution to 4.5
I checked and if to replace Mutex.TryOpenExisting with custom reslization, then it should be possible to run under 4.0
Best regards,
Alexey Badyl

happy if you want to submit a PR, although most people are moving over to using the azure search service now....


Update about

It looks like you are attempting to push a change to the part repository, for help with deploying please start a new thread in the discussions.


cache being reseted between tests

I don't know if that was intentional to happen, but I'm facing the following issue (as described in the code below):
require 'fakeredis'

describe 'test' do
  def redis
    @redis ||= Redis.new({})
  end

  before :all do
    redis.set 'teste', 'testeteste'
    puts redis.keys # => ["teste"]
  end

  it 'does something' do
    puts redis.keys # => []
  end
end

as showed, the "fake cache" is being cleared before the test starts.

Works as expected on master branch.


Cannot insert multiple data entries in single query

Current Behavior
<manageDatabaseREQ>     <sql>         <type>other</type>         <query>             INSERT INTO ISSUERS (ISSUERID, ISSUERNAME, COUNTRYNAMES) VALUES ('1', '2', 'Nederland');             INSERT INTO ISSUERS (ISSUERID, ISSUERNAME, COUNTRYNAMES) VALUES ('3', '4', 'Duitsland')         </query>     </sql> </manageDatabaseREQ>
Using the script above, I tried inserting this data locally into an Oracle 11g database.
This results in the following error:
nl.nn.adapterframework.core.SenderException: [nl.nn.adapterframework.jdbc.XmlQuerySender] [Query-sender] got exception executing query [INSERT INTO ISSUERS (ISSUERID, ISSUERNAME, COUNTRYNAMES) VALUES ('1', '2', 'Nederland'); INSERT INTO ISSUERS (ISSUERID, ISSUERNAME, COUNTRYNAMES) VALUES ('3', '4', 'Duitsland')]: (SQLSyntaxErrorException) ORA-00911: invalid character https://docs.oracle.com/error-help/db/ora-00911/: (OracleDatabaseException) ORA-00911: invalid character
Moving the semicolon results in:
nl.nn.adapterframework.core.SenderException: [nl.nn.adapterframework.jdbc.XmlQuerySender] [Query-sender] got exception executing query [INSERT INTO ISSUERS (ISSUERID, ISSUERNAME, COUNTRYNAMES) VALUES ('1', '2', 'Nederland') INSERT INTO ISSUERS (ISSUERID, ISSUERNAME, COUNTRYNAMES) VALUES ('3', '4', 'Duitsland');]: (SQLSyntaxErrorException) ORA-00933: SQL command not properly ended https://docs.oracle.com/error-help/db/ora-00933/: (OracleDatabaseException) ORA-00933: SQL command not properly ended
and removing it:
nl.nn.adapterframework.core.SenderException: [nl.nn.adapterframework.jdbc.XmlQuerySender] [Query-sender] got exception executing query [INSERT INTO ISSUERS (ISSUERID, ISSUERNAME, COUNTRYNAMES) VALUES ('1', '2', 'Nederland') INSERT INTO ISSUERS (ISSUERID, ISSUERNAME, COUNTRYNAMES) VALUES ('3', '4', 'Duitsland')]: (SQLSyntaxErrorException) ORA-00933: SQL command not properly ended https://docs.oracle.com/error-help/db/ora-00933/: (OracleDatabaseException) ORA-00933: SQL command not properly ended
Running this same query in the Dev environment, utilizing Microsoft SQL, is accepted.
Altering the query to one entry at a time does not give an error.
Expected Behavior
I expect it to execute 2 queries concurrently, with no errors.
Environment Information
FF! 7.9.4: ija_xxx
Running on xxx using Apache Tomcat/9.0.89
Java Version: OpenJDK Runtime Environment (1.8.0_392-b08)
Heap size: 238M, total JVM memory: 547M
Free disk space: 147GB, total disk space: 237GB
Up since: 2024-10-02 14:20:29 (2h)
Steps To Reproduce
No response
Configuration
No response
Input
No response
What database are you using?
Oracle
What browsers are you seeing the problem on?
Chrome
Relevant Log Output
No response
Anything else?
No response

Please use the following syntax:
INSERT INTO MyTable ( Column1, Column2 ) VALUES ( Value1, Value2 ), ( Value1, Value2 );
Or use the XML configuration to use multiple inserts.


Add UI-element to track background toggling

Currently, it is not clear from UI what is the current status of the region background toggling. => Add a switch-button to the toolbar.
Related to: https://github.com/Microsoft/VoTT/issues/663

Hi Kichinsky
Did you add the feature to the head branch of the canvasTools?
How do I utilize it?

It is not implemented yet, I'm projecting to make the required changes in few days.

@amitportish Could you check the samples for CanvasTools or the screenshot bellow if it fits your request?

p.s. It is not integrated into VoTT yet. It will take another day or so for the 1.x version.

Thank you, It's good.
I would install the new CanvasTool.
Would it work with ctrl B?


Improve GRBL serial port detection

Make sure there is a way to override path
See stuff like:
/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0

Is this the same device across different controllers?

Three different units tested (two different types: red switch and CAMXTOOL V3.5) all return this exact same device

New behavior:

Explicit arg (ie via CLI etc) is canonical if given
Otherwise look for environment variable GRBL_PORT
Otherwise try to glob "/dev/serial/by-id/usb-1a86_USB_Serial-*" for exactly one entry
If these fail it throws an exception


Home App design

The aim of the issue is to bring together the design decisions and open questions related to the aiidalab-home app. Once they are discussed and agreed - they will go into the this wiki page to be the main reference point.
Key components of the home app

Home page
App Store
Linux terminal
File manager
Task manager
App home page (better name for this?)
AppBase class

Tight binding with Git

Any app is a Git repository
App versions are Git tags (lightweight or annotated)
Check for updates by comparing remote and local git branches
Uses dulwich package to get the Git functionality (motivation is provided in #11)

AppBase class

Install/uninstall/update apps
Looks for the available app updates
Gets app-related meta information.
Does not allow to delete an app if Git has detected modifications.
Future plans:

Install app dependencies (#12)
Check for newer tagged versions (#21)
Allow to "force delete" the apps (#22)

App home page

Contains basic information about an app: authors, description, logo, external URL, repository/Git URL, and Git information.
Allows to select a particular version of an app (selection among Git tags and Git branches)
Allows to install/uninstall/update app
Future plans:

Redirect to this page if the link references an app that is not installed (#17)

App Store

Install/uninstall/update apps
Show minimal info about an App (logo, authors, short description)
Allows to show filter only installed apps
Allows to filter apps by categories
Allows to show a given number apps per page
Future plans:

Consider to replace install/uninstall/update buttons with "Manage" button that lead to the App home page. This will make the App Store more lightweight. (#20)
Select app by typing its name (#19)
Show the latest app version

Home page

Shows installed apps
Allows to modify the apps order
Future plans:

Allow to change the current AiiDA profile (#23)

Dependencies

apps_meta.json that is generated on the AiiDA lab server. It contains basic information about an app, app-related metadata, Git information.
aiidalab-registry is used for the generation of apps_meta.json. It contains two main files:

apps.json that has all the available apps and basic info:

git_url [mandatory]- link to the git repository
meta_url [mandatory] - link to the metadata.json file inside each repository
categories [optional] - list of categories this app belongs to.

categories.json file that lists all the possible app categories (with title and description)

App-specific metadata.json file, that has can contain the following fields:

title
description
version - I think this one should be removed. The version is already provided as a Git tag
authors
logo
state - can be registered, development, stable
documentation_url
external_url

In order to avoid work duplication, let's agree on the general concepts. I just collected all I had in mind (+ some suggestions from @CasperWA ). Let me know if you have other ideas


Reload bcdb data after changing the seed

export the current bcdb   j.data.bcdb.system.export(exportpath, False)
reconfigure nacl with different seed j.data.nacl.configure(privkey_words=newseed)
then import the exported  data

Implemented in a separate package here https://github.com/threefoldtech/jumpscaleX_threebot/commit/e9931962626154b5222106a91e7e173f09022213

Verification steps:
1- start threebot server and load registration package, or use the registration package factory instead j.threebot.package.registration.start()
2- get a gedis client to your threebot
3- check your current seed j.data.nacl.words
4- call the reseed method using gedis client gedis_client.actors.registration.reseed("{YOUR_NEW_SEED}")
5- restart your kosmos shell
6- now you should have the new seed loaded without losing any of your configs stored in bcdb

Verified
get Gedis client to your threebot
JSX> j.clients.gedis.get(port=8901)
# JSXOBJ:
## .gedis.client
ID: 22
 - name                : main
 - host                : <IP_ADDRESS>
 - port                : 8901
 - namespace           : default
 - threebot_local_profile: default
 - password_           :

- Check Current seed:
JSX> j.data.nacl.default.words
'inhale setup banana proud banner toward rural royal garlic machine design multiply avoid list mix hire celery aware bulb frame drink knee december slender'

- Reseed :
JSX> gedis.actors.registration.reseed("outside bag garlic surround misery climb stone ordinary obvious account adjust salon despair wave receive actor flee volcano rookie blade mind camera elbow stuff")

Then exit out of shell and check the new seed:


Missing event

Hi!
I have two questions about notifications
1) Network failures.
As I mentioned here: https://github.com/alfredh/baresip/issues/362
When using ctrl_tcp, when network goes down I receive type: REGISTERING event, but not cause of problem. In cli I can see:
ua: SIP register failed: Network is unreachable

Would it be possible to notify "Network is unreachable" type of errors?
2) CALL_RTCP event for incoming
CALL_RTCP event/notification is available only for outgoing calls, is it technical limitation, or it is possible to get it also for incoming calls?

about question number 1, yes we can add this.
about question number 2, I just made a call from baresip to baresip and while the
call is ongoing, I am getting the CALL_RTCP event approx. every 5 seconds
(both outgoing and incoming). Can you please provide a bit more details
why CALL_RTCP for incoming is not working for you ?
Alfred

Alfred E. Heggestad writes:

I am getting the CALL_RTCP event approx. every 5 seconds
(both outgoing and incoming). Can you please provide a bit more details
why CALL_RTCP for incoming is not working for you ?

I'm also seeing those in my Android app at the same kind of frequency.
What are they for?  Call quality info?
-- Juha

Yes, it is QOS info. Should be exchanged between peers. I supouse in my case SIP will not play a peer role if another end does not support this protocol. If it so, it is strange, that I am receiving them for outgoing (but I receive just 2 and that is all, maybe they are send before reaching peer ...)
Anyway lets ignore this. Only valid point is 1).

hi @ernierasta
could you please test commit 5855ca50919828adf8102390710995d7446bf8b8
and see if you are getting the wanted event ?
regarding CALL_RTCP event; if RTCP is enabled and supported by the peer,
baresip should receive an RTCP packet every 5 seconds. when this RTCP packet
is received, it is relayed to the event subsystem as UA_EVENT_CALL_RTCP
and anyone who is interested can call stream_rtcp_stats to fetch the latest
RTCP statistics.
Alfred

Now at conference, but will do so at Saturday. Thanx!

@ernierasta still waiting for you to verify this. if I dont hear from you in a few days I will close the issue.
Alfred

Hi @alfredh sorry, I completely forgot. I generally works, but for only for one (first) registered UA. In baresip cli you can see this message twice, but REGISTER_FAIL is sent once. Tested 2 times.

this could be because the event handler is registered already after the
event has been sent, meaning that the first event will be missed.
do you have any logs to show the case you are describing ?

I do not know why, but today all looks ok. Maybe that was bug on my end. I tested it today twice, with simplest code possible and it looks ok. So sorry for noise.
Thank you for implementing this!
Have a great day Alfred.


Missing Sprites For Spectrier and Glastrier

Missing Sprites For Spectrier and Glastrier

I've added a few of them, can you check again?

I've added a few of them, can you check again?


📌 Pinned Node v10 to ^10.13.0

no issue

see https://nodejs.org/en/blog/release/v10.13.0/

requires CLI release

https://github.com/TryGhost/Ghost-CLI/pull/854

CLI was released.
https://github.com/TryGhost/Ghost-CLI/releases/tag/1.9.8

@gargol We can release this today.

lgtm


Recomendation

Hi,
Sorry to write off topic.
Can you recommend me a good way to learn graphql besides this book https://pragprog.com/book/wwgraphql/craft-graphql-apis-in-elixir-with-absinthe?
Thanks and I apologize again for writing this but haven't found a good resource or tutorial anywhere for phoenix 1.4.

That book is definitely the most complete resource available. I'd try asking for help on the Elixir slack channel if you run into issues: https://elixir-slackin.herokuapp.com/

Thank you @QuinnWilton


Use a float-based grid

Fixes some major issues:
The old inline-block grid needed the font-size: 0 hack, which is problematic when we don't know how to properly reset the font size for grid items. (font-size: initial doesn't work properly in IE)
I've also changed this so that fr_half only applies width: 50% at 640px and higher.
Before

After

LGTM


custom avro field paritioner

Description
Please include a summary of the change, motivation and context.
Testing
Local testing & unit testing
Checklist:

[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] Any dependent changes have been merged and published in downstream modules

Documentation
NA

LGTM once snapshot is removed.


[BUG] beanie iterative migration with multiple migrations fails with TransientTransactionError when there are a lot of documents

Describe the bug
When running a migration file (which consists of multiple migrations consisting of 210k documents) raised the following error:

And the changes from the first migration were already committed even though the second migration raises error.
I got the same error after reducing the number of documents to 180k.
But, when it went down to 165k, The migration succeeded successfully.
Expected behavior

None of the migrations should have been committed since there is an error (1st migration changes are applied even if 2nd migration raises an error).
Even if the migration takes more than 2 minutes, it should go through irrespective of the 120 second transaction limit

Also, since the transaction timeout is defaulted to 2 minutes. I think there should be a way to pass in the transaction timeout max_commit_time_ms as a param before starting a migration.

Good catch! Thank you.
I'll fix it this-next week

@roman-right any updates on this bad boy?  Our process right now requires us to take a snapshot of the db before we run any migration because we never know if it will fail in the middle or not.

Hi @harris,
Unfortunately, I haven't had time in the past few weeks. It will be addressed during the next bug-fixing session.
PRs are always welcome.

+1 on this issue.  Got same error as prabhumarappan
pymongo.errors.OperationFailure: Transaction with { txnNumber: 1 } has been aborted., full error:
{'errorLabels': ['TransientTransactionError'], 'ok': 0.0,
'errmsg': 'Transaction with { txnNumber: 1 } has been aborted.', 'code': 251,
'codeName': 'NoSuchTransaction', '$clusterTime':
{'clusterTime': Timestamp(1701914803, 1), '
signature': {'hash': b'\x87\x8f*spF\xf1\xdd\x8c\x9f?M\xa0c\xa5\xa1_h\x8ee', 'keyId':<PHONE_NUMBER>910687746}}, 'operationTime': Timestamp(1701914803, 1)
}

Probably this PR can help - https://github.com/roman-right/beanie/pull/828
@zakajd , @harris , @prabhumarappan , could you please try?

@roman-right, we encountered the same problem during a migration. We attempted to resolve it by setting a large max_commit_time_ms value manually in the code to allow the transaction to run for more than two minutes. However, this didn't solve the issue. We received the following error:
pymongo.errors.OperationFailure: Transaction with { txnNumber: 1 } has been aborted., full error: {'errorLabels': ['TransientTransactionError'], 'ok': 0.0, 'errmsg': 'Transaction with { txnNumber: 1 } has been aborted.', 'code': 251, 'codeName': 'NoSuchTransaction', '$clusterTime': {'clusterTime': Timestamp(1705515449, 1),

We managed to fix the problem only by using the no-transaction option.
Do you have any ideas as to why this problem might have arisen?

Probably this PR can help - #828 @zakajd , @harris , @prabhumarappan , could you please try?

@roman-right this does not exactly fix the issue. the #828 PR, just enables a no-transaction option through the command line. We kind of did the same thing but we just directly disabled transactions for migrations for us to run
so, the issue is still there


TypeError: Cannot convert undefined or null to object

While trying to delete a nested key, I am getting:
c:\node\project\node_modules\key-del\index.js:60
delete nestedObjectRef[lastAttribute];
^
TypeError: Cannot convert undefined or null to object
at c:\node\project\node_modules\key-del\index.js:60:34
at Array.forEach (native)
at deleteKeysFromObject (c:\node\project\node_modules\key-del\index.js:43:16)
at c:\node\project\node_modules\key-del\index.js:64:33
at Array.forEach (native)
at deleteKeysFromObject (c:\node\project\node_modules\key-del\index.js:43:16)
at c:\node\project\routes\v1\profile.js:229:58
at c:\node\project\node_modules\async\lib\async.js:254:17
at done (c:\node\project\node_modules\async\lib\async.js:135:19)
at c:\node\project\node_modules\async\lib\async.js:32:16

@yiannistsi, could you provide an example of the object which fails, please?

@miktam, here is the object:
{"data":{"_id":"user1","images_folder":"54f084eecdf6a09017ffcd7d","local":true,"settings":{"moto":"Life is beautiful!","description":"Searching for Freedom and peace of mind...","display_name":"user1","official_image_type":"jpg","background_image_style":"cover","profile_searchable":true,"background_image_type":"predefined","background_image":"/backgrounds/bg.png","profile_image_type":"predefined","profile_image":"/avatars/icon.png"},"profile":{"user_id":"user1","name":"User","surname":"1","role":"test"},"relationship":{"is_friend":false,"requested_by":"user2","blocked_by_me":false,"blocked_by_other":false}},"meta":{"code":200}}
I am getting the error either when trying to delete a 2nd level nested key (i.e. data.communities) or a 3rd level one: data.settings.official_image_type

@yiannistsi thank you, will fix it today

@miktam, just tested it. The deletion of the nested key seems to work. However when I insert in the array of keys to delete both 1st level and 2nd level elements I get the same error. But when I insert 2nd and 3rd level elements it works fine!

You are right, will fix it.

Fixed
@yiannistsi thank you for helping :)


Biber 2.5 is incompatible with Texlive 2017

Issue description
Nixpkgs's texlive-2017 contains Biblatex 3.7, which is compatibe with Biber 2.7 only.
See page 5 of the Biber documentation.
Therefore, we need to package Biber in version 2.7.
For cross-reference: #30332
Steps to reproduce
Install texlive-2017.
$ biber main.bcf
INFO - This is Biber 2.5
INFO - Logfile is 'main.blg'
INFO - Reading 'main.bcf'
ERROR - Error: Found biblatex control file version 3.3, expected version 3.1.
This means that your biber (2.5) and biblatex (3.7) versions are incompatible.
See compat matrix in biblatex or biber PDF documentation.
INFO - ERRORS: 1

Technical details

system: "x86_64-linux"
host os: Linux 4.9.66, NixOS, 18.03pre121925.3eccd0b11d1 (Impala)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 1.11.15
channels(root): "nixos-18.03pre122666.afe9649210c"
channels(rschuetz): ""
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs

Thanks, @gebner!