bug: join-item impact the radius of its first and last children

1. Checklist

[X] I updated daisyUI (npm i -D daisyui@latest) but I still have this issue
[X] I looked up into FAQ but I couldn't find a solution
[X] I searched in existing issues and discussion forum but this bug has not addressed before
[X] This bug is dasiyUI issue and it's NOT specific to a JS framework or a build tool."

2. What version of daisyUI are you using?
v3.9.2
3. Which browsers are you seeing the problem on?
Chrome
4. Reproduction URL
https://play.tailwindcss.com/zemYLtPZQl
5. Describe your issue
Hey there, I find https://github.com/saadeghi/daisyui/issues/1957 closed, but in the latest version of DaisyUI, the join-item class still override the radius of the first and last children.
I think it should only impact it self border, not any children, which means below style isn't necessary or make it optionally?
https://github.com/saadeghi/daisyui/blob/48fc58f98ee96d62052f3393ad6a338a027eb854/src/components/unstyled/join.css#L47-L49

There's a challenge here.
The reason we're targeting all items inside join using .join * is that join-item can be nested in divs and still should have radius, because of the inherited radius.
This should be default behavior (not optional) because people use join-item anywhere inside join and they expect it to work.
The issue can be fixed using something like :where(.join *:has(.join-item)) instead of :where(.join *)
But:has still is not supported in FireFox by default.
So if you have another solution for it, let me know.
Or you can just make a PR replacing
:where(.join *) {
 @apply rounded-[inherit];
}

with
/* for firefox */
@supports not selector(:has(*)){
  :where(.join *){
    @apply rounded-[inherit];
  }
}

/* for others */
@supports selector(:has(*)){
  :where(.join *:has(.join-item)){
    @apply rounded-[inherit];
  }
}


use vue-gettext-extract on typescript files

Is there a way toe extract translations from typescript *.ts files?

@underdoeg This was an oversight. I added .ts files to the extract script and created release 1.1.0. I plan to make this more flexible/configurable in the future.
Please let me know if this works for you!

That was quick.
I think it works on your side but I think easygettext doesn't like my generated typescript file.
 could not read: './src/api/generated/apigen.ts' using acorn as parser
Trace: TypeError: Cannot read property 'type' of undefined

An exclude config would be nice now because this file doesn't include any translations. But I think we can close this issue.

@underdoeg I'll find a solution for this, but it may take a while. I wanted to implement configuration files and make easygettext (that we use for extraction) fully configurable.
For now you could just copy and adjust gettext_extract.js to fit your use case, it's a bit messy but not super complex.


Fix/docs mambaforge

Fixes an issue with .readthedocs.yml config file for ReadTheDocs documentation builds
Adds link to documentation in README.md
Adds badge for RTD builds

Bypassing review since there are no real code changes and this might involve some iteration with RTD.


Sqlite plugin

Hi, i try to use Sqlite plugin with this generator but when i build app with this app.js
'use strict';
var db = null;
angular.module('Mionic', [
  // load your modules here
  'main' // starting with the main module
])
.constant('ApiEndPoint', {
  url: 'http://localhost:8088/laravel_api/public/api/'})

.run(function ($ionicPlatform, $cordovaSQLite) {
  $ionicPlatform.ready(function () {
    if (window.cordova && window.cordova.plugins.Keyboard) {
      cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
    }
    if (window.StatusBar) {
      StatusBar.styleDefault();
    }
    window.plugins.sqlDB.copy('my.db', function () {
    db = $cordovaSQLite.openDB('my.db');
  }, function (error) {
    console.error('There was an error copying the database: ' + error);
    db = $cordovaSQLite.openDB('my.db');
  });
  });
});

gulp return error:
window in not defined.
Where is the error
Thx

Hi @num3r06, I put your code in a code block to make it easier on the eyes ;)
In angular it's better to inject the $window service rather than using the global window object.
For more information see here. https://docs.angularjs.org/api/ng/service/$window
In this case we configured jshint in the generator to help avoid the usage of window and rather use $window instead.

Thx for reply

Does that solve your issue?

I'm testing but the solution is far away... :(
The big problem is code debug's outside of browser. I doesn't undesrstand how use my Sqlite DB (seems to be deleted after build).
The goal of my application is read from external api (laravel/mysql) and populated SQlite db for offline use. I'm using your generator for create app and a lot of code for integrate SQlite plugin. I need to use SQLite because other localStorage has to many limit
Thx for interesting

But the original problem with window being undefined is now clear, right? - Because then I'll close this issue.
On a side note: We used https://github.com/angular-pouchdb/angular-pouchdb for similar purposes in a couple of our projects. It might be worth a look.


Fix data race

We may try to send signals to cmd.Process from a different goroutine
before it's been initialized by Run(). Instead, explicitly call Start
(which sets cmd.Process) before listening for/sending any signals.

$ TF_LOG=debug aws-vault exec testing -- go test -timeout=20m ./...
?   	github.com/gruntwork-io/terragrunt	[no test files]
?   	github.com/gruntwork-io/terragrunt/aws_helper	[no test files]
ok  	github.com/gruntwork-io/terragrunt/cli	6.866s
ok  	github.com/gruntwork-io/terragrunt/config	(cached)
ok  	github.com/gruntwork-io/terragrunt/configstack	0.038s
ok  	github.com/gruntwork-io/terragrunt/dynamodb	(cached)
?   	github.com/gruntwork-io/terragrunt/errors	[no test files]
?   	github.com/gruntwork-io/terragrunt/options	[no test files]
ok  	github.com/gruntwork-io/terragrunt/remote	(cached)
ok  	github.com/gruntwork-io/terragrunt/shell	(cached)
ok  	github.com/gruntwork-io/terragrunt/test	197.801s
?   	github.com/gruntwork-io/terragrunt/test/helpers	[no test files]
ok  	github.com/gruntwork-io/terragrunt/util	(cached)

https://github.com/gruntwork-io/terragrunt/releases/tag/v0.13.18


👷♂ Add awesome_bot to CI pipeline

As title. I also quickly prettified the README & added a CI badge to the README. Let's see whether the CI completes successfully here.

no need for the CI?

Rerunning the CI test after your fixes here.

There are still some issues, fyi

Thank you so much!

Thank you so much for your help! I prefer hardcore and will make all changes manually based on this information! 🙂

sure :-D


Artifact support with BUILDKITE_DOCKER=1

At the moment, there doesn't appear to be any support for build artifacts when using single-container docker builds, as discussed over email with @keithpitt today.
It shouldn't be too difficult to add support for this using docker cp to copy the artifacts out of the (stopped) container after the build has completed. I'd be happy to work up a patch to the default bootstrap.sh to do this if that sounds like the right approach. It would have the advantage (I think) of being image-agnostic, and wouldn't require users to dump artifacts in any particular location (unlike a docker volume based approach).
Unfortunately this is made slightly more complicated by the requirement to support wildcards in artifact paths. My current solution is a bit of a hack: namely snapshot the stopped container to an image, and then use that image to extract the files matching the wildcards.
I imagine it would look something like this (inserted after the main build):
if [[ "$BUILDKITE_ARTIFACT_PATHS" != "" ]]; then

    echo "~~~ Extracting artifacts from build container"
    DOCKER_ARTIFACT_IMAGE="buildkite_"$BUILDKITE_JOB_ID"_artifact_image"
    DOCKER_ARTIFACT_LIST=".buildkite_"$BUILDKITE_JOB_ID"_artifacts"

    # Snapshot container to temporary image
    buildkite-run "docker commit $DOCKER_CONTAINER $DOCKER_ARTIFACT_IMAGE"
    # Use shell in container to establish wildcard matches
    buildkite-run "docker run $DOCKER_ARTIFACT_IMAGE /bin/bash -c \"echo $BUILDKITE_ARTIFACT_PATHS\" > $DOCKER_ARTIFACT_LIST"
    # Copy files from original container to working directory
    buildkite-run "for path in $(cat $DOCKER_ARTIFACT_LIST); do docker cp $DOCKER_CONTAINER:$path .; done"
fi

(There would also need to be a couple of lines added to docker-cleanup, I imagine.)

ah, yeah I think this could be the right general solution. The workaround we use is to simply mount the working directory inside the image, but that doesn't really handle the general cases.
We should also do this for the docker-compose case as well (which means you might want to DRY these into a function that takes the original container name)
A PR would be very much appreciated!

Did anything happen with this by any chance? currently tearing out hair trying to get capybara screenshots out of our docker-compose based builds...

@perryn no auto-magical copying, but if you mount . into the app from your docker-compose.yml the artifact will be available on the host machine running the agent. Is that an option?

Thanks @toolmantim that seems to have worked. I wasn't sure since our agent is itself running in a sibling docker container, but mounting /buildkite/builds in that one seems to do the trick.

Closing in favour of moving docker things to docker plugins in v3: https://github.com/buildkite-plugins/docker-compose-buildkite-plugin/issues/79


questions on dataset construction

