1.4.7 does not work on home assistant

hi Markus,
I updates yesterday the solix2mqtt version on home assistant.
after that the hacs integration is unable to start:
the log shows only:
env: can't execute 'bash': No such file or directory
pls check
many thx
florian

i restored in hacs to 1.3.4 and the add-on started to work again.

I wanted to update, but it didn't happen due to an error. Here is the log with the error.
`Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/commands.py:240
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 12:13:03 (2 occurrences)
Last logged: 12:14:13
[281471963037120] Error updating Solix 2 MQTT: The command '/bin/sh -c pip install cryptography aiohttp paho-mqtt' returned a non-zero code: 1
[281471683885760] Error updating Solix 2 MQTT: The command '/bin/sh -c pip install cryptography aiohttp paho-mqtt' returned a non-zero code: 1
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/hassio/update.py", line 167, in async_install
await async_update_addon(self.hass, slug=self._addon_slug, backup=backup)
File "/usr/src/homeassistant/homeassistant/components/hassio/handler.py", line 55, in _wrapper
raise HassioAPIError(data["message"])
homeassistant.components.hassio.handler.HassioAPIError: The command '/bin/sh -c pip install cryptography aiohttp paho-mqtt' returned a non-zero code: 1
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 240, in handle_call_service
response = await hass.services.async_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2279, in async_call
response_data = await coro
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2316, in _execute_service
return await target(service_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 892, in entity_service_call
single_response = await _handle_entity_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 962, in _handle_entity_call
result = await task
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/update/init.py", line 161, in async_install
await entity.async_install_with_progress(version, backup)
File "/usr/src/homeassistant/homeassistant/components/update/init.py", line 465, in async_install_with_progress
await self.async_install(version, backup)
File "/usr/src/homeassistant/homeassistant/components/hassio/update.py", line 169, in async_install
raise HomeAssistantError(f"Error updating {self.title}: {err}") from err
homeassistant.exceptions.HomeAssistantError: Error updating Solix 2 MQTT: The command '/bin/sh -c pip install cryptography aiohttp paho-mqtt' returned a non-zero code: 1
Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/commands.py:240
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 12:13:03 (2 occurrences)
Last logged: 12:14:13
[281471963037120] Error updating Solix 2 MQTT: The command '/bin/sh -c pip install cryptography aiohttp paho-mqtt' returned a non-zero code: 1
[281471683885760] Error updating Solix 2 MQTT: The command '/bin/sh -c pip install cryptography aiohttp paho-mqtt' returned a non-zero code: 1
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/hassio/update.py", line 167, in async_install
await async_update_addon(self.hass, slug=self._addon_slug, backup=backup)
File "/usr/src/homeassistant/homeassistant/components/hassio/handler.py", line 55, in _wrapper
raise HassioAPIError(data["message"])
homeassistant.components.hassio.handler.HassioAPIError: The command '/bin/sh -c pip install cryptography aiohttp paho-mqtt' returned a non-zero code: 1
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 240, in handle_call_service
response = await hass.services.async_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2279, in async_call
response_data = await coro
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2316, in _execute_service
return await target(service_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 892, in entity_service_call
single_response = await _handle_entity_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 962, in _handle_entity_call
result = await task
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/update/init.py", line 161, in async_install
await entity.async_install_with_progress(version, backup)
File "/usr/src/homeassistant/homeassistant/components/update/init.py", line 465, in async_install_with_progress
await self.async_install(version, backup)
File "/usr/src/homeassistant/homeassistant/components/hassio/update.py", line 169, in async_install
raise HomeAssistantError(f"Error updating {self.title}: {err}") from err
homeassistant.exceptions.HomeAssistantError: Error updating Solix 2 MQTT: The command '/bin/sh -c pip install cryptography aiohttp paho-mqtt' returned a non-zero code: 1
`

my error with 1.4.7 is "The command '/bin/sh -c pip install cryptography aiohttp paho-mqtt' returned a non-zero code: 1"
Neither update or new install works for this version


Emmet deletes line on complete and prevents tab from working

I have recently switched back to doing front-end work and wanted my favorite package emmet back running so I could build some templates. However it seems as though I may have some conflicting package for a bug in my atom. I have removed and reinstalled emmet 5 times with no luck (both via atom, apm, and git + npm install).
Here is a gif of what is happening:

I hit tab (or cmd + shift + e) and it deletes the text just written if it matches an emmet snippet.
Any thoughts?

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/9557597-emmet-deletes-line-on-complete-and-prevents-tab-from-working?utm_campaign=plugin&utm_content=tracker%2F535900&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F535900&utm_medium=issues&utm_source=github).

Please check DevTools console for errors

@sergeche no errors are logged when trying to autocomplete. There is this at the top of my console:

What’s your Atom and Emmet versions?

Atom: 0.187.0
Emmet: 2.3.4

Same for me.
Atom: 0.192.0
Emmet: 2.3.7
on Arch.

Apparently it's expecting ~/.atom/packages/emmet/lib/emmet.coffee to exist but I have an emmet-atom directory instead of emmet. Renaming the package's directory didn't help either.

One possible reason why it works that way is unknown document syntax. What plugin/syntax you’re using for your document?

Do you mean the document's syntax type? I tested this on an HTML.

OK, HTML is fine. Can you disable all other plugins in Atom except Emmet and try again?

Hmm, It didn't help. I wonder why it looks for the emmet directory.

It looks for custom Emmet extensions: http://docs.emmet.io/customization/
The only way I can help you is to connect to you via TeamViewer, can we do this?

Thanks, that would be great, but I checked this on a Mac and apparently it only happens on my Arch. So maybe it's related to the build.

@sergeche @auxiliary a clean wipe of my atom install and reinstall to the latest fixed it for me. Closing issue


Is pain trademarked?

Hey guys,
Great module!
However, I have a concern about the README.md. It may sound like a joke, but oh well.
The README.md states "Update outdated npm modules with zero pain™", but it's unclear what is (jokingly) trademarked, making it sound like "pain" is the focus of the so-called trademark. It might be interesting to rephrase it to avoid confusion.
Again, I'm not kidding! It's confusing and might degrade the image of the module.
Regards,

:+1:

I believe pain is also patented somewhere by MegaCorp and the module author may be liable :dancers:

Thx, I appreciate your honest feedback.
However, I don't think that this is an issue for most people, but I'll leave this open for discussion. If more people find this offending, I'll change it.

FWIW, this would be the exact application of the symbol for a catchphrase, which is how I read the original.  So... you are perfectly in line with the legal use the symbol, and despite the confusion, not using it in an uncommon way.
Disclaimer: I'm not your lawyer, or a lawyer, but I have dealt with this question in the past with actual lawyers, which informs my comment here.


add "where used" to syntax diagrams

one html file for each svg
perhaps include a small descriptive text
add a nice search feature?
add a sidebar menu?
list test cases

done


strip 'lib' prefix when loading library on Windows

Windows does not add lib prefix to libary name, if
std::string library_path = getClassLibraryPathFromLibraryName(library_name, it->second.package_);

fails to find the library path, remove the prefix and try again
this code change does not alter existing logic on Linux

cc @nuclearsandwich

@ros-pull-request-builder retest this please.

@seanyen because this PR adds the new function to a public interface getClassLibraryPathFromLibraryName it breaks C++ ABI compatibility which we don't wish to do for melodic.
Our options then become

Targeting the change at noetic-devel only.
Targeting the change at noetic-devel and creating a backportable version which doesn't add to the public interface.
Refactoring the PR not to affect the public interface and targeting melodic-devel (which will be incorporated into noetic-devel).

I'm tempted toward 3 mostly because I don't see a strong utility in the split functions but I am open to input.

@nuclearsandwich Thanks for the feedback! I will be looking into options to not break the ABI.


Migrate repository to systemboot/systembot

https://help.github.com/articles/about-repository-transfers/
The community is growing and this project deserves a non-personal repository. I've already created the new organization at https://github.com/systemboot

Done


Add a license

It is not enough to say, as you have, «this font is in the public domain.»
That has a different meaning in different countries; in many countries it has no legal meaning at all in regards to copyright.
If you would like to release the font into the public domain, please add license e.g. CC0 license.
Most open source fonts are under SIL OFL. I recommend that instead. Always good to see new fonts being released, especially ones made in FontForge, which I am a maintainer of.
Thank you for the cool font, a big thank you for using Unicode, ☺, ▓, etc. Yo no sé nada de España, sólo México; pero en mi opinión, esta fuente es aplicable en todo el mundo, no solo España.

@ctrlcctrlv Thanks for you issue. Original creator published this font under public domain without license, so you can do everything. But if you want, I will add WTFPL license because shes simple than CC0. And this font isnt new, I just improved Cyrillic.
P.S. Please improve Cyrillic in your font "LCD"

Ok, I added Unlicense

Thanks
Regarding my LCD font, I will remake it some day, I'm not sure when though. Good to see someone likes it, that's not one of my more popular ones. :-)

