[scripts-audit] vcpkg_find_acquire_program

This is a PR for the actual changes to vcpkg_find_acquire_program, rather than trying to completely change how it works

qca regressions were fixed by https://github.com/microsoft/vcpkg/pull/21250

/azp run

Quoth @cenit : https://github.com/microsoft/vcpkg/pull/21026#issuecomment-966338216

after this PR fontconfig has been broken on osx/linux in all PR
#20658 #20185

I guess this broke building fontconfig.

Any ideas why we got a passing run here then?

my bad, my bisect was wrong

Any ideas why we got a passing run here then?

missing dep on tool-meson and the tool was probably downloaded and thus cached
Starting package 171/886: tool-meson:x64-linux
Building package tool-meson[core]:x64-linux...
-- Found meson('0.53.2') but at least version 0.58.1 is required! Trying to use internal version if possible!
-- Downloading https://github.com/mesonbuild/meson/archive/aeda7f249c4a5dbbecc52e44f382246a2377b5b0.tar.gz -> meson-aeda7f249c4a5dbbecc52e44f382246a2377b5b0.tar.gz...
-- Using meson: /usr/bin/python3;/usr/bin/meson
-- Performing post-build validation
-- Performing post-build validation done

 Using meson: /usr/bin/python3;/usr/bin/meson is strange if the internal stuff gets printed

Any ideas why we got a passing run here the

Not exactly. But at least before this PR, vfap was not idempotent. (IIRC you never got the system version if a downloaded version was present.)
I tested fontconfig:x64-linux on a older state, before and after removing meson from downloads/tools. It does detect that a download is needed.
-- Found meson('') but at least version 0.58.1 is required! Trying to use internal version if possible!
-- Using cached meson-aeda7f249c4a5dbbecc52e44f382246a2377b5b0.tar.gz.

Will repeat with master now.

Well, I even didn't have meson installed until now. Now the results are even more interesting...
On first run:
-- Found meson('0.45.1') but at least version 0.58.1 is required! Trying to use internal version if possible!
-- Using cached meson-aeda7f249c4a5dbbecc52e44f382246a2377b5b0.tar.gz.
-- Configuring x64-linux-dbg
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:127 (message):
    Command failed: /usr/bin/python3 /usr/bin/meson --buildtype plain --backend ninja --wrap-mode nodownload --native /home/dg0yt/Projekte/vcpkg/vcpkg/buildtrees/fontconfig/meson-native-x64-linux.log --default-library static --libdir lib --native /home/dg0yt/Projekte/vcpkg/vcpkg/buildtrees/fontconfig/meson-native-x64-linux-debug.log -Ddebug=true --prefix /home/dg0yt/Projekte/vcpkg/vcpkg/packages/fontconfig_x64-linux/debug --includedir ../include -Dcmake_prefix_path=['/home/dg0yt/Projekte/vcpkg/vcpkg/installed/x64-linux/debug','/home/dg0yt/Projekte/vcpkg/vcpkg/installed/x64-linux'] /home/dg0yt/Projekte/vcpkg/vcpkg/buildtrees/fontconfig/src/2.13.94-6fd83e1cbe.clean
    Working Directory: /home/dg0yt/Projekte/vcpkg/vcpkg/buildtrees/fontconfig/x64-linux-dbg
    Error code: 2
    See logs for more information:
      /home/dg0yt/Projekte/vcpkg/vcpkg/buildtrees/fontconfig/config-x64-linux-dbg-err.log

On second run, it just builds without meson messages and without error!
So still not idempotent, but in an unexpected way.
It downloads the newer tool in the first run, but use the outdate system version.
Now imagine some other port building with meson before fontconfig, but actually happy with the outdate version. CI passed.
(And I only noticed that because I canceled the first run when I noticed the missing system meson...)

Ah it is probably not unsetting the variable after the first search.

On the positive side, it is not a regression :-) Now with meson installed, I see the same behaviour in the old tree.

Ah it is probably not unsetting the variable after the first search.

More specific, I guess it is related to ${program} being used both as a cache variable (via find_program) and as a normal variable. Unsetting the normal variable unhides the cached value.

On the positive side, it is not a regression :-) Now with meson installed, I see the same behaviour in the old tree.

CI disagrees (the current main run just before these changes were merged).
Starting package 214/1705: tool-meson:x64-linux
Building package tool-meson[core]:x64-linux...
-- Found external python3('Python 3.8.10').
-- Found meson('0.53.2') but at least version 0.58.1 is required! Trying to use internal version if possible!
-- Downloading https://github.com/mesonbuild/meson/archive/aeda7f249c4a5dbbecc52e44f382246a2377b5b0.tar.gz -> meson-aeda7f249c4a5dbbecc52e44f382246a2377b5b0.tar.gz...
-- Using meson: /usr/bin/python3;/mnt/vcpkg-ci/downloads/tools/meson/meson-aeda7f249c4a5dbbecc52e44f382246a2377b5b0/meson.py
-- Performing post-build validation
-- Performing post-build validation done

while now:
Starting package 171/886: tool-meson:x64-linux
Building package tool-meson[core]:x64-linux...
-- Found meson('0.53.2') but at least version 0.58.1 is required! Trying to use internal version if possible!
-- Downloading https://github.com/mesonbuild/meson/archive/aeda7f249c4a5dbbecc52e44f382246a2377b5b0.tar.gz -> meson-aeda7f249c4a5dbbecc52e44f382246a2377b5b0.tar.gz...
-- Using meson: /usr/bin/python3;/usr/bin/meson
-- Performing post-build validation
-- Performing post-build validation done

Fix here #21341


Add Mailsmith.app v2.4

Thank you for the contribution. It needed some fixes, so they were made in 34c8705fe357d7efb115d254a70778d3a67eb6bb. Your contribution is still included (and still credited to you), with the appropriate modifications. Please feel free to ask about any of the changes.


dependabot.yml: enable github_actions ecosystem

Dependabot version updates supports updating GitHub Actions workflow files.
Dependabot-core has GitHub Actions workflow files.
We should use Dependabot version updates to maintain dependabot-core's workflow files!
This feels good, but shouldn't have any immediate impact (as all actions use major-level tags).
.github/workflows/gems.yml:        uses: actions/checkout@v2
.github/workflows/gems.yml:      - uses: actions/setup-ruby@v1
.github/workflows/docker.yml:        uses: actions/checkout@v2
.github/workflows/ci.yml:        uses: actions/checkout@v2

Related

Discovered https://github.com/dependabot/dependabot-core/pull/3662#issuecomment-834632886

This feels good, but shouldn't have any immediate impact (as all actions use major-level tags).
What do you mean by this change?  If not, is this PR a error in dependabot? https://github.com/hfhbd/ComposeTodo/pull/204

What do you mean by this change? Do you mean, you won't expect a PRs for major-level tags

That's correct - that PR is a result of https://github.com/dependabot/dependabot-core/issues/3704


Rework configuration logic.

At the moment configuration logic is spread between different modules and distro.yml. I propose the following:

Configuration details should be stored in config/
Information used to populate the Packer build template to be moved to config/distro.yml
Additional run time specific configuration to config/config.yml

An example of additional build specific details stored in distros.yml
---
Alpine:
  builders:
    - qemu
    - virtualbox-iso
    - vmware-iso
  cpus: 1
  disk_adapter_type: scsi
  disk_size: 36864
  memory: 1024
  password: P@55w0rd
  username: root
  vagrant_box: true
  versions:
    3.8:
      iso_checksum: 20d20e0658b6cc361832cfb49367f0a4c33570ef1521f2e394e9164d2a9bd9df
      iso_checksum_type: sha256
      iso_url: http://dl-cdn.alpinelinux.org/alpine/v3.8/releases/x86_64/alpine-virt-3.8.4-x86_64.iso
    3.9:
      iso_checksum: 75a784aa16ab6311dbf597bdec86259183ba5e74633e7e9201300d848d457216
      iso_checksum_type: sha256
      iso_url: http://dl-cdn.alpinelinux.org/alpine/v3.9/releases/x86_64/alpine-virt-3.9.2-x86_64.iso
  provisioners:
    shell:
      type: shell
      scripts:
        - base.sh
        - virtualbox.sh
        - vmware.sh
        - cleanup.sh
        - vagrant.sh
        - zerodisk.sh
  post-processors:
    ovftool:
      type: shell-local
      inline: "ovftool lol//{{ user `vm_name` }}-{{ build_type }}-{{ timestamp }}/{{ user `vm_name` }}-{{ build_type }}-{{ timestamp }}.vmx lol//{{ user `vm_name` }}-{{ build_type }}-{{ timestamp }}/{{ user `vm_name` }}-{{ build_type }}-{{ timestamp }}.ovf"
      only:
        - vmware-iso
    vagrant:
      type: vagrant
      compression_level: "{{ user `compression_level` }}"
      keep_input_artifact: True
      output: "{{ user `vm_name` }}-{{ build_type }}-{{ timestamp }}.box"
    manifest:
      type: manifest
      strip_path: True