Hi. Thanks for your code.
1- May I ask why are you including the start and end token when constructing the caption? Since you want to encode the caption only, there is no need for it. As far as I know, the start and end token are only needed when predicting text (such as image captioning, neural machine transaltion....etc). But for your case, you just want to encode. Or does it have to do with how the evaluation metric is calculated?
2- I also have a question about the data loader. In this part:
        if self.images.shape[0] != self.length:
            self.im_div = 5
        else:
            self.im_div = 1
        # the development set for coco is large and so validation would be slow
        if data_split == 'dev':
            self.length = 5000

I understand that for the training and test splits, you are replicating the image 5 times (the number of captions per image). However, for the 'dev' split (validation after training), you are specifying 5000 only. For Flickr30k, that would still be correct (since we have 1000 validation images * 5). But for COCO, the actual validation dataset with the replication is 25K. But you are loading only a portion of it.  According to how the data loader works, it will generate indices according to the length of the dataset specified in __len__. Therefore, for COCO dev set, it will generate 5000 indices, and with images[i//5], this is will retrieve only 1000 original COCO validation images. So my question, is that right to be done? What if the other samples are better? This would lead to a low validation score while it should be high.

About start and end tokens, I guess in the current implementation they are not really useful. They are useful if the implementation of sentence encoder can't handle variable lengths in a mini-batch or if it is not parallelized over a mini-batch. But it's not the case in this with the pytorch tools used.
It is true that the validation set can have effectively 1000 images in it. But the small validation set is only used for early stopping. So maybe as a result we don't choose the best model for test set.

@fartashf Thanks a lot for your reply. I have one more question and I would really appreciate a reply. I have a deeper network for embedding the visual and text features, based on your code (just added more layers). Consider it to be 3 layers for each modality. I am using a ReLU activation function in between all these layers, except for the last one which will be the input to the similarity function. I found out that the results are extremely horrible (0.1, 0.5, 0.3) for R@1, R@2, R@3. But it works well when I remove the ReLU activation between the layers. Any idea why non-linearity harms image-text retrieval?

Maybe consider these changes:

Try the sum loss first. Max loss is not always good at the beginning of the optimization.
Make sure initialization is done correctly. Weights are not too small or too large.
Make sure fine-tuning is not set.
Try adding layers to only one modality. See if the problem is with training both together.
Try adding normalization before each linear layer.


onHubReady is not defined

Describe the bug
When updating from Nuxt 3.11 to 3.12 and @nuxthub/core 0.6.10 to 0.6.12 and using the migration file documented here https://hub.nuxt.com/docs/recipes/drizzle#migrations. On startup I get the following error.
ERROR  [nitro] [unhandledRejection] onHubReady is not defined

Same here, got this error even by trying to explicitly import the hook with import { onHubReady } from '@nuxthub/core/dist/runtime/base/server/utils/hooks';

+1

This should be Fixed in https://github.com/nuxt-hub/core/releases/tag/v0.6.13


Security issue on Mojave

ExternalDisplayBrightness-1.2.0.dmg” can’t be opened because Apple cannot check it for malicious software.
This software needs to be updated. Contact the developer for more information.

Hi,
thanks for the report, this is honestly strange behavior, I'm pretty sure I signed and notarized both the DMG file and the app inside. Can you please tell me where did you download the file from? From the website, or from this repo, or from somewhere else?
Also, could you please navigate to the directory containing the DMG file in Terminal, and send me the output of these three commands?
md5 ExternalDisplayBrightness-1.2.0.dmg
codesign -vvv --deep --strict ExternalDisplayBrightness-1.2.0.dmg
spctl -a -t open --context context:primary-signature -v ExternalDisplayBrightness-1.2.0.dmg

Thanks.

I'm going to close this, as there was no reply for a month and a half, plus I've verified with multiple users that the DMG opens for them just fine, so this was probably some random irreproducible problem.


Move pass-package-providers to pass-support and refactor it

This depends on #580.

Deposit services


Remove qualified_name for Device

I just notice, the qualified name is within definition but not at the root of the device. You can check here: https://github.com/iMicknl/python-tahoma-api/blob/master/tests/devices.json

Here in the library, we don’t use it. And within HA also, and it makes sense as the value is always None.


Arm Strong

program to check is the given number is arm strong or not

Not accepting CPP/C DSA codes
Alternative ->
1)Create a page using HTML & CSS Add DSA problem statement and solution in that
2)You can contribute in python and java OR
Ask for an issue assign
3)Contribute to Web Project


Azure Container Apps may be prefered to be IP restricted

Existing rule
No response
Suggested rule
Azure Container Apps now supports restricting inbound traffic by IP addresses.
This feature enables container apps to restrict inbound HTTP or TCP traffic by allowing or denying access to a specific list of IP address ranges.
This is general available.
In combination of the internal ingress type that we also recommend in Azure.ContainerApp.ExternalIngress, this will give customers the awareness of that fine-granulated network restrictions within an environment is now possible, or in just general use it with the external type to limit public and within the container app's internal environment traffic.
Pillar
Security
Additional context
https://learn.microsoft.com/nb-no/azure/container-apps/ingress-overview#ip-restrictions
https://learn.microsoft.com/en-us/azure/templates/microsoft.app/containerapps#ingress

@BenjaminEngeset Great idea. If internal/ external ingress is enabled we should evaluate this rule.
The rule would check each ipSecurityRestrictions to make sure action is allow.

@BernieWhite Do you mind me using PowerShell here, or do we have the support in YAML for this?


Script status not correct

Consider this program
import pigpio
gpio=pigpio.pi()

# pins 18 and 24 are connected, pin 24 reads pin 18
gpio.set_mode(24, pigpio.INPUT)
gpio.set_mode(18, pigpio.OUTPUT)

scripta = gpio.store_script(b'w 18 1 mils 100 w 18 0 mils 1')
scriptb = gpio.store_script(b'mils 10 r 24 sta p0 mils 1')

tot=[]
for i in range (200):
    gpio.run_script(scripta, [])
    while True:
        a, _ = gpio.script_status(scripta)
        if a==pigpio.PI_SCRIPT_HALTED: break
    gpio.run_script(scriptb, [255])
    while True:
        b, c = gpio.script_status(scriptb)
        if b==pigpio.PI_SCRIPT_HALTED: break
    tot.append(c[0])
print(tot)

gpio.delete_script(scripta)
gpio.delete_script(scriptb)

Note that mils 1 in the end of scripts is just to make sure that pin change/writing to parameters has taken place.
The idea is that script A sets pin 18 to High, waits 100 ms and sets pin 18 back to Low.  I am spying on pin 18 with script B (pins are connected).
Also note, that I am checking the status of the scripts and do not allow to proceed with next script until the current script finishes.
Obviously, the result of spying should be 100% Low (0).  Well in few percent cases I get High (1)!
I first noted this problem using much more complex scripts.  I found with oscilloscope out that sometimes it takes several ms after run_script that script A actually starts and during that time status is still PI_SCRIPT_HALTED.  So in this time script B starts and (with a little "luck") checks pin 18 right after the first script sets pin 18 to High.
When doing the tests I realised that sometimes I get 255.  This is completely unintended additional proof for my narrative: script B takes several ms to start, in meantime it is still PI_SCRIPT_HALTED, program proceeds, and sees that parameter has not (yet) been changed.
I used Raspberry Pi 3.

To run multiple threads beating on the same hardware it is safer to use the Python interface and share the pigpio instance between the threads.

@guymcswain
Honestly, I don't understand what you suggested.
My workaround was to check parameters instead of status.  Since I used all parameters to the full 32bits, Python script remembered the value of the first parameter before starting the script and then waited until script increased its value for 1 at its very end.  Messy.
My point is: either script status is repaired, or it is removed.  It is simply not reliable.  I was wondering for months why is my program sometimes not working properly.  Only after I used signal analyzer/oscilloscope I finally found the problem.

I have demonstrated this on single script.  The number 255 is because of the single script.

Your example given above has two scripts: a and b.  What am I missing?

First I wanted to show on two scripts.  And then you get those 1s instead of 0s.  But then, completely unintentionally, 255s also appeared.  255s are because of the second script only.  It is all explained in my first post.

Essentially, you could delete the first script and run only the second one serially and you would still get spurious 255s.  I left it as it is because it is a double proof of my bug report.

I ran your python script on a RPI0W and all output is 0 (low).  Is this issue only on RPI3?

I'm running V78 but is shouldn't matter - the script APIs haven't changed in a long time.

I don't quite understand what you suggest.
But to prove my point that this is not due to the interaction between two scripts, I commented out scripta completely, and I am getting 255s.  It seems that these spurious things usually happen when RPi is busy doing other things, possibly delaying starting of scripts.

I just ran your original program, unaltered, on a RPI3B+ which no failure.

What version of pigpio are you using and how did you install it?

Not sure.  I think I installed that years ago.  But I regularly do updates.
How can I see the version of pigpio?
I started program from command prompt.  I get one or two 1s or 255s, so it is better than starting from Geanny.

From terminal you should be able to do pigs pigpv will return version.

You should download a recent version, recompile and install.  Then run the suite of tests that come in the zip file.  If these don't pass there is something wrong/incompatible with your environment.

I started program and a moment after that I started Chromium.  O got about 10 255s and 1 1.
So if you overload Raspberry with other programs the errors multiply considerably.

pigs pigpv returns 71