@ctrlcctrlv Do you know where to find information about OpenType features, how to prescribe them etc. (preferably in Russian), i didn`t find

I don't know where to find any information in Russian as I don't speak the language. I hear Yandex is good, I learned that from some podcast, good for them for taking power away from Google, even if only in Russia.

@ctrlcctrlv I mean books, articles how make OpenType features. And I said "preferably", so English primarily.

Podcast? Hmmm, with my knowledge of English it will be difficult


[SPARK-40742][CORE][SQL] Fix Java compilation warnings related to generic type

What changes were proposed in this pull request?
This pr aims to fix following Java compilation warnings related to generic type:
2022-10-08T01:43:33.6487078Z /home/runner/work/spark/spark/core/src/main/java/org/apache/spark/SparkThrowable.java:54: warning: [rawtypes] found raw type: HashMap
2022-10-08T01:43:33.6487456Z     return new HashMap();
2022-10-08T01:43:33.6487682Z                ^
2022-10-08T01:43:33.6487957Z   missing type arguments for generic class HashMap<K,V>
2022-10-08T01:43:33.6488617Z   where K,V are type-variables:
2022-10-08T01:43:33.6488911Z     K extends Object declared in class HashMap
2022-10-08T01:43:33.6489211Z     V extends Object declared in class HashMap

2022-10-08T01:50:21.5951932Z /home/runner/work/spark/spark/sql/catalyst/src/main/java/org/apache/spark/sql/connector/catalog/SupportsAtomicPartitionManagement.java:55: warning: [rawtypes] found raw type: Map
2022-10-08T01:50:21.5999993Z       createPartitions(new InternalRow[]{ident}, new Map[]{properties});
2022-10-08T01:50:21.6000343Z                                                      ^
2022-10-08T01:50:21.6000642Z   missing type arguments for generic class Map<K,V>
2022-10-08T01:50:21.6001272Z   where K,V are type-variables:
2022-10-08T01:50:21.6001569Z     K extends Object declared in interface Map
2022-10-08T01:50:21.6002109Z     V extends Object declared in interface Map

2022-10-08T01:50:21.6006655Z /home/runner/work/spark/spark/sql/catalyst/src/main/java/org/apache/spark/sql/connector/util/V2ExpressionSQLBuilder.java:216: warning: [rawtypes] found raw type: Literal
2022-10-08T01:50:21.6007121Z   protected String visitLiteral(Literal literal) {
2022-10-08T01:50:21.6007395Z                                 ^
2022-10-08T01:50:21.6007673Z   missing type arguments for generic class Literal<T>
2022-10-08T01:50:21.6008032Z   where T is a type-variable:
2022-10-08T01:50:21.6008324Z     T extends Object declared in interface Literal

2022-10-08T01:50:21.6008785Z /home/runner/work/spark/spark/sql/catalyst/src/main/java/org/apache/spark/sql/util/NumericHistogram.java:56: warning: [rawtypes] found raw type: Comparable
2022-10-08T01:50:21.6009223Z   public static class Coord implements Comparable {
2022-10-08T01:50:21.6009503Z                                        ^
2022-10-08T01:50:21.6009791Z   missing type arguments for generic class Comparable<T>
2022-10-08T01:50:21.6010137Z   where T is a type-variable:
2022-10-08T01:50:21.6010433Z     T extends Object declared in interface Comparable
2022-10-08T01:50:21.6010976Z /home/runner/work/spark/spark/sql/catalyst/src/main/java/org/apache/spark/sql/util/NumericHistogram.java:191: warning: [unchecked] unchecked method invocation: method sort in class Collections is applied to given types
2022-10-08T01:50:21.6011474Z       Collections.sort(tmp_bins);
2022-10-08T01:50:21.6011714Z                       ^
2022-10-08T01:50:21.6012050Z   required: List<T>
2022-10-08T01:50:21.6012296Z   found: ArrayList<Coord>
2022-10-08T01:50:21.6012604Z   where T is a type-variable:
2022-10-08T01:50:21.6012926Z     T extends Comparable<? super T> declared in method <T>sort(List<T>)

2022-10-08T02:13:38.0769617Z /home/runner/work/spark/spark/sql/hive-thriftserver/src/main/java/org/apache/hive/service/cli/operation/OperationManager.java:85: warning: [rawtypes] found raw type: AbstractWriterAppender
2022-10-08T02:13:38.0770287Z     AbstractWriterAppender ap = new LogDivertAppender(this, OperationLog.getLoggingLevel(loggingMode));
2022-10-08T02:13:38.0770645Z     ^
2022-10-08T02:13:38.0770947Z   missing type arguments for generic class AbstractWriterAppender<M>
2022-10-08T02:13:38.0771330Z   where M is a type-variable:
2022-10-08T02:13:38.0771665Z     M extends WriterManager declared in class AbstractWriterAppender

2022-10-08T02:13:38.0774487Z /home/runner/work/spark/spark/sql/hive-thriftserver/src/main/java/org/apache/hive/service/cli/operation/LogDivertAppender.java:268: warning: [rawtypes] found raw type: Layout
2022-10-08T02:13:38.0774940Z         Layout l = ap.getLayout();
2022-10-08T02:13:38.0775173Z         ^
2022-10-08T02:13:38.0775441Z   missing type arguments for generic class Layout<T>
2022-10-08T02:13:38.0775849Z   where T is a type-variable:
2022-10-08T02:13:38.0776359Z     T extends Serializable declared in interface Layout

2022-10-08T02:19:55.0035795Z [WARNING] /home/runner/work/spark/spark/connector/avro/src/main/java/org/apache/spark/sql/avro/SparkAvroKeyOutputFormat.java:56:17:  [rawtypes] found raw type: SparkAvroKeyRecordWriter
2022-10-08T02:19:55.0037287Z [WARNING] /home/runner/work/spark/spark/connector/avro/src/main/java/org/apache/spark/sql/avro/SparkAvroKeyOutputFormat.java:56:13:  [unchecked] unchecked call to SparkAvroKeyRecordWriter(Schema,GenericData,CodecFactory,OutputStream,int,Map<String,String>) as a member of the raw type SparkAvroKeyRecordWriter
2022-10-08T02:19:55.0038442Z [WARNING] /home/runner/work/spark/spark/connector/avro/src/main/java/org/apache/spark/sql/avro/SparkAvroKeyOutputFormat.java:75:31:  [rawtypes] found raw type: DataFileWriter
2022-10-08T02:19:55.0039370Z [WARNING] /home/runner/work/spark/spark/connector/avro/src/main/java/org/apache/spark/sql/avro/SparkAvroKeyOutputFormat.java:75:27:  [unchecked] unchecked call to DataFileWriter(DatumWriter<D>) as a member of the raw type DataFileWriter

Why are the changes needed?
Fix Java compilation warnings.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Pass GitHub Actions.

Yeah ~ all passed

Merged to master.


Autosnippets not working

Hello! I'm using LuaSnip combined with VimTeX for a mathematical note-taking workflow, and am having some issues with autosnippets...
When writing autosnippets, I get following message:

The snippet expands, but the cursor does not end up where the function node was placed...
Here is how I have LuaSnip installed with Vim-Plug:
local vim = vim
local Plug = vim.fn['plug#']

vim.call('plug#begin')

Plug('folke/tokyonight.nvim')

Plug('L3MON4D3/LuaSnip', {['tag'] = 'v2.*', ['do'] = 'make install_jsregexp'})

Plug('lervag/vimtex')

vim.call('plug#end')

Then, later in my init.lua, I have following code to config LuaSnip:
require("luasnip").config.set_config({

enable_autosnippets = true,
store_selection_keys = '<Tab>',

})

My snippet is set up as follows in my all.lua:
local ls = require('luasnip')
local s = ls.snippet
local sn = ls.snippet_node
local t = ls.text_node
local i = ls.function_node
local d = ls.dynamic_node
local fmt = require('luasnip.extras.fmt').fmt
local fmta = require('luasnip.extras.fmt').fmta
local rep = require('luasnip.extras').rep

return{
}, {
       s( "(",
                   {
                               t("("), i(1), t(")"),
                   }
       ),
}

The issue was found:
I had made a snippet for the frontmatter of snippet files, where I specified following:
local i = ls.function_node

Instead of:
local i= ls.insert_node


[ENHANCEMENT] Add possibility to handle more then one Bot

Add the possibility to handle more then one bot. E.g. Handling several Bots in one single Laravel application.

Multiple bots on the same server, the same bot on multiple servers, or multiple bots on multiple servers?
Or all of the above?

thinking about this, I'm not sure if it makes sense to include this functionality by default in this package. Off the top of my head I'm thinking that for ease of use, a feature like this would require that Discord API info (toke/etc) is stored in the DB, and fetched based on which application ID is being used in a request (to determine which bot to call methods for).
Each bot would have a different client ID/secret/auth token/etc, so to support that out of the box I think this package would need to implement that table and the necessary processes around determining which application credentials to use.
However you could probably also accomplish this inside your own app via dependency swapping and/or overriding methods and classes from this package.
For example, there are 3 core services in this package that are responsible for making calls to Discord, and therefore are the places where you'd need to swap out credentials:

DiscordApiService
DiscordApplicationCommandSerivce
DiscordInteractionService

You could override each of those services (and extend the service from this package), giving you the ability to dynamically pass in (or pull from a database) app credentials.
If you have another idea of how this feature might work without being too intrusive to this package in terms of database support, let me know.

I thought about having multiple bots for different functions in one laraval application. Maybe just extent the config file with a named array. First entry is default, other entries can be named for different purposes. I don't like the idea of having the keys in the DB. I would prefer extending the config and keeping them in the .env .
If more then one config is provided, it would be possible to switch by config name...

that would be pretty easy for the notification channel side, the interactions side is where it gets a bit challenging I think
but yeah I agree, extending the config would probably be best, and with that in mind i will look into it. it may involve passing all your bot credentials to the API/interaction services, and then they can select the appropriate credentials based on the application ID in the interaction request.


#4437 fix(settings):reorder custom logo toggle

This pull request will resolve #4437

Thanks for the contribution @aravind-korada ! Will have a look.

/azp run


Zero downtime on rolling updates (PoC patch)

Welcome!

[x] Yes, I've searched similar issues on GitHub and didn't find any.
[x] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you do?
Deploy a test stack and force an update
docker stack deploy -c test.yml test
docker service update --force test_app

Run ApacheBench during update:
ab -n 5000 -s 120 localhost:88/
Expected behavior: no failed requests.
I'm not happy with the development of the issue https://github.com/traefik/traefik/issues/7886
I understand, that using the swarm load balancer with traefik.docker.lbswarm=true works flawlessly, but why even use traefik in the first place then? With the swarm lb I can't use any features like sticky sessions!
If I want to keep using traefiks lb with its features I have to set --providers.swarm.refreshSeconds=1 which is not a satisfying solution because of the endless polls and it also adds ~1 sec delay in the test time.
The problem here is that swarm/docker.watch only listens for die events, which leaves too much time between the kill signal where the container is already stopping to answer requests.
case event := <-eventsc:
if event.Action == "start" ||
	event.Action == "die" ||
	strings.HasPrefix(string(event.Action), "health_status") {
	startStopHandle(event)
}

On a rolling update we're getting these events:
service update g4df9x05hdpwkxmdxxjcrn1o6 (name=test_app)
service update g4df9x05hdpwkxmdxxjcrn1o6 (name=test_app, updatestate.new=updating)
container create f7ec264a45cbf61b69e108eac7a235985e04ece791d8b9a56b2d0abafa44a4c7
network connect ipa6fafysfhh9umd3klbn7oy0 (container=f7ec264a45cbf61b69e108eac7a235985e04ece791d8b9a56b2d0abafa44a4c7
container start f7ec264a45cbf61b69e108eac7a235985e04ece791d8b9a56b2d0abafa44a4c7
container kill f31187a987bfe28730adc33ba7460784615542f9013eb67ed1b4cb2529912db0
network disconnect ipa6fafysfhh9umd3klbn7oy0 (container=f31187a987bfe28730adc33ba7460784615542f9013eb67ed1b4cb2529912db0
container stop f31187a987bfe28730adc33ba7460784615542f9013eb67ed1b4cb2529912db0
container die f31187a987bfe28730adc33ba7460784615542f9013eb67ed1b4cb2529912db0

I wrote a proof of concept patch which acts on kill and stop aswell
https://github.com/traefik/traefik/commit/537565ab29e0c9b21947e486b714e5d31f55fd53
[pkg/provider/docker/pdocker.go]
case event := <-eventsc:
if event.Action == "start" ||
	event.Action == "die" ||
	event.Action == "kill" ||
	event.Action == "stop" ||
.
.
.
func (p *Provider) listContainers(ctx context.Context, dockerClient client.ContainerAPIClient) ([]dockerData, error) {
	containerList, err := dockerClient.ContainerList(ctx, container.ListOptions{Filters: filters.NewArgs(
		filters.Arg("status", "created"),
		filters.Arg("status", "restarting"),
		filters.Arg("status", "running"),
	)})

With this patch I have zero failed requests and no extra second wait for lost requests
Complete requests:      5000
Failed requests:        0

It's only a poc, so I have not created a PR yet. I'd like to hear some input of you guys how to best implement it.
This poc will run containerlist 3 times when a container gets killed and all events are sent in following order: kill->stop->die
I also needed a containerlist filter to not include killed containers with status removing|paused|exited|dead
The best way to implement this would be to add a function to only add or remove a single container from the config build instead of listing all containers to rebuild the full config. There's too much inefficient redundancy here.
I think we should also wait after a start event until the container is fully running (or healthy) before it gets added to the config.
I don't have the time though to implement this, sorry!
What did you see instead?
30 sec increase in test time due to request timeouts and failed requests.
What version of Traefik are you using?
v3.1.7
What is your environment & configuration?
version: "3.9"
services:
  app:
    image: traefik/whoami
    networks:
      - swarm
    deploy:
      placement:
        constraints:
          - "node.role == manager"
      replicas: 1
      update_config:
        order: start-first
        parallelism: 1
        #delay: 20s
      labels:
        - "traefik.enable=true"
        - "traefik.http.routers.app.rule=PathPrefix(`/`)"
        - "traefik.http.services.app.loadbalancer.server.port=80"
        - "traefik.http.routers.app.entrypoints=web"
        #- traefik.docker.lbswarm=true

  load-balancer:
    image: traefik
    command:
      - --providers.swarm
      - --providers.swarm.exposedbydefault=false
      - --providers.swarm.network=swarm
      #- --providers.swarm.refreshSeconds=1
      - "--entrypoints.web.address=:80"
    networks:
      - swarm
    ports:
      - target: 80
        published: 88
        protocol: tcp
        mode: host
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    deploy:
      placement:
        constraints:
          - "node.role == manager"

networks:
  swarm:
    external: true

Add more configuration information here.
If applicable, please paste the log output in DEBUG level
No response

I got the same problem in docker swarm, when using traefik v3, every time i do a rolling update. the website will be down for a while with a 502 Bad Gateway response and will return to normal after that. the website is down when docker removes the old container.
That doesn't apply in traefik v2. when doing a rolling update my website is not down at all. so i will stick to v2 for now.

Hello @5andr0 and thanks for opening this issue,
We are interested in your findings and believe they merit a pull request.
Would you be able to open one?

Hello @5andr0 and thanks for opening this issue,
We are interested in your findings and believe they merit a pull request. Would you be able to open one?

Thanks Kevin. Here's the PR https://github.com/traefik/traefik/pull/11260

I reopen the issue.
It will be set as completed once the related PR #11260 is merged.


Upgrade nix to 0.27

https://github.com/nix-rust/nix/blob/master/CHANGELOG.md#0270---2023-08-28

Thanks for your contribution. I assume you're blocked by this, so I decided to make a new release right away: https://crates.io/crates/atomic-write-file/0.1.1 -- I hope you'll find it useful, thanks again!

Thanks!


CMPO: OLS 3/4 redirects

The ontology ID: CMPO
The title of the ontology: Cellular Microscopy Phenotype Ontology
When last did you publish changes to your ontology?: N/A
Did the purl of the ontology change recently?: N/A

In the IDR we use CMPO links of the form http://www.ebi.ac.uk/cmpo/CMPO_0000393. After being urged by @helenp to update all links to OLS4, we realized that these currently redirect to OLS3 pages like https://www.ebi.ac.uk/ols/ontologies/cmpo/terms?short_form=CMPO_0000393
Will this be handled within the CMPO ontology, in OLS, or is there something we should undertake at the application layer?
Many thanks,
~Josh Moore
Open Microscopy Environment
cc: @francesw @sbesson @will-moore

The plan is to change the firewall rules such that all /ols/ links will forward to /ols4/ at switch over.
This means  http://www.ebi.ac.uk/cmpo/CMPO_0000393 will forward to https://www.ebi.ac.uk/ols/ontologies/cmpo/terms?short_form=CMPO_0000393, which should then forward to https://www.ebi.ac.uk/ols4/ontologies/cmpo/terms?short_form=CMPO_0000393
So it should work at switch over. However, I think if you can do a sanity check of the different types of calls you making to OLS against OLS4, it will be a great help. My concern is that we may have missed some use case that you depend on. The sooner we know about it, the better.
Thanks for flagging this!
I am closing this. Please feel free to open a ticket if you do discover an issue with OLS4.


Refactor Beadtype

The GetOrCreateBeadType method in the topology class is ambiguous. Given that there should only exist a set number of beadtypes careful consideration should be made when creating them. As it might be possible that two topology classes create their own bead types, if one of the topology classes is temporary any beads pointing to the beadtypes stored in that class will lead to undefined behavior. It is better therefore to break up the GetOrCreateBeadTypes into 3 separate methods:
CreateBeadType - should only be called when there truly does not exist a beadtype
AddBeadType - if there already exists a bead type but it does not exist for the particular topology instance under consideration
BeadTypeExist - determine if the beady type already exist within the topology instance.

This is being handled in this branch:
https://github.com/votca/csg/tree/joshs-development


This code is full of bugs.

Why is this class full of bugs? Does not compile at all.

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

ID: 23b1c2eb-1424-48f7-b63c-03e75c733031
Version Independent ID: 3771ea45-c8cd-b80f-1208-136a7d9cca92
Content: Web API Helper code: Authentication class (Developer Guide for Dynamics 365 Customer Engagement)
Content Source: ce/developer/webapi/web-api-helper-code-authentication-class.md
Service: crm-online
GitHub Login: @JimDaly
Microsoft Alias: jdaly

@markmicallefdialog Recommend you to use Web API samples in PowerApps samples repo. They do not require you to include helper files in your code.
Closing this issue now, feel free to reopen in case you have any other Qs regarding this.


(maint) Disable strict dependencies check

Our dependency on the puppetlabs-stdlib module is very wide and we're
relying on very generic behavior, so this is one of the rare cases where
an open dependency constraint reasonable. This commit disables the
metadata.json linting check that fails on open version ranges.

Hmm, still failing Travis the same way?
---> syntax:manifests
---> syntax:templates
---> syntax:hiera:yaml

(WARN) dependencies: Dependency puppetlabs/stdlib has an open ended dependency version requirement
Warnings found in metadata.json

The command "bundle exec rake release_checks" exited with 1.
store build cache

Looking at the source of metadata-json-lint (https://github.com/voxpupuli/metadata-json-lint/blob/master/lib/metadata_json_lint.rb#L170) indicates that --strict_dependencies only converts warnings to errors and disabling it doesn't squelch warnings. If fail_on_warnings is present then you can't disable this check, and have to remove fail_on_warnings.

I've updated the PR to disable failure on warnings.


[BUG] Obsidian hanging when opening certain notes on 1.8.2

Description
After upgrading to 1.8.2 opening certain notes (I cannot determine what the precise culprit is yet) causes Obsidian to effectively hang if the 1.8.2 version of Latex Suite is enabled (I have tested with 1.8.1 and it works fine).
To Reproduce
Unfortunately I have not had time to find a minimal reproduction of this bug, although it occurs even with all other community plugins disabled.
Expected Behavior
Obsidian to continue responding to inputs when the plugin is enabled and the problematic notes are opened.
Additional Info

By playing around with the stepper in dev tools, I have found that this loop appears to be the culprit: https://github.com/artisticat1/obsidian-latex-suite/blob/3d38e66c8f22c344dc5b80d50a69d8f042191fa4/src/utils/editor_utils.ts#L124 and as such the bug was probably introduced with this commit:  a8ffddbcbecd7d2c6d22c5a5dd52e2db496c5c68
Platform

I am using Ubuntu 23.04, with Obsidian 1.4.13, packaged from Flathub.

I've also been having issues, I think it has something to do with inline expressions, specifically empty ones #197.

Apologies for the bug, and thanks for narrowing it down to that loop. Should be fixed in 1.8.3.


Silent type cast not mentioned

For mapObject
the keys will be cast to String, it should be explained, or at least a warning. The example makes it look like they are stored as numbers.

I'm confused on where it looks like they would be stored as numbers versus string coercion?

@GrosSacASac could you please provide more details regarding this issue?
If this is what bothers you I don't see any problems with it. The output from the 30seconds docs matches the output on the console. While Object keys are indeed only strings their properties could be accessed with numbers too.

JavaScript Engines do perform something called type coercion when trying to access object keys with values other than type String or Symbol. For further info, see MDN docs.

Hopefully, this helped a bit, if not let's solve this one together 😄

where the key-value pairs consist of the original value as the key and the mapped value

I would write:
where the key-value pairs consist of the stringified value as the key and the mapped value

Thanks for clarifying this. @skatcat31 this seems like a solid change - should I modify the function docs?

It's a fair clarification for newer programmers(I've met more than a few who think object literals are Maps)

kuehgflidsnflksdjf;sdfms


Add mocking to test cases

Many of the API test cases download files from Git LFS. Instead of relying on remote downloads, we should mock requests.get and requests.post so download_git_lfs_file doesn't actually need to download/upload anything. For example:
class MockResponse:
    def json(self):  # for compatibility so we can still call .json() on the mocked result
        return {"content": None, "encoding": "base64"}

def mock_get(*args, **kwargs):
    return MockResponse()

monkeypatch.setattr(requests, "get", mock_get)  # get mock result instead of actually sending get request

Now when download_git_lfs_file calls requests.get, it will receive a fixed MockResponse instead of the actual response. We probably would need to mock some other functions like base64.b64decode.

@zhixiangteoh Do you have time to take this? I can handle it if not, just let me know.


Case unboxings not dropping knives

unboxed close to 1000 cases havent gotten a single knife plz fix @danielkrupinski

thats literally just typical csgo odds lmfao

luck issue KEKEKEKEKEKEKE

The method daniel uses doesn't parse knife drops from cases, hence you can't open a knife. At least in my experience.

Now you can receive knives from Dreams and Nightmares Case and Operation Riptide Case. More to come.


Add allowPrivateKey config option

Alternative solution to #508, discussed here

@mattrobenolt – it wasn't clear to me whether we should refer to this as allowSecretKey or allowPrivateKey. I went with "private" since that's what the error string referred to.
Thoughts?

Yeah, I like private.

@benvinegar I'm going back on my decision. We call the parameter sentry_secret, so I think we should adjust the error message and this parameter to allowSecretKey, and have the error message reference secret as well. I forgot that we laterally called it sentry_secret which gets spit back in the API call's error message as well.
See: https://github.com/getsentry/sentry/blob/8.2.1/src/sentry/web/api.py#L205

Done.


[FAQ page] Link to install client on server host broken

That specific link on the faq returns me 404 page not found.
"Can I install AutoPlug Client on a server host?
Yes! For instructions on how to do so, please read How To - Install AutoPlug Client on a Server Host."

@lkkuma guess this one is for you?


Security Testing

Test of any APIs and protection offered by the reverse proxy and data protection services.  We need to insure that they are actually performing as intended.  This is not a full penetration test.

Closing as this is an active part of @tingyuz work stream


Fix Object.assign example description

Thanks for taking care of this! This PR overlapped with #53 so closing this as the other fix was already merged in.


Fix for 'Misalignment of Navbar Heading on Small Devices' error

This fixes issue: #15
I added both the Register Donor and Register Organization directly on the navbar ul element.
The reason for this is that it wasn't easy to open navbar menu on mobile and click the Register Now dropdow,
as this would close the navbar.
Instead to simplify I added Register Donor and Register Organization directly to the navbar.
I also  removed showDropdown state and handlDrowdown functions as they are  not needed any more.
I think it looks a bit cleaner this way and hope that this fixes the issue.

By the way, here are  some screenshots showing how the app looks after the fixes:
On small devices:

And on desktop:

Hopefully this works, if not feel free to tell me and I can make adjustments.

Thanks @manuel12 , Great work ✨


Conditions not working

When using the same form that I use for the angular-formio the conditions don't work.
Example form:
{
    "components": [
        {
            "label": "Show text field",
            "optionsLabelPosition": "right",
            "inline": false,
            "values": [
                {
                    "label": "Yes",
                    "value": "yes",
                    "shortcut": ""
                },
                {
                    "label": "No",
                    "value": "no",
                    "shortcut": ""
                }
            ],
            "key": "showBelowConditional",
            "type": "radio",
            "input": true
        },
        {
            "label": "Conditional",
            "inputFormat": "plain",
            "key": "textField",
            "conditional": {
                "show": "true",
                "when": "showBelowConditional",
                "eq": "yes"
            },
            "type": "textfield",
            "input": true
        },
        {
            "type": "button",
            "label": "Submit",
            "key": "submit",
            "disableOnInvalid": true,
            "input": true
        }
    ]
}

Fixed in v1.1.0

@travist, still i am getting this issue. In normal form.io the conditional is working good. If i use material form.io it's not working.

@LaksmiEzhil
Thank you for the report. We've added this issue to our backlog and will review during our planning meeting next week. If you need this item expedited, please feel free to contact<EMAIL_ADDRESS>for pricing.

@jhen1422 , thanks for your consideration. I got a new issue. When i tried to build my app i am getting a warning message.
WARNING in ./node_modules/angular-material-formio/node_modules/formiojs/utils/utils.js
Module not found: Error: Can't resolve 'vm' in 'C:\dev\sevahealthWeb\node_modules\angular-material-formio\node_modules\formiojs\utils'
form.io not loading in server also.can you please help me.

@LaksmiEzhil you already submitted an error with that Warning.  That is plenty enough for us to see it...


Progression bug Eye Of The Storm

Once you reach the end of the mission eye of the storm. You receive an objective to speak to Delgado. This will not work once interacting with the character similar to the Red Mile issue with Mei. I can no longer progress this story line.

Details
Eye of the storm mission last step of mission before completion. Speak with Delgado interaction will not work story cannot progress.
Game Version
<IP_ADDRESS>
New Game
Yes
Reproduction Steps
Progress to the same point in the mission

I've played this quest twice now and can't replicate it.

I am having the issue where Mei Devine does not walk to where she needs to for the Free Star quest, Red Mile.
Lots of others as well:
https://steamcommunity.com/app/1716740/discussions/0/3824174554262595292/


Nikolay Nikolov

Hello,
I think there is a mistake in the regex back-reference for the annotation nginx.ingress.kubernetes.io/rewrite-target: /$1
The back-reference should be /$2, as in the regex path below, /$1 refers to the (/|$) group. The example on the ingress-nginx documentation is very similar and it has /$2.

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

ID: 597ba957-9501-5919-73a0-6d47b1ca2c6d
Version Independent ID: 6345fa19-b3f2-ffd6-f526-908f845b51f6
Content: Use your TLS certificates for ingress - Azure Kubernetes Service
Content Source: articles/aks/ingress-own-tls.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: mlearned

@patuf
Thanks for the feedback! We are currently investigating and will update you shortly.

@patuf The document is updated and changes will go live soon.


BIQU cribbing your work

Looks like BIQU is copying your homework
https://biqu.equipment/products/biqu-eco-turbo-kit

I saw it, they did a good job on the rewrite, hehe.


Plugins and cfg options that prompt don't work

Based on the current architecture the following do not work with navigator:
.cfg---------
ANSIBLE_ASK_VAULT_PASS
plugins-----
vars_prompt
pause (with prompt)
Please add to this list as other are found

This is the nature of how interactive mode works, so there is little to be done here,
Leaving open for visibility


Include Compare Area View / Button

It should be possible to select one area (e.g your hometown) and compare it to the different, available areas
Suggestion: One line or point for selected area with different color in each chart (Not MapView)

Sounds Good, but only on the same hierarchy level (countries ⇄ countries  ~countries ⇄ government countries~)
And for this, we need a Popup view, or we have to transform the whole view to display the two charts next to each other.
Should the map be visible during the comparison?


Added async command to receive channel bans

Event seems not correct, at least there's an empty dict in the results (workaround included). Hints?

No idea. You should be able to debug the events if you enable debug mode and/or verbosity: debug=True, verbose=True and maybe raw=True


Add authentication exceptions for API access

Requests to the APIs currently return a 404 (via a KeyError being raised) if the response does not contain service data.
It would be useful if we could log some of the information about the response for debugging. This attempts to set a good starting point by adding an exception for authentication errors.

@tombye Fixed your Travis tests for you. LGTM now but @TheDoubleK should probably have a look because he's been closer to the development of this app.

Thanks @quis!

The logged error isn't really that helpful, as it only points to the line in the exceptions class, with no further stack trace:
ERROR in exceptions [/Users/kevinkeenoy/gdsworkspace/digitalmarketplace-buyer-frontend/app/exceptions.py:14]:
An authentication error occurred
--------------------------------------------------------------------------------```