If extended to allow for "include: "conf/build.d/*"style functionality this will allow for more granular control of thedistro.yml`

 Rework configuration logic


Fix Open Telemetry Java Agent URL

The version number in the URL used to retrieve the Java Agent from Github was hard-coded to v2.0.0 instead of using the $version variable.

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

thanks for the contribution :smile:


Snap and Smooth Turn

Hey @1runeberg -
Would it be possible to get the snap and smooth turning for this plugin?
Just curious.

Hi @HeadClot ! Can you walk me through the mechanic please? Not sure what you mean :)


Possible PR to https://github.com/spantaleev/matrix-docker-ansible-deploy for setup automation

Would it be possible to submit a PR to https://github.com/spantaleev/matrix-docker-ansible-deploy for deployment automation? I do not know the inner works of this repo and WeChat very well so I am not the best candidate for doing this. Integration can be performed by adding to the roles directory: https://github.com/spantaleev/matrix-docker-ansible-deploy/tree/master/roles

Thank you very much for letting me know about this automation script!
Will take a look at it when I have time, and PR will be a great welcome!


toggleterm strategy doesn't close the float window when lost focus

I have the following settings
    strategy = { "toggleterm", open_on_start = true },

When in the toggleterm default float term, I would move to another window to close the float win.
While the float term opened by overseer doesn't.
The terminal window opened in the task menu through <c-f> could.
BTW, how could we set open_on_start behavior for individual templates, both through lua & json?

I don't personally use toggleterm, but here's my best guess. I used this minimal config to try to reproduce the issue:
-- save as repro.lua
-- run with nvim -u repro.lua
-- DO NOT change the paths
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "runtime", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({
    "git",
    "clone",
    "--filter=blob:none",
    "--single-branch",
    "https://github.com/folke/lazy.nvim.git",
    lazypath,
  })
end
vim.opt.runtimepath:prepend(lazypath)

vim.g.mapleader = " "
vim.keymap.set("t", "\\\\", [[<C-\><C-N>]])

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  {
    "akinsho/toggleterm.nvim",
    opts = {
      open_mapping = [[<C-\>]],
      direction = "float",
    },
  },
  {
    "stevearc/overseer.nvim",
  opts = {
    strategy = { "toggleterm", open_on_start = true },
  }
  }
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")

I noticed that toggleterm windows that still have a running process (the task is still running, or the shell is still active) will automatically close when you leave the window. If the process is no longer running, then when you leave the window it will remain. I'm not sure why there is a difference, but this sounds like intentional behavior from toggleterm. You can test this in isolation by sourcing the following file:
local terminal = require("toggleterm.terminal")

local term = terminal.Terminal:new({
  cmd = "sleep 6",
  direction = 'float',
  close_on_exit = false,
})

term:toggle()

BTW, how could we set open_on_start behavior for individual templates, both through lua & json?

There's no way to do this from json yet. Theoretically this sort of thing could be controlled by the output behavior, but I haven't added support for that.
From lua, you can override the strategy on a per-task basis. Simply pass in strategy = {"toggleterm", open_on_start = true} with any task and change the value of open_on_start as you like.

From lua, you can override the strategy on a per-task basis.

Thanks for the information!


The project is (seemingly) dead, luckily another project takes its spot

Due to the new Steam Client update, there has been major changes to the interface, breaking almost all older steam skins with no easy way to insert a skin. There is luckily a project named Adwaita-for-Steam which brings the LibAdwaita look to Steam. The project also comes with a variety of colorthemes so you're not forced to use the default Adwaita themes, including Catppuccin's dark mode themes (no latte respect ): )
Adwaita-for-Steam: https://github.com/tkashkin/Adwaita-for-Steam

yup, ive been trying to install it but the manual install neither the auto install works, ill do the one you sent, thanks!

Can confirm it's a bit dead, truth be told I've pretty much just been putting off rewriting it for the new client-- I will have time in the summer to work on it hopefully though, so I might be able to get it done. And as for adwaita-- honestly I just don't like it very much, so I'm going to probably work on my own thing, but I might add a note about it to the readme

Looks very good!!!


"Key Vault Certificate User" is not documented as a built in role

This is a significant error since unless you can guess the correct role name one is pretty much forced into assigning an administrator role.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 99581afb-7950-6daa-7227-055d04446b7e
Version Independent ID: f1a5bf89-9e54-aede-3a9a-70788a95927b
Content: Azure built-in roles - Azure RBAC
Content Source: articles/role-based-access-control/built-in-roles.md
Service: role-based-access-control
GitHub Login: @rolyon
Microsoft Alias: rolyon

@Noel-Jones
Thanks for your feedback! We will investigate and update as appropriate.

@Noel-Jones
Thanks for bringing this to our attention.
I'm going to assign this to the document author so they can take a look at it accordingly.
@rolyon
Can you please check and add your comments on this doc update request as applicable.

Hi @Noel-Jones
Thanks for your feedback. This role has been added to the docs. Let us know if you have additional feedback.
https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#key-vault-certificate-user
thanks

#please-close


Add Rabbitmq single active consumer parameter

Thank you for helping make the Dapr documentation better!
Please follow this checklist before submitting:

[x] Commits are signed with Developer Certificate of Origin (DCO - learn more)
[x] Read the contribution guide
[x] Commands include options for Linux, MacOS, and Windows within codetabs
[x] New file and folder names are globally unique
[x] Page references use shortcodes instead of markdown or URL links
[x] Images use HTML style and have alternative text
[x] Places where multiple code/command options are given have codetabs

In addition, please fill out the following to help reviewers understand this pull request:
Description
Add Rabbitmq single active consumer parameter
Issue reference
#4226

@Holopin-bot @DropSnorz Thanks Arthur!

@holopin-bot @DropSnorz Thank you!


Reproduction of 3.13.0 infinite loop in #659

This reproduces the infinite loop issue I opened in https://github.com/offirgolan/ember-cp-validations/issues/659
I've added two types of component:

my-component - js + template, Infinite loop is triggered from the template
another-component - js only. Infinite loop is triggered from the init hook

yarn ember test --server --filter="Integration | Component | my-component: it renders"
yarn ember test --server --filter="Unit | Component | another-component: it creates correctly"
Also worth noting while there is PR to make ember-cp-validations compatible with 3.13 in https://github.com/offirgolan/ember-cp-validations/pull/653 I find this issue is still happening in spite of cherry-picking that fix. So I opted to keep this PR smaller by only bumping to ember-source 3.13.0-beta.5
Edit: I've also added a reproduction of this happening in a running app (see https://github.com/offirgolan/ember-cp-validations/issues/659#issuecomment-532552985). You can see the effects by running yarn start and visiting http:localhost:4200.

Closing as a fix has being released in https://github.com/emberjs/ember.js/releases/tag/v3.13.0


Why use those mel spectrogram configurations?

I'm particularly curious about the choices to use:
fmin=0
n_fft = win_length = 1024
mulaw.bits = 9

Were these values chosen arbitrarily or are there some pros/cons (tradeoffs) to these values?

fmin=0
n_fft = win_length = 1024

These are chosen so the vocoder can be used with the NVIDIA/tacotron2 repo.
mulaw is not used in this repo to my knowledge. I didn't find a mention of it either in the code or paper.

I close this as there are no recent updates. Please reopen if you need additional comments.


Added null-checks

Added additional null-checks to prevent intermittent crashes during GATT Service queries

According to this Stack Overflow answer, it is perfectly acceptable to return null from an async method, so these this way of handling a null value returned from GetServicesNativeAsync should be fine.

However, the Android code for GetServicesNativeAsync() returns an empty list rather than null, so I am going to close this PR and submit a new one that returns an empty list in order to match the Android null handling.


Clarify the possibility of using init/2 from Ecto.Repo to subscribe to the event of repository becoming operational

From current documentation it is not clear how to use a custom init/2 in a project's Repo module (the one that uses Ecto.Repo) to subscribe to the event of repository becoming operational and if it is possible at all.

What do you mean by "the event of repository becoming operational". Which event are you talking about? The telemetry one? If so, the init/2 callback does not apply any restrictions or considerations to said callback, so you should simply fall the instructions in the telemetry docs.

Again, sorry for not being clear.
What I'm having in my project is the need to make sure that mission-critical data exists in the data base at app start.
Currently I'm one-shotting a transient Task that retries GenServer.whereiss a bunch, until it can check for existance of said mission-critical data.
Here's how I currently insert the data, but I'd like to put populate logic in DoAuth.Repo module.

It is best to have a GenServer that runs in your supervision tree after the repo starts and does the required work on its init callback, returning :ignore afterwards.

Jose, thank you very much for clarification.
Do I understand correctly that it is guaranteed that if there is a child after Repo in the same supervisor, when it inits, Repo is already operational?
If so, this issue can be closed because the feature I'm asking for is not needed.

Yes, correct. Closing as requested!


Recovery from exception during launch fails

In the application code below DBOS is launched with one workflow. The script is implemented so that it catches exceptions during DBOS.launch() and retries when an exception is raised with the goal to get to a normally running system.
To trigger an exception I use the database being available (or not) during launch.

Database available: all works find, see first log below after the application code.

Database unavailable and made available afterwards: exceptions are raised and logged. Once the database is available, you can observe in the log (last part) that the application is running, however, the workflow is not launching.

The expected behavior is that the launch can survive exceptions and the system gets back to a consistent state after the exception is resolved.
Could you please have a look if the exception handling is correct or if a change would get the system to a running state?
Thank you.
(DBOS Python 0.13, Python 3.12)
Application code:
import sys
import time
import traceback
from datetime import datetime

from dbos import DBOS

DBOS()

@DBOS.scheduled("*/5 * * * * *")
@DBOS.workflow()
def print_log(scheduled_time: datetime,
              actual_time: datetime) -> None:
    DBOS.logger.info(f"Workflow ran")

def main(arguments: list[str]) -> None:
    successful_launch: bool = False
    while not successful_launch:
        try:
            DBOS().launch()
            successful_launch = True
        except Exception as ex:
            DBOS.logger.error(f"Exception raised during DBOS.launch(): {ex}")
            DBOS.destroy()
            time.sleep(5)

    while True:
        time.sleep(5)
        DBOS.logger.info('alive')

if __name__ == "__main__":
    try:
        main(sys.argv)
    except KeyboardInterrupt:
        DBOS.logger.warning('KeyboardInterrupt received')
    except Exception as e:
        DBOS.logger.error(traceback.format_exc())
    finally:
        DBOS.destroy()

Log when database available during launch:
$ python exception_at_launch.py
06:31:03 [    INFO] (dbos:_dbos.py:266) Initializing DBOS
06:31:04 [    INFO] (dbos:_dbos.py:394) DBOS launched
06:31:05 [    INFO] (dbos:exception_at_launch.py:15) Workflow ran
06:31:09 [    INFO] (dbos:exception_at_launch.py:31) alive
06:31:10 [    INFO] (dbos:exception_at_launch.py:15) Workflow ran
06:31:14 [    INFO] (dbos:exception_at_launch.py:31) alive
06:31:15 [    INFO] (dbos:exception_at_launch.py:15) Workflow ran
06:31:16 [ WARNING] (dbos:exception_at_launch.py:38) KeyboardInterrupt received
(drag)

