Is there ack on app message

I am making api call to an endpoint after some message it sent to the slack bot. It is serverless (AWS Lambda) and takes more than three seconds to respond which makes the slack make multiple messages. I have seen ack() command to send as quick as possible but ack() command is not working for messages. I am assuming they are only for events. Any suggestions?
Reproducible in:
The Slack SDK version
(Paste the output of
npm ls | grep -o "\S\+@\S\+$" | tr @ ' ' | awk -v q='"' '{print q$1q": "q"^"$2q","}' | grep slack

or refer to your package.json)
Node.js runtime version
(Paste the output of node --version)
OS info
(Paste the output of sw_vers && uname -v on macOS/Linux or ver on Windows OS)
Steps to reproduce:
(Share the commands to run, source code, and project settings)

Expected result:
(Tell what you expected to happen)
Actual result:
(Tell what actually happened with logs, screenshots)
Requirements
For general questions/issues about Slack API platform or its server-side, could you submit questions at https://my.slack.com/help/requests/new instead. :bow:
Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to those rules.

@mpadel78 Would you share some code you are using that shows how you are using ack in this case? I'm not sure I'm following exactly what your scenario is.

Hi @srajiang Thank you for quick response. This is what I am doing.
app.message('do', async ({ message, say, context, ack }) => {

  if (message.user in authorized_users) {

//authorizing if the user who sent the message
 //some code to test the authenticity of the user who sent the message

    try {
      const response = await axios.get(`${url}someendpointhere`);
      await say(`:white_check_mark: Hello<EMAIL_ADDRESS>Thank you for pinging and the response is ${response.data} :white_check_mark:`);
    } catch (error) {
      await say(`:interrobang: Hello<EMAIL_ADDRESS>your request could not be processed. Make sure it is the right order number.Please text me back help to find the help!:interrobang:`);
    }

  } else {
    await say(`Hello<EMAIL_ADDRESS>you are not authorized to make the request. Please contact John Doe in the team! :interrobang:`);
  }
});

I am trying to send ack() or 200OK response to the user so that multiple requests are not made which will result in multiple responses (3 responses usually).

@mpadel78 - Ok, that's helpful, thank you! So you don't need to ack message events with bolt, or really any Events listed in the Events API.
It is only the case when when handling actions, commands, shortcuts, options and view submissions, that you must acknowledge the request from Slack by calling ack() within 3 seconds, so that doesn't look too related in this case.
As to why you're sending multiple messages to Slack, have you tried turning on debug logging to see if you can get more of an understanding of what might be causing the multiple messages? Is it possible your handler function is running multiple times, resulting in sending multiple messages?

Hi @srajiang debugging my code shows that there are two requests made from the slack. This article is similar to the problem I am facing.  https://medium.com/glasswall-engineering/how-to-create-a-slack-bot-using-aws-lambda-in-1-hour-1dbc1b6f021c
At the end of the article, the bot replies with two messages for all requests and the writer concludes as a bug in the bot. I am pretty sure this is the case for me as well.

When you run a bolt-js app with the processBeforeResponse: true option or AwsLambdaReceiver, your event listeners must complete within 3 seconds. The processBeforeResponse: true option lets your app hold off sending an HTTP response (what ack() does under the hood) to prevent the running lambda execution from being terminated by the AWS Lambda platform. Thus, for your use case, possible options are:

Complete the listener within 3 seconds for sure
Have a queue (SQS, Kinesis streaming, database table to manage async tasks, whatever you prefer) to run the time-consuming task asynchronously

Refer to my past comment for more details of possible solutions: https://github.com/slackapi/bolt-js/issues/1724#issuecomment-1405979510

Hi @seratch This is what I had initially.
export const handler = async (event, context, callback) => {
const handler = await awsLambdaReceiver.start();
return handler(event, context, callback);
};
Now I changed it to
export const handler = async (event, context, callback) => {

if (event.headers['X-Slack-Retry-Num']) {
  console.log(`retry header found !!!!!`)
    return {
        statusCode: 200,
        body: ''
    };
}
  const handler = await awsLambdaReceiver.start();
  return handler(event, context, callback);
};

Things seem to be working lately. Do you think I might run into a problem or this should work as expected for the long run too?

@mpadel78 As long as your app needs only app.event / app.message listeners, this approach works for you. However, if you add different types of listeners such as app.block / app.view etc., these listeners must complete within 3 seconds.
It seems that everything is clear now. Would you mind closing this issue?


Understanding model history after MIPRO optimizer

I am not sure as to how to interpret the model history for the MIPRO optimizer. Whenever I run the optimizer I get some logs that seems the input to the optimizer or teacher model:
For example:
You are an instruction optimizer for large language models. I will give you a signature of fields (inputs and outputs) in English. Specifically, I will give you some observations I have made about the dataset and task, along with some examples of the expected inputs and outputs. I will also provide you with the current basic instruction that is being used for this task.
Your task is to propose a new improved instruction and prefix for the output field that will lead a good language model to perform the task well. Don't be afraid to be creative.
Basic Instruction: blabalabla
Proposed Instruction: blabalbalbla
Proposed Prefix For Output Field: "Search Optimization Results:"
However after the optimization is done, If I inspect the model history via (turbo.inspect_history(n=1)).  I see the original prompt I created + some bootstrapped examples + few-shot examples (same as you would get with BootsrapFewShot).
What is being fed to the model exactly here? Why can't I see the proposed instruction in the model history?.
Thanks in advance!

Any help on this? Should I provide more information?

I'm not 100% sure I understand the question BUT the MIPRO optimizer is smart enough to keep the original instructions if, within its budget, it finds that generating new instructions is unnecessary/unhelpful. This may be happening in your case.

Thanks for the response! So it could be that MIPRO does not offer much more value over BootstrapFewShot?

I agree with the OP, this is rather unintuitive.

[I 2024-07-18 15:36:12,387] Trial 3 finished with value: 100.0 and parameters: {'139829881539552_predictor_instruction': 9, '139829881539552_predictor_demos': 3}. Best is trial 3 with value: 100.0.

The objhect returned by running teleprompter.compile includes a modified instruction, when using this object to make a prediction however, it always uses the original instruction.
I know MIPRO is deprecated, but MIPRO_v2 is pretty unstable in my case.


Add wsclient to public API

Moving wsclient to FireFly core's public API, to be potentially be leveraged by other plugins, sdk's, etc.

Moved wsclient under pkg instead of internal
Created a public WSConfig struct which defines websocket configuration

Created a new internal wsconfig package, which contains FF core specific config options and maps config.Prefix to WSConfig

Codecov Report

Merging #227 (d0c7a5a) into main (69c845f) will not change coverage.
The diff coverage is 100.00%.

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

@@            Coverage Diff            @@
##              main      #227   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files          206       206
  Lines        11159     11176   +17
=========================================
+ Hits         11159     11176   +17

Impacted Files
Coverage Δ

pkg/wsclient/wstestserver.go
100.00% <ø> (ø)

internal/blockchain/ethereum/config.go
100.00% <100.00%> (ø)

internal/blockchain/ethereum/ethereum.go
100.00% <100.00%> (ø)

internal/config/wsconfig/wsconfig.go
100.00% <100.00%> (ø)

internal/dataexchange/dxhttps/config.go
100.00% <100.00%> (ø)

internal/dataexchange/dxhttps/dxhttps.go
100.00% <100.00%> (ø)

internal/events/webhooks/webhooks.go
100.00% <100.00%> (ø)

internal/tokens/fftokens/config.go
100.00% <100.00%> (ø)

internal/tokens/fftokens/fftokens.go
100.00% <100.00%> (ø)

pkg/wsclient/wsclient.go
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


[Feature Request] Amazon JP Support

Amazon.co.jp can't use amazon.com's username/password.
(http://amazon.co.jp/clouddrive)
It seems to be managed independently.

Can you try again?  There have been problems with this in the past, but I think it takes a bit of time for the new account to be synced to amazon.com or something like that.
As far as I know there isn't a separate oauth for any of the non .com Amazon's.  I know that amazon.co.uk works and also amazon.de.

It works after change to another email address and change system language.
Thanks =)


Flag to enable react hot loader with default set to false

Do you want to request a feature or report a bug?
feature
What is the current behaviour?
no way to disable / not use react hot loader
If the current behaviour is a bug, please provide the steps to reproduce.

What is the expected behaviour?
react hot loader should be disabled by default
If this is a feature request, what is motivation or use case for changing the behaviour?
As per https://github.com/gaearon/react-hot-loader#preact it does not support HOCs. In our particular case we are using unistore and HMR is broken now. When a change is made, page displays a banner with message error hot update was not successful. This was working fine before react hot loader was added.
Please mention other relevant information.

Node version latest
npm version latest
Operating system windows
CLI version 3.0.0-next.16
Browser chrome

cc: @ForsakenHarmony

I mean you could submit a pr for it

done


CircuitPython support is ready for XIAO ESP32S3

Hello,
CircuitPython support is ready and just need seeedstudio to provide the specific VID / PID for this board
https://github.com/adafruit/circuitpython/issues/9507

Thank you very much, we will discuss this matter

@marcobrianza  Thank you so much for your support. Thank you again.


sr flight finder between arrival and departures cities for a specific date

server: server.js merge conflickt. No pull Development before PullReq done.
Imported Changes from server.js @development into origin/sr_Flightinformation_new


Add support for nullable arrays with infer_schema!.

Currently infer_schema! generates the this schema from this psql. Which is incorrect since the elements of the array could be null.
Sql
CREATE TABLE posts (
  id SERIAL PRIMARY KEY,
  title VARCHAR NOT NULL,
  body timestamptz[7] NOT NULL,
  published BOOLEAN NOT NULL DEFAULT 'f'
)

Generated schema
table! {
    posts (id) {
        id -> Int4,
        title -> Varchar,
        body -> Array<Timestamptz>,
        published -> Bool,
    }
}

To clarify, I want to continue to have the generated type be Array<Timestamptz>, but make sure that deserializing to Vec<Option<NaiveDateTime>> deserializes successfully. Even though considering it to be Array<Timestamptz> is technically incorrect, as it could in theory have a null in there, I want to provide some flexibility here. There is no way to represent whether the elements of an array can or cannot be null in postgres.

Since 2.0, Arrays always generate Array<Nullable>. See https://diesel.rs/guides/migration_guide.html#2-0-0-nullability-of-array-elements

Thanks for the headsup. We should have closed that issue a while ago.


Add dylib example

add dylib example project in example folder, including custom type, module

add dylib example project in example folder, including custom type, module

Rustler uses the .so extension when compiling on macOS. This differs from the default cargo behavior.