But certainly enough to go on for now.


verfication

This might suck. Not sure about how i implemented this, lemme know what you think

Could you also please add the verification process to the main method?


[dv/kmac] Create a function to disable EDN assertions

This PR adds a function in base sequence to disable EDN related assertions.
These assertions are no longer valid if EDN handshake is interrupted by reset or terminal errros.
Signed-off-by: Cindy Chen<EMAIL_ADDRESS>

The chip_if is bound to chip_earlgrey_asic instance, so functions like these are better created in the interface. You can directly pass the unstringified partial hierarchical path to sva instances.

The chip_if is bound to chip_earlgrey_asic instance, so functions like these are better created in the interface. You can directly pass the unstringified partial hierarchical path to sva instances.

Whoops, I made this comment in haste. Looks like this is KMAC IP level, not the chip level. In any case, I would encourage you to find a way to not introduce absolute path hierarchies in UVM classes.

Hi @cindychip,
please note that with #15100 these assertions are now disabled inside the prim_sync_reqack primitive whenever any of the two resets is active. In addition, I've added some new assertions to check that when one domain is reset, also the other one will be reset. However, this is not yet enabled in KMAC. Once the reset domains have been reorganized (see #15317) this assertions should be enabled more widely. It's probably best to rebase this PR on master.

Hi @cindychip, please note that with #15100 these assertions are now disabled inside the prim_sync_reqack primitive whenever any of the two resets is active. In addition, I've added some new assertions to check that when one domain is reset, also the other one will be reset. However, this is not yet enabled in KMAC. Once the reset domains have been reorganized (see #15317) this assertions should be enabled more widely. It's probably best to rebase this PR on master.