I'm not looking into this any further until you can run the pigpio test successfully.

OK how I test pigpio?

There are several.  Start with this one:
wget https://github.com/joan2937/pigpio/blob/master/x_pigpio.py
./x_pigpio.py

I don't know if this is OK with you but I
apt-get purge pigpio
apt-get install pigpio
and I have again version 1.71
I have killed pigpiod
restarted pigpid
run program again and just second after starting I also started Chromium to overload Raspberry and I got 5-6 1s.

Download and install latest version
wget https://github.com/joan2937/pigpio/archive/master.zip
unzip master.zip
cd pigpio-master
make
sudo make install

If the Python part of the install fails it may be because you need the setup tools.
sudo apt install python-setuptools python3-setuptools
Run a test from the same directory:
sudo pigpiod
./x_pigpio.py

I did what you said, it went smoothly, but somehow it is still version 71 (pigpiod -v)
I killed pigpiod and I restarted it from pigpio-master directory and I also moved my bugger.py into pigpio-master directory and started if from there.

Your path may be picking up the older version.  You'll need to resolve that somehow.

Hmmm sudo pigpiod -v returns 78

And the result of pigpio test?

you mean test as running my program?
sudo ./bugger.py
immediately starting Chromium to overload Pi
i get bunch of 0s and 255s

No.  Run the pigpio.py test from the downloaded files.

With chromium running?

I was constantly opening and closing Chromium to keep RPi busy and it was still all PASS.

OK I have to go for today.
Maybe it would be helpful to repeat that
I get extremely rare 1s and 255s if Pi is doing nothing else.
If I overload Pi with opening and closing Chromium I get bunches of 1s and 255s.

Ok, that's good.  So can you demonstrate the issue without having to run a desktop environment and a chromium browser.  I have little inclination to investigate otherwise.

Could you just confirm that you see the error under the conditions described?  So we make sure that it isn't just some astronomical odd that I possess corrupted RPis?

I'd rather not try to duplicate your conditions as they don't seem very conventional.  I did run your script in a loop overnight on RPI0W along with another program that attempted to thrash the network somewhat in hopes of putting more load on the single core host.  The loop is still running without error.
That said, you may have found some corner case causing the pigpio script to fail.  Given that, I would recommend finding another way to achieve your goals.  As I stated in my first comment, I recommend you to use threads on Python and share the single pigpio instance.

More conventional situation and my original situation is running Flask as a web server and controlling LCD display via pigpio scripts -- that is, essentially controlling LCD display over web.  In that case RPi is has a decent workload apart from that of the scripts and thus above mentioned conditions appear naturally.
Of course these conditions would be even much more difficult for you to replicate, which is why I wrote this simple test program.  I could perhaps mimic workload by including some heavy calculation to my test program, but I guess this would not satisfy your strict testing conditions.
Whether my original situation is some corner case is of course strongly arguable.

My recommendation stands even if you convince me that your use case is legitimate - I didn't mean to imply it wasn't.

Well as I already pointed out, I found out a workaround.  I am signalling through parameters - messy but it works and haven't had single instance of error since.
But someone might come into my situation in future - losing months (not continuously of course) to figure out what the hell is wrong.  On the other hand, I must give you some credit about the "corner case" as I don't see a lot of programmers using serious scripting as it requires Assembly knowledge - which I fortunately learned on ZX Spectrum in 1980s.

This issue exposes a race between the OS scheduling a thread ('the script') to run and the network latency in polling for the script's status.  Because script's run state is very short lived it is possible to never catch it in the running state by polling for the status.
Furthermore, polling for a script's status in a tight loop is a waste of network bandwidth.  Therefore, I believe a better approach is needed in such situations.
As workarounds I would offer several solutions:

Use a parameter in the script to flag the fact that the script has run to completion.
Trigger an event at the completion of the script.

I prefer the use of an event which can be monitored asynchronously without wasting network bandwidth.  I'm considering building a PI_SCRIPT_HALTED_EVENT into a future release of pigpio to make all of this more user friendly.


python312Packages.pysmi: 1.4.4 -> 1.5.0

Diff: https://github.com/lextudio/pysmi/compare/refs/tags/v1.4.4...1.5.0
Changelog: https://github.com/lextudio/pysmi/blob/v1.5.0/CHANGES.rst
Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 340338 run on x86_64-linux 1

2 packages failed to build:

routersploit
routersploit.dist

28 packages built:

blocksat-cli (python312Packages.blocksat-cli)
blocksat-cli.dist (python312Packages.blocksat-cli.dist)
glances
glances.dist
home-assistant-component-tests.brother
home-assistant-component-tests.snmp
python311Packages.atenpdu
python311Packages.atenpdu.dist
python311Packages.blocksat-cli
python311Packages.blocksat-cli.dist
python311Packages.brother
python311Packages.brother.dist
python311Packages.patator
python311Packages.patator.dist
python311Packages.pysmi
python311Packages.pysmi.dist
python311Packages.pysnmp
python311Packages.pysnmp.dist
python312Packages.atenpdu
python312Packages.atenpdu.dist
python312Packages.brother
python312Packages.brother.dist
python312Packages.patator
python312Packages.patator.dist
python312Packages.pysmi
python312Packages.pysmi.dist
python312Packages.pysnmp
python312Packages.pysnmp.dist

routersploit is already broken.

Result of nixpkgs-review pr 340338 run on x86_64-linux 1

2 packages failed to build:

routersploit
routersploit.dist

28 packages built:

blocksat-cli (python312Packages.blocksat-cli)
blocksat-cli.dist (python312Packages.blocksat-cli.dist)
glances
glances.dist
home-assistant-component-tests.brother
home-assistant-component-tests.snmp
python311Packages.atenpdu
python311Packages.atenpdu.dist
python311Packages.blocksat-cli
python311Packages.blocksat-cli.dist
python311Packages.brother
python311Packages.brother.dist
python311Packages.patator
python311Packages.patator.dist
python311Packages.pysmi
python311Packages.pysmi.dist
python311Packages.pysnmp
python311Packages.pysnmp.dist
python312Packages.atenpdu
python312Packages.atenpdu.dist
python312Packages.brother
python312Packages.brother.dist
python312Packages.patator
python312Packages.patator.dist
python312Packages.pysmi
python312Packages.pysmi.dist
python312Packages.pysnmp
python312Packages.pysnmp.dist


Symfony 5 compatibility?

Hello,
The current version of this bundle on Packagist it not compatible with Symfony5: https://packagist.org/packages/superbrave/gdpr-bundle
Are there plans for Symfony 5 compatibility? Symfony5 was released November, 2019.

Hello Sebastien,
Thanks for your message. We currently do not have plans to make it Symfony 5 compatible. I'd have to look into it to see how much work has to be done in order for it to get it working with Symfony 5. If you want you can contribute this feature yourself. If I have more information regarding the Symfony 5 upgrade, I will update this issue with more information.

I would be also interested in.


Publishing new release

Opening this issue to ask about publishing a new release so we can get https://github.com/jupyterlite/jupyterlite-sphinx/pull/165 in for opening the jupyterlite window in a new tab. @jtpio, @Carreau, @martinRenou, do any of you have any objections to making a new release now?

Sounds good :+1:
Maybe a 0.15.0 if it adds a new feature?

Maybe a 0.15.0 if it adds a new feature?

Yes, it seems like it’s worth bumping to 0.15.0. Thanks!

I've gone ahead and made the release.

Nice, thanks!

Thanks!


Validate output of first_round and next_round functions

We currently don't have any way of catching that first_round or next_round arrays are empty, before sending them to the frontend. We should work on validation, and throwing descriptive errors for empty arrays. Moreover, first_round should always have an action with a button (Explainer / Info), so the user interacts with the document before the experiment begins.