What about adding a mix task, similar to mix rustler.new?


Cleanup contributions view

Why
Updates the contributions view layout for browse (tile|list|map) buttons, tiles and list view items. Relates to #282.
Pre-Merge Checklist
All these boxes should be checked off before any pull request is merged!

[x] All new features have been described in the pull request
[x] Security & accesibility have been considered
[x] All outstanding questions and concerns have been resolved
[x] Any next steps that seem like a good ideas have been created as issues for future discussion & implementation
[x] High quality tests have been added, or an explanation has been given why the features cannot be tested
[x] New features have been documented, and the code is understandable and well commented
[ ] Entry added to CHANGELOG.md if appropriate

What

[x] Update browse view buttons
[x] Update Tile view
[x] Update list view

How
Update layout based on contributions mocks
Testing
Navigate to the /contributions view and visually inspect

if you have the time for this:

But also, not a big deal and we can address it at another point.


github/workflows: add workflow for uploading to PyPI

This will happen automatically when we tag the repo.
TODO:

[ ] Setup a token (preferably with a "bot" account, but I'm happy to generate a splinter-only token with my account)

@jsfehler @andrewsmedina let me know what yall think

@fsouza This is cool, it will make releases much less painful for everyone. As long as the pypi token isn't anyone's personal token,  let's merge it.

@fsouza This is cool, it will make releases much less painful for everyone. As long as the pypi token isn't anyone's personal token,  let's merge it.

Sounds good. I'm AFK right now, but later I'll generate a project token for splinter, configure the secret here and merge this PR.
I'll also do a test with --skip-existing before merging, just to make sure this works end to end.


Use Ubuntu 24

Beta is released. Let's use it then.
https://github.blog/changelog/2024-05-14-github-hosted-runners-public-beta-of-ubuntu-24-04-is-now-available/

done.


[ 33%] Building CXX object src/cpdetect/CMakeFiles/retdec-cpdetect.dir/compiler_detector/heuristics/macho_heuristics.cpp.o
distcc[12228] ERROR: compile /var/tmp/portage/dev-util/retdec-3.1/work/retdec-3.1/src/dwarfparser/dwarf_base.cpp on localhost failed
make[2]: *** [src/dwarfparser/CMakeFiles/retdec-dwarfparser.dir/build.make:63: src/dwarfparser/CMakeFiles/retdec-dwarfparser.dir/dwarf_base.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1712: src/dwarfparser/CMakeFiles/retdec-dwarfparser.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
In file included from /var/tmp/portage/dev-util/retdec-3.1/work/retdec-3.1/src/dwarfparser/dwarf_base.cpp:11:0:
/var/tmp/portage/dev-util/retdec-3.1/work/retdec-3.1/include/retdec/dwarfparser/dwarf_base.h:15:10: fatal error: libdwarf/dwarf.h: No such file or directory
#include <libdwarf/dwarf.h>
^~~~~~~~~~~~~~~~~~
compilation terminated.
distcc[12248] (dcc_build_somewhere) Warning: failed to distribute, running locally instead
[ 33%] Building CXX object src/cpdetect/CMakeFiles/retdec-cpdetect.dir/compiler_detector/heuristics/pe_heuristics.cpp.o
Scanning dependencies of target retdec-bin2pat
distcc[12253] (dcc_build_somewhere) Warning: failed to distribute, running locally instead
[ 33%] Building CXX object src/bin2pat/CMakeFiles/retdec-bin2pat.dir/bin2pat.cpp.o
distcc[12258] (dcc_build_somewhere) Warning: failed to distribute, running locally instead
In file included from /var/tmp/portage/dev-util/retdec-3.1/work/retdec-3.1/src/cpdetect/compiler_detector/heuristics/heuristics.cpp:9:0:
/var/tmp/portage/dev-util/retdec-3.1/work/retdec-3.1/include/retdec/fileformat-libdwarf-interface/bin_interface.h:18:10: fatal error: libdwarf/dwarf.h: No such file or directory
#include <libdwarf/dwarf.h>
^~~~~~~~~~~~~~~~~~
compilation terminated.
distcc[12243] ERROR: compile /var/tmp/portage/dev-util/retdec-3.1/work/retdec-3.1/src/cpdetect/compiler_detector/heuristics/heuristics.cpp on localhost failed
make[2]: *** [src/cpdetect/CMakeFiles/retdec-cpdetect.dir/build.make:115: src/cpdetect/CMakeFiles/retdec-cpdetect.dir/compiler_detector/heuristics/heuristics.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 70%] Built target retdec-llvmir2hll
[ 70%] Linking CXX executable retdec-bin2pat
[ 70%] Built target retdec-bin2pat
make[1]: *** [CMakeFiles/Makefile2:1357: src/cpdetect/CMakeFiles/retdec-cpdetect.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
 ERROR: dev-util/retdec-3.1::pentoo failed (install phase):
   emake failed

 If you need support, post the output of emerge --info '=dev-util/retdec-3.1::pentoo',
 the complete build log and the output of emerge -pqv '=dev-util/retdec-3.1::pentoo'.
 The complete build log is located at '/var/log/portage/dev-util:retdec-3.1:20180718-025036.log'.
 For convenience, a symlink to the build log is located at '/var/tmp/portage/dev-util/retdec-3.1/temp/build.log'.
 The ebuild environment file is located at '/var/tmp/portage/dev-util/retdec-3.1/temp/environment'.
 Working directory: '/var/tmp/portage/dev-util/retdec-3.1/work/retdec-3.1_build'
 S: '/var/tmp/portage/dev-util/retdec-3.1/work/retdec-3.1'
`

Maybe related to #357. Both of the issues have something to do with Pentoo and libdwarf. This issue:
fatal error: libdwarf/dwarf.h: No such file or directory

Issue #357:
No rule to make target 'libretdec-libdwarf.so'

dev-libs/libdwarf
https://gpo.zugaina.org/dev-libs/libdwarf  has been installed.. and packaged to chroot.
anycase been porting pentoo packages for use on Arm64 devices..  servers, Rock64 , rpi3 etc overlayed with gentoo images...  and pentoo overlay.. as pentoo is built on top of gentoo .
bash ebuild
Close
Copyright 1999-2018 Gentoo Foundation
Distributed under the terms of the GNU General Public License v2
EAPI=6
DESCRIPTION="The DWARF Debugging Information Format"
HOMEPAGE="https://www.prevanders.net/dwarf.html"
SRC_URI="https://www.prevanders.net/alpha-${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
IUSE=""
DEPEND="virtual/libelf"
RDEPEND="${DEPEND}"
src_install(){
emake DESTDIR="${D}" install
doheader libdwarf/dwarf.h libdwarf/dwarf.h
insinto /usr/include/libdwarf
doins libdwarf/dwarf.h libdwarf/libdwarf.h

}

A couple of notes:

RetDec uses its own version (fork) of libdwarf, located here. It is automatically downloaded and built during the build of RetDec. From what you have written, it seems that you are trying to use an upstream/vanilla version of libdwarf. This will not work. See also #356.
We have never tried building RetDec on ARM64, and we have no idea whether it works or not.
Also, see https://github.com/pentoo/pentoo-overlay/issues/258, which is an issue related to adding RetDec into pentoo-overlay.

as from the log , though I have the vanilla installed , ,
seems as if the one included with retdec , was attempting to build. but retdec build died..
was a long pony bet anyhow ... ( no idea whether it works or not.)
many of packages not marked for arm64 have surprisingly worked .
ARM64-8GB | 8 ARMv8 | 8 GB | 200 GB | 200 Mbits/s | €11.99/mo |€ 0.024/hr
https://www.scaleway.com/virtual-cloud-servers/#anchor_arm
need to get ,
https://www.pine64.org/?product=rockpro64-4gb-single-board-computer
https://www.pine64.org/?page_id=7147   need a few for Pentesting or Feild forensics , however more oomph than RPI3 ,
anycase i have no qualms testing further for arm64 , as it can have its uses , and not getting infected with x86 code trying to reverse always good..

We are sorry but we were unable to comprehend the problem based on your description. We are closing the issue for now because we do not know what to do with it from our side. If you want it solved, please open a separate ticket where you attach a Dockerfile containing all the instructions to reproduce the problem + a detailed description of the problem (what are you trying to achieve, what is the actual output, what is the expected output, etc.). Without a way of reproducing and understanding the problem, we cannot help you.

https://github.com/pentoo/pentoo-overlay/blob/master/dev-util/retdec/retdec-3.1.ebuild
Gentoo Linux overlay installed..
invalid ?
i attached the build logs from the arm64 host..
emerge -av dev-util/retdec  , the Ebuild runs (aka bash build scripts for Gentoo portage)
Dockerfile Gentoo arm64 on AMD64 qemu please....  so far we both stand greater chance of powerball wins.    less you hand build the docker , even feeding alpine-arm8-qemu with gentoo-arm64 chroot as entrypoint fails...  on dhub
https://github.com/necrose99/Docker-Gentoo-ARM64  or on hub/quay.io
(oh yes would love a GD emu setup that runs ... i've tried scores ,  but likewise i have a vanilla arm64-gentoo docker..  bare chroot and nothing else..    as proot qemu etc will royally... bone...  100's and 100's or tries..  since i'm an Admin and not a dev... ) --but not in the scope...
I am running on BARE METAL chroot hoost..  with Debian9 , /gentoo-arm64 on 2nd volume..
chroot /gentoo-arm64 /bin/bash &&  emerge -av (--ask --verbose)   or emerge dev-util/retdec
make.conf is figged for packages in /usr/portage/packages/dev-util retdec-version.tar.bzip2
would appear if successful...  as well package would installed to system chroot.
precompiled tarball could be deployed to  devices. out of tinderbox..

I took a look at that retdec-3.1.ebuild. As I wrote above, you cannot use dev-libs/libdwarf as RetDec uses its own version (fork) of libdwarf, located here. It is automatically downloaded and built during the build of RetDec. So, the first step would be to remove the dependency on dev-libs/libdwarf and lines like these:
#compile with system dwarf
sed "s|libdwarf|dwarf elf z|g" -i ./src/cpdetect/CMakeLists.txt
sed "s|libdwarf|dwarf elf z|g" -i ./src/dwarfparser/CMakeLists.txt

anycase whe have a winner in bumped ebuild
arm64 build
scw-0321f9 /usr/portage/packages/dev-util # ls
android-studio                           cppunit                       gtk-update-icon-cache             ninja-1.8.2.tbz2
android-studio-<IP_ADDRESS>.173.4720617.tbz2  ctags                         itstool                           ninja-1.8.2.tbz2.1
astyle                                   ctags-20170704.tbz2           jadx-bin                          nvidia-cuda-l4t
babeltrace                               debhelper                     jd-gui-bin                        nvidia-cuda-toolkit
boost-build-1.65.0.tbz2                  debhelper-9.20160814.tbz2     jd-gui-bin-1.4.0.tbz2             nvidia-cuda-toolkit-9.2.88.tbz2
btyacc                                   desktop-file-utils            jenkins-bin                       nvidia-cuda-toolkit-9.2.88.tbz2.28176
byacc                                    dex2jar                       jenkins-bin-2.121.tbz2            oprofile
cargo-0.27.0.tbz2                        dex2jar-2.1_pre20180402.tbz2  lttng-ust                         oprofile-1.2.0-r1.tbz2
catalyst                                 diffball                      mdds                              patchelf
catalyst-2.0.18-r1.tbz2                  diffball-1.0.1-1.xpak         meson                             patchutils
catalyst-2.0.18-r4.tbz2                  diffstat-1.61.tbz2            meson-0.46.1.tbz2                 patchutils-0.3.4.tbz2
catalyst-3.0.1-1.xpak                    direnv                        molecule-core                     plasma-9999.tbz2
catalyst-9999.tbz2                       edb-debugger                  molecule-core-1.0.2-r1-1.xpak     ragel
ccache                                   electron-bin-2.0.8.tbz2       molecule-plugins                  ragel-<IP_ADDRESS>-r1-1.xpak
ccache-3.3.4-r1.tbz2                     forego                        molecule-plugins-1.0.2-r1-1.xpak  re2c
ccache-3.3.4.tbz2                        gambas                        molecule-plugins-1.0.2-r1.tbz2    re2c-1.0.2-1.xpak
c-for-go                                 gdbus-codegen                 mottainai-agent                   retdec-3.2.tbz2
cmake                                    gengetopt                     mottainai-agent-9999.tbz2         scons
cmocka                                   glibc-2.26-r7.tbz2            mottainai-cli                     scons-3.0.1-r2-1.xpak
colm                                     glslang                       mottainai-cli-9999-1.xpak         shadowman
colm-<IP_ADDRESS>-1.xpak                     google-perftools              mottainai-cli-9999.tbz2           spirv-headers
confix                                   google-perftools-2.6.3.tbz2   mottainai-server                  systemtap
confix-wrapper                           gperf-3.1.tbz2                mottainai-server-9999-1.xpak      systemtap-3.1-r1.tbz2
cppcheck                                 gquilt-0.25-r1.tbz2           mottainai-server-9999.tbz2        vulkan-headers
cppcheck-1.81.tbz2                       gtk-doc                       ninja
scw-0321f9 /usr/portage/packages/dev-util #


Fixes a problem with the height of the chip label

There was a bug in the size calculation for the height of the chip label, where it would force the label to be larger than it wanted to be, causing text to not be vertically centered.

Is this worth marking the affected dev release as bad?

LGTM

No, I wouldn't hold up a release for this.  It's only cosmetic, and not really all that horrible: the label ends up being too high in the chip under some circumstances.


Write tests for the sim.v in some way.

Any idea how to test the sim.v files?

#59 probably needs to be solved first.


wsl: Unknown key 'interop.appendWindowsPath'

Windows Version
Microsoft Windows [Version 10.0.19044.2728]
WSL Version
<IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>-microsoft-standard-WSL2
Distro Version
Ubuntu-20.04
Other Software
No response
Repro Steps
.wslconfig:
[interop]
appendWindowsPath = false

PS> wsl --shutdown
PS> wsl
wsl: Unknown key 'interop.appendWindowsPath' in $HOME\.wslconfig:2

Expected Behavior
I'd expect the global interop to work via .wslconfig.
Actual Behavior
It looks like that the interop configuration was removed from the global .wslconfig and only per-distribution wsl.conf supports it.
Which is a pity, really, because now I have to (not to forget to) distribute the interop config to all my VMs. Why would the global interop hurt anyone so it had to be removed?
Diagnostic Logs
No response

Thanks for the issue - the appendWindowsPath setting is a per-distro setting and only for /etc/wsl.conf.

@pravic  makes a good point

There was no verdict here? I still notice these erorrs pop up in Event Viewer to this day ...


Question about License

Hi,
could you upload the license of this dataset? We are planning to include it into our paper but can't find the license.
Thanks.

License added in #7.

Thanks a lot!


Watchman dependency not mentioned on the first getting started page

I followed the instructions
Then run the following commands to create a new React Native project called "AwesomeProject":
create-react-native-app AwesomeProject

cd AwesomeProject
npm start

However it didn't work because there was no mention of watchman (in this page specifically)
Is it possible to add that?
https://facebook.github.io/react-native/docs/getting-started.html

There's several permutations depending on the platform you're developing on and the platform you're targeting. Can you tell us more about which version of the guide you followed? Watchman is mentioned in the iOS and macOS version of the guide, for example.

Sorry - you're following the Quick Start it seems. Watchman should not be required by CRNA unless something changed recently. Can you tell us more about what did not work?

@hramos - it seems that on some machines it's needed :\ if we're unable to start the packager due to fs event notif limits we do provide specific instructions for how to get it work without watchman and also link to watchman -- https://github.com/react-community/create-react-native-app/blob/882f1d23766b827429b2b1fbfd4afc513796a652/react-native-scripts/src/util/packager.js#L77-L116
the bet we're making here is that people will have less problems not installing watchman and following the error message than they will if they try to install watchman (which people often have problems with on Windows/Linux). neither solution is perfect. ideally we'd bundle something like watchman (perhaps even watchman itself) in CRNA and scope it so it doesn't deal with any global system state

cc @dikaiosune

Yeah I tried to run it on my mac book air (I think its like an 09 or something)
I'll uninstall watchman a bit later and get the error message back if you need however I found the error was caused by not having watchman on my machine which worked fine after installing it
In regards to watchman being purposely left out of the docs, feel free to close this issue.
I just thought I'd create it incase you weren't aware of the error message

This should probably be tracked somewhere else (metro maybe?) but it would be very nice to either replace watchman with a non-global per-process watcher, or to bundle watchman as platform specific npm packages and use its --state-dir and --foreground flags to isolate it to a specific packager instance. This would get people more accurate file watching without needing to install it separately from CRNA and without the global state debugging dance that usually comes with watchman's default configuration.

@814k31 you can close this issue, watchman is already mentioned!


Empty UI when playing a podcast episode

Is your feature request related to a problem? Please describe.
If I listen to a podcast on my phone, then switch to spotify_player on my laptop, then spotify_player doesn't show anything about the active episode. I can play it or pause it alright (never tried more), but there's nothing displayed about it. This is pretty confusing.
Describe the solution you'd like
Basic information about the current episode should be displayed.
Describe alternatives you've considered
None.
Additional context
There's actually no need for full support for podcasts here (although that could be nice). Just, you know, show what's currently playing :)

Screenshot
Quick example: a podcast is playing (as shown in the Spotify Web UI), the current player is spotify_player on my laptop (device name "Magni"), but nothing is visible in the "Playback" section of the TUI:

I tried working on this but I'm afraid I don't have enough knowledge of rust or this project to add this change.
But this is a nice pointer for someone that might want to continue working on this later.

[!NOTE]
This is the first time ever for me to try my hand at a rust project, so if my code is wrong in some places and there is a better optimalisation for this, feel free to criticize it (so I can learn from it) and to suggest a different approach.

So first off this seemed like a nice first issue because my thought was that I should just change the formatted strings in the playback area to the right info for a podcast. This was relatively easy, although I did expect some polymorphism between FullEpisode types (the type for a podcast episode) and the FullTrack types, which there wasn't really.
I want to document my changes here for future reference (there's probably an easier way to do this using git, but I haven't really pushed anything so I figured I'd just so the diffs here)
First off I created a new struct in model.rs, this was not really necessary but it kept a clear overview for me as to what the changes were between episodes and tracks.
// a wrapper for tracks and episodes so we have a general talking point for the program to retrieve
// info from these two PlayableItems
pub struct PlayableItemWrapper {
    pub item: rspotify_model::PlayableItem,
}

impl PlayableItemWrapper {
    pub fn new(playable_item: &rspotify_model::PlayableItem) -> Self {
        PlayableItemWrapper {
            item: playable_item.clone()
        }
    }

    pub fn images(&self) -> &Vec<rspotify::model::Image> {
        match &self.item {
            rspotify::model::PlayableItem::Track(track) => &track.album.images,
            rspotify::model::PlayableItem::Episode(show) =>&show.images
        }
    }

    pub fn duration(&self) -> chrono::Duration {
        match &self.item {
            rspotify_model::PlayableItem::Track(track) => track.duration,
            rspotify_model::PlayableItem::Episode(episode) => episode.duration,
        }
    }

    // formats the track name for the owned PlayableItem
    pub fn trackformat(&self) -> String {
        match &self.item {
            rspotify_model::PlayableItem::Track(track) => {
                if track.explicit {
                    format!("{} (E)", track.name)
                } else {
                    track.name.clone()
                }
            },
            rspotify_model::PlayableItem::Episode(episode) => {
                if episode.explicit {
                    format!("{} (E)", episode.name)
                } else {
                    episode.name.clone()
                }
            },
        }
    }

    // formats the artists or podcast hosts for the owned PlayableItem
    pub fn artistsformat(&self) -> String {
        match &self.item {
            rspotify_model::PlayableItem::Track(track) => {
                crate::utils::map_join(&track.artists, |a| &a.name, ", ")
            },
            rspotify_model::PlayableItem::Episode(episode) => {
                episode.show.publisher.clone()
            }

        }
    }

    // formats the album or show name for the owned PlayableItem
    pub fn albumformat(&self) -> String {
        match &self.item {
            rspotify_model::PlayableItem::Track(track) => track.album.name.clone(),
            rspotify_model::PlayableItem::Episode(episode) => episode.show.name.clone()
        }
    }
}

I also implemented a new function to get the right image url for any vector of images in utils.rs:
pub fn get_image_url(images: &Vec<rspotify::model::Image>) -> Option<&str> {
        if images.is_empty() {
            None
        } else {
            Some(&images[0].url)
        }
 }

Then I changed some things for the function render_playback_window and the private functions it called in the same file, here I use most of the previously seen methods implemented via the new struct PlayableItemWrapper:
@@ -15,7 +15,8 @@ pub fn render_playback_window(

     let player = state.player.read();
     if let Some(ref playback) = player.playback {
-        if let Some(rspotify::model::PlayableItem::Track(ref track)) = playback.item {
+        if let Some(ref item) = playback.item {
+            let item_wrapper = PlayableItemWrapper::new(item);
             let (metadata_rect, progress_bar_rect) = {
                 // allocate the progress bar rect
                 let (rect, progress_bar_rect) = {
@@ -48,7 +49,7 @@ pub fn render_playback_window(
                             (hor_chunks[1], ver_chunks[0])
                         };

-                        let url = crate::utils::get_track_album_image_url(track).map(String::from);
+                        let url = crate::utils::get_image_url(item_wrapper.images());
                         if let Some(url) = url {
                             let needs_clear = if ui.last_cover_image_render_info.url != url
                                 || ui.last_cover_image_render_info.render_area != cover_img_rect
@@ -98,16 +99,16 @@ pub fn render_playback_window(
             };

             if let Some(ref playback) = player.buffered_playback {
-                render_playback_text(frame, state, ui, metadata_rect, track, playback);
+                render_playback_text(frame, state, ui, metadata_rect, item, playback);
             }

             let progress = std::cmp::min(
                 player
                     .playback_progress()
                     .context("playback should exist")?,
-                track.duration,
+                item_wrapper.duration()
             );
-            render_playback_progress_bar(frame, state, ui, progress, track, progress_bar_rect);
+            render_playback_progress_bar(frame, state, ui, progress, item, progress_bar_rect);
         } else {
             tracing::warn!("Got a non-track playable item: {:?}", playback.item);
         }
@@ -143,17 +144,19 @@ pub fn render_playback_window(
     Ok(())
 }

+
 fn render_playback_text(
     frame: &mut Frame,
     state: &SharedState,
     ui: &UIStateGuard,
     rect: Rect,
-    track: &rspotify_model::FullTrack,
+    track: &rspotify_model::PlayableItem,
     playback: &SimplifiedPlayback,
 ) {
     // Construct a "styled" text (`playback_text`) from playback's data
     // based on a user-configurable format string (app_config.playback_format)
     let format_str = &state.configs.app_config.playback_format;
+    let item_formatter = PlayableItemWrapper::new(track);

     let mut playback_text = Text::default();
     let mut spans = vec![];
@@ -192,19 +195,15 @@ fn render_playback_text(
                     } else {
                         &state.configs.app_config.play_icon
                     },
-                    if track.explicit {
-                        format!("{} (E)", track.name)
-                    } else {
-                        track.name.clone()
-                    }
+                    item_formatter.trackformat()
                 ),
                 ui.theme.playback_track(),
             ),
             "{artists}" => (
-                crate::utils::map_join(&track.artists, |a| &a.name, ", "),
+                item_formatter.artistsformat(),
                 ui.theme.playback_artists(),
             ),
-            "{album}" => (track.album.name.to_owned(), ui.theme.playback_album()),
+            "{album}" => (item_formatter.albumformat(), ui.theme.playback_album()),
             "{metadata}" => (
                 format!(
                     "repeat: {} | shuffle: {} | volume: {} | device: {}",
@@ -237,13 +236,14 @@ fn render_playback_progress_bar(
     state: &SharedState,
     ui: &mut UIStateGuard,
     progress: chrono::Duration,
-    track: &rspotify_model::FullTrack,
+    track: &rspotify_model::PlayableItem,
     rect: Rect,
 ) {
+    let track_wrapper = PlayableItemWrapper::new(track);
     // Negative numbers can sometimes appear from progress.num_seconds() so this stops
     // them coming through into the ratios
     let ratio =
-        (progress.num_seconds() as f64 / track.duration.num_seconds() as f64).clamp(0.0, 1.0);
+        (progress.num_seconds() as f64 / track_wrapper.duration().num_seconds() as f64).clamp(0.0, 1.0);

     match state.configs.app_config.progress_bar_type {
         config::ProgressBarType::Line => frame.render_widget(
@@ -254,7 +254,7 @@ fn render_playback_progress_bar(
                     format!(
                         "{}/{}",
                         crate::utils::format_duration(&progress),
-                        crate::utils::format_duration(&track.duration),
+                        crate::utils::format_duration(&track_wrapper.duration()),
                     ),
                     Style::default().add_modifier(Modifier::BOLD),
                 )),
@@ -268,7 +268,7 @@ fn render_playback_progress_bar(
                     format!(
                         "{}/{}",
                         crate::utils::format_duration(&progress),
-                        crate::utils::format_duration(&track.duration),
+                        crate::utils::format_duration(&track_wrapper.duration()),
                     ),
                     Style::default().add_modifier(Modifier::BOLD),
                 )),

Now after these changes I figured it would work and the Playback UI section would no longer be empty if I reran cargo.
Unfortunately it didn't work.
I looked in the logs and saw the following (I added the upper warning with every event change for more clarity):
2024-04-01T14:24:16.676929Z  WARN spotify_player::streaming: Got event Changed { old_track_id: SpotifyId { id:<PHONE_NUMBER>49660149588610714563232636154, audio_type: Track }, new_track_id: SpotifyId { id:<PHONE_NUMBER>58321251011372098311617213191, audio_type: Podcast } }
2024-04-01T14:24:16.677344Z  WARN spotify_player::streaming: Failed to convert a `librespot` player event into `spotify_player` player event: InvalidType

It seems the program doesn't recognize the PlayerEvent, why this is is easily seen by taking a look at streaming.rs,  we only support the type TrackId whenever an event changes, in the case of a podcast the id is of the type EpisodeId or ShowId (sorry I didn't check). I didn't dare to change this because I don't really know how to do this cleanly while preserving the code structure, therefore I think this is better left to someone who has more experience with the project or rust. If there is an easy fix for this (i.e. casting an EpisodeId into a TrackId somewhere if that's possible in rust) then by all means suggest it and I'll see if I can still implement it.


Update to latest MONDO?

There's a new release:
https://github.com/monarch-initiative/mondo/releases/tag/current
Should I update every time I see a release or would some notice and planning be a good plan?
Permanent link for the release: https://github.com/monarch-initiative/mondo/releases/tag/v2020-08-10

I don't need any notice, so whenever you are ready. I probably have quite a few fixes in this one. As time goes by we probably don't need to update to every single new release because we will be pretty stable. There is quite a lot of churn right  now as ontology fixes are implemented.

Now that I've looked, I completely forgot that I had changed the load script to grab the latest OBO file automatically.  :-)
So sorry for the pointless issue.  The new MONDO is in tonight's load.


feat: rename /clipboard to /paste

This accomplishes two things:

It is now clear that /paste adds to chat from clipboard, instead of the other way around
/clear is now the only command starting with cl, making it easier to complete unambiguously

Thanks!


Does Not Always Activate

Issue Type: Bug
Inconsistently, when I open up VSCode, pylance does not automatically turn on. When I close the IDE and then reopen it, it will then be activated. When I go to the extensions to try and manually enable it, it is greyed out, and I cannot activate the extension.
Extension version: 2021.5.5-pre.1
VS Code version: Code - Insiders 1.57.0-insider (541a5d4fa70ab3095f23b28b88914e1f6a8f65c4, 2021-05-28T10:00:38.762Z)
OS version: Darwin x64 19.6.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-5557U CPU @ 3.10GHz (4 x 3100)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
8, 11, 8

Memory (System)
16.00GB (0.28GB free)

Process Argv
here1/ --crash-reporter-id 88cd5646-8e9f-4eb2-a69e-216ccc12317b

Screen Reader
no

VM
0%

A/B Experiments
vsliv695:30137379
vsins829:30139715
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
pythonvspyt602:30291494
vspor879:30202332
vspor708:30202333
vspor363:30204092
vstes627:30244334
pythonvspyt639:30291487
pythontb:30258533
pythonvspyt551:30291412
vspre833cf:30267465
pythonptprofiler:30281269
vshan820:30294714
pythondataviewer:30285072
vscus158cf:30286554
pythonvsuse255:30303025
vscgsv2:30305091
vscorehov:30301224
vscod805cf:30301675
vscextlangct:30310089

I believe pylance gets triggered when you open a python related file.  Are you opening a python file as well?

Yes. Specifically opening files with a .py extension. Also, I always open vscode from the command line using $ code-insiders <DIR NAME>

Do you know if the Python extension is loading? Could you please add the logs to help us get to the root of the problem? https://github.com/microsoft/pylance-release/blob/main/TROUBLESHOOTING.md#filing-an-issue.
thanks

It's been about a month since we asked for logs; if you can provide them (or, the Python extension logs or developer tools logs if no "Python Language Server" logs appear), then we can reopen this, but as presented we can't really do anything here.


Get Object Index

Hello There,
I wish to enumerate the items added, without using the awesome nested fields i can do it using the f.options[:index], but with awesome_nested_fields it brings me a random value.
Is there some way to do it without fill my code with a lots of javascript?
Thank you. :)

same problem, here, did you solve it?

Unfortunaly, still nothing. :(

well, i ended up creating my own code instead of using this gem


[HELP] bind

Does anyone know how to convert this csgo lj bind to osiris?
I want to use it together with edgejump
bind:
alias +ljbind "+duck;+jump;-forward;+klook"
alias -ljbind "-duck;-jump;-klook"
bind space "+ljbind"

i know that, i just showed how bind works, i have actually made it work in osiris but it only works when edgejump is not jumping from somewhere. so I wanted to know how do I make the two features work together
sry for bad english


BUG:  Undefined - due to inconsistent use of a class' _this when using different method syntaxes

TypeScript Version: whichever version is currently running in TypeScript Playground (2.3 I think)
Code
class MyClass {
    property: string = "Hello";

    print1 = () => console.log("print1, this.property = ", this.property);

    print2 = function() {
        console.log("print2, this.property = ", this.property);
    }

    print3() {
        console.log("print3, this.property = ", this.property);
    }
}

let myClass = new MyClass();
let lambda: () => void;

lambda = myClass.print1;
lambda();

lambda = myClass.print2;
lambda();

lambda = myClass.print3;
lambda();

Expected behavior:
(Console Output)

print1, this.property =  Hello
print2, this.property =  Hello
print3, this.property =  Hello

Actual behavior:
(Console Output)

print1, this.property =  Hello
print2, this.property =  undefined
print3, this.property =  undefined

Comments
While print1 (the method that was defined in MyClass as an 'expression bodied member') works as expected, the other two syntaxes result in what appears to be buggy behaviour.
I looked into why this was the case. See below for the transcompiled javascript for defining MyClass.
var MyClass = (function () {
    function MyClass() {
        var _this = this;
        this.property = "Hello";
        this.print1 = function () {
            return console.log("print1, this.property = ", _this.property);
        };
        this.print2 = function () {
            console.log("print2, this.property = ", this.property);
        };
    }
    MyClass.prototype.print3 = function () {
        console.log("print3, this.property = ", this.property);
    };
    return MyClass;
}());

The problem is related to use of the keyword 'this', which obviously varies based on the calling context.
You can see an attempt to solve the issue by storing a '_this' variable to capture the MyClass context. However '_this' is only dereferenced by print1, while print2 and print3 utilize the 'this' keyword directly.
When called normally (not by assigning the function to a variable and invoking) 'this' refers to MyClass. However, when called through a lambda variable, 'this' ends up referring to the global Window object. This was the context at the time of lambda initialisation.
It seems that this inconsistent behaviour could be avoided through use of a '_this' variable in the transcompiled javascript, as has been used in print1.

This is expected and proper behavior. Only the print1 = () => syntax can be called like that without .bind()ing.

Thanks for the response. But why is this accepted as proper behaviour? What benefit is provided that offsets the confusion of having an apparently normal syntax for instance methods, but which result in not actually refering to the class instance?

Unfortunately this behavior is from Javascript. Since all JS is valid TS, TS needs to follow that behavior. In JS, 'this' is determined in how you call a function and () => is a newer syntax (and semantics) that does not have that 'problem'.

Cool, thanks for explaining why the fat arrow syntax behaves differently to the others


Flet and Google Colab

Please tell me in detail, step by step, with example commands and example code, using the information from these two articles, how to use Flat in Google Colab.
https://flet.dev/docs/guides/python/deploying-web-app/hosting-providers/self-hosting
https://saturncloud.io/blog/is-there-a-general-way-to-run-web-applications-on-google-colab/
import flet as ft
def main(page: ft.Page):
t = ft.Text(value="Hello, world!", color="green")
page.controls.append(t)
page.update()
ft.app(target=main, view=ft.AppView.WEB_BROWSER)

Hi, is this issue still open. Please, can I have the opportunity to work on this issue.

Try this? https://github.com/flet-dev/flet/discussions/2893#discussion-6381813

Hello. Yes, I still need help.

up


unbreaking at specific level doesn't work

For fabric 1.20.1, setting it to only giving unbreakable for a specific level of unbreaking doesn't work properly. It always gives the unbreakable tag for items with unbreaking at the desired level but also for the higher levels. So if I set it to only be unbreakable at level 2, level 2 and 3 would be unbreakable.

yes that's the intended effect of that setting

it literally says at that specific level though, not at that specific level or above

okay i'll make the description for that option more clear then

If it would be possible it would be great if you could add an option for it to only work on one specific level of unbreaking. If not that is fine but there are literally no other good/working mods for unbreakable tools for fabric out there that also still allow for the normal unbreaking to exist.

would this new option override both the "max level only" and "unbreakable at level" options?

Yes. Like you would set it to "unbreakable at unbreaking level 2" and then only items enchanted with unbreaking level 2 would become unbreakable and unbreaking level 1 and 3 would still act normally.

okay thanks

Did you update the download for the mod on modrinth or curseforge? Also thank you so so much for actually adding what I suggested. <3

yeah i've uploaded it to curseforge (although the files haven't been approved yet) and i'm currently uploading it to modrinthn and no problem at all :D

ty <3 <3


Feeds API getting data

I've been trying to get the data out of the get_feed_submission list here:
feedlist = feeds_api.get_feed_submission_list
for which there is the normal object response at some address...
<bound method Feeds.get_feed_submission_list of <mws.mws.Feeds object at 0x11a586080>>
However whenever I try to get the data using the usual methods I can't seem to get them to work.
something = feedlist.response
AttributeError: 'function' object has no attribute 'response'
something1 = feedlist.original
AttributeError: 'function' object has no attribute 'original'
somehting2 = feedlist.parsed
AttributeError: 'function' object has no attribute 'parsed'
so I was wondering how to get the data from this feeds object

I assume your instance of the Feed API class is feeds_api. In which case, .get_feed_submission_list() is a method of this class.
Here is current code for that method in master branch:
https://github.com/python-amazon-mws/python-amazon-mws/blob/6c67339c5a1f99937c60f809526ce06a4ada460e/mws/mws.py#L353-L369
Note: On 1.0 release, we're planning some changes to argument names across the board. Following is the set of arguments as they currently appear on develop branch:
https://github.com/python-amazon-mws/python-amazon-mws/blob/6e838f950693225360b9c3a202c676fae14a0e25/mws/apis/feeds.py#L47-L49

As you can see from your errors:
somehting2 = feedlist.parsed
AttributeError: 'function' object has no attribute 'parsed'

You are attempting to operate on the function object feeds_api.get_feed_submission_list. Instead, you will need to call that method, using feeds_api.get_feed_submission_list(...), replacing ... with any of the above arguments you'd like.
See MWS documentation for the GetFeedSubmissionList method for what Amazon expects for the different data points.


Fix credential-by-value

Fixes #273.

It appears that something is wrong with the commits. Could it be that your changes were committed --amend to the latest merge commit?

I've taken the liberty to force-push a version that has an actual commit in there.

I have now tested this and it works on self-interop. Let's see if we can even squeeze one more interop test into this hackathon.

We're not there yet: from interop, we did {/kccs/14: <<{...}>>} while Marco (and the IANA registry) say it is {/kccs/14: {...}}

Final part of the fix provided in PR #281.


Create nrprise's Harvest, AL file

Why bullets? Who knows.

[ ] Something to do.

leave a general comment


Errors trying to PUT doc to Cloudant via HTTPS

This started happening all of the sudden at Mon, Feb 12, 2018 at 10:00 AM, with no known changes on my end.  I'm not sure if Cloudant changed something on their end.  I filed a support issue with them, but got the response:

Can you reproduce the problem using the Cloudant API or any of the supported client libraries that are listed at
https://console.bluemix.net/docs/services/Cloudant/libraries/supported.html#supported-client-libraries
There should be no difference in the result of requests whether the protocol used is HTTP or HTTPS.

After digging into it, I'm able to reproduce with this test code:
https://github.com/tleyden/keynuker/blob/18143d259c6711aacf0e4e75af84d5501b143df7/write_doc_test.go#L16-L105
The errors in the logs are: https://gist.github.com/tleyden/bde26a0fe25eae17a752d5e636547318 (which includes some log messages that I haven't pushed up to github)
and I'm on the following commits for the go-kivik driver libraries:

go-kivik/couchdb commit b05fce5e384b7a2b51a9dd698065042f66c322d4  Tue Dec 26 15:21:07 2017 +0100 (I later updated to 74d231fe43245e77840213724894264f0f61ffd3)

go-kivik/kivik commit d573df18e22d55cffe07dd8dc43c0aac2104b91a Fri Dec 22 19:31:25 2017 +0100 (I later updated to 9f4809d02c708b15465454aeef571901c4f9917b)

If I switch to HTTP, with no other changes, the problem goes away.  Here are the logs from that same test after switching to HTTP: https://gist.github.com/tleyden/2c4ec6dbee9d0b4dfa9e606ea647e0e8

This workaround in https://github.com/go-kivik/couchdb/blob/master/chttp/chttp.go#L166-L185 seems to fix it:
// DoReq does an HTTP request. An error is returned only if there was an error
// processing the request. In particular, an error status code, such as 400
// or 500, does _not_ cause an error to be returned.
func (c *Client) DoReq(ctx context.Context, method, path string, opts *Options) (*http.Response, error) {
	if method == "" {
		return nil, errors.Status(kivik.StatusBadRequest, "chttp: method required")
	}
	var body io.Reader
	if opts != nil {
		if opts.Body != nil {
			body = opts.Body
		}
	}

	// read the whole body into a string

	var destBody io.Reader
	destBody = body

	if body != nil {

		entireBody, err := ioutil.ReadAll(body)
		if err != nil {
			log.Printf("Error reading body: %v", err)
		}
		log.Printf("body size: %d bytes", len(entireBody))

		body2 := bytes.NewBuffer(entireBody)
		destBody = body2

	}

	req, err := c.NewRequest(ctx, method, path, destBody)
	if err != nil {
		return nil, err
	}
	fixPath(req, path)
	setHeaders(req, opts)

	response, err := c.Do(req)
	return response, netError(err)
}

Logs: https://gist.github.com/tleyden/d5f65db9d39e08e581b274515a235442

Thanks for reporting this. I'll try to reproduce it myself to come to an understanding of the root cause, and come up with an ideal fix.

Hi. the root cause is not sending a Content-Length header.
At cloudant we have haproxy 1.8.x in front, providing http/2 support. I reported the problem to haproxy at<EMAIL_ADDRESS>and Willy agrees that haproxy should convert http/2 request bodies to the http 1.1 chunked transfer encoding.
the http/2 spec allows you to omit Content-Length header but does not prohibit it. In my tests, simply adding the Content-Length header (with the right value, of course) fixes this issue. Other http tools, like curl, send this header even for http/2.

Thanks for explanation, @rnewson. That should be easy enough to fix.

I finally have some time today to look into this, and my first step is to investigate whether an alternative to the Content-Length header can be reasonably used, to avoid having to read the entire response into a buffer before sending it to the server.  @rnewson, it looks like you've already done some research on this, with respect to the haproxy issue linked above.  Have you found any reasonable alternative?  Would a Content-Encoding: chunked header, for instance, work around the problem?
For most HTTP requests, reading the entire request body into memory to calculate the size won't be a big deal, but for some requests (documents with large attachments, bulk POSTs, etc), it would obviously be desirable not to have to calculate the request size ahead of time.
If chunked encoding won't work for these requests, I may look into a method for optionally enabling the behavior of pre-calculating the request length, so that non-Cloudant/haproxy users won't be penalized.

The existing test suite for Kivik fails against Cloudant, as explained in this issue.  For example:
$ go test ./test -v -run=TestCloudant/CreateDoc/RW/group/Admin/WithID
=== RUN   TestCloudant
=== RUN   TestCloudant/CreateDoc
=== RUN   TestCloudant/CreateDoc/RW
=== RUN   TestCloudant/CreateDoc/RW/group
=== RUN   TestCloudant/CreateDoc/RW/group/Admin
=== RUN   TestCloudant/CreateDoc/RW/group/Admin/WithID
--- FAIL: TestCloudant (2.55s)
        test.go:403: Connecting to<EMAIL_ADDRESS>...
        test.go:415: Connecting to https://4cf04ee5-64ee-4c87-8853-4a171963b5a1-bluemix.cloudant.com/ ...
    --- FAIL: TestCloudant/CreateDoc (0.61s)
        --- FAIL: TestCloudant/CreateDoc/RW (0.61s)
            --- FAIL: TestCloudant/CreateDoc/RW/group (0.00s)
                --- FAIL: TestCloudant/CreateDoc/RW/group/Admin (0.00s)
                    --- FAIL: TestCloudant/CreateDoc/RW/group/Admin/WithID (0.20s)
                        kt.go:261: Unexpected failure: 400/Bad Request: Missing request body
FAIL
exit status 1
FAIL    github.com/go-kivik/couchdb/test        2.552s

@tleyden's work-around linked above is confirmed to fix it, but this not an ideal solution in my opinion, as it will make handling large requests inefficient, so I'm continuing to look for an alternative. Suggestions welcome!

Downgrading the connection to HTTP 1.1 solves the problem, too:
$ GODEBUG=http2client=0 go test ./test -v -run=TestCloudant/CreateDoc/RW/group/Admin/WithID
=== RUN   TestCloudant
=== RUN   TestCloudant/CreateDoc
=== RUN   TestCloudant/CreateDoc/RW
=== RUN   TestCloudant/CreateDoc/RW/group
=== RUN   TestCloudant/CreateDoc/RW/group/Admin
=== RUN   TestCloudant/CreateDoc/RW/group/Admin/WithID
--- PASS: TestCloudant (4.08s)
        test.go:403: Connecting to<EMAIL_ADDRESS>...
        test.go:415: Connecting to https://4cf04ee5-64ee-4c87-8853-4a171963b5a1-bluemix.cloudant.com/ ...
    --- PASS: TestCloudant/CreateDoc (1.22s)
        --- PASS: TestCloudant/CreateDoc/RW (1.22s)
            --- PASS: TestCloudant/CreateDoc/RW/group (0.00s)
                --- PASS: TestCloudant/CreateDoc/RW/group/Admin (0.00s)
                    --- PASS: TestCloudant/CreateDoc/RW/group/Admin/WithID (0.82s)
PASS
ok      github.com/go-kivik/couchdb/test        4.087s

I don't believe there's any supported way to disable HTTP/2 in the Go http package beyond that debug flag, though.

I found a way to disable HTTP/2 support on a per-request basis.  #80 provides a POC, and a work-around (probably more efficient than yours, @tleyden--if you're inclined to try my approach, I'd be curious to hear any feedback).
Next step is probably to use the work-around only for affected requests (i.e. PUT and POST requests), so that all others can still benefit from HTTP/2, where applicable.
Then I need to devise a method to either auto-detect when the work-around is appropriate (can probably be done by detecting Cloudant headers in HTTP responses), or enabling the work-around with some sort of configuration, or possibly both options.

@flimzy I just tested, a chunked transfer encoding is handled even worse, a new and separate haproxy bug which I will report.
I'm not familiar with Go at all but I'm looking at https://github.com/go-kivik/couchdb/blob/master/db.go#L294. Is it not possible to cheaply calculate the serialized size of doc as you have it right there? I appreciate you can't calculate Content-Length for a streamed input, but you could in all cases where you have the data as a variable.
The real fix will be for haproxy. Clearly it doesn't do the right thing for http/2 -> http 1.1 request bodies.

I'm not familiar with Go at all but I'm looking at https://github.com/go-kivik/couchdb/blob/master/db.go#L294. Is it not possible to cheaply calculate the serialized size of doc as you have it right there?

Unfortunately, no. That call to chttp.EncodeBody returns a stream, which is serialized in real-time in a go routine, as the request is being sent.  See the function here.
I would be fairly straight forward to change that function to return an extended interface, which provides a Content-Length value, when it is easily calculated (i.e. when the input is of type []byte, string, or json.RawMessage), but these are neither common nor expensive, so probably not worth it, at least at this stage.  All other input types (the default case) are serialized by the json stream encoder in real-time.

hmm, fair enough.
I'm obviously tracking the progress on the haproxy mailing list and at some point I'll either have a fix to deploy or will have to temporarily disable http/2 at Cloudant. Almost all the http/2 requests are from browsers, rather than http client libraries like this one. I might see if I can enable it selectively.

@tleyden I just had another thought.  I added the couchdb.SetTransport method in response to #252, which needed to set custom TLS configuration. But a custom transport can also be used to disable HTTP/2 (as #80 demonstrates, in a very crude manner).  So perhaps this would be a reasonable work-around until haproxy/Cloudant are working properly.  Please let me know your thoughts.
Something like this:
client, err := kivik.New(context.TODO(), "couch", "http://localhost:5984/")
if err != nil {
    panic(err)
}

setXport := couch.SetTransport(&http.Transport{
    	Proxy: http.ProxyFromEnvironment,
    	DialContext: (&net.Dialer{
    		Timeout:   30 * time.Second,
    		KeepAlive: 30 * time.Second,
    		DualStack: true,
    	}).DialContext,
    	MaxIdleConns:          100,
    	IdleConnTimeout:       90 * time.Second,
    	TLSHandshakeTimeout:   10 * time.Second,
    	ExpectContinueTimeout: 1 * time.Second,
    	// a non-empty TLSNextProto map disables HTTP/2 support
    	TLSNextProto: map[string]func(string, *tls.Conn) http.RoundTripper{},
    }
})

if err = client.Authenticate(context.TODO(), setXport); err != nil {
	return nil, err
}

A fix has appeared in haproxy https://git.haproxy.org/?p=haproxy-1.8.git;a=commit;h=05657bd24ebaf20e5c508a435be9a0830591f033

Thanks for the update @rnewson!  I think that means this issue can now be closed. If any further work is needed, that the work around I proposed above does not address, please feel free to re-open this issue.

Great!
@flimzy did you still want me to look into that workaround mentioned in https://github.com/go-kivik/couchdb/issues/79#issuecomment-372054715?

I'm waiting for a tagged release (1.8.9, presumably) before beginning the upgrades, but agree that the ticket can close.

1.8.9 is out and includes the fix, so we're deploying that this week.


Include Dice Formulas in Messages

Is your feature request related to a problem? Please describe.
When rolling in PF2e, the only thing that is sent to Discord is the final result. You may roll "2d10+2d6+1d10", but you only see a "22"
Describe the solution you'd like
Send the formula that was used to roll the dice. It can be easily accessed from rolls[index].formula
Additional context
You may want to provide a setting to hide these (?)

Was gonna work on this, actually :P
The code from the generic rolling message (using /r) is still using legacy code from DiscordConnect that I never bothered to change, but I'm doing a ton of code refactoring and cleaning right now, and this is on the to-do list.
The plan for this is to keep the code and show the roll formula if the origin is from a player user.
Should be done in next release.

Oh, to clarify, by the way, are you referring to the way normal rolls (ex. /r 2d10+2d6+1d10) results are grouped up into one value, or specifically showing damage roll formulas in PF2e? Example, instead of the current implementation:
Damage Roll - Weapon Name (Hit)
[Trait1] [Trait2]
Result:22||(Damage breakdown goes here)||
The request is to change this to:
Damage Roll - Weapon Name (Hit)
[Trait1] [Trait2]
2d10 damagetype + 2d6 damagetype + 1d10 damagetype
Result:22||(Damage breakdown goes here)||
This is what you're referring to, correct? Either way, I'm going to work on both /r and PF2e damage rolls like this.

Specifically damage formulas, I barely ever use /r haha. But looks good.

Done in<PHONE_NUMBER>fc0a224f5b87bcf90ee8f432db45d1.


Auto corrected by following Format Ruby Code

Auto corrected by following Format Ruby Code
Click here to configure it on awesomecode.io

Coverage decreased (-0.005%) to 97.016% when pulling b906c4f055ab5e2485f48d3a0be24284fb178717 on awesomecode-format-ruby-code-47841 into 31b0a2b679b18098ea1c88cbc3acc637a17515af on master.

Coverage decreased (-0.005%) to 97.016% when pulling b906c4f055ab5e2485f48d3a0be24284fb178717 on awesomecode-format-ruby-code-47841 into 31b0a2b679b18098ea1c88cbc3acc637a17515af on master.


Flaky test pingNotAllowedInSubscriptionState

Bug Report
Current Behavior
Test pingNotAllowedInSubscriptionState fails randomly in our tests against Upstash Redis. After investigating if our implementation of Redis has a problem, we have concluded that the problem in lettuce side.
Test failure happens in the following assertion
  assertThatThrownBy(() -> TestFutures.getOrTimeout(pubsub.echo("ping"))).isInstanceOf(RedisException.class)
                .hasMessageContaining("not allowed");

Cause Of the Problem
The test fails because of a race condition between two threads. More specifically:
The future for subscribe is completed after we are updating the internal state of PubsubEndpoint(adding a new channel to the channels set). Because of that, in some unlucky timing, the test (PubSubCommandHandler#notifyPushListeners) fails.

subscribe future is completed.
new channel is not put into the channels map in PubsubEndpoint
Test continues to send an echo to the server.
Client side for PubSubEndpint#isSubscribed returns false because channels and patterns are empty.
Server runs the command and does not return an error because the client is talking with resp3 and all commands are allowed.
Even if we were talking in resp2 test would fail because of the error message of the exception.

Possible Solution
~Remove local checks for allowed commands and rely on the exception from redis.~
~This way, we can both remove the bug and simplify the library.~
~More details in pr that I have prepared for the proposed solution:~
~https://github.com/lettuce-io/lettuce-core/pull/2314~
This solution is eliminated because the local checks are needed see https://github.com/lettuce-io/lettuce-core/issues/579

Is this issue still relevant?

Hi @tishun,
Is this a question for me? I'll need to read the description again(I probably already forgot)and check the lettuce code to see if there have been any changes. If you're one of the maintainers, I'd appreciate it if you could handle that. I'll try to look into it if I get some free time next week, but I can't make any promises.
In our test suite (which includes a copy of your test suite) against our Redis implementation, we decided to skip that test and moved on.

Hi @tishun,
Is this a question for me?
Hey, sorry for not addressing you directly, yes, it was meant for you.
If you're one of the maintainers, I'd appreciate it if you could handle that.
Trying to wrap my head around this. What you are saying is that there is some delay between the time you subscribe to a channel and the time the logic that disables sending commands kicks in. As a result sometimes you would get the RedisException and some times you wont. Is that mostly correct?

Yes, it sounds correct. If the codebase is still same, channels map in PubsubEndpoint is updated in the background in the background after the subscribe future is completed. Depending on whether that works first , or the test does pubsub.echo("ping") first(which checks PubSubEndpint#isSubscribed internally), the exception behavior changes.

Yes, it sounds correct. If the codebase is still same, channels map in PubsubEndpoint is updated in the background in the background after the subscribe future is completed. Depending on whether that works first , or the test does pubsub.echo("ping") first(which checks PubSubEndpint#isSubscribed internally), the exception behavior changes.

Well since your report quite some things have changed in the code including the test case itself.
#2594 changed how RESP3 is handled, and even before that #1601 changed the way this test works.
I suggest that you try and update your code with the latest changes and see if you have issues with them.
Our CI/CD runs this test daily and we haven't caught any issues.

Ok, thanks for the update. We will do so.

Let's close this for now, if you experience any more issues please reopen


Convex Finance Ethereum: Indexing Error

Indexing errors on convex-finance
ethereum: 17577075
Link: https://okgraph.xyz/?q=messari%2Fconvex-finance-ethereum
A determinstic fatal error occured at block 17577075: transaction 7da28ce18138be3236db2f8ad966338783c6d23d934862bd2179a7e066d349ff: Mapping aborted at src/modules/Withdraw.ts, line 40, column 30, with message: unexpected null wasm backtrace: 0: 0xaa3a - <unknown>!src/modules/Withdraw/withdraw 1: 0xaca5 - <unknown>!src/mappings/boosterMappings/handleWithdrawn in handler `handleWithdrawn` at block #17577075 (cdf9b94543bfc581949057884fc47839ba045b5e3d6a946904edd8b53ff9da33)

@dhruv-chauhan Can we bump this to the top of your priorities? Thanks!

@dhruv-chauhan Sorry, @harsh9200 is actually going to take this over since he has a fix in progress already


Are Azure Container Instances and Kubernetes swapped in the picture.

[Enter feedback here]
Azure Kubernetes Service was originally the solution proposed when one has to support full-fledged orchestration. Has that changed recently? Also, for microservices with short lived, event driven processes, Azure Functions were proposed. Has that changed recently with the Azure App Service being proposed for the microservices architecture even though Azure Functions are still proposed for short lived, event driven processes. There is definitely some confusion here compared to what was proposed before this latest version of the decision tree came through.

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

ID: 510808e8-db5d-6b07-9a04-6edb743a2dfc
Version Independent ID: 20d098aa-ef31-cb26-d677-765cfc9a7164
Content: Choosing an Azure compute service - Azure Architecture Center
Content Source: docs/guide/technology-choices/compute-decision-tree.md
Service: architecture-center
Sub-service: guide
GitHub Login: @doodlemania2
Microsoft Alias: pnp

Thanks for reporting - this issue is under review. This is a Microsoft Internal DevOps Bug ID # 403265

Are we essentially saying that when it is a migrate and we need full orchestration, one should use AKS while if it is a brand new build with a similar set up, one should use ACI and not AKS. I don't understand why a migrate vs a build brand new makes a difference there. I just want to make sure I get the recommendations correct here.

I think one good place to start would be with this:

I know the "No" -> "Yes" will be a little weird, but that's really for the other flow.  You'd answer the question the same both times you're asked it.

The article has been updated to incorporate feedback like the items identified here, including Azure Functions for event driven work, and the "full-fledged orchestration" leading you to the same destination.  This chart of course has no context to your situation, outside of what it provides, so it can only be coarse grained, "it depends" can't make itself present here -- even though it often does.


[SUGGESTION] Aimbot key per weapon

Please add option to add different aimbot keys per weapon.
Something like this:
AK-47 - C
Deagle - RMB
AWP - LMB

why lol


Fix LocalContext routing in RoutingControls.kt

There is a bug in the LocalNavController in CompositionLocalProvider where its running the nav method before API triggers.

@dashwave /fix this


User should able to pick publisher logo from WP media library

Feature Description
In the dashboard settings page, when a user clicks on upload logo, it opens a default file picker dialog. However, in the editor, it opens the WordPress media picker. User should be able to select existing files in the media library.
Current implementation

Publisher logo implementation in editor

Alternatives Considered

Additional Context

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria

Implementation Brief

This seems like a good candidate to bundle with this feature in the roadmap: Easily toggle between publisher logos from within the workspace since that's to give continuity in publisher logo behavior between settings and the document panel of the workspace. This feature doesn't have a slated release yet.

After working on https://github.com/google/web-stories-wp/pull/8067, I wonder if mediaPicker, should be moved to it's own package. This makes sharing code between easier and it will make decoupling from WordPress a little easier too.

Related: #4148
Shared utilities like that can be extracted as part of the ongoing decoupling work. It's not 100% clear yet how the code sharing there will look like, so this is not actionable just yet.


Extend "template" pages for more complex templates

I personally really enjoy the simplicity of using _header and _footer files mixed with reusable _components, but certain complex templates could be made easier with a similar strategy to how blade/twig works.
As PHP.Gt isn't concerned with embedding variables and stuff, this could be as simple as having a comment on the first line of the view to indicate what template to "extend".

page/index.html:


Import of libvirt_network doesn't all parameters

System Information
Linux distribution
CentOS 7
Terraform version
Terraform v1.3.3
on darwin_amd64

Provider and libvirt versions
provider registry.terraform.io/dmacvicar/libvirt v0.7.0

Checklist

[] Is your issue/contribution related with enabling some setting/option exposed by libvirt that the plugin does not yet support, or requires changing/extending the provider terraform schema?

[ ] Make sure you explain why this option is important to you, why it should be important to everyone. Describe your use-case with detail and provide examples where possible.
[ ] If it is a very special case, consider using the XSLT support in the provider to tweak the definition instead of opening an issue
[ ] Maintainers do not have expertise in every libvirt setting, so please, describe the feature and how it is used. Link to the appropriate documentation

[X] Is it a bug or something that does not work as expected? Please make sure you fill the version information below:

Description of Issue/Question
Setup
 ➜ cat provider.tf
terraform {
  required_providers {
    libvirt = {
      source  = "dmacvicar/libvirt"
      version = "0.7.0"
    }
  }
}

provider "libvirt" {
    uri = "qemu+ssh://tf@server/system?sshauth=privkey"
}

 ➜ cat network.tf
resource "libvirt_network" "default" {
 name = "default"
 mode = "nat"
}

resource "libvirt_network" "lan" {
 name = "lan"
}

Steps to Reproduce Issue
I'm trying to import an existing libvirt network with the command:
terraform import libvirt_network.default <uuid>

On terraform.tfstate state file, I see the resource being imported but it doesn't contain all the parameters. For example with the default network the parameter addresses is set to <IP_ADDRESS>/0 instead of the current subnet:

XML

<network>
  <name>default</name>
  <uuid>afc771da-4e27-4160-88ac-2af48a29bc92</uuid>
  <forward mode='nat'/>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:82:6d:a6'/>
  <ip address='<IP_ADDRESS>' netmask='<IP_ADDRESS>'>
    <dhcp>
      <range start='<IP_ADDRESS>' end='<IP_ADDRESS>'/>
      <bootp file='pxelinux.0' server='<IP_ADDRESS>'/>
    </dhcp>
  </ip>
</network>

terraform.tfstate

    {
      "mode": "managed",
      "type": "libvirt_network",
      "name": "default",
      "provider": "provider[\"registry.terraform.io/dmacvicar/libvirt\"]",
      "instances": [
        {
          "schema_version": 0,
          "attributes": {
            "addresses": [
              "<IP_ADDRESS>/0"
            ],
            "autostart": true,
            "bridge": "virbr0",
            "dhcp": [
              {
                "enabled": true
              }
            ],
            "dns": [],
            "dnsmasq_options": [],
            "domain": null,
            "id": "afc771da-4e27-4160-88ac-2af48a29bc92",
            "mode": "nat",
            "mtu": null,
            "name": "default",
            "routes": [],
            "xml": []
          },
          "sensitive_attributes": [],
          "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjAifQ=="
        }
      ]
    },

Another example with a bridge net

XML

<network>
  <name>lan</name>
  <uuid>1d3ccf8e-da6c-40ff-ba7c-b8ffc13ee4bf</uuid>
  <bridge name='virbr1' stp='on' delay='0'/>
  <mac address='52:54:00:d6:67:e6'/>
  <domain name='lan'/>
</network>

terraform.tfstate

    {
      "mode": "managed",
      "type": "libvirt_network",
      "name": "lan",
      "provider": "provider[\"registry.terraform.io/dmacvicar/libvirt\"]",
      "instances": [
        {
          "schema_version": 0,
          "attributes": {
            "addresses": null,
            "autostart": true,
            "bridge": "virbr1",
            "dhcp": [],
            "dns": [
              {
                "enabled": false,
                "forwarders": [],
                "hosts": [],
                "local_only": false,
                "srvs": []
              }
            ],
            "dnsmasq_options": [],
            "domain": "lan",
            "id": "1d3ccf8e-da6c-40ff-ba7c-b8ffc13ee4bf",
            "mode": null,
            "mtu": null,
            "name": "lan",
            "routes": [],
            "xml": []
          },
          "sensitive_attributes": [],
          "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjAifQ=="
        }
      ]
    },

This might be either Terraform or provider issue


Create site structure

Determine the website's navigation structure and create a sitemap.
Decide on the website's back-end framework and front-end libraries or frameworks.
Set up the website's directory structure and choose the appropriate file formats for images, videos, and other media.
Create a html document with lorem-ipsum content and minimal structural styling to serve as a scaffhold for future code additions.

completed draft diectory structure.


Add Caffeinate For to Coffee Extension

Description
The Amphetamine app supports setting the "caffeination" time, so that the "caffeination" will be turned off some time. The caffeinate command present on MacOS supports this feature with -t flag.
This PR adds a "Caffeinate For" command that adds support for this.
Additionally to easily support this I did a teeny-tiny refactor of the Caffeinate and CaffeinateWhile

Type of change

Improvement for somebody else's extension. Extension author: @mooxl

Screencast
https://user-images.githubusercontent.com/14880213/150954842-3301dbb9-f8d2-4617-9f91-6e49bca61056.mp4

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast

Looks good to me!

@pernielsentikaer thanks for review!
As far as I understand the showHUD function (that is being called inside the Caffeinate function) closes the Raycast altogether, so I'm not too sure if the popToRoot would make any difference. Please correct me if I'm wrong.
As for the contributions, sure will do that!

Hi @bibixx
Right now is the behaviour like this
https://user-images.githubusercontent.com/38033107/151258766-3f873814-1b35-4e70-b1d2-e30a1eb87846.mp4
My suggestion would be to add poptoroot, so it will do this (when opening again)
https://user-images.githubusercontent.com/38033107/151259167-9d142a8f-a8fe-4576-a9e3-ab14caf75f95.mp4
Let me know if you have any questions at all regarding this 😄

Hey @bibixx, did you have a chance looking into @pernielsentikaer's feedback?

@fe9lix Yes I did, sorry. However I didn't have change to implement them (was in process of changing jobs, didn't have laptop for some time). I'll look into this today (or tomorrow tops)

@pernielsentikaer @fe9lix just updated the PR

Added the popToRoot
Added an option to change the unit of the specified duration


Make it work in webpack

Webpack's static analysis breaks jailed: it's probably because child_process is required dynamically.
Anyway, would it be possible to follow this to make it work in the browser?
Just adding:
browser: { fs: false, child_process: false } to the package.json would do the trick

I am not familiar with Webpack. Jailed checks if window is defined to determine if the environment is node or browser. Can you please make sure that the application is properly assembled with such workaround and initializes a plugin in a sandboxed iframe?

Hello @asvd ,
This is not a runtime issue. At runtime, jailed recognizes the right environment and works just fine.
This is a Webpack "compilation" issue, which happens before runtime.
When Webpack does a static analysis to substitute the require statements with real modules, it can't recognize dynamic requires, like here: https://github.com/asvd/jailed/blob/1682cdb58dea8d6f98554ccf34a433e8cc686da0/lib/jailed.js#L192.
This causes the compilation to fail.
Generally, with packages that run indifferently on the client and the server side, it's good to give an hint  that some modules your package requires are and will always be unavailable on the browser. There's a field in the package.json for that, as described here: https://github.com/defunctzombie/package-browser-field-spec
That's why I suggested to add the browser: { fs: false, child_process: false } line - it gives info to whoever is trying to compile your package to not bother with those dependencies in browser land.

(I'm already running it with a workaround, by the way - but it would be nice for jailed to run out-of-the-box with webpack for everyone).

Yep, this is how I understood the webpack works. I just needed you to confirm that after the compilation jailed properly works in web-environment recognizing it on its own (otherwise the proposed workaround would make no sence).
Will update the package.json hopely this evening, thanks for the contribution. (optionally you could submit a pull-request ;-))


Add FontAttributes properties

Hi there!
First of all, thank you very much for the amazing work you did, it's indeed a really Flexible button and very helpful!
If possible, I would like to suggest a new feature, which is add the FontAttributes properties for the button text, I think this would make it even more flex!
Thank you once again!

Good idea! Will add this to the backlog! Shouldn't be too hard by the way so if you want: PRs are welcome!

Good to know! Indeed, it shouldn't be that hard, I'll try to work on it this weekend and hopefully finish it, then I'll do a PR!

May I implement this feature now? Because I need this feature asap.

I've created pull request.

Thanks, @stormlion227! Looks very good, I already merged it. Font Attributes, Font Family and Command Parameters will appear in the next update 0.7.0. Again, great work! Thanks a lot!


[IT-1178] Setup SSO access to AWS synapse accounts

Setup to allow users in the JC bridge admin, developer and iOS developer
groups access to AWS bridge dev and bridge prod accounts.

Setup to allow users in the JC bridge admin, developer and iOS developer
groups access to AWS bridge dev and bridge prod accounts.

This comment isn't correct... the change is about Synapse environments.


packetscene breaks charged scene

Godot version:

OS/device including version:
windows 7,geforce9800gt,core2quad
Issue description:
packetscene breaks charged scene
Steps to reproduce:
tenemos una escena con un script. esa escena es la escena que se ejecuta al poner play al motor vendria a ser como el menu princpal.
we have a scene with a script. that scene is the scene that is executed when putting the engine play would be like the main menu.

Tiene en el script un export packetscene.

Ponemos nuevo packetscene.
It has an export packetscene in the script.

hacemos click arriba de packetscene y nos aparece una propiedad llamada bundled.
we click above packetscene and a property called bundled appears.

Ahora por error cargue la escena princpal luego de hacer todo lo anterior.
Now by mistake load the main scene after doing all the above.

Ponemos play al proyecto y tocamos click para pasar a la escena principal de juego,
We put play to the project and we click to go to the main game scene,

la escena no carga y se corrompe la escena del cargada en el PACKETSCENE.
the scene does not load and the loaded scene in the PACKETSCENE is corrupted.

Si abris la escena con un block de notas y la comparamos con una funcionando vemos lo siguiente...NO TIENE NADA ESCRITO
If you open the scene with a notebook and compare it with a working one we see the following ... IT HAS NOTHING WRITTEN

Aqui hay un VIdeo:
Here is a VIdeo:
https://www.youtube.com/watch?v=D-L0Y_etPoo&t=33s
El proyecto ahora no tiene el BUG o no lo puedo reproducir,pero pueden descargarlo desde Aquí.
The project now does not have the BUG or I can not reproduce it, but you can download it from Here.
https://github.com/kone9/flappyBird3D-GODOT
english by google translator

Please, I just closed the same issue few minutes ago as a duplicate:  #27829
If you think this is not a duplicate please explain what the problem is and how it differs from the other issue. Else I'll have to close this one too.
Also, a video is no a bug report. Not everyone has the time to review a 2 minutes long video to understand your problem.

Please, I just closed the same issue few minutes ago as a duplicate: #27829
If you think this is not a duplicate please explain what the problem is and how it differs from the other issue. Else I'll have to close this one too.
Also, a video is no a bug report. Not everyone has the time to review a 2 minutes long video to understand your problem.

there is a bug when loading the scene, but you have 2 minutes to watch a video so do not dedicate yourself to fixing problems ....... Because it took me 30 minutes to report this.

Please, I just closed the same issue few minutes ago as a duplicate: #27829
If you think this is not a duplicate please explain what the problem is and how it differs from the other issue. Else I'll have to close this one too.
Also, a video is no a bug report. Not everyone has the time to review a 2 minutes long video to understand your problem.

I'm going to edit the post, please do not erase it

No, I don't have two minutes to dedicate to each issue opened everyday. From the dozen of issue opened everyday, we have to close half of them for being duplicates, correctly label the others, and comment when we have to do so. So I cannot afford spending too much time on each issue everyday.
We have an issue template, we ask people to fill it because it helps everyone in the review process, and also allows searching for similar issues. So please, fill in the issue template by explaining:

how did the issue happen (don't just drop a video, it's useless if you don't explain what is happening)
what happened exactly ("something is broken" is not describing what happens, tells us the errors you got)
explain what was expected.

I will try to be honest here. All the time we spend in here asking people to make better feedback is the time we do not spend fixing bug or implementing features, the better you do the job, the better we do ours. Not to mention we have already too much work with the already 4k+ opened issues, so if you don't spend time writing a good bug report, your issue will sadly stayed ignored. And in the end with bad reports, you might waste more of our time than you save us.

I'm going to edit the post, please do not erase it

Just saw this message after my last comment. Thanks, that's appreciated :)

Just saw this message after my last comment. Thanks, that's appreciated :)

A part of the half hour that I take to write it reissue it takes me 1:30 hs plus you erase it and I'll find you until the end of the world to get all your teeth. XD ... Anything ask me ... I am at your disposal. .. I am going to take into account what they tell me ... I can not reproduce it now, do not ask me why, after remaking the whole scene, the BUG did not come out anymore .... But report the step by step with photos and you also have the video if you are interested.
Thank you.

Arf you don't have to put screenshot for each step but that's ok :)
Thanks!

@kone9 Can you (or anyone else) still reproduce this bug in Godot 3.2.2 or any later release?
If yes, please ensure that an up-to-date Minimal Reproduction Project (MRP) is included in this report (a MRP is a zipped Godot project with the minimal elements necessary to reliably trigger the bug). You can upload ZIP files in an issue comment with a drag and drop.

Closing in favor of https://github.com/godotengine/godot/issues/45864, which seems closely related and has more information.


Caption Overlay option for images.

It would be awesome to have the option of adding a caption to the image that overlays the caption on the picture. Something along the lines of this: https://i.imgur.com/3EmlXnG.png

I wanted to add captions as well, and since my cms (drupal) allows for images to have alt and title fields, I did the following so I wasn't repeating myself:
var slideCaption = $('.slick-slide > img').attr('title');
$('.slick-slide').append('
' + slideCaption + '
');

Then it's just a matter of adding the styling to the slidecaption div.

I tried to do as you did, ymdahi, using Textpattern and the wet_for_each_image Textpattern plugin, which returns an HTML- formatted list of eligible images for use by slick.
That code looks like this:
<txp:wet_for_each_image sort="date asc" category="acting" break="div"  />

and renders this:

I implemented your code as follows:


Activity.java spawns a non-daemon "Activity-Cleaner" thread

In Activity.java, a new thread QUEUE_THREAD is made which appears to help with cleaning up references when an Activity is constructed with a pointer. I am aware that that constructor is not supposed to be used as part of the public API.
Is it required that QUEUE_THREAD be a non-daemon thread for cleanup to work correctly? If not, I suggest making it a daemon thread so that applications shut down correctly (i.e., when the only threads remaining are daemons).
Thanks for the work you've put into this project!

I think it's not a daemon, because I wasn't aware of that option (and the problem caused by not using it) when I was writing that code. I don't think that it is required to be a non-daemon for the cleanup to work.
I'm going to try making it a daemon tomorrow (unless you tested it already) and see if it behaves well.
Thank you for bringing this to my attention.

I'm building my project with your recent commit 2b5a903 and so far it seems good and the application terminates appropriately. I'll let you know if I encounter issues with the change. Thank you again!


[flaky ci] [test_id:3169] CloudInitHookSidecars VMI definition with CloudInit hook sidecar should have cloud-init user-data from sideca

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:

/kind bug

/kind enhancement

What happened:
CloudInitHookSidecars VMI definition with CloudInit hook sidecar [test_id:3169]should have cloud-init user-data from sideca
/root/go/src/kubevirt.io/kubevirt/tests/vmi_cloudinit_hook_sidecar_test.go:119 Unexpected error:     <expect.TimeoutError>:<PHONE_NUMBER>0     expect: timer expired after 15 seconds occurred /root/go/src/kubevirt.io/kubevirt/tests/vmi_cloudinit_hook_sidecar_test.go:73
Failing job - https://prow.apps.ovirt.org/view/gcs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/3502/pull-kubevirt-e2e-kind-k8s-1.17.0-ipv6/1275546119522226176
What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

KubeVirt version (use virtctl version):
Kubernetes version (use kubectl version):
VM or VMI specifications:
Cloud provider or hardware configuration:
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

/triage build-officer

i would wait first for #3543 to be merged, as expecter that is used here (cirros), could leak characters which will influence the following expecters,
i see in the log the leakage, and saw it before


About VSD loss in 2D playground

Could you give an example about how to use VSD loss in 2D img?

Hi @MontaEllis，
would you like to try this one I've just made :)
https://github.com/yuanzhi-zhu/prolific_dreamer2d

Or you can try vsd2d.py, also see #100.