That is right! Thanks for reminding me @vogelpi, let me rebase and update this PR accordingly.


Fixed custom_metrics_histogram_boundaries config to not be dynamic.

What does this PR do?
The newly added custom_metrics_histogram_boundaries option should not be dynamic, see this spec comment.
No need to update the changelog IMO because the feature has not been part of any release yet.
Checklist

[x] This is something else

[ ] I have updated CHANGELOG.asciidoc

:grey_exclamation: Build Aborted

There is a new build on-going so the previous on-going builds have been aborted.

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Start Time: 2023-03-21T09:37:40.539+0000

Duration: 9 min 16 sec

:robot: GitHub comments
Expand to view the GitHub comments

To re-run your PR in the CI, just comment with:

/test : Re-trigger the build.

run benchmark tests : Run the benchmark tests.

run jdk compatibility tests : Run the JDK Compatibility tests.

run integration tests : Run the Agent Integration tests.

run end-to-end tests : Run the APM-ITs.

run windows tests : Build & tests on windows.

run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)


Update logs gRPC exporter class name to singular OTLPLogExporter

I did just notice that the name of this class has singular Log in its name, which is inconsistent with the existing gRPC exporter which has plural Logs. I think OTLPLogExporter (singular as here) is the right name - it's consistent with OTLPMetricExporter and OTLPTraceExporter, so I would leave it here as is, but we might want to go back and update the gRPC class name.
Originally posted by @martinkuba in https://github.com/open-telemetry/opentelemetry-js/pull/3764#discussion_r1194453361