Should these be http exceptions thrown by python (I'm thinking of a 422 - unprocessable entity) or will the request still be a 200 albeit with a custom error object format? Do we have a format or convention for returning server errors?

I think we should be throwing an error, with a descriptive error message. Something like Django's HttpResponseServerError, but other responses / error codes may indeed be more appropriate.

Blocked by #928.


Improve GRADLE build Performance

Process forking options. Gradle will run all tests in a single forked VM by default. This can be problematic if there are a lot of tests or some very memory-hungry ones. We can fork a new test VM after a certain number of tests have run by setting forkEvery.
=====================
If there are any inappropriate modifications in this PR, please give me a reply and I will change them.

Thanks, but I don't think this is necessary for this project.


Fixes issue 1976: Transparent background images look bad when using D…

…ark Theme
https://github.com/mozilla/thimble.mozilla.org/issues/1976

@flukeout can you review this pls?

Testing now.


Fix attachment management for all supported types

Add missing expr.Bytes expr. type
Fix attachment upload when []bytes used (missing type, improper
size calculation)
Fix attachment upload when ReadSeeker used (missing size calculation)
Fix attachment upload when Reader used (missing logic, missing size
calculation)

Codecov Report

Merging #351 (3ba4dc5) into 2021.9.x (c75e448) will increase coverage by 0.83%.
The diff coverage is 55.99%.

@@             Coverage Diff              @@
##           2021.9.x     #351      +/-   ##
============================================
+ Coverage     42.35%   43.18%   +0.83%
============================================
  Files           781      782       +1
  Lines         73463    73996     +533
============================================
+ Hits          31115    31956     +841
+ Misses        37946    37509     -437
- Partials       4402     4531     +129

Impacted Files
Coverage Δ

automation/rest/request/session.go
4.57% <0.00%> (ø)

automation/service/session.go
50.67% <0.00%> (-1.17%)
:arrow_down:

automation/service/trigger.go
55.65% <ø> (+1.38%)
:arrow_up:

automation/types/function.go
70.14% <ø> (ø)

compose/rest/automation.go
4.76% <0.00%> (ø)

compose/rest/module.go
74.71% <0.00%> (ø)

compose/rest/page.go
71.68% <0.00%> (+9.73%)
:arrow_up:

compose/rest/request/automation.go
0.00% <0.00%> (ø)

compose/rest/request/notification.go
0.00% <0.00%> (ø)

compose/service/locale.go
0.00% <0.00%> (ø)

... and 141 more

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 2653c38...3ba4dc5. Read the comment docs.


Non-platform thread

Hi we are trying to implement health_kit_reporter and we have done so in our main Widget, called with runApp(...)
Immediately in the main widget we setup the listeners.
Even though everything seems to work it is a bit worry some to get this kind of error message. What is the approach here? Cannot health_kit_reporter work with Riverpod?
[ERROR:flutter/shell/common/shell.cc(1015)] The 'health_kit_reporter_event_channel_observer_query' channel sent a message from native to Flutter on a non-platform thread. Platform channel messages must be sent on the platform thread. Failure to do so may result in data loss or crashes, and must be fixed in the plugin or application code creating that channel.

It seems like you're encountering an error related to platform channel communication in Flutter, specifically when using the health_kit_reporter plugin. This error typically occurs when a platform channel message is sent from a non-platform thread, which violates Flutter's threading model and can lead to issues like data loss or crashes.
To address this issue, you'll need to ensure that platform channel messages are sent on the platform thread. Here are some steps you can take to troubleshoot and potentially fix the problem:
Check Plugin Implementation: First, ensure that the health_kit_reporter plugin is implemented correctly and adheres to Flutter's platform channel threading requirements. Review the plugin's source code, particularly the parts related to channel communication, to see if there are any obvious threading issues.
Isolate Channel Communication: If the plugin's implementation seems correct, consider isolating the channel communication to ensure that messages are sent from the platform thread. This might involve restructuring your code to move channel communication logic to a platform-specific implementation (e.g., in Kotlin/Java for Android or Swift/Objective-C for iOS) and invoking it from Dart code using platform channels.
Check Usage in Widgets: Review how you're using the health_kit_reporter plugin in your Flutter widgets. Ensure that any calls to the plugin's methods are made in the appropriate context and on the main thread. Avoid making blocking or long-running calls on the main thread, as this can lead to performance issues and potentially trigger the error you're seeing.
Consider Threading Models: If you're using Riverpod for state management, consider how it interacts with platform channels and threading. Ensure that any state changes or side effects triggered by health_kit_reporter events are handled appropriately within Riverpod's threading model.
Debugging: Use debugging tools like Flutter's DevTools to inspect the application's threading behavior and identify any potential issues with platform channel communication. Look for patterns or conditions that might lead to messages being sent from non-platform threads.
Consult Plugin Documentation or Community: Check the documentation for the health_kit_reporter plugin to see if there are any specific guidelines or recommendations for handling threading issues. Additionally, consider reaching out to the plugin's developers or the Flutter community for assistance, as others may have encountered similar issues and can provide insights or solutions.
By carefully reviewing your code, checking plugin implementation, and considering threading models, you should be able to identify and address the underlying cause of the error related to platform channel threading in your Flutter application.

A thing similar fixed with firebase now.
https://github.com/firebase/flutterfire/issues/11628

Wrapping the plugin code with dispatch_async(dispatch_get_main_queue(), ^{} is a common approach in iOS development to ensure that certain tasks are executed on the main thread, especially when dealing with UI updates or interactions. However, in Flutter, you typically don't need to manually manage threads like you would in native iOS development.
Flutter manages its own event loop and automatically runs Dart code on the main UI thread. When communicating with platform-specific code (such as through platform channels), Flutter ensures that messages are sent and received on the appropriate threads.
If you're encountering issues with the health_kit_reporter plugin, it's more likely due to how the plugin itself handles threading internally or how it interacts with Flutter's threading model. Wrapping the plugin code with dispatch_async(dispatch_get_main_queue(), ^{} directly within the plugin might not be the correct solution in this context.
Instead, I would recommend reviewing the plugin's source code to ensure that it correctly handles threading and platform channel communication according to Flutter's conventions. If you suspect that the plugin has threading issues, you may need to address them within the plugin itself or consider alternatives if the issues persist.

Exactly. And since The main App runs on the main thread is why I posted here ie I think that maybe the plugin needs patching.
From what I've found is that the plugin code needs to be wrapped with dispatch_async(dispatch_get_main_queue(), ^{});

ChatGPT much yeah?
Well I am not the plugin developer. Which is why we have this thread....

Any updates on this issue? It is currently breaking background delivery for us after updating to flutter 3.19.

Bah.... reopened.

I do see this error as well; it usually happens with a fresh install of my app.
[This message has been written by a human being]

whats the new error?

Any news? I came across it too...
Here are the details:
[ERROR:flutter/shell/common/shell.cc(1055)] The 'health_kit_reporter_event_channel_observer_query' channel sent a message from native to Flutter on a non-platform thread. Platform channel messages must be sent on the platform thread. Failure to do so may result in data loss or crashes, and must be fixed in the plugin or application code creating that channel. See https://docs.flutter.dev/platform-integration/platform-channels#channels-and-platform-threading for more information.

Same for me....
On Mon, Jul 29, 2024 at 6:24 PM vilorel @.***> wrote:

Any news? I came across it too...
Here are the details:
[ERROR:flutter/shell/common/shell.cc(1055)] The
'health_kit_reporter_event_channel_observer_query' channel sent a message
from native to Flutter on a non-platform thread. Platform channel messages
must be sent on the platform thread. Failure to do so may result in data
loss or crashes, and must be fixed in the plugin or application code
creating that channel. See
https://docs.flutter.dev/platform-integration/platform-channels#channels-and-platform-threading
for more information.
—
Reply to this email directly, view it on GitHub
https://github.com/kvs-coder/health_kit_reporter/issues/68#issuecomment-2256375891,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZTNFJL4ELCKTVUCSTBGDWTZOZUENAVCNFSM6AAAAABK5MK7SSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJWGM3TKOBZGE
.
You are receiving this because you modified the open/close state.Message
ID: @.***>


Enhancement: "cypress open" should allow overriding baseline screenshot automatically

When I open the cypress, I am making up my tests, modifying the app to be more testable, etc... But the screenshot comparison fail "each time" (hum, yes, a bit of exaggeration here) a make a modification. So actually, I do an "rm -fr .../baseline" before each test, but that's not very top.
I would like to have a mode where Cypress-visual-regression would automatically erase screenshots. I anyway do the comparison when comiting the images in git, so I even don't look at the result at that time.
I had a look at "--env type=base", but it does not seems to work in "cypress open" mode

This sounds good. Would you like to open a PR?

I have stumbled upon this feature request, and I want to point out that it might not be currently possible due to this external dependency: https://github.com/cypress-io/cypress/issues/15077.
In short, when running all tests in Cypress GUI mode, the name of the test spec file, and thus the name of the folder where base snapshots are stored will not match with the actual test spec file names.

Closing due to inactivity...


Fix some community-specific handling for non Leu/Gbd communities

Fix displaying community-specific announcements for non Leu/Gbd communities.  Closes #1489
Fix community name of issuance in transaction history for non Leu/Gbd communities.

Hmm, when I run the integration tests locally it just hangs in the extrinsic send process, but not always at the same location, assume this is this is also what is happening in the CI, see https://github.com/encointer/encointer-wallet-flutter/issues/1485#issuecomment-1742560099.

Doesn't work for me

announcements only get loaded (or refreshed) in debug mode
switching from Leu to GBD will still kepp Leu announcements
switching to Nyota same. Nyota announcement not shown


Generate SSH key

[x]  Remove current SSH key in /docker/nginx
[x]  Create a post-hook to automatically create a new one

Closed by https://github.com/inveniosoftware/cookiecutter-invenio-rdm/commit/34c2e8abe87882f7afbf6acbb5bb7e847b9877c6


PTofRE and DensityEnergyFromPressureTemperature should have consistent naming

Either abbreviate both or make both long. I'd be in favor of abbreviating both since they're kind of non-standard.
@dholladay00 wants this

I would prefer longer names for both, as that is the standard in the rest of the code base. That said, we should reconsider whether or not these functions should continue to have the same signature.


simplified sampleUpdate in Stream.sample

... and renamed some type variables so that a and b in SampleEvent and SampleState correspond to the roles of a and b in the type of sample.

How about now? The record type alias with named components makes it clearer?

I did some last bits of cleanup, but I this is overall a lot nicer!


Manually specify configuration

What is the correct (if such a thing exists) way of doing the following:
I have nginx-proxy setup and working with letsencrypt-nginx-proxy-companion.
Now I have two sets of services:

Docker containers that should be using HTTPS only and should therefore be using letsencrypt. I'll add the environment variables as usual.
Other services (mostly docker containers) that I imagine I need to define manually. An example:

server {
listen 80;
server_name unifi.local;
location / {
proxy_pass http://<IP_ADDRESS>:8080;
proxy_buffering off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
}
}
In my current (vanilla nginx) setup, everything is is in one messy default.conf. But I assume that this is autogenerated and overwritten with the proxy. Where do I keep this manual configuration now? I tried mounting and putting it in conf.d, but that doesn't seem to work.

create a file named unifi.local.conf with:
server {
	listen 80;
	server_name unifi.local;
	location / {
		proxy_pass http://<IP_ADDRESS>:8080;
		proxy_buffering off;
		proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
		auth_basic "Restricted";
		auth_basic_user_file /etc/nginx/.htpasswd;
	}
}

now add this file to the nginx-proxy container with a volume:
docker run .... -v /somewhere/unifi.local.conf:/etc/nginx/conf.d/unifi.local.conf:ro jwilder/nginx-proxy

I've mounted the entire /conf.d directory, and for reasons I can't quite explain. It works after creating a new file. There were no errors in the log, and I'm 99% sure I had restarted the container after adding the file. I guess it must've been the 1% that got me.
I'm glad to hear that I had understood it correctly. It seems like a very logical place to do it.
Thanks for the help!

Is there a reason for the filename: unifi.local.conf?

@JohnAllen It should be the same as your hostname. I used unifi.local in my question, which is why @thomasleveil also used it. It might also have been unifi.example.com or even just unifi, depending on your DNS settings.


Keep state the state of a job

In case our process crashed somehow (computer powered off or whatever), it should be made possible to continue where we left off since the job keeps running on jenkins.
Open questions:
How do we save the state? Is a simple json file enough? Do we need something more robust?
What should we save?
Probably change number, build number, current "step"

First we should think about the user experience.
Here is possible flow:
$ oci system-tests 12345
...
[ 7/8 ] Waiting until job is finished
        job: https://jenkins.ovirt.org/job/ovirt-system-tests_manual/87654

-- POWER LOST --
Query interrupted jobs:
$ oci jobs
1   build-artifacts
    change: 12345 project: vdsm branch: ovirt-4.3 patchset: 7
    job: https://jenkins.ovirt.org/job/ovirt-system-tests_manual/87654

Continue interrupted jobs:
$ oci continue 1
[ 7/8 ] Waiting until job is finished
        job: https://jenkins.ovirt.org/job/ovirt-system-tests_manual/87654
[ 8/8 ] Job completed successfully!

Completed job deleted:
$ oci jobs
(nothing)

Regarding implementation:

json file per job sounds like good idea. For robustness we can use atomic write:
see https://gerrit.ovirt.org/c/96438/
store new json each time step starts, replacing old json
store all the info we collected about the job during the build. The only detail which may not be helpful is the queue item id, since the item disappear after couple of minutes.


[WIP] Drop files on window to change texture. Closes GH-21

https://github.com/satoshinm/NetCraft/issues/21 Textures configurable at runtime

Original texture.png:

changing for testing:

Then dragging and dropping onto native app:

But this breaks the web build, added a stub for glfwSetDropCallback in https://github.com/kripken/emscripten/pull/5162 glfw update to 3.2.1 for emscripten, but that's all it is - it ought to be bridged to the HTML5 Drag and Drop API https://www.html5rocks.com/en/tutorials/dnd/basics/ and submitted to emscripten.

Added rudimentary filename comparisons, user can now drop e.g. font.png to change the font:

or sign.png or sky.png (but this one runs out of memory, too big). If nothing matches, loads as texture.png.

Fixed a memory leak (files added to browser memory fs, weren't being deleted) in https://github.com/satoshinm/NetCraft/commit/7e890ac6d32bc5d082d87cdf956b7e9f9b2fc492


Refactoring

Refactoring
User Story
AS A marketing agency
I WANT a codebase that is optimized, consolidated, and cleaner to read
SO THAT our site is efficiently optimized for search engines, and is neat for whenever anyone needs to debug the codebase
Acceptance Criteria
GIVEN an optimized, consolidated, and neater codebase
WHEN I view the HTML and CSS files
THEN I see no redundant or void codes

Notes

I consolidated repeating codes I discovered while reading through the code within both index.html and style.css
Refactored the class selectors of .search-engine-optimization, .online-reputation-management, and .social-media-marketing


Sub-query example query

Error 2/3
{
"batchSize":20480,
"columns":["__time","channel","cityName","comment","count","countryIsoCode","diffUrl","flags","isAnonymous","isMinor","isNew","isRobot","isUnpatrolled","metroCode","namespace","page","regionIsoCode","regionName","sum_added","sum_commentLength","sum_deleted","sum_delta","sum_deltaBucket","user"],
"dataSource":{"type":"query","query":{"queryType":"scan","dataSource":{"type":"table","name":"A"},"columns":["AT"],"intervals":{"type":"intervals","intervals":["1980-06-12T22:30:00.000Z/2020-01-26T23:00:00.000Z"]}}},
"filter":{"dimension":"countryName","extractionFn":{"locale":"","type":"lower"},"type":"selector","value":"france"},
"intervals":{"type":"intervals","intervals":["1980-06-12T22:30:00.000Z/2020-01-26T23:00:00.000Z"]},
"limit":10,
"order":"descending",
"queryType":"scan"
}

The above querying is failing when executed directly on Apache Druid with below error. I think this is a query error and not a bug in code. Perhaps we just need to fix this query.
Time-ordering on scan queries is only supported for queries with segment specs of type MultipleSpecificSegmentSpec or SpecificSegmentSpec...a [MultipleIntervalSegmentSpec] was received instead.

This query must have never worked indeed. Introduced here: https://github.com/grafadruid/go-druid/commit/49956874a7e59bd24974612d77af636aa72e717f#diff-7c1b8c5172fe7687c2af90f55f18e7e5eacf13af953ccc2bbeb5de3fa56e2688R25
Probably used only to debug the object model of the query (specific to circular dependency) rather than for getting results. We should fix it so it is valid and return results but still test the sub-query case
Originally posted by @jbguerraz in https://github.com/grafadruid/go-druid/issues/13#issuecomment-766709313

Do we've any updates on this? @jbguerraz

As I understand the Load() function returns correct request body but when making call to Execute() function, we get error about the null value.
ErrorMessage:Cannot construct instance of org.apache.druid.query.QueryDataSource, problem: 'query' must be nonnull .....

This was the query sent to druid, why do we've a - here? Are we missing something very basic here?
{
	"queryType": "timeseries",
	"dataSource": {
		"type": "query",
		"-": {
			"queryType": "topN",
			"dataSource": {
				"type": "table",
				"name": "dc_94b4f5fdfde940979b79c50539d8322a_b42fde98efed4e638a0016b34b3c10cf_dataset_pre"
			},
			"intervals": {
				"type": "intervals",
				"intervals": ["2022-10-07T00:00:00Z/P1W"]
			},
			"dimension": {
				"type": "default",
				"dimension": "string_value"
			},
			"metric": {
				"type": "numeric",
				"metric": "count"
			},
			"threshold": 100,
			"filter": {
				"type": "and",
				"fields": [{
					"type": "selector",
					"dimension": "__truera_split_name__",
					"value": "train"
				}, {
					"type": "selector",
					"dimension": "column_name",
					"value": "addressState"
				}]
			},
			"granularity": "day",
			"aggregations": [{
				"type": "longSum",
				"name": "count",
				"fieldName": "count"
			}]
		}
	},
	"intervals": {
		"type": "intervals",
		"intervals": ["2022-10-07T00:00:00Z/P1W"]
	},
	"granularity": "day"
}

we haven't tested sub-querying.

As discussed on Slack this comes from this change: https://github.com/grafadruid/go-druid/commit/b1a5a2437018cad155a849561a195204aecc8741#diff-8086ca5b4c31b5fcab1a5f0afc76bea40123e6a3852ecc1a19e1bba87e0a4b68R11
Have to restore it as it was in https://github.com/grafadruid/go-druid/commit/49956874a7e59bd24974612d77af636aa72e717f#diff-79e56959c31d638b4bdc3513e79921e69eefeb66836c1e985dbaa9585f8c968aR12
Probably it could be related to https://github.com/grafadruid/go-druid/issues/78


Foundry's Settings dialog doesn't cope well with wide Select elements

E.g. with Core Book content loaded the select fields for choosing individual tables get very wide.
I've queried the Foundry community Discord to see if the Foundry devs consider this a bug on their end (I think it is since any dropdown presenting user content is at the mercy of the user's input). See https://discord.com/channels/170995199584108546/670336275496042502/863768024419139604

Covered by #383


Lost ALL comments after deleting one comment

Describe the Bug
We are in the late setup phase (luckily !!), just 2 users for the moment. We had a bunch of comments existing, because we pushed our tasks between us using comments.
My coleague (having admin rights) deleted one of my comments, with the result that ALL comments are deleted, over all pages. We played around in various scenarios and also with editor rights and found out:

having admin rights or editor rights does not matter
bug is reproduceable between two users as well with one user (see below)
it's not sporadic, 100% bug "success"
I described 2 comments as scenarios below, but always all existing comments are lost
it looks like always the same error is logged in laravel.log (see attachment)

Steps to Reproduce

create two comments on different pages
delete one of the comments, it doesn't matter which one
both comments are deleted

Expected Behaviour
the not deleted comment shall be still available
Screenshots or Additional Context

[2023-03-10 20:06:29] production.ERROR: Du hast keine Berechtigung, auf diese Seite zuzugreifen. {"userId":4,"exception":"[object] (BookStack\\Exceptions\\NotifyException(code: 0): Du hast keine Berechtigung, auf diese Seite zuzugreifen. at /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/app/Http/Controllers/Controller.php:57)
[stacktrace]
#0 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/app/Http/Controllers/Controller.php(76): BookStack\\Http\\Controllers\\Controller->showPermissionError()
#1 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/app/Http/Controllers/CommentController.php(74): BookStack\\Http\\Controllers\\Controller->checkOwnablePermission('comment-delete', Object(BookStack\\Actions\\Comment))
#2 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): BookStack\\Http\\Controllers\\CommentController->destroy(0)
#3 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('destroy', Array)
#4 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Routing/Route.php(262): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(BookStack\\Http\\Controllers\\CommentController), 'destroy')
#5 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Routing/Router.php(721): Illuminate\\Routing\\Route->run()
#7 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(BookStack\\Http\\Request))
#8 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/app/Http/Middleware/Authenticate.php(23): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#9 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\\Http\\Middleware\\Authenticate->handle(Object(BookStack\\Http\\Request), Object(Closure))
#10 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/app/Http/Middleware/Localization.php(45): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#11 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\\Http\\Middleware\\Localization->handle(Object(BookStack\\Http\\Request), Object(Closure))
#12 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/app/Http/Middleware/RunThemeActions.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#13 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\\Http\\Middleware\\RunThemeActions->handle(Object(BookStack\\Http\\Request), Object(Closure))
#14 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/app/Http/Middleware/CheckEmailConfirmed.php(47): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#15 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\\Http\\Middleware\\CheckEmailConfirmed->handle(Object(BookStack\\Http\\Request), Object(Closure))
#16 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/app/Http/Middleware/PreventAuthenticatedResponseCaching.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#17 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\\Http\\Middleware\\PreventAuthenticatedResponseCaching->handle(Object(BookStack\\Http\\Request), Object(Closure))
#18 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#19 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(BookStack\\Http\\Request), Object(Closure))
#20 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#21 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(BookStack\\Http\\Request), Object(Closure))
#22 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#23 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(BookStack\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#24 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Session\\Middleware\\StartSession->handle(Object(BookStack\\Http\\Request), Object(Closure))
#25 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#26 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(BookStack\\Http\\Request), Object(Closure))
#27 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#28 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(BookStack\\Http\\Request), Object(Closure))
#29 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/app/Http/Middleware/ApplyCspRules.php(33): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#30 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\\Http\\Middleware\\ApplyCspRules->handle(Object(BookStack\\Http\\Request), Object(Closure))
#31 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#32 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Routing/Router.php(723): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#33 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Routing/Router.php(698): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(BookStack\\Http\\Request))
#34 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Routing/Router.php(662): Illuminate\\Routing\\Router->runRoute(Object(BookStack\\Http\\Request), Object(Illuminate\\Routing\\Route))
#35 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Routing/Router.php(651): Illuminate\\Routing\\Router->dispatchToRoute(Object(BookStack\\Http\\Request))
#36 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(167): Illuminate\\Routing\\Router->dispatch(Object(BookStack\\Http\\Request))
#37 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(BookStack\\Http\\Request))
#38 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#39 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/app/Http/Middleware/TrustProxies.php(41): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(BookStack\\Http\\Request), Object(Closure))
#40 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\\Http\\Middleware\\TrustProxies->handle(Object(BookStack\\Http\\Request), Object(Closure))
#41 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#42 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(BookStack\\Http\\Request), Object(Closure))
#43 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(BookStack\\Http\\Request), Object(Closure))
#44 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#45 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(BookStack\\Http\\Request), Object(Closure))
#46 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#47 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(BookStack\\Http\\Request), Object(Closure))
#48 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#49 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(142): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(111): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(BookStack\\Http\\Request))
#51 /is/htdocs/wp10625254_0DSY7T8EGK/www/perm-alto/public/index.php(53): Illuminate\\Foundation\\Http\\Kernel->handle(Object(BookStack\\Http\\Request))
#52 {main}
"}

Browser Details
Firefox Extended Support Release 102.8.0esr (64bit)
Exact BookStack Version
V23.01.1
PHP Version
8.1.14-he.0
Hosting Environment
I have a WebPack at hoster HostEurope. i have SCP access to my document root and SSH console with very limited functionality (no GIT, but PHP available).

mounted remote Web-Server over SCP as local drive
git clone executed locally PC, files stored on remote location
run composer locally, files stored on remote location (I have PHP 8.0.28)
run php artisan key:generate over SSH on remote
run php artisan migrate over SSH on remote

Remark: it was not so easy to figure out for me (I'm not a web server expert), but after success in installation I was 2 weeks amazed of BookStack working 100% stable.

Hi @PiHead567,
I have tested this on my dev environment for both v23.01.1 and v23.02.1, and on our demo instance for v23.02, and I have been unable to reproduce this issue. Nor by looking at the code can I see a way for all the comments to become deleted.
Upon that, the error seen would be thrown before any delete action occurs.
I can only think there are maybe permission scenarios at play, which may be hiding comments from being visible (which would be closer to the error log seen).
Are you able to reproduce this, following your provided steps, on our demo instance?

I tried to reproduce on your demo instance (as you asked): works fine, no bug

I tried also to reproduce on my "demo instance". It's a RaspberryPi in my local network, on which I did the first installation to try out. It has the same BookStack version compared to the web server: works fine, no bug

you wrote "Upon that, the error seen would be thrown before any delete action occurs.". Maybe helpful additional information. I did:

create two comments in 1st page
create one comment in 2nd page
delete one of the comments in the first page
after deletion is done and page is refreshed, the page shows the remaining comment
refresh the page (browser F5): remaining comment disappears, same for 2nd page

When the bug happens the first time, and we play around to confirm, it looks like the ERRORs shown in the logfile are related to the bug. In the meanwhile I disagree. I reproduced the bug again and again and did not get any new error in the logfile

Shall I check database when reproducing the bug (before, in between, after)?
The permissions on the Web server are very restrictive (as they should be), for instance not any permission for all. I checked them before reporting yesterday and did not see any issue. Shall I have a try, to open permission for all, just to see if it impacts the bug?

I have a new interesting insight.
Background:
Because first of our users shall come into our platform, I decided following counter measure: I disabled the permission for deleting comments for both roles we use (Admin and Editor). I tested being save from unintended comment deletion and found following.
Scenario:

remark: not any comment is left over
create a new comment in 1st page
create another new comment in 2nd page (looks fine, both comments are there with different content)
edit comment on 1st page
refresh 2nd page: updated comment of 1st page has been moved to 2nd page
from now on I can edit each comment and it will always impact the other one. It is like one comment now, which is shown on both pages

Shall I have a try, to open permission for all, just to see if it impacts the bug?

When I previously mentioned permissions, I was referring only to role/access permissions within BookStack itself. There's been nothing to indicate issues with file/system/web-server permissions so no need to alter those I think.

Isn't id a unique identifier?

Yes, the ID column on the comments table should be a unique primary key column.
I sometimes hear about strange database scenarios when the non-native mysql PHP extension is in use. That's rare (and I thought the alternative is no longer used) but shared host providers like this can often do strange things.
Do you have some control over PHP extensions in the environment?
Check if the mysql_nd extension is active. If you see a nd_pdo_mysql and it's inactive, actived that and de-activate pd_mysql. Then give things a test.

With phpinfo(INFO_MODULES) over HTML, seeked for pdo in the browser leads to this screenshot:

With SSH console:

Looks good, or not?

@PiHead567 Yeah, that looks good. Looks like they might have custom-built packages though, makes reproduction a little trickier.
Within the database, if you expand the comments table are you able to see indexes, to see a list of indexes on columns within that table?

I hope this helps you:

If not: I had created a clone of my Web server installation for testing in the last hours (I don't like this playing around in the real data anymore). I don't have secrets there, feel free to login:
url: https://dbadmin.hosteurope.de/phpmyadmin/login.php
usr: db10625254-devel
pwd<EMAIL_ADDRESS>

I have now my 3rd installation on my Web server: a fresh clean setup with current version of BookStack (v23.02.1).
After the installation process it works fine. I cannot reproduce the bug.
The mess starts, when I import a backup of my productive data in the data base. Can it be, that I import something which mangles my data base? At the end of our evaluation phase I did a data base transfer from my local box to the productive environment on the web server. My local box is a RaspberryPi with MariaDB, my hoster provides MySQL ....
If it helps, take a look to the data base of my playground. My productive data was imported and I deleted afterwards to a minimum (2 pages, 2 comments). Bug is still reproduceable. I'll send you a BookStack invitation and credentials of the data base account by mail. Feel free to do what you want, it's a playground.

Here is the final confirmation that our platform works fine and the reported problem is solved.
It was NOT a bookstack bug. I messed-up the structure of the data base tables during data migration.
I like to say thank you to Dan for support and the whole BookStack team for a very well job. BookStack really convinced me the last weeks.

If someone has similar troubles and stumbles in this bug report, i like to give some technical details.
My problems had been:

deleting one comment deletes all comment
editing one comment transports the updated content to all comments
deleting one attachment deletes all attachment

I messed this up by using the phpMyAdmin web interface to export my data base:

It exports incomplete table structures, where all key/index definitions are missing (right one, left is good):

Please consider: if you backup like this, then you are lost at a restore !!!!
I really wonder that BookStack works robust on the corrupted table structures and it took us 2 weeks to find the first problem.

Thanks for reporting back @PiHead567, good to hear you found the core issue.
It is surprising that the default quick export does not include index detail, that's pretty crucial. From a quick search, I see comments mentioning that PHPmyAdmin adds indexes to the end of the export file, which could mean they were at the end but maybe the import was interrupted before it got to them? I'm just guessing though.

I really wonder that BookStack works robust on the corrupted table structures and it took us 2 weeks to find the first problem.

I am surprised you didn't come across more issues across other data types/models. I'd imagine other issues would start to appear.
Since you managed to find and solve the problem, I'll go ahead and close this off.


https://api.securitycenter.microsoft.com/api/vulnerabilities/machinesVulnerabilities api is not working. Showing bad request. Example is taken from here: https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/get-all-vulnerabilities-by-machines?view=o365-worldwide

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Hey @jimmymuzza
The API you are trying to access doesn't seem to be a Microsoft Graph API. Graph Explorer works with Microsoft Graph APIs

Closing this issue as it's not related to Graph Explorer.
If you have further questions about Graph API's, you may ask here: https://developer.microsoft.com/en-us/graph/support


[e2e]: maven workflow_dispatch main default slsa3

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/8044413443
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.maven.workflow_dispatch.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.maven.workflow_dispatch.main.default.slsa3.yml
Trigger: schedule
Branch: main
Date: Mon Feb 26 06:05:14 UTC 2024

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/8057668553
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.maven.workflow_dispatch.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.maven.workflow_dispatch.main.default.slsa3.yml
Trigger: workflow_dispatch
Branch: main
Date: Tue Feb 27 00:39:15 UTC 2024
Tests are passing now. Closing this issue.


Builtin vertex input fields appear in generated Rust structure

I have this structure in a shader used as vertex shader input
struct VertexInput {
    @location(0) position: vec3<f32>,
    @location(1) texture_id: u32,

    @builtin(vertex_index) vertex_index: u32
}

@vertex
fn vs_main(in: VertexInput) -> VertexOutput { ... }

In the generated Rust code, the structure still contains the builtin field vertex_index
#[repr(C)]
#[derive(Debug, PartialEq, Clone, Copy)]
pub struct VertexInput {
    pub position: [f32; 4],
    pub texture_id: u32,
    pub vertex_index: u32,
}

However, vertex attributes do not have this field, and it appears only in the structure itself
pub const VERTEX_ATTRIBUTES: [wgpu::VertexAttribute; 2] = [
    wgpu::VertexAttribute {
        format: wgpu::VertexFormat::Float32x3,
        offset: std::mem::offset_of!(VertexInput, position) as u64,
        shader_location: 0,
    },
    wgpu::VertexAttribute {
        format: wgpu::VertexFormat::Uint32,
        offset: std::mem::offset_of!(VertexInput, texture_id) as u64,
        shader_location: 1,
    },
];

However, vertex attributes do not have this field, and it appears only in the structure itself
The vertex_index you are specifying is built in and doesn't need to be specified.

Also, in the generated structure, the position field is [f32; 4] instead of [f32; 3]. I'm not sure if this is correct behavior or not

That is the correct behaviour, it is automatically adding the padding bytes in this case. You can provide your own types, it will still ensure (through const assertions that is 12 bytes in length).

See https://www.w3.org/TR/WGSL/#alignment-and-size

The vertex_index you are specifying is built in and doesn't need to be specified.

I understand that this is the intended behavior. However, the vertex_index should not be included in the generated structure, since it is not a user input.

Ah you're right. My caffeine is weak today. 😅

On second thought, generating vertex_index isn't necessary a bug. In places where this is used in eg: storage buffer, it will be treated as padding field, and the gpu fills this for you.
The other part about the position being 16 bytes instead of 12 is likely a bug. Alignments are likely handled differently in vertex attrib. I'll need to play around with a working example to test that however.

Disclaimer
I don't know if this is the right place to put this (it does seem to be related), if you want to I can move this into a seperate issue:
Issue
For some reason the binding for this:
struct VertexInput {
    @builtin(vertex_index) vertex_index: u32,
};

is this:
#[repr(C)]
#[derive(Debug, PartialEq, Clone, Copy, encase::ShaderType)]
pub struct VertexInput {
    pub vertex_index: [u8; 0x4],
}

which is a bit weird, but wouldn't really be a problem, but encase doesn't implement ShaderSize for u8's, so this is a compiler error!

Disclaimer
I don't know if this is the right place to put this (it does seem to be related), if you want to I can move this into a seperate issue:
Issue
For some reason the binding for this:
struct VertexInput {
    @builtin(vertex_index) vertex_index: u32,
};

is this:
#[repr(C)]
#[derive(Debug, PartialEq, Clone, Copy, encase::ShaderType)]
pub struct VertexInput {
    pub vertex_index: [u8; 0x4],
}

which is a bit weird, but wouldn't really be a problem, but encase doesn't implement ShaderSize for u8's, so this is a compiler error!

This is a separate issue. I haven't given much attention to encase but can look into it.


Allow disabling or override of content disposition in hatrac uploader

For the asset annotation, we need a way to configure "ignore client's local name for file". This is to address cases where the user community is using "private" local filename info and we do not want that leaking out into the metadata that will be exposed to consumers of public data.
At minimum, have an annotation field to disable the content-disposition/filename input to hatrac or to supply the same template-generated name used in the destination hatrac object name. (These are equivalent in practice, since hatrac defaults to using the object name as the content disposition during GET requests, if a custom one is not stored.)
I don't know if there is any need to allow override of the original filename column handling. It seems to me that this can remain as now, since the DBA can use ACLs to lock down access to it or skip it entirely by not providing a mapping. But, I don't use it much and so cannot be sure...  @robes @ljpearlman  ?

The proposed solution is to have a new field for the asset annotation called filename_pattern. content_disposition_pattern was considered but implies that the pattern would override the full content-disposition when it only replaces the filename used in the content-disposition. This name would cover the cases mentioned above:

filename_pattern can be used to disable the content-disposition passed as a header when creating the upload job

filename_pattern: false can be set to ignore passing content-disposition
hatrac uses the object name which is dictated by the url_pattern property of asset annotation
last part of url_pattern (filename and suffix) becomes the object name

filename_pattern if defined and valid will be used as the filename in the content-disposition allowing data modelers to control the content-disposition attached to files in hatrac
If no filename_pattern is defined, the name of the file from the filesystem the file was uploaded from will be used (current behavior)


HDZERO googles – problem with DVR video quality

After recording fine since I got them, recently my googles have not been recording video properly.  While I get good video quality on the googles when I am flying, anything that I record has very poor video quality when I play it back.
The linked image and video illustrates the poor video quality that I get from the recording on the SD card.  There are horizontal patterns on the video and the contrast seems to be too high.  I’ve also started to encounter playback problems on some of the video viewers I use.  GomPlayer often cannot even play the video (just audio), although it will usually play on windows media player.
https://www.dropbox.com/scl/fi/jo11s203yfguc055i1iyp/example-of-poor-video-from-HDZERO-vtx.png?rlkey=2wnzt0h5trsha4p4e4vyun40p&st=qqbmgwl4&dl=0
https://www.dropbox.com/scl/fi/vsqthit0w0y7dj475v8y3/hdz_002.mp4?rlkey=u0kxbn6wz63uuya7m624tbfaq&st=mj1i5g37&dl=0
The video quality that I see when I fly is fine.  But when I try to play it in the goggles, or play a copy on my computer, the quality is poor.  This happens with both analogue and HDZero vtx.
Some things that I have tried to correct the problem are:
•	recording in mp4 and TS
•	formatting the SD card in the googles
•	doing a full format of the SD card on my computer
•	using another SD card
•	updating the googles to the latest firmware
None of these measures seem to have had any influence on the recorded video quality problem.
I’d appreciate any advice or assistance that you could give me to fix this problem.

Please connect<EMAIL_ADDRESS>I can't tell if this is a software glitch, but I'm sure it's not normal.

Thanks
Will do.


feat(api-token) example of accessing api_tokens from python

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

What is the current behavior? (You can also link to an open issue here)

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

have moved this pr to https://github.com/stax-labs/lib-stax-python-sdk/pull/40


dragon???

i was looking through the cp code and found this
dragon: {
	behaves: [],
}

what is the context for this

it's the virtual machine for cellpond.
more info: https://www.youtube.com/watch?v=eQgxFuw8f1U


Add delete node step after draining.

This will allow will remove it from the cluster entirel and as part of that process, it will remove it from ELB targetgroup for de-registering. This will ensure the existing connections are closed from ELB side.
As part of this ticket, the "Connection termination on deregistration" is enabled for the load-balancer of default ingress-controller.
Related to: https://github.com/ministryofjustice/cloud-platform/issues/2540

If you delete the node (using kubectl delete nodes) do you also need to terminate the ec2 instance?

@jasonBirchall , yes kubectl delete node  will only remove the node from kubernetes side. we need to terminate the ec2 instance so the instance terminates and the scaling will create a new one.


Feat 4485 add python deepgram audio summary

Closes https://github.com/appwrite/appwrite/issues/4485

Thank you so much for the PR 🤩. We're adding the hacktoberfest-accepted label to ensure this PR counts towards your Hacktoberfest contributions count. With that said, please stay active on this PR to address any comments once you receive a review. Happy Hacktoberfest! 🎃

@Azanul can you please resolve the conflicts?

@Azanul can you please resolve the conflicts?

Done

Thanks for the amazing PR 😇 I have tested it and all works great.
Merging the PR now 🥳


Change the requestHeaderModificationQueue to do a serial dispatch q…

…ueue to prevent concurrent access to the mutableHTTPRequestHeaders dictionary.
Follows on discussions here and here:
https://github.com/AFNetworking/AFNetworking/pull/3891#issuecomment-370477767
https://github.com/AFNetworking/AFNetworking/issues/3636

In the crash I caught, I was seeing concurrent accesses in a copyWithZone: and setValue:forHTTPHeaderField: calls which does point to a concurrency problem.

Closing this for now. I want to do some additional testing. Will reopen once I'm confident in this change.

Hey @SandyChapman did this end up resolving the issue for you? I also noticed on your fork that you made the dict atomic.


[Feature] support idiom for icon

Description
Support export icons with ~idiom suffix.
This PR include change in #38
Changes

Update ImagePack type to struct.
Add Scale enum
- all: for all device
- individual: fix scale value
Update exportAndroidSVGImages and exportAndroidRasterImages
Update XcodeIconsExporter and XcodeImagesExporter
Add extension functions to create [FileContents] for exporting to Xcode.
Update test cases

This PR breaks color and icon exporting.

When I try to export ic/24/profile~ipad icon, FigmaExport terminates with the following error:
Error: Bad asset name «ic_24_profile~ipad»

When I try to export colors to Xcode, FigmaExport terminates with the following error:
error: Unable to add some file references to Xcode project

Sorry, I've checked wrong branch.

Return "@" symbol when exporting images to Xcode project.

I've run figma-export images for iOS example project and the result is wrong.

Look at the exclamation marks.

ok, Thanks for review it.
I'll resolve the conflicts and fix the issue soon.

Hi @subdan
The issues are resolved, please review it when you have time.
Thanks.

Thanks. I will make review tomorrow.

Hi @subdan
Please check the last commit for updating the TemplateProperties.

Thanks for the PR, Jim! I published a new release with your changes.


docs: Show simple POSIX shell quoting in send-message documentation

This reverts commit 5275d49f0572869915973e58b00c902b532c2dfc (effectively), which created more problems than it solves.  #8484 is not a bug: a newline can be included literally with no escaping within POSIX quotes.  Meanwhile, $"" is a bashism, and not even the correct bashism: it translates strings using the LC_MESSAGES catalog.  If the user wants to do something complicated, they can consult the documentation for their shell.

Merged, thanks @andersk!


When launching the renderer, wait for the debugger to attach before running tests

I'll release a new version of the selfhost test provider tomorrow with the necessary changes.


feat(HighOrderServiceConfiguration): Config tab using cosmos for frameworks

Description:
Use the /cosmos/service/describe data to render the configuration tab on service detail when the service is Framework. This brings parity between this page and the review screen when editing the framework.
Implementation:
We extract the review screen and edit / download buttons into their own partial called FrameworkConfigurationReviewScreen. The component is the area within the red  box below.
New config tab:

Review screen is unchanged, but now also uses the partial:

Closes DCOS_OSS-1789.
Checklist

[x] Did you add a JIRA issue in a commit message or as part of the branch name?
[ ] Did you add new unit tests?
[ ] Did you add new integration tests?
[ ] If this is a regression, did you write a test to catch this in the future?

Alfreddo test this please, then I'll buy you a freddo cappuccino


Fix Jacoco tests

Moved plugin config to pluginManagement
Added .gitignore
Signed-off-by: adrianhopebailie<EMAIL_ADDRESS>

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@decfe33). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #36   +/-   ##
=========================================
  Coverage          ?   74.55%
  Complexity        ?      430
=========================================
  Files             ?       92
  Lines             ?     2771
  Branches          ?      300
=========================================
  Hits              ?     2066
  Misses            ?      530
  Partials          ?      175

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 decfe33...78cb889. Read the comment docs.


[WIP] Add SMC init support/progress bar with kernel ops tracing

Seems there are some conflict and a lot of files shows up - could you upstream to master branch first?

Seems there are some conflict and a lot of files shows up - could you upstream to master branch first?

yeap, solving this now.


When editing the workspace.json and clicking on re-generate, the API client/ API plugin should be regenerated successfully

Given the following workspace.json
{
  "version": "1.0.0",
  "clients": {},
  "plugins": {
    "GitHubIssues": {
      "types": [
        "APIPlugin"
      ],
      "descriptionLocation": "https://raw.githubusercontent.com/APIs-guru/openapi-directory/gh-pages/v2/specs/github.com/1.1.4/openapi.json",
      "includePatterns": [
        "/search/issues#GET"
      ],
      "excludePatterns": [],
      "outputPath": "./appPackage"
    },
    "GitHubReposOwner": {
      "types": [
        "APIPlugin"
      ],
      "descriptionLocation": "https://raw.githubusercontent.com/APIs-guru/openapi-directory/gh-pages/v2/specs/github.com/1.1.4/openapi.json",
      "includePatterns": [
        "/repos/{org-id}/{repo-id}#DELETE",
        "/repos/{org-id}/{repo-id}#GET",
        "/repos/{org-id}/{repo-id}#PATCH"
      ],
      "excludePatterns": [],
      "outputPath": "./appPackage"
    }
  }
}

If I make a manual change to add another type to my GitHubReposOwner Plugin:
"GitHubReposOwner": {
      "types": [
        "APIPlugin",
        "APIManifest" //added a new type
      ],
      "descriptionLocation": "https://raw.githubusercontent.com/APIs-guru/openapi-directory/gh-pages/v2/specs/github.com/1.1.4/openapi.json",
      "includePatterns": [
        "/repos/{org-id}/{repo-id}#DELETE",
        "/repos/{org-id}/{repo-id}#GET",
        "/repos/{org-id}/{repo-id}#PATCH"
      ],
      "excludePatterns": [],
      "outputPath": "./appPackage"
    }

When I hit "Re-generate", I get the message that the plugin was re-generated successfully, but the API Manifest file is not generated and the workspace.json file is reloaded and the apimanifest type is removed from my plugin type.
I also cannot change the type to either OpenAI nor API Manifest. If I try to change the type, or even create a new entry manually with OpenAI or API Manifest types and re-generate, Kiota changes it to APIPlugin type and generates the plugin and sliced OpenAPI description.
Expected:
All changes made manually and saved to the workspace.json file, should be used to re-generated the plugin and generate the right output files.

@maisarissi this is probably because the file was loaded in memory whenever you "opened" it, and never reloaded from storage after the modification and before the information was sent to the kiota engine.
From what I remember from vscode APIs, we have the ability to subscribe to file changes. When the event is triggered though it can mean a couple of things: the user didn't make any modification in the UI, we can safely reload things. The user has made modifications, in which case we'd need to prompt them before reloading.
And of course, we should ignore events triggered right after a generation.
This should be considered in combination with #4853 and some preliminary work on UI/behaviour would be helpful to make sure everyone involved has the same understanding here.
Lastly, I'm going to re-tag that as an enhancement since we never spec'd it out at the first place.

Which "Re-generate" this is? The codelense (the one in the file) or the one in the API Explorer? I don't expect the API explorer one to work, while I expect the one from the file to work.

@sebastienlevert The codelense as I'm doing manual changes!

So while I understand this might have a "non-spec" element, I think it's part of the feature to fix it. I see this a a bug more than an enhancement.

+1 to Sebastien's point.
Also, I can add a new entry and hit re-generate, and Kiota will generate the new files for me, the issue though it's that Kiota changes all types to be "APIPlugin" and do not accepted more than 1 type in each entry (what it should).
I see as a bug as well.

If you PMs want to nit pick... I'm going to ask for the spec for the code lens... 😈
But sure, we essentially need to subscribe to file changes. We might want to window them over 1-2s or so to avoid overloading vscode as well.