Log when database unavailable during launch and started afterward:
$ python exception_at_launch.py
06:32:11 [    INFO] (dbos:_dbos.py:266) Initializing DBOS
06:32:15 [   ERROR] (dbos:_dbos.py:402) DBOS failed to launch: Traceback (most recent call last):
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\engine\base.py", line 146, in __init__
    self._dbapi_connection = engine.raw_connection()
                             ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\engine\base.py", line 3302, in raw_connection
    return self.pool.connect()
           ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 449, in connect
    return _ConnectionFairy._checkout(self)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 1263, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 712, in checkout
    rec = pool._do_get()
          ^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\impl.py", line 179, in _do_get
    with util.safe_reraise():
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\util\langhelpers.py", line 146, in __exit__
    raise exc_value.with_traceback(exc_tb)
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\impl.py", line 177, in _do_get
    return self._create_connection()
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 390, in _create_connection
    return _ConnectionRecord(self)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 674, in __init__
    self.__connect()
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 900, in __connect
    with util.safe_reraise():
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\util\langhelpers.py", line 146, in __exit__
    raise exc_value.with_traceback(exc_tb)
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 896, in __connect
    self.dbapi_connection = connection = pool._invoke_creator(self)
                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\engine\create.py", line 643, in connect
    return dialect.connect(*cargs, **cparams)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\engine\default.py", line 621, in connect
    return self.loaded_dbapi.connect(*cargs, **cparams)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\psycopg\connection.py", line 119, in connect
    raise last_ex.with_traceback(None)