I have submitted a PR to address this issue.  https://github.com/open-telemetry/opentelemetry-js/pull/3819

Seems like this problem is still present: https://github.com/open-telemetry/opentelemetry-js/blame/main/experimental/packages/exporter-logs-otlp-proto/src/platform/node/OTLPLogsExporter.ts#L40


Power-Fx WORKDAY function

WORKDAY function which returns a number that represents a date that is the indicated number of working days before or after a date (the starting date).
In Scope: Working days exclude weekends.
Out Of Scope: Holidays will not be consider in this function.
Affected Files:

src/libraries/Microsoft.PowerFx.Core/Localization/Strings.cs
src/libraries/Microsoft.PowerFx.Core/Texl/BuiltinFunctionsCore.cs
src/libraries/Microsoft.PowerFx.Core/Texl/Builtins/DateTime.cs
src/libraries/Microsoft.PowerFx.Interpreter/Functions/Library.cs
src/libraries/Microsoft.PowerFx.Interpreter/Functions/LibraryDate.cs
src/tests/Microsoft.PowerFx.Core.Tests.Shared/TexlTests.cs

@m365solutioninsights please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]

Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.

@microsoft-github-policy-service agree

(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.

@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement

@microsoft-github-policy-service agree

Great start. Thanks for contributing.
We will review it in the next days. I just want to point a few things that you need to include as part of the PR.
Function optional argument
We will discuss internally if the Workday function will support a 3rd optional argument (Holidays). We can check the original function description here.
Test cases
Please add a new file named Workday.txt at here. Things to consider in your tests:

How to handle ErrorValues as argument as arg[0] and/or arg[1].
How to handle BlankValue as argument as arg[0] and/or arg[1].
How to handle an unexpected type as earg[0] and/or arg[1].
How to handle coercions (given an value that supports coercion e.g Workday(4500, 10)).

Translations
I can see you were mindful to translate the text messages in all supported languages files. This is not necessary since there is an internal team responsible for that. Sorry for not letting you know sooner.

Hi @anderson-joyle , I have added the file Workday.txt and handled the below test cases.

Error Values/ Blank values/ Unexpected type as argument as arg[0] and/or arg[1].
Also, coercions has been handled in Workday function.

Pipeline is failed in VsTest step. can we connect to take it further?


[Search Pipelines] Share state between multiple processors

As a user of search pipelines I want a processor that can modify both search requests and responses so I can do things like paginating where the user requests results 21-30, but a reranker needs 1-40 as input; the reranker sorts and then returns 21-30 from the sorted list.

+1 for the feature. This will be a good addon before search pipeline is released.

This is described more in https://github.com/opensearch-project/search-processor/issues/80

I'd like to try to formalize some behavior, especially now that a) search pipelines are out, so we know exactly how request/response processors get configured, and b) we'd like to try to get bracket processors out soon.
Balance and order
I still feel that we should enforce a rule saying bracket processors need to be balanced like a stack (like brackets or parentheses) -- that is, just as we can't say foo[bar(baz]) (where foo[] and bar() are function calls), the order of bracket processors on the request chain must be reversed on the response chain. I like that because it means that you can represent the whole flow from initial request through final response as nested function calls. (Maybe that's only important to me, though.)
Explicit and implicit balancing
Because we may want to modify requests and responses with SearchRequestProcessors and SearchResponseProcessors before/after bracket processors act, we need a way of explicitly communicating when a given processor should run (as long as it doesn't violate the "reverse order" rule specified above).
An example of that explicit ordering could be something like:
"search_pipeline": {
  "request_processors" : [
    {
      "type": "oversample_bracket",
      "scale": 10,
      "tag": "oversample_10x"
    }
  ],
  "response_processors": [
    {
      "type": "load_external_fields",
      "source_url_pattern": "https://example.com/data/{id}"
    },
    {
      "type": "filter_value_regex",
      "target_field": "external_field_b",
      "value_regex": "foo.*"
    },
    {
      "type": "oversample_bracket",
      "tag": "oversample_10x"
    }
  ]
}

In this example, we're using a hypothetical request processor to increase the requested size by 10x before sending the request to the OpenSearch index. Then we augment the matched results by calling some hypothetical external data store (similar to DynamoDBStoreResponseProcessor that i hacked together a few weeks ago). Then we exclude results if one of the externally-defined fields don't match some regex (which we couldn't easily do as part of the search query). Finally, we undo the oversampling, discarding any remaining results beyond the initial size parameter.
The tag property in this example can be used to identify specific instances of a given bracket processor, if multiple bracket processors of the same type are referenced. Multiple bracket processors of the same type with the same tag (or absence of tag) should throw an exception, I think.
I was also thinking that we might want to implicitly balance any bracket processors by closing any open brackets at the end of the chain of response processors. In the above example, if the bracket processor was not specified in the response processor chain, it would still be included at the end. You would need to explicitly reference it in the response processor chain if you want it to execute before some other response processor(s). Given that implicit balancing would be a convenience feature that supports a subset of explicit balancing behavior, we could leave that to a later release (i.e. the initial release would only support explicit balancing and would throw an exception if a bracket processor is not balanced).
Implementation challenge: per-request processor state
Right now, search pipelines are created as a result of a PUT pipeline request (which writes to cluster state and that cluster state gets propagated to every data node, which listens for the cluster state update and creates the search pipeline object which is held in a HashMap keyed off the pipeline ID) and processors in the pipeline are assumed to be immutable. The whole reason why one would want to create a bracket processor (instead of just creating separate request and response processors) is to be able to share some state between the request side and the response side.
So, how can we make a pipeline with stateful processors without changing everything? I think we can take advantage of the PipelinedRequest class that already combines a pipeline with a search request.
I see a couple of possible solutions for propagating state:

Before we transform the search request, we ask the pipeline to create a request-scoped instance of itself, which would delegate to the individual processors to return a request-scoped instance. For existing immutable request/response processors, they could just return this, whereas a bracket processor could return an instance with mutable fields to carry state between the transformRequest and transformResponse calls. (The same instance would be included as a request processor and response processor.)
We do something like a servlet's "request scope", where there's a Map<String, Object> held by the PipelinedRequest. The BracketProcessor interface would have its own version of transformRequest and transformResponse that would take this scope map as an additional parameter. We could make it a Map<String, Map<String, Object>>, where the top-level map would be keyed off the processor's type:tag unique identifier, so that processors are only given access to their own scope.

I think the second option is easier to implement in OpenSearch core, but I feel like the first option might feel a little more natural for processor implementers (since the transformRequest and transformResponse method signatures are the same as for request/response processors). On the other hand, I kind of like that the second option makes it abundantly clear (via the method signatures) that you're doing this to propagate state from request to response (while the processor instance itself is still immutable). I'm leaning more toward the second option, but I'm happy to be convinced otherwise.

Hi @msfroh ,
Looking at the proposal, one thing which is not clear to me motivation behind having a bracket processor. If there are response and request processors separately that can just undo the work then we can just avoid this complexity.
As per my understanding this is just more of convenience feature so that users are not making mistakes while building the query weighs less than adding states in simple and stateful api interface.(again this is just my thought)
If possible can you add more use cases where having a stateful Search pipeline will be useful?

One use case from https://github.com/opensearch-project/ml-commons/issues/1150 is that we want to allow the request processor to re-write the query/question and have the re-written question be propagated to the response processor.

If Search Pipeline States are there then I don't see why this cannot be done, by just creating 2 processors 1 Request Processor(Re-write Query/QuesProcessor) and another Response Processor(Saves info in Conversation memory). Users will have a flexibility to say whether they want to store their conversations or not.

Here, we want to think of what the request processor does and what the response processor does as one unit of work in RAG. This can be modeled using a Processor interface with before() and after().

(Just for reference, if you understand how search pipeline works please ignore this)
A Search Pipeline chain the processors and run them in order which they are defined. Also, once a Request Processor is run its never run again on the same Search Request. So these Processors are not like Layers which request pass through before doing search and after doing search. It's more like a split, where you define processors(Request) that runs before running search and then you define Response processors that run once search is done.

If Search Pipeline States are there

This doesn't exist today, correct?  I don't think you want any arbitrary request/response processor to have access to this state.  What is being proposed is that this state be scoped to a single processor.  Or are you referring to something that is already available to be able to pass state/context between processors?

@austintlee
Yes Search pipeline states are not there. As part of this Feature @msfroh is working on that.

What is being proposed is that this state be scoped to a single processor
No this is not true. The proposal is state will be scoped at the Search Request Level.

Thanks for the clarification. I am OK with that.  Mainly, I wanted to get clarification that "something new needs to be done for state to be shared between search processors".

So, I started to hack away at an implementation of "approach 2" where we have the state managed outside of the processors (essentially as a field of PipelinedSearchRequest), since I think that's probably easier than making processors stateful (since right now, a processor is a long-lived object owned by a long-lived pipeline object and that pipeline object gets applied to every request).
Now, the approach I'm working on is a Map<String, Map<String, Object>>, where it would map processor_id -> variable_name -> variable_value, where processor_id is essentially processor type + processor tag. The pipeline execution will pass the variable_name -> variable_value map for each processor, so that each processor gets its own isolated state under its own namespace (and can't touch any other processor's state).
On the flip side, if I made just made it a Map<String, Object>, then I think @navneet1v would be right that we wouldn't need a new processor type and could just pass this per-request state to each processor and could define request + response processors designed to work well together. That would be much easier to implement for me (which I like), and might be less confusing than "Here is something that you're adding as a request processor, but it's also a response processor and you can reference it in your response chain."
The catch of that approach is that it relies on users doing the right thing -- e.g. only add the response processor that reads some state if you've added the corresponding request processor that writes the state.

I like it.  It solves my problem :-) and it does not preclude introducing a new processor type later (if that turns out to be a useful thing someone wants).

Okay -- I think I have something that essentially works in https://github.com/opensearch-project/OpenSearch/pull/9405.
To avoid breaking backward compatibility with the existing stateless processors, I did some interface hackery to make it easy to say that you're creating a "stateful" request/response processor (though it's ultimately the same interface).
I was previously planning to add an OversamplingBracketProcessor (that would scale up size on the request, and truncate back down to the original size on the response) as a proof of concept. Instead I created an OversamplingRequestProcessor and TruncateHitsResponseProcessor, where the original size gets handed from one to the other via the request context. Check out 60_oversample_truncate.yml for an integration test that verifies that it all works.
As written, you can't specify multiple OversampleRequestProcessors and truncate back to the original size (whereas that would have worked with the bracket processor). Of course, we could fix that by adding a config parameter to the state processors -- something like state_prefix, so it would become:
"search_pipeline": {

  "request_processors": [
    {
      "oversample" : {
        "scale_factor": 10,
        "state_prefix": "first_" // Writes original size to first_original_size
      }
    },
    {
      "oversample" : {
        "scale_factor": 5,
        "state_prefix": "second_" // Writes 10x size to second_original_size
      }
    }
  ],
  "response_processors" : [
    {
      "first_pass_reranker" : {
        // Rerank 50x results
      }
    },
    {
      "truncate_hits": {
        "state_prefix": "second_" // Truncates down to 10x original size
      }
    },
    {
      "second_pass_reranker" : {
        // Rerank 10x results
      }
    },
    {
      "truncate_hits": {
        "state_prefix": "first_" // Truncate to original size
      }
    }
  ]
}

