Add libmaxminddb-dev

buildpack-deps already includes libgeoip-dev, and this library is deprecated from Maxmind. The replacement is libmaxminddb-dev. It's not even possible (ok, it's possible, but it's very hard) to get the database files that are read by libgeoip since Maxmind doesn't distribute them anymore.
Any opposition to bringing in the newer version?
https://github.com/maxmind/geoip-api-c/blob/master/README.md
vs
https://github.com/maxmind/libmaxminddb/blob/master/README.md
An argument can even be made to remove libgeoip-dev since this isn't really a supported library anymore, but I image ripping things out would cause more heartache. 💔

It has been been about 4 years since we added libgeoip-dev (https://github.com/docker-library/buildpack-deps/pull/34). Perhaps we swap to libmaxmind for buster and above.
What do you think @tianon?

Agreed, sounds sane!

lol I forgot that I added it originally.

I think the only place libmaxminddb-dev is not available out of what we support is Jessie.
Given that libgeoip-dev is really not supported anymore (and there's no useful public source of data for it), I'm in favor of just swapping outright as a signal to downstream folks that they really should be aware of breakage here and should perhaps look to ditch their use of GeoIP.


[FIX] dependencies

what wrong with ~> 0.98.0?

It's the same issue like ObjectMapper. The standardized specification is only one point notation, f.e. ~> 0.98 or ~> 1.1.

Realm > 0.98.5 use Swift 2.2, will be supported in RealmMapper ~ 1.1.x, not in 1.0.x.
I'm busy now, any update will be pushed in weekend. Thanks you!

Thanks. I try the RealmMapper with Realm 0.98.8 and ObjectMapper 1.2 and it work fine.

Ok I'm checking now. There are some failures report from Travis.

ObjectMapper 1.2 use Swift 2.2. It'll be updated with RealmMapper 1.1+, thanks you!


Neckro Gatherers

Amount gathered by neckros
Would be great if we could config the neckros to take items they pick up to chests in intervals or something other than when they are completely full
No problem really, I just cant use the gatherers with the modpack I have currently uses WeightBase so the neckros just pick up things forever because items have no max stack.
Still learning about everything in this mod since I'm barely into Black Forest but its pretty cool so far :)
Solutions
Item amount threshold
Ideally, when threshold is reached they would head to a container to store their cargo.

Hi @myceliated , thanks for your feedback and for opening the issue.
Ok I can do something like:

every X seconds, Neckro checks its inventory
if it has stuff in there, it drops it off, regardless of whether it's full or not

That should work

Sorry, didn't see you had already self-assigned @jpw1991.

@CW-Jesse it's all good, thanks for completing the issue


Empty samples in glue/qqp

qqp = nlp.load_dataset('glue', 'qqp')
print(qqp['train'][310121])
print(qqp['train'][362225])

{'question1': 'How can I create an Android app?', 'question2': '', 'label': 0, 'idx': 310137}
{'question1': 'How can I develop android app?', 'question2': '', 'label': 0, 'idx': 362246}

Notice that question 2 is empty string.
BTW, I have checked and these two are the only naughty ones in all splits of qqp.

We are only wrapping the original dataset.
Maybe try to ask on the GLUE mailing list or reach out to the original authors?

Tanks for the suggestion, I'll try to ask GLUE benchmark.
I'll first close the issue,  post the following up here afterwards, and reopen the issue if needed.


Pin TO builder golang version to 1.11.13

What does this PR (Pull Request) do?

Golang versions > 1.11 seem to break the TO-Riak communication channel
for some reason. Pin the version used to build TO-Go to 1.11 until we
have triaged the TO-Riak issues and are able to use golang > 1.11.

[x] This PR is not related to any Issue

Which Traffic Control components are affected by this PR?

Traffic Ops

What is the best way to verify this PR?

# verify that the traffic_ops rpm build works:
sudo ./pkg -v traffic_ops_build
# build and run CIAB to exercise the new TO rpm
cp dist/<traffic ops rpm> infrastructure/cdn-in-a-box/traffic_ops/traffic_ops.rpm
docker-compose -f docker-compose.yml --no-ansi up --build db trafficops trafficops-perl trafficportal trafficvault

The following criteria are ALL met by this PR

[x] TO build fix -- no tests needed
[x] TO build fix -- no docs needed
[x] TO build fix -- no changelog needed
[x] This PR includes any and all required license headers
[x] This PR ensures that database migration sequence is correct OR this PR does not include a database migration
[x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/4398/


CKEditor is not defined in 9.9.1

Description of bug
Since upgrading our website earlier this week from DNN 9.8.1 to 9.9.1 the CKEditor no longer works.
When editing a html module the editor doesn't load anymore. I checked the console and saw some errors mentioned below.
I think the Uncaught SyntaxError in ckeditor.js is causing the other errors.
Steps to reproduce
Click on 'edit content' to edit a html module.
Current behavior
The html editor doesn't load.
Expected behavior
The html editor loads and allows editing of the html module.
Screenshots

Error information

Affected version

[ ] 10.00.00 alpha build
[x] 09.09.01 latest supported release

Affected browser

[x] Chrome
[x] Firefox
[ ] Safari
[x] Internet Explorer 11
[ ] Microsoft Edge (Classic)
[x] Microsoft Edge Chromium

Anyone has any clue on what could fix this?
I already tried replacing the files in /Providers/HtmlEditorProviders/DNNConnect.CKE/js/ckeditor/4.15.1 with those in /Providers/HtmlEditorProviders/DNNConnect.CKE/js/ckeditor/4.5.3 and tried reinstalling the plugin with the zip file from the install folder of the DNN 9.9.1 plugin (DNNConnect.CKEditorProvider_09.09.01_Install.zip) but both didn't fix the issue...

Possible correlation to #4520 ?

I was able to fix my install by uploading the iframedialog and newsarticlelinks directories, afterwards I had to clear the server cache to get them to load properly

I think this one is/was related also. These all seem to be related to the "ExtraPlugins" settings and the actual plugins code folders. If the plugin is defined in ExtraPlugins setting and the folder doesn't exist you'll get the error(s).
https://github.com/dnnsoftware/Dnn.Platform/issues/4536

I'm not sure this is related to the extraplugins setting as our install only had the 'dnnpages' plugin. For now we have reverted to the previous version.

Ok. I think Chris's issue though is/was related.

The pas weeks I did some more digging into this as I need to update this site to the latest version.
I traced the errors to the ckeditor.js file in Providers/HtmlEditorProviders/DNNConnect.CKE/js/ckeditor/4.15.1 .
Apparently this file was different from the one in the installer package for both 9.9.1 and 9.10.1.
I fixed this by replacing the file with the one in \DNN_Platform_9.10.1_Upgrade\Install\Provider\DNNConnect.CKEditorProvider_09.10.01_Install.zip\Resources.zip\js\ckeditor\4.15.1 yesterday evening at 22:40, clearing the cache on the website, restarting the application and clearing the local cache in my browser as well.

This morning I noticed the html editor no longer works and the file was minified again. The las modified timestamp is at 23:17, although I haven't modified the file after 22:40.

Is there some mechanism in DNN which minifies source files or could this be related to the website running on an Azure App Service?

@Ceten Minification of .js and .css is an option that is set in the HOST settings, Server, Server settings, Performance settings: Client Dependency Framework.
I do not know if the Azure instal makes a difference.

@EPTamminga thanks for the hint. I found these settings but all are disabled so it shouldn't change the original file I think?

There's nothing in DNN itself that would change that file (the minification controlled by those settings doesn't happen in place). Azure App Service can have multiple physical servers and would need to sync changes across those servers, but that would only apply if something is putting that "old" version out after the "new" version (in which case it's no longer the "new" version from Azure App Service's perspective). Is there any other file system syncing or anything?

@bdukes, I thought it would be strange for DNN to modify the file itself. It's just a regular Azure App Service (pcaweb (P1v2) running the DNN website. I uploaded the update files with FileZilla and replaced the ckeditor.js in the same way after finding the file had been changed. There is only 1 instance for the App Service and scale out is set to manual.
Every time I replace the file, it is modified within the hour to a different ckeditor.js which has the SyntaxError.
I really have no idea what is changing the file.

I have had similar issues with ascx files getting modified by some global token module (I can't remember the name now). It was a nightmare to figure it out. Can those experiencing the issue share what modules are in use to see if maybe there is some in common ?

I've kept digging into it yesterday and finally found what was causing the ckeditor file being modified. Apparently the Azure App Service had a WebJob running which minifies and replaces .js and .css files.
No idea why the minification resulted in syntax errors though, we haven't had any issues with it for years.

I had no idea this even existed but since turning it off the ckeditor.js file hasn't changed again so the html editor keeps working.

I have seen minification issues in the past with missing ; in the past for the end of statements. They are optional in javascript (when you have newlines) but with minification, the engine is sometimes not intelligent enough to add them when making it all single line.
If you can click on the link on the right in the browser console it should bring you to the place it fails and if you can pinpoint in between what and what it chokes, maybe we can figure out that missing ;

As this appears to not be a DNN issue, I am closing this issue.


Share variant added for embed block

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after), along with a short summary of changes:
Issue
Fixes #373
Changelog:
New Variant added for embed block (share)
Test URLs:

Original: https://www.sunstar.com/healthy-thinking/green-juice/
Before: https://main--sunstar--hlxsites.hlx.live/_drafts/piyush/green-juice
After: https://issue-373--sunstar--hlxsites.hlx.live/_drafts/piyush/green-juice

Library

[ ] New Blocks introduced in this PR
If yes, please provide details below
Block Name : For e.g. cards

[ ] Documented in sidekick library

[ ] New variations introduced in this PR
Variation Name :  For e.g. cards (grid)

[ ] Documented in sidekick library

[ ] New mixins introduced in this PR
Mixin Name :  For e.g. compact, white

[ ] Documented in sidekick library

Could not able to implement the linkedin one as no proper doc present.
Also on https://www.sunstar.com/healthy-thinking/green-juice/ if we click on linkedin button it gives 404


New guestbook example

this adds the guestbook example.
It is really sweet, it works with docker-compose (v2) on a Docker for Mac, and straight up with kompose up on minikube.

Great. Merge it.

@runseb hi, just wonder how to expose the port 80 in minikube outside the vm. The kompose generates "loadBalancer "service load only while minikube can only expose port via NodePort.

@pydevops kompose should generate a cluster IP service. To access the app running in minikube you need to use 'kubectl proxy' or edit the service manually to become a nodePort ....or run the ingress controller in minikube and create an ingress.
check this blog:
http://www.skippbox.com/using-your-docker-compose-files-with-kubernetes/


Fix exception when navigating away from the first deploy app step

We should add an e2e test for this.


Cats hash and algebra.instances

Replace Hash with cats.kernel.Hash
Replace radixtree.Instances with algebra.instances where possible

Codecov Report

Merging #11 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #11   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           6      6
  Lines         371    371
  Branches       96     97    +1
=====================================
  Hits          371    371

Impacted Files
Coverage Δ

src/main/scala/com/rklaehn/radixtree/package.scala
100% <ø> (ø)
:arrow_up:

src/main/scala/com/rklaehn/radixtree/Memo.scala
100% <ø> (ø)
:arrow_up:

...c/main/scala/com/rklaehn/radixtree/RadixTree.scala
100% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Add Qwen2.5-coder:7b-instruct-q8_0 benchmark result to leaderboard

Recently released Qwen2.5-coder:7b-instruct-q8_0 results, which use the same architecture as Qwen2.
Note that the Qwen team said they will release a 32B coding model soon as well.
Tested with:

Latest Ollama (0.3.11)
Qwen2.5-coder:7b-instruct-q8_0 model with hash 7f83705f49dd
Aider's dirty hash is caused only by docker.sh modification for OLLAMA_API_BASE
It shows about 100 TPS on a single RTX4090 GPU.

The following is the diff format result, which is not included in this PR:
- dirname: 2024-09-19-15-52-54--qwen2.5-coder:7b-instruct-q8_0
  test_cases: 133
  model: ollama/qwen2.5-coder:7b-instruct-q8_0
  edit_format: diff
  commit_hash: 6f2b064-dirty
  pass_rate_1: 28.6
  pass_rate_2: 32.3
  percent_cases_well_formed: 97.0
  error_outputs: 9
  num_malformed_responses: 9
  num_with_malformed_responses: 4
  user_asks: 3
  lazy_comments: 2
  syntax_errors: 0
  indentation_errors: 0
  exhausted_context_windows: 0
  test_timeouts: 0
  command: aider --model ollama/qwen2.5-coder:7b-instruct-q8_0
  date: 2024-09-19
  versions: 0.56.0
  seconds_per_case: 24.4
  total_cost: 0.0000

It looks different from what they show at their blog

Their blog reported a Pass@2 score of 57.1%, without noting the Aider version or formatting used.
The 51.9% score in this PR differs somewhat, which may be due to quantization error (8-bit) or randomness of LLMs.
Note that the 32.3% score mentioned in the PR summary (not included in this PR's code) was achieved using 'diff' formatting.

Ok if I tag @youknow04 when I share this on twitter?


Make add_artifact replace by name (#685)

This addresses the feature request in Issue #685. In our experiments we have found this pattern to be very useful, e.g. for model checkpoints or intermediate artifact checkpoints. With this PR, artifact checkpoints can be updated frequently so the latest checkpoint is up-to-date. At a much slower rate, artifacts can be checkpointed to distinct names to preserve history with much less disk usage.
If it's preferable to not make this the default behavior, I would be happy to update the PR to thread a flag through add_artifact to optionally enable this behavior.

Hi @gkanwar! I'm happy to accept this feature! But the default behavior shouldn't change so that we don't break other people's code.
I prefer a flag added to the MongoObserver instead of the artifact event. Or is there a use case where you want to manually enable it for a specific artifact and have the others keep the current behavior?

At a much slower rate, artifacts can be checkpointed to distinct names to preserve history with much less disk usage.

With the current version of the PR this means that the user has to do the rate-limiting by renaming the artifacts, right? Would it make sense to add an option for this? E.g., to overwrite an artifact for 10 minutes and then add a new one?

I'm hesitant to add such an automatic timed backup feature, since for example users may want to organize these files differently. In our case, it's checkpointing based on gradient descent steps, which is of course not known to sacred explicitly. We set our filenames based on this.

Agreed, it makes more sense to let the users do it themselves. There are too many different usecases.


toolchain: Remove wget

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[x] The toolchain has been rebuilt successfully (or no changes were made to it)
[x] The toolchain/worker package manifests are up-to-date
[x] Any updated packages successfully build (or no packages were changed)
[x] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
[x] All package sources are available
[x] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/tools/cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
[x] LICENSE-MAP files are up-to-date (./SPECS/LICENSES-AND-NOTICES/data/licenses.json, ./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md, ./SPECS/LICENSES-AND-NOTICES/LICENSE-EXCEPTIONS.PHOTON)
[x] All source files have up-to-date hashes in the *.signatures.json files
[x] sudo make go-tidy-all and sudo make go-test-coverage pass
[x] Documentation has been updated to match any changes to the build system
[x] Ready to merge

Summary

wget was added to the toolchain in the pre-1.0 days as a build dependency of openjdk (internal PR link). We no longer build openjdk in the toolchain and we have no other need for wget in the toolchain. So, let's remove wget from our toolchain to work towards our minimal toolchain goals.
Change Log

toolchain: Remove wget

Does this affect the toolchain?

YES
Test Methodology

Local toolchain build

@PawelWMS I went ahead and kicked off a full build, but I don't believe that's actually of concern here. wget was never part of the worker chroot.


Support update table1, table2, ... query support. Closes #192

Adds support for queries like this:
update
  person,
  pet
set
  person.first_name = ?,
  pet.name = ?
where
  person.id = pet.owner_id
  and person.name = ?

This kind of queries are supported by (at least) MySQL. As discussed in #192 we can't really make the join methods work with both MySQL and PostgreSQL since postgres joins add tables to the TB generic and MySQL would need to add to both UT and TB generics.
The set({ first_name: 'foo' }) version of the set method doesn't support table qualified references. The users need to use the set('table.column', value) version.

I'm rebasing this to 0.28, but I think that branch is broken. The QueryNode.cloneWithEndModifier is missing.

I'm rebasing this to 0.28, but I think that branch is broken. The QueryNode.cloneWithEndModifier method is missing.

Yeah, it was 3 commits behind or something. I forgot to rebase it.

I'm rebasing this to 0.28, but I think that branch is broken. The QueryNode.cloneWithEndModifier method is missing.

Yeah, it was 3 commits behind or something. I forgot to rebase it.

Actually, I just accidentally picked up the modifyEnd method when rebasing 😬

I wonder if we could make set's object variant work for this scenario. Was it a type-complexity decision or something else?

I'm afraid that auto-completion would lead postgres etc. users to use the table qualified names even though they only work on mysql. The object version works for columns that are unambiquous. For example this works:
db.updateTable(['person', 'pet'])
  .set({ first_name: 'foo', name: 'bar' })

first_name is a person column and name is a pet column.


Fix NullReference error in logs

Fixes a somewhat harmless NullReference error that appears in the log output when not using Blizzy's toolbar.

I have no idea why github is being weird.  It was a one line addition, not a 435 line deletion and a 436 line addition.

Thank you for that, I will do the modification myself instead of merging the pull request.


Fix bug: ATA should still install types if a package was resolved to a '.js' file

Partial fix for #27302
Doesn't completely fix the issue since the newly installed ATA @types package doesn't replace the resolution of the local JS package, even though it should (since that's what happens when you reload the editor).

For the other part you also want to fix resolveNamesWithLocalCache in resolutionCache.ts where we check hasInvalidatedNonRelativeUnresolvedImport && just absence of resolution

I would have you do other part right here since these both changes are related and better to be handled in one change.

Where are the other changes in the project?

A lot of changes were moved to #28092 which we might want to merge first.

I don't think we should merge this. This change needs to be separate and need to handle the ATA change in project and resolution cache.

Closing in favor of #28236


boards: atmel: Enable gpio in board.yaml

List gpio as a support feature of the sam4s_xplained & sam_e70_xplained
boards.
Signed-off-by: Kumar Gala<EMAIL_ADDRESS>

Codecov Report

Merging #10362 into master will increase coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #10362      +/-   ##
==========================================
+ Coverage   53.23%   53.24%   +0.01%
==========================================
  Files         209      209
  Lines       25630    25630
  Branches     5537     5537
==========================================
+ Hits        13643    13647       +4
+ Misses       9792     9787       -5
- Partials     2195     2196       +1

Impacted Files
Coverage Δ

lib/posix/timer.c
67.46% <0%> (+4.81%)
:arrow_up:

Continue to review full report at Codecov.

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


Wrong packet size on Alienware 15 R3

I have an Alienware 15 R3. The USB device that controls the LEDs has ids 187c:0530 just like in the issue #8. After some tests, it looks like it takes 12 bytes blocks instead of 9, and the colors are indicated with 1 full byte per channel, instead of 4 bits. With, of course, the usual region ids that are not exactly right.
For various reeasons I will probably not make a PR to fix this. However, I would like to raise to your attention that if the current code is correct, there are at least two devices in the wild with the same vendorId:productId that uses a distinct protocol.
Is it true? Has someone with an M17X R4 tested AlienFxLite? Or has the product ID just been added to the list hoping the protocol would be close enough to produce something useful? I'm not blaming anyone, I would definitely prefer to learn that PR #11 was under-tested than learning that the manufacturer reused a product id for incompatible devices.
Best case scenario: PR #11 was buggy. And I would suggest moving the data length completely in java instead of having it both in C and in Java. And maybe even let the write function do the block padding. (Some calls to fill are currently missing.)
Worst case scenario: The product id has been reused. And I might suggest identifying the devices with a GET_STATUS in a data block of length 9 and check if it returned an OVERFLOW error.

@Celelibi Will you share your Controller file for Alienware 15 R3? And also any instruction for finding the mappings? My output of lsusb -v is the following:
Bus 001 Device 003: ID 187c:0530 Alienware Corporation
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               0.02
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x187c Alienware Corporation
  idProduct          0x0530
  bcdDevice            0.00
  iManufacturer           1
  iProduct                2
  iSerial                 3
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           41
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.01
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      56
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000a  1x 10 bytes
        bInterval              10

@Celelibi this issue is known, cf. this similar discussion. The problem is that without the hardware at my disposal, it is a bit difficult to test anything on my side. If we can test the data length at runtime, this would solve part of the problem. Still, if the mappings are different, we're going to have a problem.

@taoari The reasons I probably won't make a PR, is because I'm not interested in using AlienFxLite per se. I used it to test and understand the protocol. But in the end, I'm interested in making my own CLI tool so that I wouldn't have to start a X server to control the LEDs and could call it from scripts. And I'm not a big fan of Java. Loading the whole JVM and the JRE just to do something as simple as writing a few bytes to a USB device is really overkill.
Beside, it would also require modifying various parts of the code to make it work with 9 or 12 bytes packets. And I'm not really comfortable doing that.
But I will definitely provide all the informations needed to write a controller for AlienFxLite once I have them. And yes, my lsusb output is pretty much identical to yours.
@bchretien I guess you didn't write the class AlienFXEngine and wouldn't know why there are two runs of commands one with the saveNextInstruction and one without it? Right?

I merely maintain the code base, I'm not the original developer. If I had to do things from scratch, I would do things very differently (C++ or Python lib with CLI client and optionally Qt client). There are some projects that attempt to do this (e.g. this for a CLI client), but I don't know if any of them is still active.
I'm not on my Alienware laptop much, and I rarely change the lighting setup, so AlienFxLite does the job, but if you're motivated, feel free to make a cleaner and more robust client, and I'll add it to the README as an existing alternative :)

I have a 17 R4 hardware if there is anything I can provide. Who cares what the software is written in, it's  not something you'd use often. My hardware persists in the settings across reboots.

@bchretien Yes, I saw a few other projects to control the LEDs of Alienware laptops. They helped me understand the protocol a bit better, although it mostly looks like everybody copied on everybody.
@vowell Who cares? I care. It might not be something you would use often, but think about all the things you could do if the LED configuration was just one command line away. You could make a yellow flash every time you receive a mail. You could change the hue w.r.t the CPU temperature. You could change the blink/morph speed according to the current CPU load. You could change the intensity of the LEDs according to the brightness of the surrounding environment if you can catch it with the webcam or other sensors. Heck, you could even show your mood on the LEDs if you can interpret it from the webcam! You could even do something as simple as darkening the keyboard after a few seconds untouched (I can't believe this is not builtin).
BTW, what's the deviceid of your controller?


wcf tech ref updates

@MandiOhlinger,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

biztalk/adapters-and-accelerators/accelerator-hl7/microsoft-biztalk-accelerator-for-hl7-documentation.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/accelerator-rosettanet/microsoft-biztalk-accelerator-for-rosettanet-documentation.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/accelerator-swift/microsoft-biztalk-accelerator-for-swift-documentation.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/TOC.md
:white_check_mark:Succeeded

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/architecture-overview-of-the-wcf-lob-adapter-sdk.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/common-developer-tasks-for-the-wcf-lob-adapter-sdk.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/microsoft-wcf-line-of-business-adapter-sdk-documentation.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/origTOC.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/technical-reference-for-the-wcf-lob-adapter-sdk.md
:white_check_mark:Succeeded

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/wcf-lob-adapter-sdk-managed-reference.md
:white_check_mark:Succeeded

biztalk/dev-center/mvp-and-community-blogs.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:warning: Validation status: warnings

File
Status
Preview URL
Details

biztalk/adapters-and-accelerators/TOC.md
:warning:Warning
View
Details

biztalk/adapters-and-accelerators/accelerator-hl7/origTOC.md
:warning:Warning
View
Details

biztalk/adapters-and-accelerators/accelerator-hl7/hl7-technical-reference.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/accelerator-hl7/microsoft-biztalk-accelerator-for-hl7-documentation.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/accelerator-rosettanet/microsoft-biztalk-accelerator-for-rosettanet-documentation.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/accelerator-swift/microsoft-biztalk-accelerator-for-swift-documentation.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/TOC.md
:white_check_mark:Succeeded

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/architecture-overview-of-the-wcf-lob-adapter-sdk.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/common-developer-tasks-for-the-wcf-lob-adapter-sdk.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/microsoft-wcf-line-of-business-adapter-sdk-documentation.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/origTOC.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/technical-reference-for-the-wcf-lob-adapter-sdk.md
:white_check_mark:Succeeded

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/wcf-lob-adapter-sdk-managed-reference.md
:white_check_mark:Succeeded

biztalk/dev-center/mvp-and-community-blogs.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/TOC.md

[Warning] Invalid file link:(~/adapters-and-accelerators/accelerator-hl7/hl7-technical-reference.md).

biztalk/adapters-and-accelerators/accelerator-hl7/origTOC.md

Line 211: [Warning] Invalid file link:(~/adapters-and-accelerators/accelerator-hl7/hl7-technical-reference.md).

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

biztalk/adapters-and-accelerators/accelerator-hl7/TOC.md
:white_check_mark:Succeeded

biztalk/adapters-and-accelerators/accelerator-hl7/hl7-technical-reference.md
:white_check_mark:Succeeded

biztalk/adapters-and-accelerators/accelerator-hl7/microsoft-biztalk-accelerator-for-hl7-documentation.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/accelerator-hl7/origTOC.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/accelerator-rosettanet/microsoft-biztalk-accelerator-for-rosettanet-documentation.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/accelerator-swift/microsoft-biztalk-accelerator-for-swift-documentation.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/TOC.md
:white_check_mark:Succeeded

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/architecture-overview-of-the-wcf-lob-adapter-sdk.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/common-developer-tasks-for-the-wcf-lob-adapter-sdk.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/microsoft-wcf-line-of-business-adapter-sdk-documentation.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/origTOC.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/technical-reference-for-the-wcf-lob-adapter-sdk.md
:white_check_mark:Succeeded

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/wcf-lob-adapter-sdk-managed-reference.md
:white_check_mark:Succeeded

biztalk/dev-center/mvp-and-community-blogs.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


ENH: Pass calendar instance to BcolzMinuteBarWriter

Updates BcolzMinuteBarWriter to take a TradingCalendar, start session, and end session. Previously used "first trading day" and DatetimeIndex objects of market opens and closes.

Coverage decreased (-0.03%) to 85.676% when pulling 32d5ce2a0d3d7c338c08e68ddea8febe0117d5e2 on pass-calendar-instance-to-writer into 440806ad60b60bd6aa0e4ec22a01e0b2972b3aaa on master.

Coverage increased (+0.01%) to 85.713% when pulling 23173c457b91a1854e7b9a6572ec1669d818794b on pass-calendar-instance-to-writer into 440806ad60b60bd6aa0e4ec22a01e0b2972b3aaa on master.

Coverage increased (+0.01%) to 85.713% when pulling 23173c457b91a1854e7b9a6572ec1669d818794b on pass-calendar-instance-to-writer into 440806ad60b60bd6aa0e4ec22a01e0b2972b3aaa on master.

Coverage decreased (-0.001%) to 85.701% when pulling eba14c53f6a1a73c634e2485f3298f25ee749659 on pass-calendar-instance-to-writer into 440806ad60b60bd6aa0e4ec22a01e0b2972b3aaa on master.

Coverage decreased (-0.001%) to 85.701% when pulling eba14c53f6a1a73c634e2485f3298f25ee749659 on pass-calendar-instance-to-writer into 440806ad60b60bd6aa0e4ec22a01e0b2972b3aaa on master.

Coverage increased (+0.0009%) to 85.911% when pulling a5a8e32e4e0d2c2aa332cb8b05db6b39e297d7e2 on pass-calendar-instance-to-writer into acd5ef0e1cf63cd460890b423ca564f69b2d4aee on master.

Coverage increased (+0.0009%) to 85.911% when pulling a5a8e32e4e0d2c2aa332cb8b05db6b39e297d7e2 on pass-calendar-instance-to-writer into acd5ef0e1cf63cd460890b423ca564f69b2d4aee on master.

Coverage increased (+0.03%) to 85.942% when pulling d2794137c2b569a8ee7bce00cc0b2e3b07f61ceb on pass-calendar-instance-to-writer into acd5ef0e1cf63cd460890b423ca564f69b2d4aee on master.

Coverage increased (+0.03%) to 85.942% when pulling d2794137c2b569a8ee7bce00cc0b2e3b07f61ceb on pass-calendar-instance-to-writer into acd5ef0e1cf63cd460890b423ca564f69b2d4aee on master.


Slow processRequest when error thrown

Did some basic benchmarking and noticed a normal "Hello world" request finishes in <1ms but if the resolver throws an error it takes > 100ms
Any idea what could be slowing things down?

Turns out this is the result of having NODE_OPTIONS=--enable-source-maps turned on and not related to this library


State does not persist through restarts

The state of the sensor does not persist if Home Assistant is restarted. I am replacing a old sensor of the same name, so there is old state history that pulls in instead. The previous (broken) sensor stopped at 797 GB. The current value is 136 GB. This is accurately updated during the next scheduled update, but if I restart HA between updates, it reverts back to the old value. You can see in the history graph here. The two spikes near the end show what happens if I restart

I would need more details on how the sensor was originally setup.  I did reuse a previous rest based sensor and I'm not seeing this issue.  I did fully disable that rest based sensor yaml config before testing the addon, but my states are holding the correct value, even if the addon is stopped and not set to auto start. I would stop the addon, disable and then delete the old xfinity sensor you have.  Once that is gone, reboot HA and then start the addon. Then see if you still have the same issue.

Ok, with that guidance I thought I had fixed it. I did not, however I was able to get a little more insight into what is happening.
The original sensor was an MQTT sensor. My first thought was there must be a retained topic with the old values - and there was. That's where the 797GB was coming from. However that was only masking the actual problem. I deleted that topic, and now as expected it does not show the old value. Worse though, the sensor itself is deleted.
It seems like this is what was happening before, the new sensor from your addon was getting deleted, but because I had a retained MQTT topic, it was getting recreated with the old info.  Same if I wait for the next refresh cycle. But until then, there's nothing

Can you check on a few things?

Go to Developer Tools -> States and search for xfinity_usage and click on the entity. Then check if this is set in the attributes: "state_class: measurement" If it is then go to Step 2
Go to Developer Tools -> Statistics and search for xfinity_usage. Let me know if this exists or not.

Everything looks fine before rebooting:

Of course after rebooting (and clearing front-end cache since it likes to stick around otherwise) everything is gone

Recorder is enabled using mostly default settings using MariaDb and 21 days purge keep days.  (A couple of non-sensor domains and a handful of individual entities)

Updated to 0.0.7 and not sure I understand the expected functionality. The submitted PR claims to write the state to disk during shutdown. I checked the container path and appears that it does in fact do that:
root@989f231b-xfinity-usage:/config# ls -la
total 12
drwxr-xr-x 2 root root 4096 May  7 14:59 .
drwxr-xr-x 1 root root 4096 May  7 14:58 ..
-rw-r--r-- 1 root root 1158 May  7 14:59 .sensor-backup
root@989f231b-xfinity-usage:/config# cat .sensor-backup
{"attributes": {"policy_name": "1.2 Terabyte Data Plan", "start_date": "05/01/2024", "end_date": "05/31/2024", "home_usage": 149, "wifi_usage": 0, "total_usage": 149, "allowable_usage": 1229, "unit_of_measure": "GB", "display_usage": true, "devices": [{"id": "1C:93:7C:A4:B7:EF", "usage": 154, "policyName": "XI Connect More"}], "additional_blocks_used": 0, "additional_cost_per_block": 10, "additional_units_per_block": 50, "additional_block_size": 50, "additional_included": 0, "additional_used": 0, "additional_percent_used": 0.0, "additional_remaining": 0, "billable_overage": 0, "overage_charges": 0.0, "overage_used": 0, "current_credit_amount": 0, "max_credit_amount": 0, "maximum_overage_charge": 100, "policy": "limited", "courtesy_used": 1, "courtesy_remaining": 1, "courtesy_allowed": 1, "courtesy_months": ["07/2022"], "in_paid_overage": false, "remaining_usage": 1080, "friendly_name": "Xfinity Usage", "unit_of_measurement": "GB", "device_class": "data_size", "state_class": "measurement", "icon": "mdi:network", "internet_download_speeds_Mbps": 300, "internet_upload_speeds_Mbps": 20, "tier_of_service": "Connect More Internet"}, "state": 149}

However the data is not restored during startup as I would expect it to be. And the README seems to imply that is expected?
Can you please clarify the expected behavior? Shouldn't this data be restored from disk on startup? If not I don't understand its purpose.
Thanks again

The sensor will be created/updated after reboot once the addon is started.  The backup sensor file is to update the sensor upon addon startup before the addon tries to get an update from Xfinity.  I've updated the README to explain that there is a known limitation that the sensor will be unavailable if you restart Home Assistant. This is caused by the way Home Assistant handles sensors which are not backed up by an entity, but instead come from an add-on or AppDaemon.
The addon sensor entity does not actually exist in the HA core.entities file like an integration entity would.   Do you have the addon set to load on startup?

One more thing I would try fixing the Recorder issue with the sensor.

Interesting. So you're saying the addon would need to be restarted in order for the state to be restored from backup? Wouldn't that just update it from xfinity anyways?
I do have the addon set to load on start, but my understanding is that since it's a separate docker container, it would actually stay running the whole time, and not restart the container. This is supported by the log file entries (The timestamps in there are a big help - thanks for that too). My understanding of how that works has always been if you have it disabled, the container is shut down with HA, and not restarted. If you have it enabled, then it just keeps it running (as opposed to restarting it)
I don't show any recorder issues - that only shows when the entity is missing, but corrects itself when it is recreated.

If you do not set the addon to "Start on boot", then it will never run after a HA "Reboot System".  You are correct that the addon does not restart if you do a "HA Restart System". I understand the issue better now and will push a blueprint to help with the creation of an Automation to restart the addon when HA restarts.

How do other addons handle this? I have not yet encountered a situation where entities created via an addon are lost during a restart. Perhaps this is why so many use a ____2mqtt pattern...

Yes using MQTT would solve this issue, but I liked the simplicity of this in comparison to the work involved to setup MQTT. I also didn't want to create separate entities for each attribute and I couldn't figure out how to push a single entity with multiple attributes into MQTT.

I understand the desire to keep it simple.
For attributes on an MQTT entity you either provide a json_attributes or json_attributes_template key in the discovery payload with a dictionary of attributes. Or you can provide a json_attributes_topic to a different topic to subscribe to specifically for attributes. It takes a little fiddling at first but in the end isn't too difficult. I've seen the latter most often, probably because it makes json serialization a bit easier. eg:
/path/to/sensor/discovery/topic
{
"name": "Xfinity Usage",
"json_attributes_topic": "/path/to/attributes/topic",
"other": "keys"
}

/path/to/attributes/topic
{
"attribute_key1": "attr_value1",
"attribute_key2": "attr_value2",
"etc": "etc"
}

Thanks for the tip, maybe someday I'll look into that.


Support vswitch start without etcd

Coverage decreased (-0.05%) to 78.973% when pulling b5e0cb075eed207d8832cd7397ee12321676f6ab on lukasmacko:dev into bcf3a3af19cfa11371d932f48c8ca7b74c2a3719 on contiv:dev.


[core] New version v1.3.2 search function bug

The search function of the new version v1.3.2 is not as easy to use as the old version. The strings that can be searched in the v1.2.0 version cannot be searched in the new version v1.3.2, and after the search, you want to know who is calling , and cannot be jumped over, but the old version v1.2.0 can view the calling instance of the searched string, and can jump

Can someone confirm this issue? Maybe it is environment or OS specific?
I don't see any issues on Windows and Linux.

Could be APK specific. In case the decompilation now fails with 1.3.2 but was working in 1.2.0 the described behavior would be possible (this behavior that methods failed to decompile are not covered by the search is in my opinion one of the biggest shortcoming of Jadx).
@mxy19980428 Can you please provide more details, like used OS, Java versions and Java distribution as well as e.g. upload the used APK and describe what strings/functions you search and what does not work?

I am using Ubuntu21.04, Java 1.8.0_311, and I searched for the "password" string, although I found it, but I couldn't see its usage. As shown below @jpstotz

This is the dex extracted from the apk:
classes.zip

I can sometimes on windwos, sometimes not, it seems to be caused by not loading?

@mxy19980428 I commit a fix, not sure if it complete, please check latest unstable build.
Also, as a workaround, it is possible to disable Replace constants option in preferences.


Vertex lighting with world origin for isometric projection in tilted view is wrong

Flat areas change their lighting relative to tilt angle

Confirmed - looks like a bug.
Seems like the factor that causes this isn't actually the isometric projection - it's the "oblique axis" value. An isometric camera with axis: [0, 0] results in correct lighting.

This chunk seems suspect to me now: https://github.com/tangrams/tangram-es/blob/master/core/src/view/view.cpp#L340-L343
I think that comment used to be true, but probably isn't in every case now.


Feature Request: Support for webm videos

A lot of bitcoin calls take place on jitis, which exports recordings in webm format.
To use tstbtc to transcribe these videos, you first have to use FFmpeg to convert the file (ffmpep -i video.webm audio.mp3) and then create the transcript from the audio file.
It would be great to have this conversion step built if if a webm video is provided as a source.

Concept ack

Support for webm videos has been added.
Note: If you plan to pull the latest version in order to use this new feature, have in mind that the tool had several changes in the last month and it might need to re-install to work properly. Check the README for updated usage examples.

Running into some issues with this:
tstbtc transcribe "/Users/carla/Downloads/lnspec-2024-01-15.webm" --deepgram --diarize  --loc lightning-specification  --noqueue -t 'Lightning Specification Meeting' -d '2024-01-15' -T 'lightning' -C -D -M -p

Traceback (most recent call last):
  File "/Users/carla/Work/bitcointranscripts/tstbtc/venv/bin/tstbtc", line 5, in <module>
    from transcriber import cli
  File "/Users/carla/Work/bitcointranscripts/tstbtc/venv/lib/python3.11/site-packages/transcriber.py", line 14, in <module>
    from app.commands import queue
ModuleNotFoundError: No module named 'app.commands'

Python 3.9.6
pip 23.3.2
2ad1c25

@carlaKC  I've just pushed an update to the main branch (commit: 8949710e1c65099ddbc3179e3c1ed3e7a6f31e0f). Can you please give it a try with the latest changes?
Although this shouldn't be an issue for Python versions > 3.3, if the problem persists, could you try cloning the repo again? Since you're one of the first to run the tool in its current form, there might be OS or version-specific quirks. Please keep me updated, and I'll do my best to address any issues that arise.
Additionally, once you've resolved the current issue, please note that the flags -C -D -M -p are not necessary. Just a heads up!
Thanks again for your help, and let me know how it goes!

Thanks for the quick fix!
Ran the following on 8949710 and successfully transcribed from webm:
tstbtc transcribe "/Users/carla/Downloads/lnspec-2024-01-15.webm" --deepgram --diarize  --loc lightning-specification  --noqueue -t 'Lightning Specification Meeting' -d '2024-01-15' -T 'lightning' --github
I do get a warning, but otherwise all in order :D
/Users/carla/Work/bitcointranscripts/tstbtc/venv/lib/python3.11/site-packages/whisper/timing.py:57: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.
  @numba.jit


Bloom not restricted to cameras with BloomSettings?

Bevy version

latest main
bevy 0.9
PR #6677 as of 1/27

Relevant system information
AdapterInfo { name: "Apple M1 Max", vendor: 0, device: 0, device_type: IntegratedGpu, driver: "", driver_info: "", backend: Metal }
SystemInfo { os: "MacOS 13.1 ", kernel: "22.2.0", cpu: "Apple M1 Max", core_count: "10", memory: "64.0 GiB" }

What you did
I want bloom to be applied only to a subset of my scene, so I added a separate camera with BloomSettings.
use bevy::{
    core_pipeline::{bloom::BloomSettings, clear_color::ClearColorConfig},
    prelude::*,
    render::view::RenderLayers,
    sprite::MaterialMesh2dBundle,
};

fn main() {
    App::new()
        .insert_resource(ClearColor(Color::rgb(0.1, 0.1, 0.1)))
        .add_plugins(DefaultPlugins)
        .add_startup_system(setup)
        .run();
}

fn setup(
    mut commands: Commands,
    mut meshes: ResMut<Assets<Mesh>>,
    mut materials: ResMut<Assets<ColorMaterial>>,
) {
    let no_bloom_layer = RenderLayers::layer(0);
    let bloom_layer = RenderLayers::layer(1);

    commands.spawn((
        Camera2dBundle {
            camera: Camera {
                hdr: true,
                ..default()
            },
            ..default()
        },
        no_bloom_layer,
    ));

    commands.spawn((
        Camera2dBundle {
            camera_2d: Camera2d {
                clear_color: ClearColorConfig::None,
                ..default()
            },
            camera: Camera {
                hdr: true,
                order: 1,
                ..default()
            },
            ..default()
        },
        bloom_layer,
        BloomSettings {
            threshold: 0.5,
            ..default()
        },
    ));

    let (saturation, lightness, alpha) = (0.8, 0.7, 1.0);

    // Circle
    commands.spawn((
        MaterialMesh2dBundle {
            mesh: meshes.add(shape::Circle::new(100.).into()).into(),
            material: materials.add(ColorMaterial::from(Color::Hsla {
                hue: 180.,
                saturation,
                lightness,
                alpha,
            })),
            transform: Transform::from_translation(Vec3::new(-125., 0., 0.)),
            ..default()
        },
        no_bloom_layer,
    ));

    // Hexagon
    commands.spawn((
        MaterialMesh2dBundle {
            mesh: meshes
                .add(shape::RegularPolygon::new(100., 6).into())
                .into(),
            material: materials.add(ColorMaterial::from(Color::Hsla {
                hue: 120.,
                saturation,
                lightness,
                alpha,
            })),
            transform: Transform::from_translation(Vec3::new(125., 0., 0.)),
            ..default()
        },
        bloom_layer,
    ));
}

What went wrong
BloomSettings is only on the camera that renders the hexagon, so I expected only the hexagon to get bloom.
Instead, both shapes get bloom.

Additional information
It's not clear if this is user error, a known limitation, or a bug.

Reminder to myself to investigate this.

Afaik the fix for this is to give each camera their own set of textures and then compositing them together after everything.
Ideally there'd be some system that would detect for each post processing effect if it's being run on all the views that are going to be composited together or not so you could run post processing after compositing if all views used a post-fx to avoid running the same post processing passes multiple times (which can be very expensive). However, his gets complicated very quickly due to certain effects having to run before others, and requires a better post-processing stack for creating and managing shaders.
This can also get quite expensive in terms of the VRAM and bandwidth cost of compositing all the different sets of textures together.


fix(e2core): Deal with dead processes

Related to #426
This is a quality of life improvement that deals with crashed processes and recovery.
When using the command.Start() function call, the process starts in the background. We're supposed to use the command.Wait() to determine when either the process finished, or existed for some other reason.
This changeset accommodates collecting the wait functions, starts them for each sub process, and when they unblock, their ports are added to a died map, which will then be  removed automatically from watcher's bookkeeping.
I've tested this manually by:

creating an image for e2core using make docker/dev
starting up everything with se2's docker compose up (this is internal)
start following the logs with docker compose logs e2core --follow (this is internal)
making sure that I can execute an existing function
hopping into the e2core docker container with docker exec -i -t a063f35d5c2b /bin/bash where the a06... is the image ID you get if you list the images with docker ps for e2core
once inside, listing the process IDs with ls -l /proc/*/exe, which will have a similar output:lrwxrwxrwx 1 e2core e2core 0 May  3 17:20 /proc/1/exe -> /usr/local/bin/e2core
lrwxrwxrwx 1 e2core e2core 0 May  3 17:21 /proc/16/exe -> /usr/local/bin/e2core
lrwxrwxrwx 1 e2core e2core 0 May  3 17:31 /proc/38/exe -> /bin/bash
lrwxrwxrwx 1 e2core e2core 0 May  3 17:33 /proc/self/exe -> /bin/ls
lrwxrwxrwx 1 e2core e2core 0 May  3 17:33 /proc/thread-self/exe -> /bin/ls

of those, the second e2core is the sub process with process id 16
kill -9 16 to terminate that
look at the logs to see that the termination and reaping of instance was completed and a new one was started during reconcile step
check again that I can execute the same function by sending the post request to the local edge endpoint

I would probably call it a dead list instead of a died list

heck yeah smple past vs past participle! lemme change that around, it's smol effort


bug: slow textobject select queries for Rust

Describe the bug
Opening a buffer for any Rust file with textobject.select.enable = true option is very slow.
The time difference when opening an empty foo.rs file is very noticeable (on my setup it's around ~700ms).
To Reproduce
Steps to reproduce the behavior:

Enable select plugin
Open a new rust file: nvim foo.rs
Notice the long time to open the buffer

Expected behavior
I expect the buffer to open quickly, not slow enough to be noticeable.
Output of :checkhealth nvim-treesitter
nvim-treesitter: require("nvim-treesitter.health").check()

Installation ~
- WARNING `tree-sitter` executable not found (parser generator, only needed for :TSInstallFromGrammar, not required for :TSInstall)
- OK `node` found v20.12.1 (only needed for :TSInstallFromGrammar)
- OK `git` executable found.
- OK `cc` executable found. Selected from { vim.NIL, "cc", "gcc", "clang", "cl", "zig" }
  Version: cc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
- OK Neovim was compiled with tree-sitter runtime ABI version 14 (required >=13). Parsers must be compatible with runtime ABI.


[codegen] Add #[if_flag] annotation

This adds the annotation and tests, but does not use it in any real tables.
One limitation of this implementation is that no non-conditional fields can follow the first conditional field; I'm not sure if this is an issue in practice since in the examples I'm aware of conditional fields are always after all non-conditional fields.
I have a followup PR that will use this in GPOS/GSUB. @dfrg can you think of anywhere else where this would be useful immediately? And can you point me to the other example of a conditional that you had mentioned?
One thing I could now consider is using this mechanism for ValueRecord.

The CFF/CFF2 INDEX tables are the only others that come to mind. These are codegen’d as Index1 and Index2 here: https://github.com/googlefonts/fontations/blob/975287b3ee1f39a81c313d9e59a24dc38583637e/resources/codegen_inputs/postscript.rs#L4

So my general approach to testing codegen is to focus testing on integration testing, and ensuring that we are producing the code that we want to produce for a given input.
Given that codegen is only ever run by us, and that we control the inputs, I am definitely less concerned with handling certain sorts of edge cases; for instance with this patch you could totally write,
table Hmm {
    flags: MyFlags,
    #[if_flag($flags, ::std::option::Option<isize>)
    other_field: i16,
}

(that is, having a nonsensical value for the constant in this attribute) and codegen will happily run, and generate some code that won't compile. We could have some unit test here, and have codegen fail with some slightly more ergonomic error message, but realistically will that ever actually be helpful?
I do write unit tests for any parsing code that is modestly complicated, but in general I find the integration tests to be much more helpful for actually ensuring that the code is doing what we want.

I am definitely less concerned with handling certain sorts of edge cases; for instance with this patch you could totally write,

I agree edge cases are less value than something faced with arbitrary input. IMHO that doesn't eliminate the value of unit tests, just confirming the happy path works on a fine grained basis can be quite nice.


anticheatbypass not working

anticheatbypass is not working you can get stuck at wall or game just ignores you(no placing blocks no item pickup)

KRNL?

yes

so?

should be fixed in next update.

make sure ur settings are not dumb aswell
42 speed
95 longjump speed


Displaying data from the AsynchStorage?

Hello,  I'm facing difficulty in getting data from the asyncstorage at the right time?

The access is not immediate nor synchronous, but you should not have problems. If you are using redux-persist, wait until the store is ready.


Can't load the MS SQL Driver for PHP 7.3 on Debian 10

+## PHP Driver version or file name
5.6 for PHP Version 7.3
+## SQL Server version
Not relevant
+## Client operating system
Debian 10
+## PHP version
PHP 7.3.9-1+0 20190902.44+debian10~1.gbpf8534c
+## Problem description
PHP Warning:  PHP Startup: Unable to load dynamic library 'sqlsrv.so' (tried: /usr/lib/php/20180731/sqlsrv.so (/usr/lib/php/20180731/sqlsrv.so: undefined symbol: tsrm_get_ls_cache), /usr/lib/php/20180731/sqlsrv.so.so (/usr/lib/php/20180731/sqlsrv.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
+## Expected behavior and actual behavior
Load Driver for PHP 7.3
+## Repro code or steps to reproduce
First I just download the .so file from Microsoft. (https://github.com/Microsoft/msphpsql/releases/tag/v5.6.0)
Placed the file "php_sqlsrv_73_ts.so" in the folder "/usr/lib/php/20180731" (extension dir) and added the line "extension=php_sqlsrv_73_ts.so" to "/etc/php/7.3/apache2/php.ini" and "/etc/php/7.3/cli/php.ini"
And now when i try to verify the module with "php -i" i get these error:
PHP Warning:  PHP Startup: Unable to load dynamic library 'php_sqlsrv_73_ts.so' (tried: /usr/lib/php/20180731/php_sqlsrv_73_ts.so (/usr/lib/php/20180731/php_sqlsrv_73_ts.so: undefined symbol: tsrm_get_ls_cache), /usr/lib/php/20180731/php_sqlsrv_73_ts.so.so (/usr/lib/php/20180731/php_sqlsrv_73_ts.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
i removed the line in the php.ini files, deleted the .so file and tried these guide:
https://docs.microsoft.com/en-us/sql/connect/php/installation-tutorial-linux-mac?view=sql-server-2017#installing-the-drivers-on-debian-8-and-9
But this guide is for Debian 9 and I have Debian 10.
Bute the result was the same:
PHP Warning:  PHP Startup: Unable to load dynamic library 'sqlsrv.so' (tried: /usr/lib/php/20180731/sqlsrv.so (/usr/lib/php/20180731/sqlsrv.so: undefined symbol: tsrm_get_ls_cache), /usr/lib/php/20180731/sqlsrv.so.so (/usr/lib/php/20180731/sqlsrv.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Thank you!
Best regards
Tobias

Hi @ToubieObie we officially support Debian 10 starting with our preview release v5.7.0, and please follow the instructions here.
You also require ODBC Driver 17.4 and above.

Due to inactivity, we will be closing this issue shortly, unless you have any other question for us, @ToubieObie ?

Please feel free to reopen this if necessary.

Hey @yitam !
This is a new issue to me. I had the driver php_sqlsrv_73_ts.so working fine before. But now I am getting something like this when I run php -m in my linux shell
PHP Warning:  PHP Startup: Unable to load dynamic library 'php_sqlsrv_73_ts.so' (tried: /usr/lib/php/20180731/php_sqlsrv_73_ts.so (/usr/lib/php/20180731/php_sqlsrv_73_ts. so: undefined symbol: tsrm_get_ls_cache), /usr/lib/php/20180731/php_sqlsrv_73_ts.so.so (/usr/lib/php/20180731/php_sqlsrv_73_ts.so.so: cannot open shared object file: No s uch file or directory)) in Unknown on line 0

In the web app this the error seen when the application try to connect to the SQL Server and make a SELECT query:
Array ( [0] => Array ( [0] => HYT00 [SQLSTATE] => HYT00 [1] => 0 [code] => 0 [2] => [Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired [message] => [Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired ) [1] => Array ( [0] => 08001 [SQLSTATE] => 08001 [1] => 10057 [code] => 10057 [2] => [Microsoft][ODBC Driver 17 for SQL Server]TCP Provider: Error code 0x2749 [message] => [Microsoft][ODBC Driver 17 for SQL Server]TCP Provider: Error code 0x2749 ) [2] => Array ( [0] => 08001 [SQLSTATE] => 08001 [1] => 10057 [code] => 10057 [2] => [Microsoft][ODBC Driver 17 for SQL Server]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online. [message] => [Microsoft][ODBC Driver 17 for SQL Server]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online. ) )

Is in my understanding that the DBA has the application IP address whitelisted and that the server is up and running since I can make connections thru other means. So I am narrowing posibilities here to the driver issue.

@jlcalderon is it Debian 10 you're running? What is the version of SQL Server? Please create a new issue and fill in the questions.


New Post with image not including enclosure in RSS

Although the image URL is included in the post, it won't be viewable in the feed item list unless it is recognized via the media enclosure RSS.
I tried to add enclosure support to our wordpress wrapper in https://github.com/guardianproject/securereader_ios/commit/28eb3ec40c50a8afcafce3f92cd5488c8a09a8db, but I can't seem to figure out the poorly documented wordpress API so it's not working.
The docs are unclear: https://codex.wordpress.org/XML-RPC_WordPress_API/Posts
in the "New Post" section they mention:
struct enclosure
string url
int length
string type

So I've tried to include those fields both appended as an array, and as a dictionary under the enclosure key, but neither approach works. Adding a comment to an existing post needed a similar method of trial and error until figuring out what the API really wanted, but no matter what I've tried I can't get it to work.
The test I wrote currently passes (but should fail) because there's no way to easily check the results of the operation without also writing a wp.getPost wrapper and checking if there's an enclosure.

This is our current output. It seems a different method call is used with different parameter names.
<?xml version="1.0"?>
<methodCall>
  <methodName>wp.newPost</methodName>
  <params>
    <param>
      <value>
        <string>1</string>
      </value>
    </param>
    <param>
      <value>
        <string>1441997162_2487</string>
      </value>
    </param>
    <param>
      <value>
        <string>alGbiEi9ecCl</string>
      </value>
    </param>
    <param>
      <value>
        <struct>
          <member>
            <name>post_content</name>
            <value>
              <string>Enclosure Link</string>
            </value>
          </member>
          <member>
            <name>enclosure</name>
            <value>
              <struct>
                <member>
                  <name>url</name>
                  <value>
                    <string>http://securereader.guardianproject.info/wordpress/wp-content/uploads/2015/09/9683DA4D-3949-4CDA-B656-A4635C0F530D-56160-0000990E96BAC672.jpg</string>
                  </value>
                </member>
                <member>
                  <name>type</name>
                  <value>
                    <string>image/jpeg</string>
                  </value>
                </member>
                <member>
                  <name>length</name>
                  <value>
                    <i4>1584</i4>
                  </value>
                </member>
              </struct>
            </value>
          </member>
          <member>
            <name>post_title</name>
            <value>
              <string>Test Enclosure</string>
            </value>
          </member>
          <member>
            <name>post_status</name>
            <value>
              <string>publish</string>
            </value>
          </member>
        </struct>
      </value>
    </param>
  </params>
</methodCall>

Fixed in https://github.com/guardianproject/securereader_ios/commit/ddbaa46daf9a850da6230e0d8fdc1450eb85b485


[nrf noup] bootutil: Introduce MCUBOOT_ENC_RAW_PRIVATE_KEY

When enabled the embedded private key is treated as a raw key,
without ASN1 encoding, which saves on flash by removing the
decoding procedures.
Signed-off-by: Dominik Ermel<EMAIL_ADDRESS>This is test of proposal. This has been tested on nrf54l15, with PSA x25519, and depending on options the savings were 296-308 bytes.
There are still needles leftovers as the key is stored in non raw (ASN1) form, just the code is skipping decoding and directly returns index of key within encoded stream. There is also size of encoded key stored, so some additional bytes can be dropped.
The PR is on top of https://github.com/nrfconnect/sdk-mcuboot/pull/323

This has already upstream work done in form of ASN1 bypass.


[Feature Request]  Clarification on height variable

Something that isn't entirely clear to me is whether the height variable should be entered as the relative height above the ground at the given coordinates, or the absolute height above sea level.  A mouseover info bubble clarifying this for the user might be a nice addition.
The readme seems to indicate it's relative to the ground at the given coordinates, but this isn't apparent on the hosted page.

I agree, good idea. I'll add something this week.

Added in https://github.com/meshtastic/meshtastic_linkplanner/commit/11933034cb7cd211eade1a44ced9f2e25003cd12


Application Insights in code

Description
Rather than relying on App Service's Application Insights support (which does not yet support asp.net core 2.2), we App Insights directly from code, passing in the instrumentation key as a config setting.
Related issues
Addresses #368
Testing
Verified telemetry is flowing.

I would propose adding this to Startup.cs instead:
services.AddApplicationInsightsTelemetry(Configuration);

Apparently user secrets are not read by UseApplicationInsights(), https://github.com/Microsoft/ApplicationInsights-aspnetcore/issues/695


ServiceBusTrigger with a ReceiveBatchAsync throws TaskCanceledException when Function App is inactive

Library name and version
Microsoft.Azure.WebJobs.Extensions.ServiceBus Version=5.8.1
Describe the bug
We have an Azure Function that listens on a ServiceBusTrigger via a batched trigger. When there is no continuous flow of messages, looks like the Trigger shuts down. But when it does that, it throws a TaskCanceledException
The trigger looks like this
 [FunctionName("my_function")]
 public async Task Run([ServiceBusTrigger("q.topic.mytopic", "q.subscription.mysubscription", Connection = "ServiceBusConnection", AutoCompleteMessages = false)] ServiceBusReceivedMessage[] messages,            ServiceBusMessageActions messageActions)

Full Exception:
q.topic.mytopic/Subscriptions/q.subscription.mysubscription-d48eed0c-a31e-42ef-912d-a06edfdc118c: ReceiveBatchAsync Exception: System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.Azure.Amqp.AsyncResult.End[TAsyncResult](IAsyncResult result)
   at Microsoft.Azure.Amqp.ReceivingAmqpLink.EndReceiveMessages(IAsyncResult result, IEnumerable`1& messages)
   at Microsoft.Azure.Amqp.ReceivingAmqpLink.<>c.<ReceiveMessagesAsync>b__27_1(IAsyncResult r)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location ---
   at Azure.Messaging.ServiceBus.Amqp.AmqpReceiver.ReceiveMessagesAsyncInternal(Int32 maxMessages, Nullable`1 maxWaitTime, TimeSpan timeout, CancellationToken cancellationToken)
   at Azure.Messaging.ServiceBus.Amqp.AmqpReceiver.<>c.<<ReceiveMessagesAsync>b__41_0>d.MoveNext()
--- End of stack trace from previous location ---
   at Azure.Messaging.ServiceBus.ServiceBusRetryPolicy.RunOperation[T1,TResult](Func`4 operation, T1 t1, TransportConnectionScope scope, CancellationToken cancellationToken, Boolean logRetriesAsVerbose)
   at Azure.Messaging.ServiceBus.ServiceBusRetryPolicy.RunOperation[T1,TResult](Func`4 operation, T1 t1, TransportConnectionScope scope, CancellationToken cancellationToken, Boolean logRetriesAsVerbose)
   at Azure.Messaging.ServiceBus.Amqp.AmqpReceiver.ReceiveMessagesAsync(Int32 maxMessages, Nullable`1 maxWaitTime, CancellationToken cancellationToken)
   at Azure.Messaging.ServiceBus.ServiceBusReceiver.ReceiveMessagesAsync(Int32 maxMessages, Nullable`1 maxWaitTime, Boolean isProcessor, CancellationToken cancellationToken).

I see that the same issue was reported by some time back here https://github.com/Azure/azure-sdk-for-net/issues/31508
Expected behavior
The ServiceBusTriggers gets shutdown without throwing exceptions or ServiceBusTrigger remains active always without shutting down
Actual behavior
The ServiceBusTriggers gets shutdown with throwing exceptions
Reproduction Steps
Set up a ServiceBusTrigger with a Batched operation and let it remain idle for a while without any messages. After a while it shuts down along with throwing the above exception
Environment
Azure Functions latest version
.Net 6

The same issue was reported some time back here https://github.com/Azure/azure-sdk-for-net/issues/31508

Thank you for your feedback.  Tagging and routing to the team member best able to assist.


Mouse Not Moving As Expected

When using mouseMoveSmooth API, if yPos is a constant and the cursor reaches yPos, the xPos no longer changes.
Expected Behavior
robot.moveMouseSmooth(xPos, 5);

When cursor's yPos = 5, xPos should still be able to change.
Current Behavior
When the cursor's yPos = 5, xPos stops changing
Steps to Reproduce (for bugs)
Run the below code.
'use strict';

const robot = require('robotjs');
const events = require('events');
const eventEmitter = new events.EventEmitter();

eventEmitter.on('mouseMove', moveMouse);

function normalizeMouse(val) {
    return val > 0 ? val : 1;
}

function moveMouse(x, y) {
    const mouse = robot.getMousePos();
    console.log('x:', mouse.x);
    const xPos = normalizeMouse(mouse.x + x)
    const yPos = normalizeMouse(mouse.y + y);
    console.log('xPos:', xPos);
    //console.log('y:', yPos);

    robot.moveMouseSmooth(xPos, 5);
}

function move() {
    eventEmitter.emit('mouseMove', -1, -1);
    setTimeout(move, 1);
}

move();

Context
I was trying to move the mouse but when yPos would go below 0 it would move across the Y axis only until it reached the bottom of the screen then it would continue normal movement.
I attempted to fix this by setting yPos to 0 if yPos < 0.  When yPos got to 0 the cursor would stop moving the mouse along the X axis
Your Environment

RobotJS version: 0.4.4
Node.js version: 6.2.1
npm version: 3.9.3
Operating System: OS X 10.11

Hi @rnikoopour,
Thanks for the great bug report! I'll take a look and see what I can figure out. moveMouseSmooth is a weird function, it might be replaced by #174. Randomization can be applied user-land.

Confirmed. I had to implement own algorithm of moving the mouse, otherwise it would end in slightly different point, than intended.

mouseMoveSmooth is a strange function anyway. Not only is it "smooth", but it's also a bit random. The code for the function isn't too difficult if someone wants to take a look at resolving this:
https://github.com/octalmage/robotjs/blob/master/src/mouse.c#L343

@SamuraiJack would you mind sharing your changes?

@jfizz my code is in the "user land", not in the C++ side. It seems moving the cursor to small distance works fine, but for big distances it fails. So I've implemented own cursor movement between the 2 points, using Bresenham algorithm: https://stackoverflow.com/questions/4672279/bresenham-algorithm-in-javascript?noredirect=1&lq=1

This issue has been closed because it has been inactive for > 180 days.
You may reopen this issue if it has been closed in error.


Using non kube secrets for ssl certs

I'm using vault to store my ssl certs and they're currently not in kubernetes secrets.  I have a side car than can load the certs into files but I can't figure out how to get haproxy or any ingress controller to use them?

As a "quick" workaround you could make a feature switch that disables the secret manager in the controller and provision the secrets in the /ingress-controller/ssl/ directory, following a $namespace-$secretName.pem filename scheme.
I do not believe this is currently natively possible, but you could always try.

I don't exactly follow but I haven't looked into the code yet.  I can try to make a PR for this

seems this is where I would put it?
notice the todo at the end.
https://github.com/kubernetes/ingress/blob/16a213c07611b27be5ef9f4eced6ccc4f20c47cd/controllers/gce/controller/tls.go#L51-L82

@krazik what ingress controller are you using? how you reach vault from k8s?
your sidecar uses go? (maybe we can add a flag to switch the source of the secrets)

@krazik just writing certificates to disk using a sidecar won't work

I'm using this: https://github.com/UKHomeOffice/vault-sidekick

for the short term I'm just copying my key manually from vault to kube secrets but longer term I'll try to figure out a way to make it work directly.

@krazik we intend to add Vault support to github.com/jetstack-experimental/cert-manager. The issue tracking this is here: https://github.com/jetstack-experimental/cert-manager/issues/17

We have added support to read/write  tls certificates from vault in https://github.com/appscode/voyager for its built-in cert manager. it requires the vault 0.8.3. We are still working on the docs.

Closing. The Vault integration PR is here https://github.com/kubernetes/kubernetes/pull/51760
Also cert-manager is will be an option.


dotplot

dear author
I ran my own individual data (only centromeric regions) based on the process example you provided, but this error appears below

How do I need to solve the problem?
The second question, if I want to compare the results of centromeric regions of the same chromosome in different individuals, can I use this code to only modify query, and other parameters do not change (eg.: ./dotplot --ref D1/chr5CEN.fa --query C1/chr5CEN.fasta --min_length 1024 --output_dir /hl/simple/test --mask_diagonal )
Hope to get your answer
Best
HuipengDu

Hi HuipengDu,
This is because your output directory cannot be present already when you run the executable. When you choose a name for --output_dir it must be a new name that does not exist on the hard drive. This is to prevent overwriting previous runs.
For your second question, you are correct, you would simply change the query path to whichever sequence you are interested in. However, as I mentioned before, you may not overwrite an existing output directory so you would also need to make sure that is a new name.

thanks

If this resolves your issue please let me know.

Dear author
This is the result diagram that I drew out

I would like to consult on how this figure in the article is drawn,How does this background color be set, I also want to achieve the background color effect in the article, and where should I modify this parameter.(as follow)

There is also a little problem:
It is this parameter- -min_length. What is it value generally set according to?(Is it the exact unit length of it HOR ? )
Hope to get your answer
Best
HuipengDu

Hi HuipengDu,
At the moment the dotplot executable is using the viridis colormap. So any time the max observed match length for a coordinate falls within a certain percent of the longest match, it may be blue.

Here is a short explanation I wrote for the censat paper:
Dotplots were generated by computing an exhaustive search for exact matches between any 2 sequences, where matches are
>= 16bp. A 2D matrix then stores the length of the longest match within square bins that are 1/nth the length of the
longest sequence, where n is the number of pixels desired in the output image. The matrix is then normalized from 0-1
where 1.0 is the longest observed match, and log scaled. The values are interpreted as a color in the Viridis colormap
and rendered as an (n,n)px image.

The reason that the figure you showed looks blue is because it found many more matches, because the minimum match length was set to 16bp instead of 1024 as you have. 16bp will take much longer (about 5-10min) to run but you will get more information and the full matrix will be filled in.
Hope that helps. I could add an option to output the raw matrix so you can re-plot it in python using any colormap you want, if that would be helpful.

Dear author
I understand the second question you said, but the first one still doesn't
I looked through the code inside the githup and I changed the range of parameter values for the color(as follow)

But I have found that the color of the background has not changed(as follow)

I  guess that I misunderstand your advise
Hope to get your detailed guidance again
I'm really sorry for disturbing it again
Best
HuipengDu

Hi,
The code you shared is from a python script which does not have any effect on the C++ dotplot executable you ran to create your images.
My recommendation would be to try a much shorter match length and see how it looks, before you try anything else.

dear author
this is the -min_length 16 result

It hasn't changed much, or it can't get the effect I want in your picture
what should I do next?
Best
HuipengDu

Hi HuipengDu,
That doesn't look like the same comparison, but regardless, I understand that you are interested in customizing the color range, so I have added an additional output to the dotplot executable. You will need to fetch and pull the latest changes from the main branch and recompile your source code.
Now when you run the program a CSV file will be generated that contains all the raw data from the match-finding step. Then, you can run (and edit as you see fit) the python script I have added as simple_dotplot/scripts/plot_csv.py. Here is an example:
./build/dotplot --ref /home/ryan/data/censat2021/1.chm13.cenX.fasta --query /home/ryan/data/censat2021/1.chm13.cenX.fasta -l 1024 -o test_dotplot_csv

 python3 scripts/plot_csv.py -i /home/ryan/code/simple-dotplot/build/test_dotplot_csv/1.chm13.cenX_VS_chrX_57820107_60927026_dotplot.csv

Now if you edit that script you can re-plot it with any colormap you like:
pyplot.imshow(matrix, cmap=truncate_colormap(cm.get_cmap('jet', 256), minval=0, maxval=1.0))

    pyplot.imshow(matrix, cmap=truncate_colormap(cm.get_cmap('gist_rainbow', 256), minval=0, maxval=1.0))

    pyplot.imshow(matrix, cmap=truncate_colormap(cm.get_cmap('gist_rainbow', 256), minval=0.07, maxval=0.8))

    pyplot.imshow(matrix, cmap=truncate_colormap(cm.get_cmap('gnuplot2', 256), minval=0.0, maxval=1.0))

Let me know if this works for you. You may still want to play with different combinations of match length and colormap to get what you want.

Dear author
Since I have been busy sorting out the experimental samples recently,I can not see your reply in time, I am really sorry for this.Just now I downloaded and compiled it again as you said,I had this problem at runtime(as follow)

It prompted me that this fasta file was not found but actually this file exists(as follow)

what should I do ?
Best
HuipengDu

Dear author
Because I have been busy sorting out the experimental samples in these two days, I failed to see your reply in time,I really feel sorry for keeping you waiting for a long time.I just started downloading and compiling it as you suggested,My run-code is as follows,
./dotplot --ref /hl/DHP/simple/DRC/chr5CEN.fasta --query /hl/DHP/simple/DRC/chr5CEN.fasta -l 1024 -o test_dotplot_csv
python3 ../scripts/plot_csv.py -i /hl/DHP/DRC/simple-dotplot-main/build/test_dotplot_csv/chr5CEN_VS_DRC_chr5_dotplot.csv
I found that it had the problems as follow:
When I run the first step, he produces the ppm picture for this file,I was running the second line of code that you prompted and found that I was not handling this picture at all.
My color modification is as you provided, as shown below

the picture as follow :

But the color background of this figure changed not changed ,The graph is the same color background as the graph generated by running the first code you provide.When I removed the result of the ppm generated in the first step,and  in running the second line of code I found that there was no error reported but there was be any graph generated either.
I guess that is why the color background hasn't changed.
what should I do ?
Best

When you run plot_csv (as it is currently written) it does not produce a new file, it only uses the "show()" command to display the window interactively. You are running it on a server, which probably prevents the window from appearing. Can you download the CSV and the python script and run it locally?
In general, you do not need a server to run this program, because it is fairly memory-efficient.

Dear author
Following your advice, the pictures ran out ,as follow:

But I modified the color as follows, why  is green rather than the background color is red you give:

Best
HuipengDu

Because it's truncated

thanks,I got

OK, if this resolves your issue, I will go ahead and close it. Feel free to open another issue if you run into more problems.


PromiseInvalidationTokenBox should clean up the callback list when possible

When enqueuing a new callback onto a PromiseInvalidationTokenBox, it should walk the list and throw away any callbacks it finds whose cancellable has been nilled out.
There are two reasonable approaches I see:

Walk the entire list, throw away any nilled nodes, and build a brand new list.
Walk the list, but stop at the first non-nilled cancellable. This means we don't need to rebuild any existing nodes, we're just popping off dead nodes.

The first one is much more expensive than the second, but the second one has the downside where if you're always pushing live nodes onto the front, you can never clean up dead nodes on the tail. The second approach is also a lot simpler.
We can mitigate some of the expense of the first approach by only cleaning up the list after pushing N nodes on.
I'm inclined to go with the second approach, unless someone comes up with a real-world practical use case where the first is important.

The idea here is to help with the scenario where a PromiseInvalidationToken is used long-term just as a way to cancel outstanding requests when the owning object deinits, without otherwise invalidating the token.


Expression field doesn't work as expected in sequence mediator

Description:

The expression field in the "Call Sequence" mediator is not updating the namespaces.
Couldn't enter the expression in the text field. It is only allowing the values in the keylookup.

Steps to reproduce:

Open an integration project.
Add an "Call Sequence" mediator.
Select "Expression" as the key type and enter an expression and give namespaces too.

The latest release v1.0.2 has resolved the issue. Please reopen if the problem persists.


WIP: Multi name json input/output

Adds multi name input/output endpoint.

Also, can you write a test for the actual /dynamicschema endpoint request?

@ShamsUlAzeem we have a doJsonInference (the underlying pipeline execution method that gets invoked) test now that tests all types.  I  want to think about the design of the client side experience first as well as see if there's anything else we need to do for the doJsonInference test coverage.


injvm and local call

injvm protocol doesn't work well with scope.
injvm should not be registered to register center
<dubbo:protocol name="injvm"/>
<bean id="target" class="org.apache.dubbo.samples.provider.GreetingsServiceImpl"/>
<dubbo:service interface="org.apache.dubbo.samples.api.GreetingsService" ref="target" protocol="injvm"/>

injvm url is registered
local call doesn't work when protocol is injvm
The following configuration is supposed to work but dubbo complains no provider found from registry center.
<dubbo:protocol name="injvm"/>
<bean id="target" class="org.apache.dubbo.samples.provider.GreetingsServiceImpl"/>
<dubbo:service interface="org.apache.dubbo.samples.api.GreetingsService" ref="target" scope="local" protocol="injvm"/>
<dubbo:reference id="demoService" interface="org.apache.dubbo.samples.api.GreetingsService" scope="local"/>

I try to reproduce the problem with your config, but it fails.

I reproduced your problem and made changes to the injvm export.Will submit a pr fix this bug in the near future

I am not sure what is the best way to fix this issue.
In a real scene, I think we will use :
@Autowired
private GreetingsService target;
// remove this configuration
//<dubbo:reference id="demoService" interface="org.apache.dubbo.samples.api.GreetingsService" //scope="local"/>

instead of:
@Autowired
private GreetingsService demoService;

<dubbo:reference id="demoService" interface="org.apache.dubbo.samples.api.GreetingsService" scope="local"/>

This modification increase some complex logic and I suggest we donot fix this issue.

I merged #3857 since it does solve the two problems I reported. Later we can consider removing 'injvm' and 'scope' from user's configuration entirely.


Add size-limited strings and varying bit-width integer Value_Types to in-memory backend

Pull Request Description

Closes #5159
Now data downloaded from the database can keep the type much closer to the original type (like string length limits or smaller integer types).
Cast also exposes these types.
The integers are still all stored as 64-bit Java longs, we just check their bounds. Changing underlying storage for memory efficiency may come in the future: #6109
Fixes #7565

Important Notes

Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] The documentation has been updated, if necessary.
[ ] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[x] All code follows the
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
All code has been tested:

[x] Unit tests have been written where possible.
[ ] If GUI codebase was changed, the GUI was tested when built using ./run ide build.

So I was not completely sure what to do with the case of arithmetic overflow.
We essentially have two cases: 64-bit integers and smaller types.
For 64-bit overflow, we cannot do much as we don't have a bigger type yet. Current behaviour is to do the standard 'modulus' overflow, but I think that this is wrong as it can lead to data corruption. So I replace the value with Nothing and report the warning.
Now what if I add two 16-bit values together and they overflow the 16-bit type. Then I have a bit more options - I could widen the storage type to 32-bit or 64-bit to make it fit. However, there is no clear 'heuristic' when to do so. Do I do this 'on demand'? That will mean the result type will be unpredictable - I start with 2 16-bit columns and can end up with whatever.
Instead, do I do this always? Maybe all operations should return 64-bit integers? But that will mean I will very quickly 'lose' the smaller bit-width. Even if I had small columns, they will be 'upcasted' after any operation is performed on them. If I want them back to be small, I would need to cast them again.
I think that always up-converting to 64-bit could have its merit. It is definitely a bit simpler to implement. But then the smaller types become 'second class citizens' - because we immediately 'escape' them. It may be practical though, as we will encounter overflows less often this way and can always can re-cast afterwards. And it's easier to implement.
What do you think @jdunkerley @GregoryTravis?
I'm sure for 64-bit overflows we want to have warnings and all. But for smaller types - do we also check for overflow or do we up-cast them on every operation to 64-bits?
I imagine I will implement the 64-bit logic first as it's simpler, but I'm wondering what to do with these smaller types.

What do you think @jdunkerley @GregoryTravis?

I agree that widening to 64 bit by default is the better move.
The most common use case is that the original data uses a narrow integer type, but after it's read, the user doesn't need it to stay that way.
The second most common use case is that the user needs to compute something with narrow types, and write them back to a column with a narrow type. In this case, they'll get a clear warning /error that they tried to write 64 bit integers to a narrows column, and they'll have to cast.

What do you think @jdunkerley @GregoryTravis?

I agree that widening to 64 bit by default is the better move.
The most common use case is that the original data uses a narrow integer type, but after it's read, the user doesn't need it to stay that way.
The second most common use case is that the user needs to compute something with narrow types, and write them back to a column with a narrow type. In this case, they'll get a clear warning /error that they tried to write 64 bit integers to a narrows column, and they'll have to cast.

I think you are right. I will amend the tests tomorrow.

Benchmarks on current branch:
Found 4 cases to execute
Benchmarking 'Column_Arithmetic_1000000.Plus_Fitting' with configuration: [warmup={1 iterations, 2 seconds each}, measurement={1 iterations, 2 seconds each}]
Warmup duration:    2052.4615 ms
Warmup invocations: 39
Warmup avg time:    51.473 ms
Measurement duration:    2032.3263 ms
Measurement invocations: 228
Measurement avg time:    8.805 ms
Benchmark 'Column_Arithmetic_1000000.Plus_Fitting' finished in 4095.068 ms
Benchmarking 'Column_Arithmetic_1000000.Plus_Overflowing' with configuration: [warmup={1 iterations, 2 seconds each}, measurement={1 iterations, 2 seconds each}]
Warmup duration:    2011.1267 ms
Warmup invocations: 29
Warmup avg time:    69.123 ms
Measurement duration:    2023.6508 ms
Measurement invocations: 102
Measurement avg time:    19.79 ms
Benchmark 'Column_Arithmetic_1000000.Plus_Overflowing' finished in 4037.198 ms
Benchmarking 'Column_Arithmetic_1000000.Multiply_Fitting' with configuration: [warmup={1 iterations, 2 seconds each}, measurement={1 iterations, 2 seconds each}]
Warmup duration:    2020.0755 ms
Warmup invocations: 331
Warmup avg time:    6.055 ms
Measurement duration:    2012.3253 ms
Measurement invocations: 330
Measurement avg time:    6.064 ms
Benchmark 'Column_Arithmetic_1000000.Multiply_Fitting' finished in 4033.966 ms
Benchmarking 'Column_Arithmetic_1000000.Multiply_Overflowing' with configuration: [warmup={1 iterations, 2 seconds each}, measurement={1 iterations, 2 seconds each}]
Warmup duration:    2012.2159 ms
Warmup invocations: 112
Warmup avg time:    17.939 ms
Measurement duration:    2004.2525 ms
Measurement invocations: 118
Measurement avg time:    16.977 ms
Benchmark 'Column_Arithmetic_1000000.Multiply_Overflowing' finished in 4018.405 ms

(posting to keep the data, I will summarize in a moment)

I amended the default iteration counts as I was seeing insufficient warmup leading to inconsistent benchmark results. Results afterwards:

Raw results
develop:
Found 4 cases to execute
Benchmarking 'Column_Arithmetic_1000000.Plus_Fitting' with configuration: [warmup={3 iterations, 5 seconds each}, measurement={3 iterations, 5 seconds each}]
Warmup duration:    15194.5505 ms
Warmup invocations: 1663
Warmup avg time:    9.021 ms
Measurement duration:    15187.6392 ms
Measurement invocations: 4503
Measurement avg time:    3.331 ms
Benchmark 'Column_Arithmetic_1000000.Plus_Fitting' finished in 30391.999 ms
Benchmarking 'Column_Arithmetic_1000000.Plus_Overflowing' with configuration: [warmup={3 iterations, 5 seconds each}, measurement={3 iterations, 5 seconds each}]
Warmup duration:    15161.867 ms
Warmup invocations: 3680
Warmup avg time:    4.077 ms
Measurement duration:    15204.4607 ms
Measurement invocations: 5220
Measurement avg time:    2.874 ms
Benchmark 'Column_Arithmetic_1000000.Plus_Overflowing' finished in 30368.108 ms
Benchmarking 'Column_Arithmetic_1000000.Multiply_Fitting' with configuration: [warmup={3 iterations, 5 seconds each}, measurement={3 iterations, 5 seconds each}]
Warmup duration:    15153.7378 ms
Warmup invocations: 3618
Warmup avg time:    4.147 ms
Measurement duration:    15173.2304 ms
Measurement invocations: 5224
Measurement avg time:    2.872 ms
Benchmark 'Column_Arithmetic_1000000.Multiply_Fitting' finished in 30328.21 ms
Benchmarking 'Column_Arithmetic_1000000.Multiply_Overflowing' with configuration: [warmup={3 iterations, 5 seconds each}, measurement={3 iterations, 5 seconds each}]
Warmup duration:    15093.7514 ms
Warmup invocations: 4072
Warmup avg time:    3.684 ms
Measurement duration:    15135.0264 ms
Measurement invocations: 5366
Measurement avg time:    2.796 ms
Benchmark 'Column_Arithmetic_1000000.Multiply_Overflowing' finished in 30229.871 ms

this PR:
Found 4 cases to execute
Benchmarking 'Column_Arithmetic_1000000.Plus_Fitting' with configuration: [warmup={3 iterations, 5 seconds each}, measurement={3 iterations, 5 seconds each}]
Warmup duration:    15197.3365 ms
Warmup invocations: 2184
Warmup avg time:    6.869 ms
Measurement duration:    15191.5517 ms
Measurement invocations: 5208
Measurement avg time:    2.88 ms
Benchmark 'Column_Arithmetic_1000000.Plus_Fitting' finished in 30398.177 ms
Benchmarking 'Column_Arithmetic_1000000.Plus_Overflowing' with configuration: [warmup={3 iterations, 5 seconds each}, measurement={3 iterations, 5 seconds each}]
Warmup duration:    15036.2704 ms
Warmup invocations: 863
Warmup avg time:    17.389 ms
Measurement duration:    15029.3346 ms
Measurement invocations: 1969
Measurement avg time:    7.619 ms
Benchmark 'Column_Arithmetic_1000000.Plus_Overflowing' finished in 30067.19 ms
Benchmarking 'Column_Arithmetic_1000000.Multiply_Fitting' with configuration: [warmup={3 iterations, 5 seconds each}, measurement={3 iterations, 5 seconds each}]
Warmup duration:    15137.2899 ms
Warmup invocations: 3695
Warmup avg time:    4.06 ms
Measurement duration:    15163.2409 ms
Measurement invocations: 5274
Measurement avg time:    2.844 ms
Benchmark 'Column_Arithmetic_1000000.Multiply_Fitting' finished in 30302.24 ms
Benchmarking 'Column_Arithmetic_1000000.Multiply_Overflowing' with configuration: [warmup={3 iterations, 5 seconds each}, measurement={3 iterations, 5 seconds each}]
Warmup duration:    15015.5373 ms
Warmup invocations: 1148
Warmup avg time:    13.069 ms
Measurement duration:    15027.4779 ms
Measurement invocations: 2004
Measurement avg time:    7.487 ms
Benchmark 'Column_Arithmetic_1000000.Multiply_Overflowing' finished in 30044.145 ms

develop
 this PR

Addition
 3.331 ms
 2.880 ms

Addition with Overflow
 2.874 ms
 7.619 ms

Multiplication
 2.872 ms
 2.844 ms

Multiplication with Overflow
 2.796 ms
 7.487 ms

We can see that as long as there is no overflow, both approaches have comparable performance (surprisingly for + the addExact was even a bit faster - but I suspect it was just insufficient warmup for the develop variant - I was extending warmup already as without warmup it was more around 8ms for no overflow vs 19ms for overflow cases; I imagine if I had extended the warmup even more both results would likely converge). This suggests that in the 'happy path' there seems to be no or close-to-none overhead for the operation (in fact both measurements here were faster).
Of course in case of overflow, the new approach is slower. In my setting I set it so that 20% of rows do overflow and with that the slowdown is about 2.6x. It will likely depend on the % of rows that overflow (<1% will likely cause little overhead, whereas 100% will increase it significantly) and other factors like base stack size that influences how costly it is to throw the exception. Still here we are comparing essentially 'incorrect' behaviour (the develop variant just allows the values to overflow) with an error-catching one which simply has much more 'work to do' so it is expected it may be slower.


Improve test output messages for TestClassifier_WithinConfidenceThres…

…hold.
This will hopefully help us diagnose the Travis failures.

And wouldn't you know it? The Travis run for this pull request gave green across the board. Sigh.

Yeah, I noticed that. Maybe it was a bug in Go 1.8 that got fixed (either intentionally or by accident)?

No, it's not some weird Go 1.8 thing. It's simply inconsistent and it sometimes fails and sometimes passes on other versions too. I'd be more likely to blame the Travis environment.

This might still be worth merging.