psycopg.OperationalError: connection failed: connection to server at "<IP_ADDRESS>", port 5432 failed: could not receive data from server: Socket is not connected (0x00002749/10057)
could not send SSL negotiation packet: Socket is not connected (0x00002749/10057)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\dbos\_dbos.py", line 348, in _launch
    self._sys_db_field = SystemDatabase(self.config)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\dbos\_sys_db.py", line 177, in __init__
    with engine.connect() as conn:
         ^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\engine\base.py", line 3278, in connect
    return self._connection_cls(self)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\engine\base.py", line 148, in __init__
    Connection._handle_dbapi_exception_noconnection(
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\engine\base.py", line 2442, in _handle_dbapi_exception_noconnection
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\engine\base.py", line 146, in __init__
    self._dbapi_connection = engine.raw_connection()
                             ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\engine\base.py", line 3302, in raw_connection
    return self.pool.connect()
           ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 449, in connect
    return _ConnectionFairy._checkout(self)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 1263, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 712, in checkout
    rec = pool._do_get()
          ^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\impl.py", line 179, in _do_get
    with util.safe_reraise():
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\util\langhelpers.py", line 146, in __exit__
    raise exc_value.with_traceback(exc_tb)
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\impl.py", line 177, in _do_get
    return self._create_connection()
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 390, in _create_connection
    return _ConnectionRecord(self)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 674, in __init__
    self.__connect()
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 900, in __connect
    with util.safe_reraise():
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\util\langhelpers.py", line 146, in __exit__
    raise exc_value.with_traceback(exc_tb)
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 896, in __connect
    self.dbapi_connection = connection = pool._invoke_creator(self)
                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\engine\create.py", line 643, in connect
    return dialect.connect(*cargs, **cparams)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\engine\default.py", line 621, in connect
    return self.loaded_dbapi.connect(*cargs, **cparams)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\psycopg\connection.py", line 119, in connect
    raise last_ex.with_traceback(None)
sqlalchemy.exc.OperationalError: (psycopg.OperationalError) connection failed: connection to server at "<IP_ADDRESS>", port 5432 failed: could not receive data from server: Socket is not connected (0x00002749/10057)
could not send SSL negotiation packet: Socket is not connected (0x00002749/10057)
(Background on this error at: https://sqlalche.me/e/20/e3q8)

06:32:15 [   ERROR] (dbos:exception_at_launch.py:25) Exception raised during DBOS.launch(): (psycopg.OperationalError) connection failed: connection to server at "<IP_ADDRESS>", port 5432 failed: could not receive data from server: Socket is not connected (0x00002749/10057)
could not send SSL negotiation packet: Socket is not connected (0x00002749/10057)
(Background on this error at: https://sqlalche.me/e/20/e3q8)
06:32:20 [    INFO] (dbos:_dbos.py:266) Initializing DBOS
06:32:24 [   ERROR] (dbos:_dbos.py:402) DBOS failed to launch: Traceback (most recent call last):
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\engine\base.py", line 146, in __init__
    self._dbapi_connection = engine.raw_connection()
                             ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\engine\base.py", line 3302, in raw_connection
    return self.pool.connect()
           ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 449, in connect
    return _ConnectionFairy._checkout(self)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 1263, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 712, in checkout
    rec = pool._do_get()
          ^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\impl.py", line 179, in _do_get
    with util.safe_reraise():
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\util\langhelpers.py", line 146, in __exit__
    raise exc_value.with_traceback(exc_tb)
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\impl.py", line 177, in _do_get
    return self._create_connection()
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 390, in _create_connection
    return _ConnectionRecord(self)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 674, in __init__
    self.__connect()
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 900, in __connect
    with util.safe_reraise():
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\util\langhelpers.py", line 146, in __exit__
    raise exc_value.with_traceback(exc_tb)
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 896, in __connect
    self.dbapi_connection = connection = pool._invoke_creator(self)
                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\engine\create.py", line 643, in connect
    return dialect.connect(*cargs, **cparams)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\engine\default.py", line 621, in connect
    return self.loaded_dbapi.connect(*cargs, **cparams)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\psycopg\connection.py", line 119, in connect
    raise last_ex.with_traceback(None)
psycopg.OperationalError: connection failed: connection to server at "<IP_ADDRESS>", port 5432 failed: could not receive data from server: Socket is not connected (0x00002749/10057)
could not send SSL negotiation packet: Socket is not connected (0x00002749/10057)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\dbos\_dbos.py", line 348, in _launch
    self._sys_db_field = SystemDatabase(self.config)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\dbos\_sys_db.py", line 177, in __init__
    with engine.connect() as conn:
         ^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\engine\base.py", line 3278, in connect
    return self._connection_cls(self)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\engine\base.py", line 148, in __init__
    Connection._handle_dbapi_exception_noconnection(
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\engine\base.py", line 2442, in _handle_dbapi_exception_noconnection
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\engine\base.py", line 146, in __init__
    self._dbapi_connection = engine.raw_connection()
                             ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\engine\base.py", line 3302, in raw_connection
    return self.pool.connect()
           ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 449, in connect
    return _ConnectionFairy._checkout(self)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 1263, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 712, in checkout
    rec = pool._do_get()
          ^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\impl.py", line 179, in _do_get
    with util.safe_reraise():
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\util\langhelpers.py", line 146, in __exit__
    raise exc_value.with_traceback(exc_tb)
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\impl.py", line 177, in _do_get
    return self._create_connection()
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 390, in _create_connection
    return _ConnectionRecord(self)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 674, in __init__
    self.__connect()
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 900, in __connect
    with util.safe_reraise():
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\util\langhelpers.py", line 146, in __exit__
    raise exc_value.with_traceback(exc_tb)
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\pool\base.py", line 896, in __connect
    self.dbapi_connection = connection = pool._invoke_creator(self)
                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\engine\create.py", line 643, in connect
    return dialect.connect(*cargs, **cparams)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\sqlalchemy\engine\default.py", line 621, in connect
    return self.loaded_dbapi.connect(*cargs, **cparams)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\miso\VirtualEnvironments\drag\Lib\site-packages\psycopg\connection.py", line 119, in connect
    raise last_ex.with_traceback(None)
sqlalchemy.exc.OperationalError: (psycopg.OperationalError) connection failed: connection to server at "<IP_ADDRESS>", port 5432 failed: could not receive data from server: Socket is not connected (0x00002749/10057)
could not send SSL negotiation packet: Socket is not connected (0x00002749/10057)
(Background on this error at: https://sqlalche.me/e/20/e3q8)

06:32:24 [   ERROR] (dbos:exception_at_launch.py:25) Exception raised during DBOS.launch(): (psycopg.OperationalError) connection failed: connection to server at "<IP_ADDRESS>", port 5432 failed: could not receive data from server: Socket is not connected (0x00002749/10057)
could not send SSL negotiation packet: Socket is not connected (0x00002749/10057)
(Background on this error at: https://sqlalche.me/e/20/e3q8)
06:32:29 [    INFO] (dbos:_dbos.py:266) Initializing DBOS
06:32:31 [    INFO] (dbos:_dbos.py:394) DBOS launched
06:32:36 [    INFO] (dbos:exception_at_launch.py:31) alive
06:32:41 [    INFO] (dbos:exception_at_launch.py:31) alive
06:32:46 [    INFO] (dbos:exception_at_launch.py:31) alive
06:32:51 [    INFO] (dbos:exception_at_launch.py:31) alive
06:32:56 [    INFO] (dbos:exception_at_launch.py:31) alive
06:32:59 [ WARNING] (dbos:exception_at_launch.py:38) KeyboardInterrupt received
(drag)

Thanks for the issue! The underlying reason why this happens is that DBOS maintains a registry of decorated functions, which is constructed when the decorators (like DBOS.scheduled()) run. DBOS.destroy() destroys the registry, so when you re-launch, it has no memory of what functions have been registered.
To get the desired behavior, you can only destroy the DBOS class and not the registry, for example:
import sys
import time
import traceback
from datetime import datetime

from dbos import DBOS

def main(arguments: list[str]) -> None:
    successful_launch: bool = False
    while not successful_launch:
        try:
            dbos = DBOS()
            @DBOS.scheduled("*/5 * * * * *")
            @DBOS.workflow()
            def print_log(scheduled_time: datetime,
                        actual_time: datetime) -> None:
                DBOS.logger.info(f"Workflow ran")

            DBOS.launch()
            successful_launch = True
        except Exception as ex:
            dbos._destroy()
            DBOS.logger.error(f"Exception raised during DBOS.launch(): {ex}")
            time.sleep(5)

    while True:
        time.sleep(5)
        DBOS.logger.info('alive')

if __name__ == "__main__":
    try:
        main(sys.argv)
    except KeyboardInterrupt:
        DBOS.logger.warning('KeyboardInterrupt received')
    except Exception as e:
        DBOS.logger.error(traceback.format_exc())
    finally:
        DBOS.destroy()

Hi @kraftp, thanks a lot for your suggestion and explanation. This works fine.
The only wrinkle is that _destroy() is a protected member and ideally  the code should not be accessing it (and my IDE complains, too :-)) Would this be worth having a non-protected member so that it is possible to implement this approach without the wrinkle?
Thanks again.

That's fair, here's a PR: https://github.com/dbos-inc/dbos-transact-py/pull/162

@kraftp, great, thank you!

Addressed in https://github.com/dbos-inc/dbos-transact-py/pull/162


Support showing from and to paths using PathVisualizer

Are there any ongoing investigations/plans in order to implement this? This would be a great addition and help a lot understanding better the behaviour of citizens and their points of interests.
I've been investigating PathVisualizer in order to try to inject custom indices from DestinationGraph to draw the paths related to a specific station, but progress is slow.
I'm wondering if you ever gave this feature a thought and have any insights or plans on this

@BrunoSilvaFreire It's something I've considered but not done much investigation into. I'd be open to collaborating on this if it's something you have an interest in.


ActionLink regenerate wrong text when use accent

Hi,
I use .net core 2.1.
When you write:
@Html.ActionLink("éàëèêî", "Action")
Generated html is:
������
Issue:
Wrong character conversion to html of the parameter linkText

@zokiad I often had this in one of my ASPNET Core app when somehow many of my .CSHTML were given the encoding  "Western European (Windows) - Codepage 1252". When I changed it to "Unicode (UTF-8 with signature) - Codepage 65001" the accents started to show as expected.
I do not know if there's a better fix, but it got me through.
Hope this help!

Hey @zokiad.
Please give @masterjs's suggestion a try. That will most probably do it.

Hi,
The enconding of my view was ANSI.
I modified encoding of file to UTF-8-BOM. And this workaround fix the issue.
Thank you for your help.

Thanks for confirming!


nixos/activation/bootspec: make initrd optional, serialize system, precise extensions' type

Description of changes
Depends on https://github.com/grahamc/rfcs/pull/7 (we can always revert stuff if needed) and should be rebased once https://github.com/NixOS/nixpkgs/pull/207157 lands.
Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

@ofborg test bootspec

Merging this because Bootspec is a feature preview anyway.


Cryptography Error in PSRP

I have a problem with emails sent by Postal an error appears unencrypted.
I wanted to know how to proceed.
No gmail information that is sent via email via prsp.domain.com
But I will configure letsencrypt in the file
/opt/postal/config/postal.yml
smtp_server:   tls_enabled: true   tls_certificate_path: /etc/letsencrypt/live/mail.domain.com/fullchai$   tls_private_key_path: /etc/letsencrypt/live/mail.domain.com/privkey.$   tls_ciphers: TLSv1_1   ssl_version: TLSv1_1
But this message appears
https://ibb.co/MGC99JS
How to do psrp encryption?

Have you restarted Postal since setting the config?

Yes, I also reset the server and reactivated the Postal. He still says that domain.com did not encrypt this message.

You gave postal permission to the lets encrypt?
chown -R postal:postal /etc/letsencrypt

Hello, yes I gave permission for the certificate.
But the problem still remains

Would the Letsencrypt certificate I need be a wildcard?

I’m sending it directly from the Postal panel,

/etc/letsencrypt/live/mail.domain.com/fullchai$ tls_private_key_path: /etc/letsencrypt/live/mail.domain.com/privkey.$ tls_ciphers: TLSv1_1 ssl_version: TLSv1_1
mail.domain.com - you need to change this to your domain name. Also, I dont have the other stuff you got "fullchai$ tls_private_key_path: " and "privkey.$ tls_ciphers: TLSv1_1 ssl_version: TLSv1_1"
I have
    tls_certificate_path: /etc/letsencrypt/live/mail.yourDomainName.com/fullchain.pem
    tls_private_key_path: /etc/letsencrypt/live/mail.yourDomainName.com/privkey.pem

I have this below for mine,
smtp_server:
    port: 25
    tls_enabled: true
    tls_certificate_path: /etc/letsencrypt/live/mail.yourDomainName.com/fullchain.pem
    tls_private_key_path: /etc/letsencrypt/live/mail.yourDomainName.com/privkey.pem
    proxy_protocol: false
    log_connect: true
    strip_received_headers: false

Make sure you restart postal when you update your config file: Command is:
postal stop
nano /opt/postal/config/postal.yml # change your config file and save it
postal initialize
postal start

Are you using the certificate for the main UI as well? Does it work fully there?
Also do not run postal initialize if you aren't installing, it can erase your database.

Yes is working normally in the interface (Nginx)
But when sending a message
The error that appears in GMAIL is that the domain did not encrypt the email.
Do you have any configuration you have to do for the domain?

No there shouldn't be any other configuration required. You could try using ssllabs.com to verify the certificate is fully valid for the interface.

I want to add: changing of owner at /etc/letsencrypt isn't nice at all - this way to get issues later.
Issue your cert with deploy-hook, f.e:
sudo cat <<\EOF > /etc/letsencrypt/renewal-hooks/deploy/postal.sh
#!/bin/sh
set -e
for domain in $RENEWED_DOMAINS; do
    DAEMON_CERT_ROOT=/opt/postal/config
    mkdir -p "$DAEMON_CERT_ROOT"
    chown postal:postal "$DAEMON_CERT_ROOT"
    cp "$RENEWED_LINEAGE/fullchain.pem" "$DAEMON_CERT_ROOT/smtp.cert"
    cp "$RENEWED_LINEAGE/privkey.pem" "$DAEMON_CERT_ROOT/smtp.key"
    chown postal:postal "$DAEMON_CERT_ROOT/*.cert"
    chown postal:postal "$DAEMON_CERT_ROOT/*.key"
    chown postal:postal "$DAEMON_CERT_ROOT/*.pem"
    chmod 644 "$DAEMON_CERT_ROOT/*.cert"
    chmod 400 "$DAEMON_CERT_ROOT/*.key"
    chmod 400 "$DAEMON_CERT_ROOT/*.pem"
    systemctl restart postal
done
EOF
chmod +x /etc/letsencrypt/renewal-hooks/deploy/postal.sh

and then:
sudo certbot --nginx -d YOURDOMAIN -d YOURDOMAIN2 -d ETC --deploy-hook=/etc/letsencrypt/renewal-hooks/deploy/postal.sh
I have some Q to @willpower232:

is Postal will get new certificates only after restart or at runtime? Full restart is bad practice. Maybe there is posible FR to add SSL certs reload action? =)
can you please give a link where docs|description located for tls_ciphers, ssl_version, proxy_protocol as not fully obvious what format I need to use. f.e.: default configuration use weak ciphers SSL_RSA_WITH_RC4_128_SHA and I want to disable them
as I see TLS1.3 isn't supported now, is it planed in future?

1 - we've never needed to restart Postal to apply an updated certificate but we have more API traffic than SMTP and regularly reboot the server for software updates. Its been a while since I specifically ran postal restart so I'm not sure how brutal that is.
2 - looking at lib/postal/smtp_server/server.rb these options are passed directly into ruby so you'd have to look up the documentation for ruby itself to see all possible values I believe
3 - there are already a few issues with newer openssl versions (#999 and others) so its likely that once these are resolved and you're using a recent version of openssl, you should be able to enable TLS 1.3 without too much bother

Hi @willpower232 thank you for detailed reply


Latest nightly compiler reports dead_code warnings for structs with private fields

Sometime in the last week the rustc nightly compiler got more aggressive about reporting dead_code warnings.  It now warns whenever a struct contains a private field but no constructor.  That catches many structs in libc, which are intended to be initialized with std::mem::zeroed().  IMHO this is a rustc bug.  This ought to be a separate lint so it can be silenced without silencing all dead_code warnings.
Here's an example build failure:
https://cirrus-ci.com/task/6392171014651904?logs=test#L17

I don't think the change is going to get reverted or changed IMO. One workaround would be to add allow(dead_code) to all affected structs, but that can easily hide potential problems. Another is to change all the private fields to public, and I think this was the suggestion in the upstream issue.


Sage 9-alpha.4

I haven't done a whole lot of testing with this so I don't wanna push it as an update just yet.
Will do some more tests and tag a new release probably sometime this week. If all goes well with this release, then the next step is adding Blade support.

This PR closes: #1715, #1719, #1739, #1741, #1742, #1743

Just tested this on a theme I'm working on. Javascript is loading, but for some reason styles aren't being compiled?

I encountered an issue related to the 'stylesheet' > 'template' revision in functions.php (not using Bedrock). With the 'template' change, theme name was missing from my css/js paths. Also, image assets went missing — image file paths (which should point to '/dist/images') contained '/templates/' in the file path. When I reverted functions.php, all was well.

@nathanielks
If you mean they're not written to your filesystem when you do npm start, that's because they're in webpack's internal filesystem, which sits in memory. This is faster. When you visit the proxy server, they should still be served.
@JonMasterson
You just have to reactivate your theme. That will solve your issue.

@qwp6t yup, I'm aware! The stylesheets weren't loaded even when visiting the proxy. I'll test a vanilla clone and see what that gives me

Doh! Didn't notice the hook — Works great. Thanks!

@nathanielks same problem here, let me know if you solve it! thx

@giacomoalonzi try removing your node_modules directory and switching to yarn

@retlehs @giacomoalonzi I was already using yarn and nuked node_modules to no avail... an interesting clue is the output for yarn start in alpha4 for me does not include any of the standard Webpack jargon and doesn't appear to run anything when I save a file that would trigger an update in alpha3.

Mmmm'k. Vanilla alpha4 does have the webpack jargon, so I'm believing I didn't merge everything correctly. I had a bunch of merge conflicts trying to merge 3 and 4 in an existing theme, so it was a bunch of manual merge resolution.

Welp, insert foot into mouth. It works fine! The only difference for me is the Webpack hullabuhloo still isn't being output in yarn start, but it does in fact perform updates in the browser.

Now, one thing that I have noticed (that's semi annoying) is that on subsequent rebuilds without refreshing the page, updated JS isn't really because the router is only loaded on document.ready() (this also existed in alpha3). @QWp6t is the solution here to have it trigger on document.ready and on rebuilds? Does HMR broadcast any events we can hook into? I'm just not sure where to start. I imagine we'll have to have some method of removing event listeners as well before the code is evaluated...

Oh, and for whatever reason even reloading the page doesn't update the js. I have to ctrl-c yarn start and restart it to get the updates in the browser.

@nathanielks
I'm not sure if there's an event, but this should work:
if (`module.hot`) {
  new Router(routes).loadEvents();
}

Obviously an event would be better, though.

Side note, this is already not compatible with<EMAIL_ADDRESS>The package.json should be updated accordingly.

I can't get isotope and a couple of other scripts to work with DOM ready. What was the reason for 724d550739c73a561ab80f9d12add89fb78a7c8c ?

Tested this today on a fairly big project with lots of other deps and stuff. All working good on my end! Cheers @QWp6t!


EVP: NULL pctx pointer after free.

Not doing so can result in a double free.
Fixes #12704

Merged to master.


Allow enabling/disabling rules

Inspired by .eslintrc:

Allow a root .cflintrc (JSON) to define which rules are turned on/off
Use those rules to create an XML configuration to send to CFLint
May require modification to CFLint so the configuration file can be piped through input

This shouldn't be very difficult to implement, although I'm not familiar with how Atom's package management works or it's linter. However, I would be very interested in getting the functionality going.

This will actually be pretty straightforward- I just need to write a tool to convert from JSON to the XML that CFLint understands, and then use stdin to apply those rules. Alternatively, I can help change CFLint to understand the JSON configuration.

That is actually a good idea of adding JSON configuration. I personally hate looking at xml. It's confusing and hard to read (shame on us deciding xml for config). I think it would be best to add the possibility of JSON config first, then deprecating the xml config. The deprecation would depend on Ryan, but I'm sure he'd be okay with it if we identify a possible breaking version.
How long do you think it would take? I'd like to get a new release out within two weeks with the recent items added. If you think it may take longer than that to put in and test, I may add another branch for it.
Once again, kudos for this package. I love it!

I have no problem with switching to Json. :)
On Thu, Oct 8, 2015 at 11:49 PM, jjames967<EMAIL_ADDRESS>wrote:

That is actually a good idea of adding JSON configuration. I personally
hate looking at xml. It's confusing and hard to read (shame on us deciding
xml for config). I think it would be best to add the possibility of JSON
config first, then deprecating the xml config. The deprecation would depend
on Ryan, but I'm sure he'd be okay with it if we identify a possible
breaking version.
How long do you think it would take? I'd like to get a new release out
within two weeks with the recent items added. If you think it may take
longer than that to put in and test, I may add another branch for it.
Once again, kudos for this package. I love it!
—
Reply to this email directly or view it on GitHub
https://github.com/ditinc/linter-cflint/issues/6#issuecomment-146748456.

Not sure on an ETA but I will try to look into it soon. The specific reason I'm interested in JSON configuration is that I'm trying to match other linters like coffeelint and eslint which use JSON configuration.

Sorry I know you maybe working a solution that will take care of this, but what's the best way to configure the rules when using CFLint with CF/SublimeLinter currently?

@ghedwards: This is the repository for an Atom package - I'd still be happy to help you out but unfortunately I'm not familiar with the Sublime plugin. I'd recommend asking the question over at https://github.com/SublimeText/ColdFusion

In 0.7.0 I enabled disabling rules. I went with an .eslintrc style rule naming declaration to keep consistent with that style- however all it does is lowercase the rule IDs and change _ to -. The implementation is pretty rough and I'd like tighter integration with CFLint, but it works for now. :)

Still need to add enabling or escalating rules from warnings to errors, as well as some other features, so I'll leave this issue open.

@sjmatta not sure if your last comment is referring to what I'm about to say but: should be an option to blanket ignore 'warnings' and only display 'errors'.

An update for this. It looks like cflint has implemented a json based config file. i think for consistency across all the plugins for this any changes should be done in the core to include/exclude rules. Then simply the plugins need to manage how each editor interacts with the cli/jar

CFLint supports .cflintrc now. But the plugin doesn't recognize it. What would it take for it to support that?

Need to update the version of CFLint used here (preferably grabbing it from Maven repo)
Need to ensure CFLint isn't pushing random stuff out to standard out that will confuse the parser(s) - if not, CFLint needs a patch
Remove .cflintrc support from the plugin so it uses CFLint's instead

If anyone has availability to work on this in a PR, that'd be awesome. If not, I may have a chance to get to it in the next few weeks.


feat: use iframes for note references when publishing

Dendron Extended PR Checklist

NOTE: the links don't work. you'll need to go into the wiki and use lookup to find the note until we fix some issues in the markdown export

Code
Basics

[x] code should follow Code Conventions
[x] circular dependency check: make sure your code is not introducing new circular dependencies in plugin-core.  See Avoiding Circular Dependencies.
[x] sticking to existing conventions instead of creating new ones

eg: if configuration for utilities are already in one module or package, add future utilities there as well

Extended

General

[ ] check whether code be simplified
[ ] check if similar function already exist in the codebase. if so, can it be re-used?
[ ] check if this change adversely impact performance

Operations

[ ] when shipping this change, will it just work or will it introduce additional operational overhead due to complicated interface or known bugs?

Architecture

[ ] check if code is introducing changes on a foundational class or interface. if so, call for design review if needed

eg: making changes to DNode

Instrumentation
Basics

[ ] if you are adding analytics related changes, make sure the Telemetry docs are updated

Extended

[ ] can we track the performance of this change to know if it is successful?

eg: see usage for export pod

Tests
Basics

[ ] Write Tests
[ ] Confirm existing tests pass
[ ] Confirm manual testing
[ ] Common cases tested
[ ] 1-2 Edge cases tested
[ ] If your tests changes an existing snapshot, snapshots have been updated

Extended

[ ] If you are adding a new language feature (graphically visible in VS Code/preview/publishing), an example is included in the test workspace
CSS

[ ] display is correct for following dimensions

[ ] sm: screen ≥ 576px, eg. iphonex, (375x812)
[ ] lg: screen ≥ 992px
[ ] xxl: screen ≥ 1600px eg. mac (1600x900)

[ ] display is correct for following browsers (across the various dimensions)

[ ] safari
[ ] firefox
[ ] chrome

Docs

[ ] if your change reflects documentation changes, also submit a PR to dendron-site and mention the doc PR link in your current PR
[ ] does this change introduce a new or better way of doing things that others need to be aware of? if so, an async should be created and a process added in Development or Packages

Close the Loop
Extended

[ ]  is this a developer BREAKING change? if another person cloning from this branch will need to adjust their dependencies or mental model of the architecture, then it is. if this is the case, make sure this is communicated according to Close Loop

eg: breaking dev change due to new dependency

@kevinslin I made changes from the demo I sent you earlier today.
Every iframe creates a function on its window object that its chilld iframes can call using window.parent.updateIFrameHeights which will run and try to call the same function on its parent window (unless window.top === window.self AKA top level window.
This is probably the fastest way to update the height of the iframes as they load in to prevent a scroll bar.
We had talked about making the top level window load iframes at a fixed height and maybe having a button to expand the height.  When testing this out, it didn't seem that jittery to me.  I was wondering if you wanted to give it a try and let me know what you think.

Rebase attempt is in a different branch to maintain the integrity of this PR diff https://github.com/dendronhq/dendron/pull/3457


Incorrect comment in DNS provider

This line is the only occurrence of defaultPort in this repo:
https://github.com/thanos-io/thanos/blob/00510b5ae7fbcfc42c735532069afead30c3bb01/pkg/discovery/dns/provider.go#L111
I believe what actually happens is it returns an error.

Good point, help wanted to fix it (:

Should the comment instead be // returns an error when a port is not supplied ?

Happy to take this issue 🙂

Should the comment instead be // returns an error when a port is not supplied ?

There are (at least) two cases: SRV and non-SRV, and your proposal would be incorrect for the SRV case.

Should the comment instead be // returns an error when a port is not supplied ?

There are (at least) two cases: SRV and non-SRV, and your proposal would be incorrect for the SRV case.

Is it Error for non-SRV and defaultPort for SRV ?

Is it Error for non-SRV and defaultPort for SRV ?

This line is the only occurrence of defaultPort in this repo:

i.e. it is impossible that the commented code will return it.

The comment is still incorrect.

@bboreham I'm looking into this.

Hey, what I have found is that it returns error for non-SRV prefix, when a port is not supplied.
While for SRV prefixes there is no need to specify a port, as the one from the SRV query results will be used.


Support Chinese Language

Closed https://github.com/hunghg255/reactjs-tiptap-editor/issues/1

@condorheroblog thank you for PR


Changes required to support individual species compara databases

Requirements

Filling out the template is required. Any pull request that does not include enough information to be efficiently reviewed may be rejected.
Please consider which branch this is to be submitted against. This is usually obvious, however if it is to be applied to both a release branch nn and master then please submit it against postreleasefix/nn and let us merge it into to the two branches.

Description
Various changes to bootstrapping code, to configure single-species compara databases
Views affected
Only relevant to rapid release - should be ignored by other sites
Possible complications
Unlikely - triggered by the configuration
$SiteDefs::SINGLE_SPECIES_COMPARA   = 1;
which is on a feature branch of ensembl-rapid
Merge conflicts
Again unlikely - no-one else should be working on this low-level code.
Related JIRA Issues (EBI developers only)
https://www.ebi.ac.uk/panda/jira/browse/ENSWEB-6136

104 and master have diverged, so I don't think submitting against postreleasefix/104 is the right thing here


Virtual Scroll not working with Ionic2.rc0

Hello,
I migrated my project to Ionic2.rc0, and i have the following error:
polyfills.js:3 Unhandled Promise rejection: Template parse errors:
Can't bind to 'virtualTrackBy' since it isn't a known property of 'ion-card'.
1. If 'ion-card' is an Angular component and it has 'virtualTrackBy' input, then verify that it is part of this module.
2. If 'ion-card' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the<EMAIL_ADDRESS>of this component to suppress this message.
 ("                    (click)="ViewArticle($event, article, null)"

                              [ERROR ->][virtualTrackBy]="id"

To isolate the problem, I created a new project and I added the virtual scroll as below:
Template:
<ion-list [virtualScroll]="items">
    <ion-list-header>Follow us on Twitter</ion-list-header>
    <ion-item *virtualItem="let item">
      <ion-icon name="ionic" item-left></ion-icon>
      {{item}}
    </ion-item>
  </ion-list>

Component:
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';

@Component({
  templateUrl: 'contact.html'
})
export class ContactPage {

  public items: Array<string> = [];

  constructor(public navCtrl: NavController) {
    for(let i = 0; i < 100; i++)
    {
      this.items.push('name' +i);
    }
  }
}

When i go to the contact page, i have the following error:
ORIGINAL EXCEPTION: Cannot read property 'indexOf' of undefined
ORIGINAL STACKTRACE:
TypeError: Cannot read property 'indexOf' of undefined
    at calcHeight (http://localhost:8100/build/main.js:64758:21)
    at calcDimensions (http://localhost:8100/build/main.js:64740:26)
    at readDimensions (http://localhost:8100/build/main.js:64952:17)
    at VirtualScroll.update (http://localhost:8100/build/main.js:64964:9)
    at VirtualScroll.ngAfterContentInit (http://localhost:8100/build/main.js:64919:18)
    at DebugAppView._View_ContactPage0.detectChangesInternal (ContactPage.ngfactory.js:219:65)
    at DebugAppView.AppView.detectChanges (http://localhost:8100/build/main.js:10805:14)
    at DebugAppView.detectChanges (http://localhost:8100/build/main.js:10910:44)
    at DebugAppView.AppView.detectViewChildrenChanges (http://localhost:8100/build/main.js:10831:19)
    at DebugAppView.AppView.detectChangesInternal (http://localhost:8100/build/main.js:10816:14)
ERROR CONTEXT:
DebugContext {_view: _View_ContactPage0, _nodeIndex: 11, _tplRow: 9, _tplCol: 2}
Uncaught Error: Error in ./ContactPage class ContactPage - inline template:9:2 caused by: Cannot read property 'indexOf' of undefined

Cordova CLI: 6.3.0
Gulp version:  CLI version 1.2.2
Gulp local:
Ionic Framework Version: 2.0.0-rc.0
Ionic CLI Version: 2.1.0
Ionic App Lib Version: 2.1.0-beta.1
OS:
Node Version: v5.12.0

Hello, thanks for opening an issue with us! Would you mind posting a repo I can use to reproduce this issue?

Thanks for your answer.
Git repository here:
https://github.com/jeromeXoo/ionic2.rc0.Virtual-Scroll-Not-Working

I figured out that somehow the approxItemHeight is undefined.
So a workaround is to set it manually (since default is 40px I also used 40px http://ionicframework.com/docs/v2/api/components/virtual-scroll/VirtualScroll/#input-properties):
<ion-list [virtualScroll]="items" approxItemHeight="40px">

  <ion-item *virtualItem="let item">
    {{ item }}
  </ion-item>

</ion-list>

This code is working for me with:
Cordova CLI: 6.3.0
Gulp version:  CLI version 3.9.1
Gulp local:   Local version 3.9.1
Ionic Framework Version: 2.0.0-rc.0
Ionic CLI Version: 2.1.0
Ionic App Lib Version: 2.1.0-beta.1
ios-deploy version: Not installed
ios-sim version: 5.0.8
OS: Mac OS X El Capitan
Node Version: v5.8.0
Xcode version: Xcode 8.0 Build version 8A218a

I've found the issue in the code and created a PR https://github.com/driftyco/ionic/pull/8350

Hello,
Thanks for your feedback.
this one solve the following error:

ORIGINAL EXCEPTION: Cannot read property 'indexOf' of undefined

So i can run the blank project with Virtual Scroll without error.
Anyway, i still have the first error my project:

polyfills.js:3 Unhandled Promise rejection: Template parse errors:
Can't bind to 'virtualTrackBy' since it isn't a known property of 'ion-card'.

To reproduce in the blank/simple project, i have added "[virtualTrackBy]="id". And I have the following error:
Unhandled Promise rejection: Template parse errors:
Can't bind to 'virtualTrackBy' since it isn't a known property of 'ion-item'.
1. If 'ion-item' is an Angular component and it has 'virtualTrackBy' input, then verify that it is part of this module.
2. If 'ion-item' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the<EMAIL_ADDRESS>of this component to suppress this message.
 (">
    <ion-list-header>Follow us on Twitter</ion-list-header>
    <ion-item *virtualItem="let item" [ERROR ->][virtualTrackBy]="id">
      <ion-icon name="ionic" item-left></ion-icon>
      {{item}}
"): ContactPage@11:38

Updated repository:
https://github.com/jeromeXoo/ionic2.rc0.Virtual-Scroll-Not-Working

This is a different problem.
virtualTrackBy needs a functions as input and should be set on ion-list
this code should work
<ion-content>
  <ion-list [virtualScroll]="items" approxItemHeight="40px" [virtualTrackBy]="customTrackBy">
    <ion-list-header>Follow us on Twitter</ion-list-header>
    <ion-item *virtualItem="let item" >
      <ion-icon name="ionic" item-left></ion-icon>
      {{item}}
    </ion-item>
  </ion-list>
</ion-content>

export class ContactPage {

  public items: Array<any> = [];

  constructor(public navCtrl: NavController) {
    for(let i = 0; i < 100; i++)
    {
      this.items.push({id: i,
         name:'name' +i});
    }
  }

  customTrackBy(index, item) {
    return item.id;
  }

}

let me know if you need further explanations

Thank you for your explanation.
I was bad using virtualTrackBy function. This does not create an error in previous versions of Ionic.
I close this issue.
Thanks again for your help.

Virtual Scroll show few items
HTML Code
<ion-list [virtualScroll]="Searchpayers"
[virtualTrackBy]="PayID"
[approxItemHeight]="'270px'"
[approxHeaderWidth] ="'0px'"
[approxHeaderHeight] ="'0px'">
<ion-item  *virtualItem="let item" (click)="SelectPayers(item)">
{{ item.PayCode }} - {{ item.CorpNm }} - {{ item.ContactNo }}

{{ item.ShopCount }}

Please help

Hi,
Could you try with this:
<ion-list [virtualScroll]="Searchpayers" [virtualTrackBy]="PayID" approxItemHeight="'270px'" approxItemWidth="100%" approxHeaderWidth ="'0px'" approxHeaderHeight ="'0px'"> <ion-item *virtualItem="let item" (click)="SelectPayers(item)">


[DRAFT] Upload all index metadata to remote

Description
This change uploads metadata of all indices to remote store. The upload happens at the start of cluster state publication.
Related Issues
NA
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed per the DCO using --signoff
[ ] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Do rebase the branch once, current last commit is from Jul 4. We changed a few things related to remote store in past month.

@soosinha Looks like we need to update the tests after recent commit -> Remove redundant remote state assertions
Test Result (1 failure / -1)
org.opensearch.gateway.remote.RemoteClusterStateServiceTests.testFailWriteFullMetadataWhenRemoteStateDisabled

Gradle check failed because of flaky test here - https://github.com/opensearch-project/OpenSearch/issues/9624


linear_sum_assignment with infinite weights

Error
The following code crashes:
import numpy
import scipy.optimize

costSet = numpy.array(
    [[numpy.inf, 1, numpy.inf],
    [numpy.inf, 3, numpy.inf],
    [2, numpy.inf, 3]])
scipy.optimize.linear_sum_assignment(costSet)

The error message is:
_hungarian.py:144: RuntimeWarning: invalid value encountered in subtract
state.C -= state.C.min(axis=1)[:, np.newaxis]

Motivation
I use infinite weights to denote pairs that are not allowed to make. This reflects an incomplete bipartite graph.
Variations
The code already works with infinities in some cases. At first it seems that having a column (or row) of infinities is the problem, since this seems to produce the warning. The example above shows that the problem is more general.
Workaround
Let M be the maximum of the finite costs in the cost-matrix. We can simulate infinity by replacing it with Q = (2M + 1), say. Any distinct value greater than M will do. This itself is not yet enough, since a choice of Q blocks later assignments for that index.
The blocking-problem is solved by padding the cost-matrix to a square with Q. Then, if a matching contains a pair with cost Q, it is because there are no better solutions. On the other hand, because the matrix is square, there is enough space to move the Q-match from blocking finite-cost pairs.
Finally, non-allowed pairs are thrown away from the matching.
This seems a valid workaround; example code below. If so, it should be possible to embed this behavior implicitly directly into the Hungarian algorithm, so that the cost-matrix need not be explicitly extended.
def minimumWeightMatching(costSet : numpy.ndarray) -> list:
    '''
    Computes a minimum-weight matching in a bipartite graph
    (A union B, E).

    costSet:
    An (m x n)-matrix of real values, where costSet[i, j]
    is the cost of matching the i:th vertex in A to the j:th
    vertex of B. A value of numpy.inf is allowed, and is
    interpreted as missing the (i, j)-edge.

    returns:
    A minimum-weight matching given as a list of pairs (i, j),
    denoting that the i:th vertex of A be paired with the j:th
    vertex of B.
    '''

    m, n = costSet.shape
    nMax = max(m, n)

    # Since the choice of infinity blocks later choices for that index,
    # it is important that the cost matrix is square, so there
    # is enough space to shift the choices for infinity to the unused
    # part of the cost-matrix.
    costSet_ = numpy.full((nMax, nMax), numpy.inf)
    costSet_[0 : m, 0 : n] = costSet
    assert costSet_.shape[0] == costSet_.shape[1]

    # We allow a cost to be infinity. Since scipy does not
    # support this, we use a workaround. We represent infinity
    # by M = 2 * maximum cost + 1. The point is to choose a distinct
    # value, greater than any other cost, so that choosing an
    # infinity-pair is the last resort. The 2 times is for large
    # values for which x + 1 == x in floating point. The plus 1
    # is for zero, for which 2 x == x.
    try:
        practicalInfinity = 2 * costSet[costSet < numpy.inf].max() + 1
    except ValueError:
        # This is thrown when the indexing set is empty;
        # then all elements are infinities.
        practicalInfinity = 1

    # Replace infinitites with our representation.
    costSet_[costSet_ == numpy.inf] = practicalInfinity

    # Find a pairing of minimum total cost between matching second-level contours.
    iSet, jSet = scipy.optimize.linear_sum_assignment(costSet_)
    assert len(iSet) == len(jSet)

    # Return only pairs with finite cost.
    return [(iSet[k], jSet[k])
        for k in range(len(iSet))
        if costSet_[iSet[k], jSet[k]] != practicalInfinity]

After gh-7031 all inputs with infinite weight raise an error. So this issue is a feature request to add (robust) support for infinite weights. Could probably be done fairly easily, by translating infs to large values.

@Kaba2, your choice of Q is not correct.
First, we can't just choose any value bigger than M, e.g. Q = M+1. For example, for matrix
0  9
9 inf

algorithm will chose wrong assignment.
Second, Q = 2 * M + 1 is better, and will work correctly, if there is only one infinity value in matrix. However, it will fail, if there is more than one, for example:
 0   inf  100
100   0   inf
inf  100  inf


finance manager job ad

@adieyal want to take a look before publishing? (cc @longhotsummer)

LGTM


Update resource.Schema to include ZeroList()

Updated resource.Schema to include a ZeroList() function, and resource.NewSimpleSchema to require an example zero list object.
This is a follow-up to https://github.com/grafana/grafana-app-sdk/pull/277

@IfSentient is this still in draft or is it ready for review?

@IfSentient is this still in draft or is it ready for review?

@radiohead I've marked it as draft because I'll change the target branch to main after https://github.com/grafana/grafana-app-sdk/pull/277 is merged, as it depends on that PR. Technically, nothing in it should change review-wise, but I think if I change the target it undoes approvals, so I didn't want to have folks have to re-review.


build.cmd fails (1.10.2 release)

Version 1.10.2 release (no problem with pre-releases)
When I try
build precompiled

MSBUILD cannot find Orchard.proj
If I try
build precompiled [absolute_path]\Orchard.proj [absolute_path]\src\Orchard.sln

build succeeds.
I've the feeling that the issue is caused by VsMSBuildCmd.bat which changes the current working directory.
Can someone else confirm the issue ?

I am working on it. I will put the patch here for you to test the fix.

Can you try this?
@echo off

for /f "usebackq tokens=1* delims=: " %%i in (`lib\vswhere\vswhere -latest -requires Microsoft.Component.MSBuild`) do (
  if /i "%%i"=="installationPath" set InstallDir=%%j
)

FOR %%b in (
       "%InstallDir%\Common7\Tools\vsvars32.bat"
       "%InstallDir%\Common7\Tools\VsMSBuildCmd.bat"
    ) do (
    if exist %%b (
       call %%b
       goto build
    )
)

echo "Unable to detect suitable environment. Build may not succeed."

:build

SET target=%1
SET project=%2
SET solution=%3

IF "%target%" == "" SET target=Build
IF "%project%" == "" SET project=Orchard.proj
IF "%solution%" == "" SET solution=src\Orchard.sln

lib\nuget\nuget.exe restore %solution%

msbuild /t:%target% %project% /p:Solution=%solution% /m

pause

Also what version of VS do you have?

Same issue.
I have Visual Studio Professional 2017 latest release : version 15.1 (26403.07)

This one works fine for me:
@echo off

for /f "usebackq tokens=1* delims=: " %%i in (`lib\vswhere\vswhere -latest -version "[15.0,16.0)" -requires Microsoft.Component.MSBuild`) do (
  if /i "%%i"=="installationPath" (
	set InstallDir=%%j
	if exist "%InstallDir%\MSBuild\15.0\Bin\MSBuild.exe" (
		echo "Using MSBuild from Visual Studio 2017"
		set msbuild="%InstallDir%\MSBuild\15.0\Bin\MSBuild.exe"
		goto build
	)
  )
)

FOR %%b in (
       "%VS140COMNTOOLS%\vsvars32.bat"
       "%VS120COMNTOOLS%\vsvars32.bat"
       "%VS110COMNTOOLS%\vsvars32.bat"
    ) do (
    if exist %%b (
		echo "Using MSBuild from %VS140COMNTOOLS%"
		call %%b
		set msbuild="msbuild"
		goto build
    )
)

echo "Unable to detect suitable environment. Build may not succeed."

:build

SET target=%1
SET project=%2
SET solution=%3

IF "%target%" == "" SET target=Build
IF "%project%" == "" SET project=Orchard.proj
IF "%solution%" == "" SET solution=src\Orchard.sln

lib\nuget\nuget.exe restore %solution%

%msbuild% /t:%target% %project% /p:Solution=%solution% /m

:end

pause

This version also works for me.
Thanks.

Pushed the new version on master, new build to come.


folder rule: reported multiple times (once per containing file)

I've setup this proj: a folder with an invalid name contains two files. When linting, the folder is reported twice as not matching its rule.
$ find src/
src/
src/Bar
src/Bar/a.ts
src/Bar/b.ts
$ cat .eslintrc.yml
env:
  es2021: true
  node: true
overrides: [ ]
parser: '@typescript-eslint/parser'
parserOptions:
  ecmaVersion: latest
  sourceType: module
plugins:
  - 'check-file'
rules: {
  'check-file/folder-naming-convention': [ 'warn', { 'src/**': 'KEBAB_CASE' } ],
}
$ cat package.json
{
  "name": "bar",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "lint": "eslint \"{src,apps,libs,test}/**/*.ts\""
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@typescript-eslint/parser": "^5.59.11",
    "eslint": "^8.42.0",
    "eslint-plugin-check-file": "^2.4.0",
    "typescript": "^4.9.3",
    "typescript-eslint": "^0.0.1-alpha.0"
  }
}
$ npm run lint

><EMAIL_ADDRESS>lint
> eslint "{src,apps,libs,test}/**/*.ts"

C:\Users\amitd\AppData\Local\Temp\bar\src\Bar\a.ts
  1:1  warning  The folder "Bar" does not match the "KEBAB_CASE" pattern  check-file/folder-naming-convention

C:\Users\amitd\AppData\Local\Temp\bar\src\Bar\b.ts
  1:1  warning  The folder "Bar" does not match the "KEBAB_CASE" pattern  check-file/folder-naming-convention

✖ 2 problems (0 errors, 2 warnings)

@fauxbytes It appears that the issue you mentioned is not a bug. Please allow me to clarify that ESLint operates on a file-by-file basis rather than analyzing entire folders. In the case you provided, both files have a folder in their path that does not match the naming convention, resulting in two similar errors. Based on this behavior, it seems that ESLint is functioning as intended. If you have any further questions or concerns, please let me know.


Find a filename column even when it isn't the first column and normalize the CSV

Rather than trying to work with CSVs formatted in any arbitrary way, have a fixed CSV format that is expected. But accept incorrect input by fixing it when possible. Low priority.

I'm closing this. I don't think it's very well thought-out, and #51 may call for specific changes that are both more precisely defined and more important than these vaguely specified ones.


iOS wallet doesn't open

I can't open my iPad  wallet today. can't open iPhone wallet either.
I'm not a programmer. plz fix this or give some advice.
I'm panicked now.

as discussed on slack, apple certs expired, need to rebuild


Redis latency measurement is impacted by agent load

The method used by the Redis integration to calculate latency can be influenced by the load of the agent since it counts the time it takes from the agent not only from the result of redis info command side.
This bug report is divided in 2 parts: facts from tests + theory why this is happening.
Reproducing
Steps to reproduce the issue:

Start an agent with a few dozen integrations for Redis
Leave it running and notice stable measurement  levels for Redis latency (not many outliers)
Add many more integrations for other non-Redis things (e.g.: Postgres, MySQL, ...)
Notice the agent starts to show outliers for Redis latency measurements

Important:

The number of Redis clusters did not change during the observed period
The number of integrations did not change during the observed period
Unifying the integrations into a single "agent host" was the only change performed during these "tests"

Describe the results you received:
Using the agent with Redis only:

Notice that latency is stable under 10ms, mostly under 5ms for many instances.
Using the agent with Redis + Many other integrations (in the same host):

Notice the random increase in latency, nothing else was observed to change during this period. The change seems progressive because of the rollout as well, outliers can be easily perceived earlier in the process and become more and more common as more integrations were added to the same agent.
Splitting integrations the agent with Redis having its own "host" again:

Reverting the changes, splitting the agents per integration likely reduce the load which caused latency levels to magically go back to normal.
I've tested going back and forward with this and it re-introduces the problem, so it can't be simple causality.
Describe the results you expected:
I expected latency to not be impacted by more/less clusters/integrations measured.
Theory
Additional information you deem important (e.g. issue happens only occasionally):
After checking the integration code, it seems that the way latency is measured is influenced by external factors, like thread context switch, IO interrupts / resource availability, and even Python's GIL.
https://github.com/DataDog/integrations-core/blob/master/redisdb/datadog_checks/redisdb/redisdb.py#L200-L204
start = time.time()
tags = list(self.tags)
  try:
    info = conn.info()
    latency_ms = round_value((time.time() - start) * 1000, 2)

The theory I have is that:

a thread is running
the start = time.time() runs and stores "now"
an IO event is triggered by conn.info() to run the TCP command
context switch happens since thread context switch in python is IO-driven
other integrations run and have their connections and IOs
IO finishes (the info command results and it takes "5ms")
NO resource is available for context switch during threads interruption so it WAITS
eventually a resource is available and the context is back to this thread
the thread took 10ms waiting
the total latency is measured as time now - time before resulting on 15ms

and this happens more and more frequently as one adds integrations to the agent since more context switches and IO interrupts will happen, making threads wait ...
The weirdest is that if any other integration consumes time this gets influenced too... I hope no other integration suffers from this but anywhere time is counted between IO operations in python you will have this behavior.

Hi @marceloboeira,
When you say “The number of integrations did not change during the observed period“, what do you mean exactly? I think you are actually adding integrations as part of your test.
In your theory you are right, it is adding latency as it occurs on the same server and depends on the disk, system configuration, priorities between processes, etc...

Sorry, that it was unclear.

The number of integrations did not change during the observed period

It should be:
The number of integrations of the same type did not change during the observed period - Meaning, we did not add more "redis" to notice the "Redis" latency increase, it was by adding integrations of other types (Postgres/MySQL...).

It looks like this has been fixed with https://github.com/DataDog/integrations-core/pull/12505
Is that correct?

Yes. This fix is available with the version 4.5.2 of this integration and bundled with the agent 7.39.0


⚠ Bofrost.com has degraded performance

In 4a5641f, Bofrost.com (https://www.bofrost.com) experienced degraded performance:

HTTP code: 200
Response time: 412 ms

Resolved: Bofrost.com performance has improved in b4f0a3e after 6 minutes.


Sorting Jobs

Hi Tim,
Can i ask a question about dispatching jobs? I created process route, production resources etc. But when
code is scheduling, which parameters is minimizing? How can we manage scheduling parameters?
Thank you.

Please be more specific with the question

Thank you for quick feedback Tim. 👍
i defined process route (tasks), resources etc. Then, i solve problem with using "solvers.mip.solve". After that i get a schedule. But i dont know what is objective function?
For example, i am scheduling production machines. sometimes i want to minimize total setup time, sometimes i want to minimize late order number. how can I solve for like purposes?

The way to set objectives is currently quite limited. The default objective is to minimize the sum of starting times of tasks. But you can heuristically optimize by changing parameters to see until when a feasible solution can be found.
So if you want to minimize total setup times, and setups are tasks, you can search for the minimum number of required setups. Actually, for this case, you can also set a parameter called schedule_cost to specify the cost of scheduling of some task.
Hence, it is usually possible to approximate an objective.


workflows: re-enable eks ipsec tests

This commit enables EKS ipsec tests in order to try and reproduce the eks+ipsec flakes and gather new logs.
Closes: #16938
Update:
After running over 20 times successfully I think we can re-enable these tests.

/ci-eks

/test

/ci-aks

/ci-eks

/ci-eks

/ci-eks

/ci-eks

FYI, you can also rerun from the workflow page and it will preserve logs from previous runs. Not that it changes a lot in this case, as I'm guessing all runs are green.

After over 20 successful runs removing the dont-merge labels, I think we can try and re-enable these tests.

Do you have links to successful runs we could check?

The last few runs are here: https://github.com/cilium/cilium/actions/runs/3543967002

Thanks, but these do not have the encryption bits enabled, e.g. here from attempt 6 https://github.com/cilium/cilium/actions/runs/3543967002/jobs/5959572764 we can see the encryption steps are skipped.

Oh, I'm realizing maybe you did not know how to test changes to the workflow... Sorry, it's a bit arcane and cumbersome, so not surprised this would fly under the radar. The full explanation is documented inside the workflow, here: https://github.com/cilium/cilium/blob/fe39350a349d1a298822f61189a317a13c6997d2/.github/workflows/conformance-eks.yaml#L11-L24

Oooh

Oh, I'm realizing maybe you did not know how to test changes to the workflow... Sorry, it's a bit arcane and cumbersome, so not surprised this would fly under the radar. The full explanation is documented inside the workflow, here:
https://github.com/cilium/cilium/blob/fe39350a349d1a298822f61189a317a13c6997d2/.github/workflows/conformance-eks.yaml#L11-L24
Happy to help if you need any additional help with this :)

Oooh! My bad, I didn't see that. I'll make sure to re-run them again properly. Sorry for the noise.

No problem, it happens a lot when first interacting with the GHA workflows 😅 Don't hesitate to ping me for anything.

Oh, crap! I completely missed that when I checked. I'm too used to it :disappointed: So sorry for the wasted time Nikolay!

Oh, crap! I completely missed that when I checked. I'm too used to it disappointed So sorry for the wasted time Nikolay!

No problem, I will re-run the tests. I've opened a new pr from the base repo here https://github.com/cilium/cilium/pull/22364


Week 0 GitHub setup tutorial Google SPS

Update the README.md file to describe the repo.

@alowfung Comments responded to.


Move ARM_NEON definition and fix possible double define

It should not have been set in platform.h (inside the cpuid function!) in the first place. And apparently, though this was ok for Windows ARM, on Mac ARM it's an error because that symbol is already defined. So only redefine it if it's currently undefined. And move the whole check and definition into simd.h where all the other ARM_NEON stuff lives.

@mikaelsundell and @Gerdya does this look ok to both of you?

Thanks for that, works on both my arm64 and x86_64 Mac builds.
Excellent support,
Mikael
Mikael Sundell
@.***

On 3 Jan 2023, at 08:20, Larry Gritz @.***> wrote:
@mikaelsundell https://github.com/mikaelsundell and @Gerdya https://github.com/Gerdya does this look ok to both of you?
—
Reply to this email directly, view it on GitHub https://github.com/OpenImageIO/oiio/pull/3735#issuecomment-1369457003, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEH2JW4EIPUKYL2W6SZXATWQPHMTANCNFSM6AAAAAATPMLYQ4.
You are receiving this because you were mentioned.


MML-158 - Improve markdown representation of some Elements

The unit tests are already covering the new behaviors.


Update OSA SHA to tip of stable/mitaka

This update is required in preparation of the release of r13.0.0rc1.
The update includes the latest stable/mitaka SHA, which addresses:

https://github.com/rcbops/u-suk-dev/issues/378
https://github.com/rcbops/u-suk-dev/issues/417

In addtion this includes two fixes we weren't tracking that are needed:

Use correct version when creating backup dir
(622fc94a7e8f95a9391eb0fbe85e7a449fc35f85)
load variables as a simple var for upgrades
(42b2a79c816f289060a0abd35d3ef3924eb46852)

Connected https://github.com/rcbops/u-suk-dev/issues/442
(cherry picked from commit d029ab8ad3e3b9c7da15de0cfe0066a6277ea38e)
Signed-off-by: Matthew Thode<EMAIL_ADDRESS>

@prometheanfire linting issues

@mancdaz how do we have linting issues on a backport like this?

recheck_all

recheck_all

@prometheanfire maybe because you're trying to use a commit from OSA mitaka on the liberty-12.2 branch...?


Add "phpcbf" to Composer for PHP Code Beautifier and Fixer

To easily fix the code style

Nice! Thanks!


Scripts are search only in root of res:// folder

Godot version:
3.1 8fc92ae
OS/device including version:
Windows 10
Issue description:
In Debugger, warning with unused return value can only show to the script directly in res:// directory, if script is somewhere else, each time when I click at the warning, error occurs:

ERROR: load_source_code: Condition ' err ' is true. returned: err
At: modules/gdscript/gdscript.cpp:796
ERROR: load: Condition ' err != OK ' is true. returned: RES()
At: modules/gdscript/gdscript.cpp:2122
ERROR: Failed loading resource: res://Node2D.gd
At: core/io/resource_loader.cpp:192

How to reproduce this:
https://streamable.com/y6xle

Closes with #22617


"Break" ores not working most of the time

*Always I think it's something I'm doing wrong, but this time is different, because sometimes it works, and sometimes just don't, it's literally random. For doing this easier I'll put a link to the youtube video. Everytime I break a ORE, it doesn't count it, and sometimes without doing anything, it works, but most of the time don't.  What can I do? Tell me every info do you need to help me, I know it's a weird bug or something. Thank you for your time!: PD: All my other personalized jobs are working 100% good, is just this one.
Youtube link: https://www.youtube.com/watch?v=tQN2-y0CvIk
Sorry if I don't talk, english is not my main language. In the video I show you in the first part the default configs are the same I'm using. Second when I break diorite it works. I did it with every block, and it works 99,9% fine, the big deal are the ores.

**CONFIG SECTION:**

#####################################

#####################################

---

**Server Type Paperspigot:**

**Server Version 1.15.2:**

**Relevant plugins
![plugins](https://user-images.githubusercontent.com/60305334/90995365-ba791880-e589-11ea-859b-709e36b740f1.png)

Plugins

Console, not bugs related shows

You probably have enabled PlaceAndBreakProtection in generalConfig. Also check for restrictedBlocks to make sure that blocks what you're trying to break is not in the list.

Thank you very much. Never saw ores in -1, my baad. Last question before closing this, "By setting time to -1 will keep block protected until global cleanup". What is it "Global cleanup" I don't understand it, what needs to happen to remove the protection?. Again, so much thanks.

Global cleanup: when you or atleast server restart doing reseting protections, so the block protections will remove from memory.


Parsing context does not change when finding block directives with wrong number of arguments

Describe the bug
When the parser finds a block with a wrong number of arguments, the error is collected but the context does not change. This means we continue to ingest tokens and analyze statements under a wrong context.
Also, if the parent context is NGX_MAIN_CONF, the next closing bracket token will be interpreted as the end of file, and parsing will stop.
To reproduce
Analyze the following configuration:
user nginx;
worker_processes auto;
events  {
    worker_connections  1024;
}
http 123 {
   [http directives]
}
[more directives]
...

this will produce:

One error for the http directive (wrong number of parameters).
Errors for all the [http directives] (wrong context).
Premature end of parsing before [more directives] are consumed.

Expected behavior
A block directive with a wrong number of arguments (and probably other types of errors as well) should trigger a change of context in the analyze function.

Here is the config that I tested:
user  nginx;
worker_processes  auto;
error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http 123 {
    server {
    listen       80 default_server;
    server_name  localhost;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
}

stream {
    server {
        listen <IP_ADDRESS>:53 udp reuseport;
        proxy_timeout 20s;
        proxy_pass dns;
    }
}

When I parse this with StopParsingOnError: true then I get this error returned from crossplane.Parse:
invalid number of arguments in "http" directive in nginx.conf:11

nginx -t returns a similar error.
nginx: [emerg] invalid number of arguments in "http" directive in /etc/nginx/nginx.conf:11

If StopParsingOnError == false then Crossplane continues to parse the http directive's block and complains that "{directive} does not belong here" which I think is the observed behavior you are calling out.
To make sure I understand I'll repeat what I think your expected behavior is. Your suggestion is when StopParsingOnError == false crossplane.Parse should attempt to skip over the invalid http directive's block and resume reporting errors with the next directive in the current context?

If StopParsingOnError == false then Crossplane continues to parse the http directive's block and complains that "{directive} does not belong here" which I think is the observed behavior you are calling out.

Correct. These are wrongly called out as errors due to the fact that they are being evaluated under NGX_MAIN_CONF. Expected behavior should be that these directives were evaluated under NGX_HTTP_MAIN_CONF.
Another problem is that this is leading to an early termination of parsing due to the fact that the http closing bracket is misinterpreted as the end of the main context. Compare the outputs that crossplane produces when StopParsingOnErroris false, with and without the wrong parameter in http (btw, there's a missing closing bracket before stream):
error-in-http-args.json
no-error.json
As you'll see, config.parsed is missing all the stream block in the first case.


Remove models in CI to avoid out of disk space error

We're running out of disk on some CI machines, in order to fix this error, we need to delete models from disk once we don't need them anymore

#350