@msfroh what is the next step on that PR?  It's still in draft status.

@macohen - Hi Mark, Can you please enter a doc issue if this needs documentation? Also, please confirm that it is going in 2.11. Thanks!

@hdhalter moving this to a 2.12 release will update the doc issue as well.

@msfroh please feel free to close it but we need the documentation update as well for this feature

@msfroh will this be ready for a 2.12 release? if no, can you change the label, please?

@macohen: It was merged and backported.
I'll write a draft of documentation over at https://github.com/opensearch-project/documentation-website/issues/5151

Closing since it was merged and backported already.


Bus headway benchmarks

We could possible pull headway benchmarks for most bus routes from the data ingested.
Could we display these? Do we display the scheduled value, or the OTP metric of +20% ?

Resolved by #205


Accept several spellings for the curve_fit max number of function evaluations parameter

Minor convenience, as reported in gh-6340.

OK, merging!


Tempfiles are not working on Windows

Bug description
On Windows, when pip-audit creates the virtual environment a permission error occurs. This is caused under the hood by a known bug in Python itself. However, there is a way to work around it (see the end of this issue report).
During the pip-audit process a virtual environment is created in a temporary folder. A temporary file created in this temp folder loses its permissions on Windows when it is closed (this doesn't happen in Unix). The pip install process opens and closes one or two temporary files several times during the installation process, and thus, permissions on the temp file are lost and Windows throws an error.
Reproduction steps
On windows for any python package:
pip-audit .

Expected behavior
Create virtual environment for auditing.
Screenshots and logs
The error message
ERROR:pip_audit._virtual_env:internal pip failure: ERROR: Could not open requirements file: [Errno 13] Permission denied: 'C:\\Users\\Manrho\\AppData\\Local\\Temp\\82\\tmpnmkebs43'

ERROR:pip_audit._cli: Failed to install packages: ['C:\\Users\\Manrho\\AppData\\Local\\Temp\\82\\tmp855pujcg\\Scripts''python.exe', ' -m', ' pip', ' install', ' --dry-run', '--report', 'C:\\Users\\Manrho\\AppData\\Local\\Temp\\82\\tmpm_c5v3cp', '-r', 'C:\\Users\\Manrho\\AppData\\Local\\Temp\\82\\tmpnmkebs43']

Platform information

OS name and version: Windows Server 2019
pip-audit version (pip-audit -V): 2.6.0
Python version (python -V or python3 -V): 3.9.17
pip version (pip -V or pip3 -V): 23.1.2

Additional context
An easy fix is to replace NamedTemporaryFile() to NamedTemporaryFile(delete=False) in the files _virtual_env.py and pip_audit/_dependency_source. However, this defeats the purpose of using NamedTemporaryFile as manual cleanup is needed.
The way to fix this is to avoid using the NamedTemporaryFile() context manager altogether.

Thanks for the detailed report @marickmanrho!
I think we had similar issues on Windows with the pip caching middleware: it also uses tempfiles, and had similar locking/permission problems.
I or someone else should have some free time to look into a fix soon; a PR would also be welcome 🙂
(IMO retaining the context manager and using delete=False would be fine for our purposes -- the manager still gives us the auto-closing behavior we want, and we do similar elsewhere in the codebase.)

Hey @woodruffw, thanks for the quick reply. I opted to create a custom tempfile class to both close the file and remove it on context exit. See PR for details.

Thanks @marickmanrho! I'll have time to review this either today or early next week.


Builder pattern in agency client configuration

Allows constructing agency client more eloquently as
let agency_client = AgencyClient::new().configure(&agency_client_config)?;
Signed-off-by: Miroslav Kovar<EMAIL_ADDRESS>

Codecov Report

Merging #588 (3ec3ec6) into main (e60c74d) will decrease coverage by 9.92%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main     #588      +/-   ##
==========================================
- Coverage   59.77%   49.85%   -9.93%
==========================================
  Files         139      138       -1
  Lines       15604    11006    -4598
  Branches     3625     2107    -1518
==========================================
- Hits         9328     5487    -3841
- Misses       2405     3611    +1206
+ Partials     3871     1908    -1963

Flag
Coverage Δ

integration-aries-vcx
?

unittests-agency-client
25.45% <0.00%> (ø)

unittests-aries-vcx
52.55% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

agency_client/src/agency_client.rs
24.19% <0.00%> (ø)

aries_vcx/tests/test_agency.rs
100.00% <ø> (+44.32%)
:arrow_up:

...tocols/proof_presentation/prover/states/initial.rs
0.00% <0.00%> (-100.00%)
:arrow_down:

aries_vcx/src/handlers/discovery/mod.rs
0.00% <0.00%> (-87.10%)
:arrow_down:

aries_vcx/src/indy/test_utils.rs
0.00% <0.00%> (-82.94%)
:arrow_down:

aries_vcx/tests/utils/scenarios.rs
0.00% <0.00%> (-71.14%)
:arrow_down:

aries_vcx/src/utils/provision.rs
0.00% <0.00%> (-68.43%)
:arrow_down:

aries_vcx/tests/utils/devsetup_agent.rs
0.00% <0.00%> (-61.23%)
:arrow_down:

...ies_vcx/src/indy/primitives/revocation_registry.rs
0.00% <0.00%> (-47.48%)
:arrow_down:

aries_vcx/src/utils/random.rs
52.94% <0.00%> (-47.06%)
:arrow_down:

... and 54 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Rasa x not run

I installed rasa x on my anaconda now when I am trying to run rasa x for creating a new project it throwing an errror
`Traceback (most recent call last):
File "c:\anaconda3\envs\rasa\lib\site-packages\git_init_.py", line 83, in
refresh()
File "c:\anaconda3\envs\rasa\lib\site-packages\git_init_.py", line 73, in refresh
if not Git.refresh(path=path):
File "c:\anaconda3\envs\rasa\lib\site-packages\git\cmd.py", line 287, in refresh
raise ImportError(err)
ImportError: Bad git executable.
The git executable must be specified in one of the following ways:
- be included in your $PATH
- be set via $GIT_PYTHON_GIT_EXECUTABLE
- explicitly set via git.refresh()
All git commands will error until this is rectified.
This initial warning can be silenced or aggravated in the future by setting the
$GIT_PYTHON_REFRESH environment variable. Use one of the following values:
- quiet|q|silence|s|none|n|0: for no warning or exception
- warn|w|warning|1: for a printed warning
- error|e|raise|r|2: for a raised exception
Example:
export GIT_PYTHON_REFRESH=quiet
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:\anaconda3\envs\rasa\lib\runpy.py", line 193, in run_module_as_main
"main", mod_spec)
File "c:\anaconda3\envs\rasa\lib\runpy.py", line 85, in run_code
exec(code, run_globals)
File "C:\Anaconda3\envs\rasa\Scripts\rasa.exe_main.py", line 7, in
File "c:\anaconda3\envs\rasa\lib\site-packages\rasa_main.py", line 76, in main
cmdline_arguments.func(cmdline_arguments)
File "c:\anaconda3\envs\rasa\lib\site-packages\rasa\cli\x.py", line 324, in rasa_x
run_locally(args)
File "c:\anaconda3\envs\rasa\lib\site-packages\rasa\cli\x.py", line 412, in run_locally
from rasax.community import local  # pytype: disable=import-error
File "c:\anaconda3\envs\rasa\lib\site-packages\rasax\community\local.py", line 27, in
import rasax.community.server as rasa_x_server
File "c:\anaconda3\envs\rasa\lib\site-packages\rasax\community\server.py", line 5, in
from rasax.community.services.git_service import GitService
File "c:\anaconda3\envs\rasa\lib\site-packages\rasax\community\services\git_service.py", line 11, in
from git import Repo, GitCommandError, Reference, PushInfo, RemoteReference
File "c:\anaconda3\envs\rasa\lib\site-packages\git_init_.py", line 85, in
raise ImportError('Failed to initialize: {0}'.format(exc))
ImportError: Failed to initialize: Bad git executable.
The git executable must be specified in one of the following ways:
- be included in your $PATH
- be set via $GIT_PYTHON_GIT_EXECUTABLE
- explicitly set via git.refresh()
All git commands will error until this is rectified.
This initial warning can be silenced or aggravated in the future by setting the
$GIT_PYTHON_REFRESH environment variable. Use one of the following values:
- quiet|q|silence|s|none|n|0: for no warning or exception
- warn|w|warning|1: for a printed warning
- error|e|raise|r|2: for a raised exception
Example:
export GIT_PYTHON_REFRESH=quiet`

I found the solution for that

[download git for that and
add the path in which the git executable is located (in this case maybe C:\Programs\Git\bin) to the Path variable' ]

Thanks for raising this issue, @amn41 will get back to you about it soon✨
Please also check out the docs and the forum in case your issue was raised there too 🤗

I found the solution for that

[download git for that and
add the path in which the git executable is located (in this case maybe C:\Programs\Git\bin) to the Path variable' ]

Bro , How to download that git????


jax.tree_util.tree_multimap deprecated; stax changed location

In the latest version of JAX on google colab, jax.tree_util.tree_multimap is deprecated, it seems that changing to jax.tree_util.tree_map solves the issue.
Also stax is now moved to jax.example_libraries instead of jax.experimental.

Dear @UltimateJupiter,
So sorry that I forgot about this. It is fixed now using your suggestions, thank you very much.
Please, let me know if I can help with anything else,
Best,
Miguel


[Question] How to block certain redirects using routes?

The documentation for Route.fetch() indicates that we can (as of 1.31, which doesn't seem to have been released anywhere) limit redirects via setMaxRedirects. The documentation for setMaxRedirects, however, indicates that an error will be thrown if the number is exceeded.
There doesn't appear to be any way to be able to step in during each redirection to indicate to Playwright if the redirect is safe/okay to follow. If, for example, I want to prevent the browser from requesting http://sensitive-host.com/secret there's no way to do so safely via the routes functionality because the page could make an explicit request to http://safe-looking-host.com/, which redirects to http://sensitive-host.com/secret. In that example, my route intercept will only see the initial request to http://safe-looking-host.com/, which isn't going to provide sufficient detail for me to know if I should deny the outbound request.
Is there some other way to intercept outbound calls, including redirects, in order to sandbox the browser/page from requesting something that I don't want it to access?
Relatedly, what happened to 1.31? The docs indicate that setMaxRedirects functionality is only available in 1.31+ but the most recent version on the repo releases  and also Maven Central is 1.30.

Relatedly, what happened to 1.31?

It has just been release. We usually release language ports with some delay compared to node.js version but the docs are published all at once which may create some confusion.

Is there some other way to intercept outbound calls, including redirects, in order to sandbox the browser/page from requesting something that I don't want it to access?

As the documentation suggests you can pass 0 to not follow redirects. You'll have to handle each fetch response manually and decide wether you want to send request to the redirected location. Will this work for you?

The docs mention “an error will be thrown if the number is exceeded.” So if I set maxRedirects to zero, then send a request using fetch() and the response is a redirect, will that throw or will I be able to inspect the response to examine the redirect and decide if I want to follow it?
It’s unclear what this will look like in practice.

The doc says "Pass 0 to not follow redirects.", so as long as you pass 0 you will get the response  without following any redirects and no errors will be thrown. We can probably improve the wording in the docs.

Closing per the response above, feel free to open a new issue if it doesn't work.


feat: Add bundle proto building

Introduces a shell script to setup a local googleapis repo, and patch bundle.proto and its build file to the repo, and run synthtool with that repo.

As a result, bundle.proto under the Node.js sdk will the removed, and the update.sh script will clone from this repo.

Commit Add bundle.proto. has the manual changes, while the other commits has the results of running the new shell script.

Due to dependency on proto generation, this can't merge until master is ready for v2 commits.

@wu-hui I've not resolved the merge issues blocking synthool PRs being able to merge to master. Everything on master should be up-to-date. Can you please rebase this PR in prep for review?

@wu-hui I've not resolved the merge issues blocking synthool PRs being able to merge to master. Everything on master should be up-to-date. Can you please rebase this PR in prep for review?

Sorry for the delay!
It is now merged with master, please review:
b35c1df028e40d31f7d253dbc58f449b190bd6a6 has all the manual changes.
5151105501a7ef105018fe5f0c0938aedd6ba01d has the generated code.

@BenWhitehead
I reverted changes (Query.java and StructuredQuery.java) unrelated to bundles.

This branch will need to be rebased/merged with master before the builds will be able to run against it again.

This branch will need to be rebased/merged with master before the builds will be able to run against it again.

Done.

This looks okay to merge for me now.
@schmidt-sebastian Can you give this a once-over incase I missed anything?


Remove the upper version bound on more-itertools

This fixes #42. @hugovk in https://github.com/flake8-implicit-str-concat/flake8-implicit-str-concat/issues/42#issuecomment-1370271585 recommended we do this ; it'll ease compatibility downstream, as highlighted in https://iscinumpy.dev/post/bound-version-constraints/#tldr

The pre-commit failure is unrelated, but please could you edit .pre-commit-config.yaml to fix it?
   - repo: https://github.com/PyCQA/isort
-    rev: 5.11.4
+    rev: 5.12.0
     hooks:
       - id: isort

@hugovk good find… that was a mysterious failure at first. I've also taken the liberty of adding a changelog, happy to tweak formatting as appropriate there!

Thanks for the update!
About the changelog, let's use GitHub's auto-generated release notes rather than a CHANGELOG.md.
I've just used it to make releases from the existing tags:

https://github.com/flake8-implicit-str-concat/flake8-implicit-str-concat/releases

And will add it to the release checklist (https://github.com/flake8-implicit-str-concat/flake8-implicit-str-concat/pull/34) for the next release.

@hugovk that looks great. I added a link in the README and cleaned up history as it had gotten a bit out of hand.

And released in 0.4.0! :rocket:


Add CPython urlparse test

test_urlparse.py

OK, I will edit some changes, and send PR later

@hyperbora You don't need to close and open another PR to fix it. Edit the last commit from your local enviroment and push(force-push) it to your more-tests branch (which you used for this PR). Then this PR will be updated to the new contents.

@hyperbora You don't need to close and open another PR to fix it. Edit the last commit from your local enviroment and push(force-push) it to your more-tests branch (which you used for this PR). Then this PR will be updated to the new contents.

Edit the last commit from my "more-tests" branch

Thanks for the work. Now the result looks fine. Because we don't need intermediate works including revert here, would you please also rebase the work? git rebase -i HEAD^^^^ will give you interactive editor with 4 recent commits. Remove 2 intermediate commits and then push remaining 2 commits again please. push --force is intended to be used here so please don't afraid of it.

Thank you for your comment. i fixed my branch. :)


Specify self-signed certificate instead of keystore location

I'm trying to setup qBittorrent-Controller with a self-signed certificate, but the app asks for the location of the keystore that it's in. I have no idea if I can even go to that location using my explorer app, let alone I would know where to look for. I have the certificate file taken from my server, so it would be a lot more useful if I could just point to the file directly.

Due to Google is now more strict in the handling of SSL certificates in Android, they forced developers stop using insecure implementations for self-signed certificates. To accomplish this now you must generate a BouncyCastle Keystore (BKS) to use self-signed certificates with qBittorrent Controller.
You can check how to generate the certificate and its BKS file here https://github.com/lgallard/qBittorrent-Controller/wiki/Using-Self-Signed-Certificates


RFC on how to perform tenant/timeline operations atomically.

It's currently not always clear what happens if the pageserver crashes
in the middle of an operation like branch or tenant creation. What is
the state on local disk, and what is the state on S3? If they don't match,
which one wins?
This RFC tries to clarify that. It introduces a new concept, the
tenant.json file.

This RFC tries to address the race conditions discussed at https://github.com/neondatabase/neon/pull/2231

Regular general concerns I have with the index files approach are backward compatibility and consistency.
We have TimelineMetadataHeader for such things in metadata already: it has a checksum and a version number. Since we're presumably changing metadata structure in this RFC, we would at least need to cover transition between versions? Ideally, it would be great to consider similar things for both *.json files on S3 here too.

Yeah, introducing a new file requires handling backwards-compatibility, unfortunately.  This wouldn't require any changes to the current metadata files, though, it just adds a new tenant.json file. We would need to have an upgrade process. I think it would be a three-step process:

Modify the pageserver so that it creates and updates the tenant.json file on every tenant/timeline operation, but doesn't read it. Upgrade production to that version
Run a script that creates a tenant.json file for every tenant in S3 that's still missing it.
Every tenant now has a tenant.json file. We can now do the rest of the pageserver changes described in the RFC, and start relying on the tenant.json file.

That's doable, but I'm having second thoughts on this proposal now, because of that :-(. Maybe we should just live with some ambiguity on which timelines exist for now.

his wouldn't require any changes to the current metadata files, though, it just adds a new tenant.json file.

I would actually like to makes some changes to the current timeline index_part.json file too. It's a bit silly that it stores the metadata as a binary blob inside the JSON. It would be nicer if it serialized the metadata into JSON too, making the whole file human-readable. But that's an independent change, not required by this RFC.

Also I think it would be good to use our aversion crate for such kind of metadata files. It solves problem with format changes and compatibility

https://github.com/neondatabase/neon/pull/2426 and https://github.com/neondatabase/neon/pull/2489 implemented atomic creation of timeline and tenant files (including their directories).
Tenants are created through the tmp directory as proposed here, timelines are currently created using a special, uninit file, that allows us to be sure on every restart after crash we detect partially created directories and clean then up.
In regular work, on errors, such temporary directories are cleaned up automatically now, allowing to retry the creation later.
Non-tmp dir approach for timelines was caused by more big and complex code changes needed for that to work: https://github.com/neondatabase/neon/pull/2489#discussion_r998570376
I think it's good to be done eventually.
I think, we could close this RFC and reopen it reformulated, considering the new changes?

As discussed moving to draft.


Fixed Latvian resources for accuracy reports

Replaced corrupted Latvian characters with correct ones in resources used for testing accuracy.
The current update does not affect the functionality of language detection itself - it only allows to show a correct accuracy report.

Thank you, I wasn't aware that the test data was flawed.


Fixed up a couple of incorrect response codes

Fixes a couple of incorrect response codes (204 instead of 200), and replaces an occurrence of "route" with "function".

The 204s are what the API should be returning for deletes - we should fix the code to match swagger there.

https://stackoverflow.com/questions/2342579/http-status-code-for-update-and-delete
I can concur with 204.

I'll revert and look at fixing the code instead.


Prevent sending Link Preview

I'm sending a message that may contain a link, and sometimes takes a long time to fetch the link data, i would like to send it without any preview, is it possible?

I have the same problem and it is related to the thumb server being offline or taking too long to respond. In wppconnect-server there is still no option to define which API links of thumb server can be used, as it is possible directly in wa-js.

responding to myself, it's possible by sending in the send-message body
options: {
linkPreview: false,
}

Another way to send a thumb without depending on the thumb server is to pass options parameters that define which image will be sent.
Below is info about the options parameters and my function in Python to generate the thumb base64 string.
{
  "phone": "5516999998877",
  "isGroup": false,
  "message": "Hello, welcome to WPPConnect test message https://www.google.com",
  "options": {
    "linkPreview" : {
      "doNotPlayInline": true,
      "title": "Título do Thumb",
      "description":"Descrição do Thumb",
      "canonicalURL": "https://google.com",
      "richPreviewType": 0,
     "thumbnail":"/9j/4AAQSkZJRgABAQAAAAAAAAD/...",
    }
  }
}

def getThumbnailByMessage(message):

  url_page = ''

  result = re.search("(?P<url>https?://[^\s]+)", message)

  if result is not None:
    url_page = result.group("url")

  thumbnail = ''

  url_image = ''

  page = ''
  if url_page != '':
    try:
      print('get url data')
      page = metadata_parser.MetadataParser(url=url_page, support_malformed=True, search_head_only=True)
      arr_image = page.get_metadatas('og:image')
      url_image = ''

      if arr_image is not None:
        print('get image from url')
        url_image = arr_image[0]
        temp_thumbnail_response = requests.get(url_image)
        temp_thumbnail_data = temp_thumbnail_response.content
        thumbnail = base64.b64encode(temp_thumbnail_data).decode('utf-8')
        print('image from url getted')
    except metadata_parser.NotParsableFetchError as e:
      if e.code and e.code not in (403, 429, 500):
        print("Error parsing: %s [%s]" % (url, e.code))

#  print('url_image ->',url_image)

  return thumbnail


chore(uibc): update quota -> outflows

Description

@gsk967 you should not block a PR if your suggestions are only about updating code comments.


CF::Dictionary::ContainsKey crash if key is std::string

Consider the following example:
CF::Dictionary dic;
dic << CF::Pair( "Key", "Value" );
CF::String value = dic[ "Key" ]; //no problem.
bool contains = dic.ContainsKey( "Key" ); //crash
contains = dic.ContainsKey( CF::String( "Key" ) ); //OK.

CF::Pair's ctor accepts std::string. CF::Dictionary's subscript operator accepts std::string too. Wouldn't it make sense for ContainsKey to behave the same?

That's not a std::string, but a const char *, which get converted as a CFTypeRef. That's why it crashes...
But yes, I think adding an overload could be nice... : )

Fixed in #e743fd565d945dc4663e3f8d7a1b99e87c449663


remove old reports to keep the index page updated.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
18

Relevant Lines:
2117

💛  - Coveralls


Resolve circular references using uni-directional weak references

Description
The current 'map <--> contained-objects' relationship uses strong circular references maintained between object-maps (map-of-maps, hash-map-of-maps) and objects (programs and maps).
While this design works for well-behaved user mode applications, it breaks down if the user mode applications do not perform explicit clean-up via the provided clean-up APIs, leading to leaked resources by the way of programs and maps orphaned in memory. This typically happens with user programs that either exit prematurely, do not call the clean-up API calls or crash before they can do so.
This PR proposes a new design solution where the references from the maps to the contained objects are replaced by 'weak-references'.
Testing
User mode:
NOTE: I'm currently investigating a transient new kernel-mode test failure that reproduces in very specific conditions in a seemingly unrelated area (program load).  Will update this PR once I've figured that out.
Ensure that the unit_tests.exe test suite passes successfully.
Kernel Mode:

Ensure that the api_test.exe test suite passes successfully.
The epbfcore.sys driver can be unloaded and re-loaded successfully after a test pass run.

Testing Notes:

Some edge cases were not covered by the existing tests, so new tests (user and kernel-mode) were added.
I'm seeing some inconsistencies in API behavior across different map types. My plan is to verify API functionality on linux for these scenarios and create new issues where required.

Documentation
The design is documented in a design note .md.  The document is currently available review under this PR
Fixes: #1509 #1510

I really like the level of detail in the comments in this PR. This is a good model for others to follow.

Some unfortunate soul will need to maintain (worse, fix bugs) in my code (waaay) down the line and truth be told, it may well be myself.   This approach simplifies the implementation quite a bit.


Failure to compile a document with microtype v3.0e

Description
I received an error after the new version, when using pdfTeX.
Minimal example demonstrating the issue
The following document compiled successfully before the update of microtype to v3.0e.
\documentclass[english,hebrew]{scrartcl}
\usepackage[HE8,T1]{fontenc}
\usepackage[latin9,cp1255]{inputenc}
\usepackage{microtype}

\makeatletter
\providecommand{\l@chapter}{\relax}
\makeatother
\usepackage{babel}
\begin{document}
\title{}\maketitle

\end{document}

Here is my log with the error:
bad.log
Unfortunately, I don't know much about LaTeX, Hebrew, or microtype :). This is not a document I wrote. I am just running a bunch of tests after tlmgr update and this one happened to fail. If the document was compiling just by luck before the microtype update, no problem if you want to close this as "wontfix".
Thanks for all of your work on microtype!

Hm, babel-hebrew redefines \everypar in a very bad way (\def\everypar#1{...}), which should also fail in many other cases, so I'm quite tempted to just say "report elsewhere" (however, that package has been last updated in 2005, so it's unsure whether it's even still maintained). I'll check if microtype can do anything about this to at least die gracefully though.

Thanks for taking the time to take a deep look at it! I don't understand the technical issue at all, but I really appreciate you opening the latex2e report even though this does not seem to be microtype's responsibility.

@schlcht I just tried the minimal example on an updated TeX Live 2023 system and it compiles without error. babel-hebrew seems to have not been updated, and the latex2e issue you opened hasn't had any movement. Any idea if the core issue has been fixed?

what a nice surprise... It seems this has been fixed with version 3.1, albeit inadvertently (I'm not even sure how, I suppose \leftprotrusion has become a bit more careful). Though I still think babel-hebrew's \everypar redefinition is deeply flawed, and the \noindent/\RawNoindent issue also remains to be sorted out, so other problems may be lurking, I'm happy to be able to close this issue at least for now. So thanks for your comment!

Great, thank you for your careful attention and explanations! Sounds like we should leave #880 open.

yes, that should remain open as it concerns other situations and packages, too.


Configure a max limit for lgK values of HLL sketches

When using HllSketches, the configured lgK directly relates to the accuracy and resources used. Large values of lgK uses significant amounts of memory for small increases in performance. This PR adds a configurable limit as a runtime property.
This would prevent values of lgK greater than this limit from being allowed.

Adds a runtime parameter to configure the maximum allowed value of lgK.

This PR has:

[ ] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[ ] added documentation for new or modified features or behaviors.
[ ] a release note entry in the PR description.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[ ] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[ ] been tested in a test Druid cluster.

Lets start adding release notes to this running doc created by this PR :  https://github.com/apache/druid/pull/15333


Wrong cpu pie chart on Clustered Servers

CPU pie chart is showing wrong details when there are multiple Clustered Instances on same nodes along with node having more cpus than SQL Server licensing.

This seems to be a bug in Perfmon Data Collection.
In case of multiple instances on the same host, the Process object exposes % Processor Time counter for each SQL Instance separately with different instance value.
Below is a typical example of 3 sql server instances on same host.

Bug -> Perfmon template file is hardcoded with sqlservr instance value while looking for Process - % Processor Time metrics. Due to this, data collection is not collection cpu metrics for other instances of SQL Server on same host.
This should be corrected to collect cpu metrics for all SQL Server instances.

The issue is fixed now.


Color support Hexadecimal code

It could be nice to use #hexa values for the colors, and not only the labels.

Done in #98 :)


Will tf.python.control_flow_ops.cond in BatchNormLayer be deprecated?

In latest tensorflow api, tf.cond is available while there is no tf.python.control_flow_ops.cond. I'm not sure that if the tf.cond is available and tf.python.control_flow_ops.cond behave well in tensorflow 0.12. I'm wondering if there is a need to change the tf.python.control_flow_ops.cond to tf.cond. What's your opinion?

@zsdonghao How can I share the variables of BN in training and evaluating phase to evaluate while training? Besides, it seems that the mean and variance of test phase should take the mean and variance estimated during training because during the test phase there may be only one image so that it's hard to estimate the mean and variance of one image.

@boscotsang
I have two implementation at the moment : BatchNormLayer and BatchNormLayer5 in https://github.com/zsdonghao/tensorlayer/blob/master/tensorlayer/layers.py
Now, I save the beta and gamma only. Yes, I agree with you, " it seems that the mean and variance of test phase should take the mean and variance estimated during training " instead of "using mean and variance of the testing data".

@boscotsang the lastest implementation use the fixed mean and variance of training data.

@zsdonghao It works well.Thank you.

Automatically closing due to lack of recent activity. Please reopen when additional information becomes available. Thanks!