Fractional epoch

🐛 Bug
Since upgrading to version 0.7.6, I have the following problem:
In my log, I get fractional epochs (like 0.5, 1.5, 2.5, ...) in addition to the expected integer epochs. Is this intentional? Does this mean that on_epoch_end is called twice per epoch?
In 0.7.2.dev0, this was not the case.
Expected behavior
Previously (in 0.7.2.dev0), epoch numbers in the log were integers and this is what I expect.
Environment
* CUDA:
        - GPU:
                - GeForce GTX TITAN X
        - available:         True
        - version:           10.1
* Packages:
        - numpy:             1.18.5
        - pyTorch_debug:     False
        - pyTorch_version:   1.5.0
        - pytorch-lightning: 0.7.6
        - tensorboard:       2.1.1
        - tqdm:              4.46.1
* System:
        - OS:                Linux
        - architecture:
                - 64bit
                -
        - processor:         x86_64
        - python:            3.7.6
        - version:           #132-Ubuntu SMP Tue Jan 9 19:52:39 UTC 2018

Additional context
I also upgraded Pytorch from 1.1.0 to 1.5.0, but this shouldn't affect the epoch counting in Lightning, right?

Try master?

It happens with 0.8.1rc3 as well. After the validation pass, a half epoch is logged:
train_loss,epoch,step,datetime,val_loss,val_acc,val_f1
0.0012006619945168495,1.0,0,2020-06-20 06:18:46.498589,,,
0.0006965053617022932,1.0,50,2020-06-20 06:19:12.942534,,,
0.00047231907956302166,1.0,100,2020-06-20 06:19:40.548979,,,
0.00031291242339648306,1.0,150,2020-06-20 06:20:07.579803,,,
0.0010144615080207586,1.0,200,2020-06-20 06:20:16.187760,,,
,1.0,205,2020-06-20 06:20:16.349497,8.247037887573242,0.0,0.0
0.000277636427199468,1.5,206,2020-06-20 06:20:49.028577,,,
0.0005236843135207891,2.0,256,2020-06-20 06:21:15.270541,,,
0.0007782027823850513,2.0,306,2020-06-20 06:21:41.330511,,,
0.0003978404856752604,2.0,356,2020-06-20 06:22:07.464661,,,
0.0005978736444376409,2.0,406,2020-06-20 06:22:16.083318,,,
,2.0,411,2020-06-20 06:22:16.186468,8.181181907653809,0.0,0.0
0.0005276629235595465,2.5,412,2020-06-20 06:22:48.220048,,,
...

Any idea where this comes from?


ApkPure not working

When accessing the site, it returns 403.

List versions works but downloading no. From verbose logging:
Request: https://d.apkpure.com/b/APK/com.apegroup.mcdonaldsrussia?versionCode=14650, response code: 403


az account show performance

Describe the bug
I spend most of my time using Azure through the CLI and have many different subscriptions. To help give me persistent visual context of which subscription I am currently operating against I make use of the PowerShell module oh-my-posh to display in my prompt the current Azure subscription name context. To show this oh-my-posh runs the command az account show this command is slow and therefore slows down my overall CLI experience as oh-my-posh has to wait for az account show to complete before it can render the prompt.
To Reproduce
Run at a PowerShell prompt  measure-command { az account show }
Expected behavior
I'd expect this to be under <50ms but is actually over 500ms
Environment summary
Using az cli v2.30.0
Additional context
I have about 43 subscriptions available under az account list

@jiasli for awareness

I think you are using this? https://ohmyposh.dev/docs/az
We have already boosted Azure CLI performance from around 3000ms to 500ms via different methods:

https://github.com/Azure/azure-cli/pull/13294
https://github.com/Azure/azure-cli/pull/13843
https://github.com/Azure/azure-cli/pull/14372

az account show now takes around 500ms:
> Measure-Command { az account show }

TotalMilliseconds : 507.024

This is really the best we can get. Perhaps Oh My Posh can directly read from ~/.azure/azureProfile.json to get better performance? Even though directly reading this file is not supported, we haven't changed its schema for many years.


Add functionality to "JOIN FITFLEX NOW" button at about us page

right now the button is not functional i guess when we click on that button it should navigate us to register page

Contributor Information
Please check if you are a contributor from:

[x] GSSoC-ext
[x] Hacktoberfest

Adding a link can't be added as a contribution as per the rules of gssoc-ext and hactoberfest.

I raised one more issue can I merge and make them a single issue ?

i have added the required functionalities along with some enhancement in button on hover conditions . and the navigation through the button is working too


Removed re-opening uploaded files before attaching to email message

had the following error when testing a form on AWS.

File "/opt/python/run/venv/lib/python3.4/site-packages/django/core/mail/message.py", line 171, in init
MIMEText.init(self, _text, _subtype, None)
File "/usr/lib64/python3.4/email/mime/text.py", line 33, in init
_text.encode('us-ascii')
AttributeError: 'bytes' object has no attribute 'encode'

Looking at the email attachment code and comparing it to some of my own, it looks like the issue may stem from re-opening an uploaded file in the default text mode, instead of binary.
Not doing this and reading the contents of the file object directly fix the issue for me.
This was happening with 0.2.1 & 0.2.2

Hey, Thanks for your pull request.
The logic to attach files to email was simple before I added support for S3.
I believe we need close the file to use S3 as storage backend.
Original pull request by @driesdesmet https://github.com/mishbahr/djangocms-forms/pull/16 and my subsequent commit to fix the issue: https://github.com/mishbahr/djangocms-forms/commit/dedd03ed014ef8d445aac153966ddf7133eae72e
For the issue you've described.. can we just open the file in binary mode?
for field, filedata in self.files.items():
    filedata.open('rb')
    content = filedata.read()
    filedata.close()

    email.attach(filedata.name, content, filedata.content_type)

Docs: https://docs.python.org/3/library/functions.html#open
As far as I understand it, appending b to the mode to opens the file in binary mode on systems that differentiate between binary and text files and on systems that don’t have this distinction, adding the 'b' has no effect.

Hi, thanks for writing the awesome plugin :)
If it helps, the solution I have is hosted on AWS using Django-storages for
uploaded files to S3. Another application I have ( also on AWS) uses the
same django-storages s3 backend engine and attaches emails the same way as
my commit - it does not have the problem.
I can test with your proposal when I am back at work tomorrow if you like.
I will let you know.
Cheers,
Rob
On Wed, 2 Nov 2016, 19:07 Mishbah Razzaque<EMAIL_ADDRESS>wrote:

Hey, Thanks for your pull request.
The logic to attach files to email was simple before I added support for
S3.
I believe we need close the file to use S3 as storage backend.
Original pull request by @driesdesmet https://github.com/driesdesmet #16
https://github.com/mishbahr/djangocms-forms/pull/16 and my subsequent
commit to fix the issue: dedd03e
https://github.com/mishbahr/djangocms-forms/commit/dedd03ed014ef8d445aac153966ddf7133eae72e
For the issue you've described.. can we just open the file in binary mode?
for field, filedata in self.files.items():
filedata.open('rb')
content = filedata.read()
filedata.close()
email.attach(filedata.name, content, filedata.content_type)

Docs: https://docs.python.org/3/library/functions.html#open
As far as I understand it, appending b to the mode to opens the file in
binary mode on systems that differentiate between binary and text files and
on systems that don’t have this distinction, adding the 'b' has no effect.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mishbahr/djangocms-forms/pull/36#issuecomment-257835177,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AR0v7rczlKUgIpNZCd0_Y4Sa2d4_MP-Zks5q6G7lgaJpZM4Km4MO
.

your proposed fix seems to work as well. I'm happy to go with that.

Want to amend your merge request w/ proposed fix? I'll be happy to merge it.

yup, done.

Thanks. I'll push the changes to PyPi as soon as I can.

https://pypi.python.org/pypi/djangocms-forms/0.2.3


Added PyTensor logos

Included important formats in README.

@fonnesbeck
How about we:
1: create a folder for "pytensor":  pymc-devs/brand/pytensor
2: add pytensor logos in there, as we did for "pymcon"  pymc-devs/brand/pymcon

@reshamas Not opposed to that, though we should then be consistent and do the same for PyMC. Was thinking here that software logos can go in logos and events and other non-software branding would get their own folders.

@reshamas Not opposed to that, though we should then be consistent and do the same for PyMC. Was thinking here that software logos can go in logos and events and other non-software branding would get their own folders.

I'll submit a PR and put the "pymc" logos and README in its own folder.  I hadn't anticipated more branding in this repo at the time I set it up initially.
I prefer that over a separate sub-folders.  Of course, happy to revisit that in a couple of years if the number of logos folders need to be streamlined.
Also, I will update the main README.md in this repo to link to the 3 logo folders.

@reshamas Want me to merge this, or submit a new PR to your reorganized repo?

@fonnesbeck go ahead and merge this in. thanks.


HIVE-26321: Upgrade commons-io to 2.11.0 (Naveen Gangam)

What changes were proposed in this pull request?
Upgrading commons-io library.
Why are the changes needed?
Uptaking new releases to keep up for new features and bug fixes including CVEs.
Does this PR introduce any user-facing change?
NO
How was this patch tested?
Unit tests.

Thanks for the PR @nrg4878. It will be helpful if you can share what CVEs are fixed in 2.11.0 and not in 2.8.0
I tried looking but didn't any.


Feature - support seek() on Reader

Motivation
Trying to fix #3976
According to what was discussed in pull #3983 it would be an acceptable solution
to add seek() command to Reader in order to reset a non durable cursor after
Reader instance was build.
Modifications

Copy seek() commands to Reader interface from Consumer interface.
Fix inconsistency with lastDequeuedMessage field after seek() command was
performed successfully.
Fix consumer discarding messages on receive (after seek() command) due to
messages being present on acknowledge grouping tacker.
Add functional test to assert behaviour from seek() on Reader.

Verifying this change

[ ] Make sure that the change passes the CI checks.

@lovelle It looks good! Do you want to merge this with my PR or do you want it merged by a committer first?

BTW, I don't know if you have considered other test scenarios. I think your test is only calling a seek() to the beginning of a sequence of messages you sent right (i.e. equivalent to seek(MessageId.EARLIEST)). Have you ever tried seeking for example to the middle of the sequence of messages and saw what happened?
I'm asking this because in my test, only seek(firstPublishTimeStamp) works, otherwise, as you saw in my testoutput, despite the fact that seek appeared to be successful, we still started processing from my-message-0.

@ConcurrencyPractitioner great suggestion! please take a look now, I've just add more tests according to what you said, please let me know what you think! Thanks :+1:

Sorry, just one last test case.
Have you considered testing the seek(long startPublishTime) to the middle of a sequence of ids?
I think seek(MessageId id) was expected to work, but what about the other seek method?
If seek(long startPublishTime) works as well, then I'm all for this issue.

Oh, so @lovelle
I added the following test in my local repo and ran it:
    @Test
    public void testReaderIsAbleToSeekWithTime() throws Exception {
        final String topic = "persistent://my-property/my-ns/testReaderIsAbleToSeekWithTime";
        Producer<byte[]> producer = pulsarClient.newProducer().topic(topic).create();
        final long timeMs = System.currentTimeMillis();
        log.info("Current system time is: " + timeMs);
        for (int i = 0; i < 10; i++) {
           String message = "my-message-" + i;
           producer.send(message.getBytes("UTF-8"));
           Thread.sleep(1000);
       }

       log.info("Seeking to time: " + (timeMs + 3000));
       Reader<byte[]> reader = pulsarClient.newReader().topic(topic)
               .startMessageId(MessageId.earliest).create();

       reader.seek(timeMs + 3000);

       Message<byte[]> msg = null;
       Set<String> messageSet = Sets.newHashSet();
       for (int i = 3; i < 10; i++) {
           msg = reader.readNext();

           String receivedMessage = new String(msg.getData(), "UTF-8");
           log.info("Received message: [{}]", receivedMessage);
           String expectedMessage = "my-message-" + i;
           testMessageOrderAndDuplicates(messageSet, receivedMessage, expectedMessage);
       }
       reader.close();
       producer.close();
    }

And this was the test output:
[ERROR] testReaderIsAbleToSeekWithTime(org.apache.pulsar.client.api.TopicReaderTest)  Time elapsed: 10.112 s  <<< FAILURE!
java.lang.AssertionError: Received message my-message-0 did not match the expected message my-message-3 expected [my-message-3] but found [my-message-0]

I think seek(long timestamp) in your code is also suffering from the same problems that I am.

@ConcurrencyPractitioner
Yes, you are right, reset on ManagedCursorImpl tells moving the cursor to 3:4 position but after this I still receive [3:0..3:9]
e.g:
13:36:22.428 [bookkeeper-ml-workers-OrderedExecutor-5-0:org.apache.bookkeeper.mledger.impl.ManagedCursorImpl@822] INFO  org.apache.bookkeeper.mledger.impl.ManagedCursorImpl - [my-property/my-ns/persistent/testReaderIsAbleToSeekWithTime] Initiate reset position to 3:4 on cursor reader-f3710e27ca
13:36:22.429 [bookkeeper-ml-workers-OrderedExecutor-5-0:org.apache.bookkeeper.mledger.impl.ManagedCursorImpl$7@861] INFO  org.apache.bookkeeper.mledger.impl.ManagedCursorImpl - [my-property/my-ns/persistent/testReaderIsAbleToSeekWithTime] reset position to 3:4 before current read position 3:10 on cursor reader-f3710e27ca
13:36:25.195 [main:org.apache.pulsar.client.api.TopicReaderTest@653] INFO  org.apache.pulsar.client.api.TopicReaderTest - msg -> 3:0:-1:0
13:36:25.196 [main:org.apache.pulsar.client.api.TopicReaderTest@653] INFO  org.apache.pulsar.client.api.TopicReaderTest - msg -> 3:1:-1:0
13:36:25.197 [main:org.apache.pulsar.client.api.TopicReaderTest@653] INFO  org.apache.pulsar.client.api.TopicReaderTest - msg -> 3:2:-1:0
13:36:25.198 [main:org.apache.pulsar.client.api.TopicReaderTest@653] INFO  org.apache.pulsar.client.api.TopicReaderTest - msg -> 3:3:-1:0
13:36:25.199 [main:org.apache.pulsar.client.api.TopicReaderTest@653] INFO  org.apache.pulsar.client.api.TopicReaderTest - msg -> 3:4:-1:0
13:36:25.199 [main:org.apache.pulsar.client.api.TopicReaderTest@653] INFO  org.apache.pulsar.client.api.TopicReaderTest - msg -> 3:5:-1:0
13:36:25.200 [main:org.apache.pulsar.client.api.TopicReaderTest@653] INFO  org.apache.pulsar.client.api.TopicReaderTest - msg -> 3:6:-1:0
13:36:25.201 [main:org.apache.pulsar.client.api.TopicReaderTest@653] INFO  org.apache.pulsar.client.api.TopicReaderTest - msg -> 3:7:-1:0
13:36:25.201 [main:org.apache.pulsar.client.api.TopicReaderTest@653] INFO  org.apache.pulsar.client.api.TopicReaderTest - msg -> 3:8:-1:0
13:36:25.201 [main:org.apache.pulsar.client.api.TopicReaderTest@653] INFO  org.apache.pulsar.client.api.TopicReaderTest - msg -> 3:9:-1:0

I will keep debugging this to see if I find something. :+1:

@ConcurrencyPractitioner the last mentioned missed test case is now solved and added, please take a look now :+1:
@sijie @jai1 this pull is ready to be fully reviewed, thanks!.

👍  I see now, you made some changes to ManagedLedgerImpl. I could see now why seek(long timestamp) was not working. Nice work!

run java8 tests

@jai1 can you please take a look again?

ping @jai1


HBASE-27870 Eliminate the 'WARNING: package jdk.internal.util.random …

…not in java.base' when running UTs with jdk11

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 25s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ master Compile Tests _

+1 :green_heart:
mvninstall
3m 45s
master passed

+1 :green_heart:
compile
4m 35s
master passed

+1 :green_heart:
spotless
0m 40s
branch has no errors when running spotless:check.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
3m 22s
the patch passed

+1 :green_heart:
compile
4m 34s
the patch passed

+1 :green_heart:
javac
4m 34s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
xml
0m  1s
The patch has no ill-formed XML file.

+1 :green_heart:
hadoopcheck
13m 16s
Patch does not cause any errors with Hadoop 3.2.4 3.3.5.

+1 :green_heart:
spotless
0m 39s
patch has no errors when running spotless:check.

_ Other Tests _

+1 :green_heart:
asflicense
0m 11s
The patch does not generate ASF License warnings.

39m 21s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5242/1/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/5242

Optional Tests
dupname asflicense javac hadoopcheck spotless xml compile

uname
Linux e6847d47b98b 5.4.0-1101-aws #109~18.04.1-Ubuntu SMP Mon Apr 24 20:40:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 93ddd7060d

Default Java
Eclipse Adoptium-11.0.17+8

Max. process+thread count
85 (vs. ulimit of 30000)

modules
C: . U: .

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5242/1/console

versions
git=2.34.1 maven=3.8.6

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
1m 13s
Docker mode activated.

-0 :warning:
yetus
0m  3s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ master Compile Tests _

+1 :green_heart:
mvninstall
4m 53s
master passed

+1 :green_heart:
compile
2m 55s
master passed

+1 :green_heart:
shadedjars
6m 43s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
3m  3s
master passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
5m 19s
the patch passed

+1 :green_heart:
compile
2m 47s
the patch passed

+1 :green_heart:
javac
2m 47s
the patch passed

+1 :green_heart:
shadedjars
5m 54s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
2m 56s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
334m 46s
root in the patch passed.

377m 15s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5242/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/5242

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux 13a8d3f9dd59 5.4.0-148-generic #165-Ubuntu SMP Tue Apr 18 08:53:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 93ddd7060d

Default Java
Eclipse Adoptium-11.0.17+8

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5242/1/testReport/

Max. process+thread count
8591 (vs. ulimit of 30000)

modules
C: . U: .

 U: .

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5242/1/console

versions
git=2.34.1 maven=3.8.6

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.


sync: latest to next

sync-branches: New code has just landed in latest, so let's bring next up to speed!

:tada: This PR is included in version 1.6.0-rc.1 :tada:
The release is available on:

GitHub release
npm package (@next dist-tag)
v1.6.0-rc.1

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.6.0 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)
v1.6.0

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.0.0-rc.1 :tada:
The release is available on:

GitHub release
npm package (@next dist-tag)
v2.0.0-rc.1

Your semantic-release bot :package::rocket:


Weird spaces around mid section

I'm using one of the example configs (without changes), but I'm having spacing issues. The mid section has a spacing around.
I don't know if is an OS problem. I'm happy to provide more information if needed.

check your colorscheme Statusline color.

I used the eviline.lua in example directory and met the same issue. Any solution?


Implement FFT

I implemented back-propable FFT.
This interface is different from that of xp.fft because Variable does not support complex.

We discussed about its interface on offline, and decided to use tuple now. After Chainer supports complex numbers, we also support them by checking input type.

flake8
./chainer/functions/math/fft.py:44:80: E501 line too long (80 > 79 characters)
./chainer/functions/math/fft.py:65:80: E501 line too long (80 > 79 characters)

And, why do not check double-backward?

fixed

fixed

Please add fft and ifft to rst file.

LGTM!


Task done, but without sprite svg

Hi,
I test your plugin for generate svg sprite, but after start task svg_sprite, I have no output file.
My code :
svg_sprite                  : {
    basic                   : {

        // Target basics
        expand              : true,
        cwd                 : 'images/svg/*.svg',
        src                 : ['images/svg/*.svg'],
        dest                : 'out'
    }
}

I've 'images/svg' folders with my all icons svg.
Can you help me ?
Thank you :)

Hi @LeG3nDz,
without having tested it: You should get rid of that *.svg in your cwd setting ("current working directory"). Please let me know if that works for you.
Cheers,
Joschi

Yop,
Thak you for response. I've test without "*.svg", but no result :
svg_sprite : {
    basic : {
        expand              : true,
        cwd                 : 'images/svg',
        src                 : ['images/svg/*.svg'],
        dest                : 'out'
    }
}

Ok, seems like there's still an error that I didn't spot in the first place. Please have a look at the example config from the docs:
your_target: {
    expand      : true,
    cwd         : 'path/to/assets',
    src         : ['**/*.svg'],
    dest        : 'path/to/css/dir',
    options     : {
        // Target-specific options
    }
},

The cwd setting specifies the working directory, while the src settings specifies the glob within the cwd. So your setup would look for SVGs like images/svg/images/svg/*.svg. Please modify your src setting accordingly.
Cheers,
Joschi

Hi @LeG3nDz,
did you have the chance to test this again with a corrected svg setting? Any progress on this? Thanks!
Cheers, Joschi

Hi @jkphl
Yep, with your past post, it's okay :)
Thank you !

Good to know, and glad it works for you! Cheers!


Support for Multiple Discord Roles

Describe the feature
When setting Discord Roles in CAD Settings, it would be nice to have support for using multiple roles for the same setting.
Not sure if this is on the plan board already, feel free to remove if it is, or has already been requested.
Finally getting back into using the CAD for a community I'm helping with and really like what's been done so far!
Additional Context
No response

In what context? Provide a bit more info where this isn’t yet supported

Ah okay. Just notice now that this is supported. I was trying it with Admin and it doesn't work. So I guess my suggestion would be to support multiple roles for Admin.

There was a reason I didn’t want to do this, I’ll check tomorrow

Sounds good. I guess my view on it is; in many communities, there are several different admin roles. Which some of them should
in cases give access to admin permissions in CAD.


@Mergifyio backport release-2.5


Directory listing in HomeAssistant drop-down menu is not alphabetized

The drop-down menu for input_select.picframe_directory appears to be in an arbitrary order rather than alphabetical.
I've not tried yet, be perhaps this could be addressed by adding |sort in the getter (picframe_directory_get) and/or setter (picframe_directory_set) automations for input_select.picframe_directory?

Hi Jeff,
sorry for the delayed answer. Currently picframe just reads the folder structure and doesn't do any kind of sorting. So I guess to do the sort in in the home assistant template would be fine. Have you done it already and can you provide the code snippet? Otherwise I could do it.

Hi, Helge.  I have not done it.  (I started playing with it, but got distracted with another project.)  Thanks for taking a look!

Hi Jeff,
try this in picframe_directory_get automation
service: input_select.set_options
data:
  options: '{{ state_attr(''sensor.picframe_directory'', ''directories'') | sort }}'
entity_id: input_select.picframe_directory

Is this working for you?

Yes, that works!  But only after a complete restart; just reloading the automations didn't change anything.

That's seems to be correct. The automation checks if the option list and the folder list differs. So creating / deleting a folder would trigger the automation.
But interesting. The comparison seems to work as long the lists containing the same elements. So no need to sort the sensor list before comparison.
{{ ( state_attr("sensor.picframe_directory", "directories") ) != ( state_attr("input_select.picframe_directory", "options") ) }}

Can this be closed?

Yes, thank you!

I reopen this, until I provide a new yaml automation script for downloading in the wiki.

Updated automation.yaml in wiki


Feature/#37 update acl test

@pbimpisidis catalogue related tests are still included in this pull request...


--build-closure Flag does not prefer taking classes from -classpath

--build-closure Flag does not prefer taking classes from -classpath it takes dependent source jars first.
That should be the same behaviour as javac. Taking classes from -classpath and if not found take them from the sources.
See the discussion in that discussion: https://groups.google.com/forum/#!topic/j2objc-discuss/juXn8G18Gw8

interesting, I think i'm using bug as a feature.  i'm masking files impossible to translate via j2objc from an existing jar on the classpath with my own j2objc-compatible variants on the sourcepath.

Why don't you put them on the classpath instead?

See Keith Stranger's response on your thread at j2objc-discuss:
If it can resolve your dependency from the classpath, it does not compile the .java source in the sourcepath.

The goal is to have these j2objc-compatible variants of dependencies translated to objc when using ---build-closure, so I keep the .java files on the sourcepath.

j2objc has similar rules as javac:

javacj2objc
Compiles specified filesalwaysalways
Compiles -sourcepath referencesif newer than their class filesalways with --build-closure flag
Compiles -classpath referencesnevernever

Only .class files are read from -classpath entries. Only .java files are read from -sourcepath entries. "References" means types that were referenced during compilation, often (but not always) corresponding to a source file's import statements.


Documentation request: cleanup field of k6 CR spec usage

https://github.com/grafana/k6-operator/blob/9db5af67a7d026664eac5b2879db2103c96443cc/controllers/k6_controller.go#L78-L81
It would be better to document the use of the cleanup field.

This has been addressed with #1251. Use of the cleanup option has been highlighted as a "best practice" if metrics are being published, i.e. you don't need to scrape logs after tests.


Adding Infographics to WordWise

I propose adding infographics to the WordWise website to visually explain complex words and concepts. Infographics are powerful tools that combine visuals and concise text to present information clearly and engagingly. Here’s why this enhancement would significantly benefit our users:
Visual Learning: Many users find it easier to understand and retain information when it is presented visually. Infographics can simplify complex vocabulary by breaking down definitions, usage, and examples into easily digestible elements.
Enhanced Engagement: Incorporating colorful and interactive infographics can make the learning experience more enjoyable. Users are likely to spend more time on the site and explore more words when engaging visuals are available.
Contextual Understanding: Infographics can provide contextual information, such as synonyms, antonyms, and example sentences, in a visually appealing format. .
Word Relationships: Infographics can illustrate the origins of words and their relationships with other words, enhancing users' understanding of vocabulary through visual storytelling.
Accessibility: Infographics can cater to different learning styles, making our content more accessible to a wider audience, including visual learners and those with reading difficulties.

you mean a glossary ?

My idea is somewhat related to a glossary but goes beyond it. While a glossary typically provides definitions, my suggestion of using infographics adds a visual and interactive layer. Infographics would not only define words but also explain their usage, relationships, and context in a more engaging and accessible way, catering to diverse learning styles. This enhances the learning experience, making it more dynamic than a traditional glossary.

hey , we are trying to make this an actual blogging application instead of a hard-coded one , so how are you going to decide what terms to include in this infographics ?

suppose im writting a blog with some complicated words which actually do need an explanation , but how will the infograph be updated with the content of my blog ?

okay ,sounds great ! keep a check for when the backend is ready and then you can implement this

all these features sound awesome , I would love to see them in work !
be ready with the relevant external APIS while the backend is being made

okay please provide me with all the labels beforehand
GSSOC
Hacktoberfest

hey @snehas-05 , the frontend and backend have been made , make sure you integrate the infographics feature to the frontend folders frontend and not the root directory one

we have two frontend

using vite - this is where you need to integrate the infographics feature - this frontend hasnt been hosted yet
the one thats been hosted (using html css js )
the vite frontend is still under work hence we arent hosting it right now !

all the best

Actually I have made a separate folder in which I have placed my frontend and backend files.. Can you please explain to me what you are saying as I don't understand.

this is where you have to work -
https://github.com/ANSHIKA-26/WordWise/tree/main/frontend

make another route for info graphics

Okay

hey @snehas-05 any progress ?

@ANSHIKA-26 heyy actually I tried alot to figure out the link you have provided me, it contains a frontend folder, am I supposed to place my frontend files there? If yes then what about backend files?

If you explain me once clearly, I will be thankful to you.

the backend files go in the backend folder , you just integrate the infographics feature to the frontend made in react and not the one in html


totality

Thx

I'd add my imaginary type theory monad's meaning and my imaginary cat's name

Go ahead, as long as it's senseless it's good :)


474 error percentages

percentage calculation now in java code instead of xsl

some of the agent summary values in xml are still not correct (but aren't used anywhere either), I guess that's due to the AgentDataProcessor just updating values for a timestamp it already knows (i.e. when 3 agents all recorded data at the same second), but I have no idea how we'd change that without rewriting the whole thing...

The percentage values for the individual request runtime segments as shown in the table footer row are currently all "NaN%". Maybe you need to adjust the footer row template as well?

This is waiting for @jowerner to decide whether we'd want to rename other pieces of the report as well, right? Just a thought: the more we restructure/rename the report, the more the comparison report will struggle between old and new data (like, "let's compare to last year's test run"), might this be an issue?


model.SuiteVisitor should take a TypeVar to specify the TestSuite and TestCase types

model.SuiteVisitor can apply to a running.TestSuite or result.TestSuite depending on whether it's used as a prerunmodifier or prerebotmodifier, etc. but currently it's typed as only visiting model.TestSuite
maybe something like this (similar to model.TestSuite's typevars):
_TS = TypeVar("_TS", bound=model.TestSuite)
_TC = TypeVar("_TS", bound=model.TestCase)

class SuiteVisitor(Generic[_TS, _TC]):
    def start_suite(self, suite: _TS) ->  bool | None:
        ...
    def visit_test(self, test: _TC) -> None:
        ...

ideally it should only need one generic to specify either model, running or result since i don't think something like SuiteVisitor[model.TestSuite, running.TestCase] is possible, but that would probably require some refactoring

This is fine if it's possible to specify only the package, but if you needed to specify all types separately like
class Example(SuiteVisitor[TestSuite, TestCase, Keyword, If, IfBranch, Try, TryBranch, For, While, Break, Continue, Return, Var, Error]):
    ...

this isn't a good idea. In addition to the usage being horrible, there's a problem that on the result side we have ForIteration and WhileIteration that aren't present on the running side. This would also mean that all such usages would need to be updated if new model objects are introduced.
Currently the recommended way to use typing with visitors is to import appropriate type hints:
from robot.result import TestSuite, TestCase

class Example(SuiteVisitor):

    def start_suite(self, suite: TestSuite):
        ...

    def visit_test(self, test: TestCase):
        ...

I consider the above pretty convenient, which means this enhancement doesn't have too high priority.

unfortunately mypy doesn't allow that:
foo.py: note: In class "Example":
foo.py:16:27: error: Argument 1 of "start_suite" is incompatible with supertype "SuiteVisitor"; supertype
defines the argument type as "TestSuite[Untyped, Untyped]"  [override]
        def start_suite(self, suite: TestSuite): ...
                              ^~~~~~~~~~~~~~~~
foo.py:19:26: error: Argument 1 of "visit_test" is incompatible with supertype "SuiteVisitor"; supertype
defines the argument type as "TestCase[Untyped]"  [override]
        def visit_test(self, test: TestCase): ...
                             ^~~~~~~~~~~~~~
Found 2 errors in 1 file (checked 1 source file)

it's not typesafe because you could theoretically do something like this:
from robot.api import SuiteVisitor
from robot import model, result

class ResultVisitor(SuiteVisitor):

    def start_suite(self, suite: result.TestSuite):
        print(suite.passed) # a model.TestSuite can be passed to this method which would cause this to crash

foo: SuiteVisitor = ResultVisitor()

foo.start_suite(model.TestSuite()) # crashes because `start_suite` was expecting a `running.TestSuite` but received a `model.TestSuite`

on a related note, mypy doesn't even allow you to type-check code from robot without adding a py.typed file, so it would be nice if #4823 could be merged

Do you have ideas how to implement this without making the visitor implementation horribly complicated? Mypy compatibility isn't a goal for us for various reasons, one of them Mypy being annoyingly buggy, and the main reason we are adding type hints is easing IDE usage. The current approach already works well in that regard, so I'm not interested to make the code much more complex just to make Mypy happy.

Do you have ideas how to implement this without making the visitor implementation horribly complicated?

the idea i suggested in the original post doesn't seem too complicated to me. the only issue i can see is the redundancy of having to specify both the TestCase and TestSuite generics. but that can be solved by exporting type aliases for each type of suite visitor instead of the suite visitor class itself:
from typing import TypeAlias

_TS = TypeVar("_TS", bound=model.TestSuite)
_TC = TypeVar("_TS", bound=model.TestCase)

class _SuiteVisitor(Generic[_TS, _TC]):
    def start_suite(self, suite: _TS) ->  bool | None:
        ...
    def visit_test(self, test: _TC) -> None:
        ...

RunningSuiteVisitor: TypeAlias = _SuiteVisitor[running.TestSuite, running.TestCase]
ResultSuiteVisitor: TypeAlias = _SuiteVisitor[result.TestSuite, result.TestCase]

that way, users can easily subtype whichever one they want depending on what their suite visitor is used for:
class ResultVisitor(ResultSuiteVisitor):
    ...

Mypy compatibility isn't a goal for us for various reasons, one of them Mypy being annoyingly buggy

i agree, mypy seems to be very unreliable and in my experience many of the errors it gives me turn out to be false positives. no idea why it ended up being the most popular type checker. but if you push past those issues, its definitely better than not using a type checker at all and saves lots of time in the long run since it prevents runtime errors that could have easily been caught by a type checker.

the main reason we are adding type hints is easing IDE usage

assuming the IDE you're targeting is vscode, i would recommend checking out the pyright type checker as an alternative to mypy. in my experience it's probably the most capable of competing with mypy, and seems far less buggy.
it's also what vscode uses for autocomplete, so if you want to validate that vscode's autocomplete works, it wouldn't hurt to add it to the CI imo

Having separate visitors for the running and result model would certainly be easier for users than needing to list all possible item types with SuiteVisitor[...]. That said, I don't consider it too much better than just importing needed types that works already now:
from robot.model import SuiteVisitor
from robot.running import TestSuite, TestCase

class Example(SuiteVisitor):

    def start_suite(suite: TestSuite):
        ...

    def start_test(test: TestCase):
        ...

If there was a separate RunningSuiteVisitor, you could use the following, and IDEs ought to know the types of suite and test without type hints. I guess that's a benefit, but I would think many users prefer having the type hints there anyway and in that case there's no difference with the above.
from robot.running import RunningSuiteVisitor

class Example(RunningSuiteVisitor):

    def start_suite(suite):
        ...

    def start_test(test):
        ...

I personally don't consider adding separate RunningSuiteVisitor and ResultSuiteVisitor worth the effort, but I'm fine adding them if someone else provides a pull request. I guess they could live in robot.running.visitor and robot.result.visitor modules, respectively, and exposed also via robot.running and robot.result packages.
One problem with ResultSuiteVisitor is that we already have ResultVisitor for visiting the whole result object. I guess the names are clear enough there not to be too much problems, but this difference needs to be documented. The ResultVisitor could probably be then enhanced to extend ResultSuiteVisitor to get proper type hints for the suite structure. That would actually be a pretty nice benefit of this enhancement.

I personally don't consider adding separate RunningSuiteVisitor and ResultSuiteVisitor worth the effort, but I'm fine adding them if someone else provides a pull request. I guess they could live in robot.running.visitor and robot.result.visitor modules, respectively, and exposed also via robot.running and robot.result packages.

thanks. i'll give that a go and open a PR

It's not enough for to make just TestSuite and TestCase generic, that needs to be done with Keyword, If, etc. as well. A problem is that if/when we add more control structures, also they need to be supported and contents of Generic[...] changes.
If the main need is having running and result specific visitors, I believe it's easiest to do that my directly extending the current SuiteVisitor and adding appropriate type hints. That would be less complicated and would ease maintenance.

Do you have ideas how to implement this without making the visitor implementation horribly complicated? Mypy compatibility isn't a goal for us for various reasons, one of them Mypy being annoyingly buggy, and the main reason we are adding type hints is easing IDE usage. The current approach already works well in that regard, so I'm not interested to make the code much more complex just to make Mypy happy.

Hmm...I don't think Mypy is that buggy. Sure, there might be some corner cases. Have you thought about introducing Ruff (and Ruff formatted)?
Here's some analysis of what it looks like today:
# mypy src/robot
Found 1472 errors in 83 files (checked 239 source files)

# ruff check src/robot
Found 471 errors.
[*] 85 fixable with the `--fix` option (8 hidden fixes can be enabled with the `--unsafe-fixes` option).

Perhaps some gradual approach is required to introduce and fix these.


Harmonize case of exception labels

For whatever reason, the first two of these are one case, the rest another. Make it all the same.

test this please

@ticoann please merge

@ticoann you may want to merge first #6427, to avoid conflict

@ticoann this can now be merged. Rebased it.


PRICING-10891: Install cython in build environment

We need to install tye cython package in the build environment. This will enable us to provide a cython enabled modules which include some of the performance metrics modules.

Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

It will help us expedite review of your Pull Request if you tag someone (e.g. @username) to look at it.


Allow to show notifications that do not timeout

The Azure ML extension, presents .json files to the user when creating or editing Azure ML artifacts. We call showInformationMessage() with a prompt to the user to edit the json, then click submit on the same information notification message. After a timeout, this information message disappears into the "notification bell" of VSCode. Unfortunately, the user may not be done editing the json file at that point. Once they are done they are consistently flummoxed by what to do next. They're supposed to hit the "Submit" button on the UI presented by showInformationMessage(), but it's hidden and they don't realize they can click on the bell to see it again.
So... Is there an alternative approach for dealing with this problem? If not, I'm suggesting that a parameter to showInformationMessage() should be added to remove the timout to hide the message. It seems that both showWarningMessage() and showErrorMessage() do NOT disappear after a timeout, BUT the icons they use to indicate status (Yellow and red widgets) aren't appropriate for Azure ML extension needs

If you must have user input, then you should use a modal dialog which our API allows you to do.

This doesn't work as the modal dialog is indeed modal. The user can't edit the json file that they need to edit.

There are a few places where the notification has an action for the user to take and it would be nice to have it up until the user explicitly closes it:

Select Python Interpreter
Convert Notebook to Python code

In many cases popups are more informational "There was an error, more output is available [View Output]" and auto-dismiss is fine, but in others we're asking the user to take action without having to block them so would like the dialog to persist.

Here's another one... In Dart/Flutter we have a command for the user to start capturing verbose logs to attach to bug reports:

Building and launching an app takes a lot longer than the timeout on these messages, so the message disappear and the user is confused. Sometimes I get the wrong logs (the output of the debug window), and probably the user just left the log running away in the background for who knows how long.
A modal dialog won't work because the whole point is for the user to reproduce an issue. Putting it in the status bar would be far too subtle. It's supposed to be there, obvious and visible, so the user knows what they're supposed to do after they're reproduced the issue.

Hello all,
Is there any updates/progress on this?
My use Case is I have to show a user Accept and Reject buttons on the message , and based on that the extension performs next steps.
using a model isnt suitable option , as it effects the readability of the editor, and the selection of Accept/Reject would be entirely based on whatever user sees on the editor.
if not the timeout , is there an alternative way to handle this?


Normalize various kinds of punctuation and/or quotation marks in range-finder script

Checking unique characters that follow a backslash in the Spanish alignments (command: grep -o '\\.' spapddpt_alignments.jsonl_final_output.jsonl | awk '{print $NF}' | sort -u ):
\"
\\
\n

And in the French file:
\"

One thing we might try is using uroman to first romanize both sides of the equation, but this will only work if uroman always outputs one character for one input character.


fixing typo in the contributing-ui-notification-center page

Notes for Reviewers

This PR fixes #12993

Signed commits

[x] Yes, I signed my commits.

🚀 Preview for commit bd027a414a50296ded14c5a97b503be7a923918b at: https://676aa0a1d4b674bcb4e2c5cc--meshery-docs-preview.netlify.app


Failed to parse json string with special character

failed
let jsonStr = "{\"nickName\":\"\\uD83C***\\uDF6C\"}"
let json = JSON(parseJSON: jsonStr)
print("json = \(json)")

result:  json = null
success
let jsonStr = "{\"nickName\":\"hello\"}"
let json = JSON(parseJSON: jsonStr)
print("json = \(json)")

result:  json = {"nickName": "hello"}
How can I fix it

Hey @interchen
In your first example, \uD83C*** is not a valid character. If you remove the duplicate *, JSON will be parsed successfully. Unfortunately, SwiftyJSON does not  provide a way to verify your character if is valid at this time. Let me know if there is any issue. :)


Remove the SimulatedHandData timestamps since they prevent changes in…

Overview
Remove the timestamps from SimulatedHandData because they are breaking tests.
These timestamps are supposed to prevent frequent changes, but they do this in tests as well, where multiple changes per frame are possible. Due to the timestamps being based on UtcNow (which is also quite inaccurate) they can prevent updates randomly.
Changes

Fixes: Test failures observed in #5264

/azp run


feat: custom domain name

adds logic to create custom domain names for stac-api, titiler-pgstac-api, and stac-ingestor-api
certificateArn and *CustomDomainName must be defined in order to deploy with a custom domain name
Once deployed

removing one of these environment variables would remove the CDN
must update Route53 Hosted Zone with API Gateway domain name

This was deployed locally to the test environment with the main branch of eoapi-cdk and it's breaking the titiler pgstac. https://titiler-pgstac-api.dit.maap-project.org/docs gives Internal Server Error. Logs from the AWS console :
[ERROR] ValidationError: 1 validation error for PostgresSettings
database_url
  can only concatenate str (not "NoneType") to str (type=type_error)
Traceback (most recent call last):
  File "/var/lang/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/var/task/handler.py", line 9, in <module>
    from titiler.pgstac.main import app
  File "/tmp/pip-target-wacn12dk/lib/python/titiler/pgstac/main.py", line 42, in <module>
  File "pydantic/env_settings.py", line 40, in pydantic.env_settings.BaseSettings.__init__
  File "pydantic/main.py", line 341, in pydantic.main.BaseModel.__init__

By locally deploying with eoapi-cdk main we incorporated this change https://github.com/developmentseed/eoapi-cdk/pull/61, that significantly bumps titiler-pgstac and changes a little bit the handler, I strongly suspect this is the cause.

I think I found the bug, I am going to try to redeploy to test with a fix right now


Updated dependency

@nexi9
Pls review this pr which fixes the deprecated issue you mentioned in #9
It solves reason of Revert of Contact Picker #13

Why this PR is not merged? any lead or issue guys?


Add support for Windows server 2022

Is your feature request related to a problem? Please describe.
Lacking support for an OS
Describe the solution you'd like
Add resources for Windows server 2022
Describe alternatives you've considered
N/A
Tasks
Working through the guide here:
https://github.com/techservicesillinois/SecOps-Powershell-CISDSC/blob/main/docs/new_resources.md

Output from CISDSCResourceGeneration.psd1 with static corrections
NOTE: These need to be evaluated and placed in static corrections.
PS C:\Users\zdc\dev\projects\SecOps-Powershell-CISDSC> . $args[0] Import-Module '.\src\CISDSCResourceGeneration\CISDSCResourceGeneration.psd1' -Force
$Splat = @{
    BenchmarkPath = 'C:\temp\cis\CIS_Microsoft_Windows_Server_2022_Benchmark_v1.0.0.xlsx'
    BenchmarkVersion = '1.0.0'
    GPOPath = 'C:\temp\cis\Server2022v1.0.0'
    OutputPath = '.\src\CISDSC\dscresources'
    StaticCorrectionsPath = 'C:\Users\zdc\dev\projects\SecOps-Powershell-CISDSC\csvs\static_corrections\TacoSalad.csv'
    ParameterValidationsPath = 'C:\Users\zdc\dev\projects\SecOps-Powershell-CISDSC\csvs\parameter_validations\TacoSalad.csv'
    ParameterOverridesPath = 'C:\Users\zdc\dev\projects\SecOps-Powershell-CISDSC\csvs\parameter_overrides\TacoSalad.csv'
    OS = 'Microsoft Windows Server 2022 Member Server'
    OSBuild = 'TacoSalad'
}
ConvertTo-DSC @Splat
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\ACRS\Certificates:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\ACRS\CRLs:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\ACRS\CTLs:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\CA\Certificates:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\CA\CRLs:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\CA\CTLs:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Disallowed\Certificates:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Disallowed\CRLs:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Disallowed\CTLs:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\DPNGRA\Certificates:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\DPNGRA\CRLs:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\DPNGRA\CTLs:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\FVE\Certificates:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\FVE\CRLs:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\FVE\CTLs:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\FVE_NKP\Certificates:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\FVE_NKP\CRLs:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\FVE_NKP\CTLs:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Root\Certificates:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Root\CRLs:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Root\CTLs:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Trust\Certificates:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Trust\CRLs:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Trust\CTLs:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\TrustedPeople\Certificates:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\TrustedPeople\CRLs:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\TrustedPeople\CTLs:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\TrustedPublisher\Certificates:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\TrustedPublisher\CRLs:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\TrustedPublisher\CTLs:.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging:EnableScriptBlockInvocationLogging.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\PowerShell\Transcription:OutputDirectory.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\PowerShell\Transcription:EnableInvocationHeader.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate:ManagePreviewBuilds.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate:BranchReadinessLevel.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate\AU:AUOptions.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate\AU:AutomaticMaintenanceEnabled.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate\AU:ScheduledInstallTime.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate\AU:ScheduledInstallEveryWeek.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate\AU:ScheduledInstallFirstWeek.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate\AU:ScheduledInstallSecondWeek.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate\AU:ScheduledInstallThirdWeek.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate\AU:ScheduledInstallFourthWeek.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate\AU:AllowMUUpdateService.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint:RestrictDriverInstallationToAdministrators.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint:Restricted.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint:TrustedServers.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint:ServerList.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint:InForest.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WinRM\Service:IPv4Filter.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WinRM\Service:IPv6Filter.
Exception: Missing parameter validation for recommendation <IP_ADDRESS>.2

Latest run output.
PS C:\src\SecOps-Powershell-CISDSC> .\tools\example_generate_2022.ps1
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\ACRS\Certificates: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\ACRS\CRLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\ACRS\CTLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\CA\Certificates: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\CA\CRLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\CA\CTLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Disallowed\Certificates: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Disallowed\CRLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Disallowed\CTLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\DPNGRA\Certificates: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\DPNGRA\CRLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\DPNGRA\CTLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\FVE\Certificates: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\FVE\CRLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\FVE\CTLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\FVE_NKP\Certificates: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\FVE_NKP\CRLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\FVE_NKP\CTLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Root\Certificates: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Root\CRLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Root\CTLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Trust\Certificates: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Trust\CRLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Trust\CTLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\TrustedPeople\Certificates: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\TrustedPeople\CRLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\TrustedPeople\CTLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\TrustedPublisher\Certificates: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\TrustedPublisher\CRLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\TrustedPublisher\CTLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate:BranchReadinessLevel.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate\AU:AUOptions.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate\AU:AutomaticMaintenanceEnabled.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate\AU:ScheduledInstallTime.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate\AU:ScheduledInstallEveryWeek.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate\AU:ScheduledInstallFirstWeek.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate\AU:ScheduledInstallSecondWeek.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate\AU:ScheduledInstallThirdWeek.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate\AU:ScheduledInstallFourthWeek.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate\AU:AllowMUUpdateService.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint:Restricted.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint:TrustedServers.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint:ServerList.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint:InForest.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WinRM\Service:IPv4Filter.
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WinRM\Service:IPv6Filter.
Exception: C:\src\SecOps-Powershell-CISDSC\src\CISDSCResourceGeneration\CISDSCResourceGeneration.psm1:68:13
Line |
  68 |              throw "Missing parameter validation for recommendation $( …
     |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Missing parameter validation for recommendation <IP_ADDRESS>.2

For some reason I cannot for the life of me get the staticcorrections for the SystemCertificates keys to take. I've tried with the colon and space, with the colon, with none. I've tried duplicating a working line and ONLY changing the HKEY part directly copied from the output (with all the above variations as well). Will need to address this as a group...
Current output:
PS C:\Users\buch1\code\SecOps-Powershell-CISDSC> $Splat = @{

BenchmarkPath = 'C:\Users\buch1\Downloads\CIS_Microsoft_Windows_Server_2022_Benchmark_v1.0.0.xlsx'
BenchmarkVersion = '1.0.0'
GPOPath = 'C:\Users\buch1\Downloads\Server2022v1.0.0'
OutputPath = '.\src\CISDSC\dscresources'
StaticCorrectionsPath = '.\csvs\static_corrections\Server2022_corrections_draft.csv'
ParameterValidationsPath = '.\csvs\parameter_validations\TacoSalad.csv'
ParameterOverridesPath = '.\csvs\parameter_overrides\TacoSalad.csv'
OS = 'Microsoft Windows Server 2022 Member Server'
OSBuild = 'TacoSalad'

}
PS C:\Users\buch1\code\SecOps-Powershell-CISDSC> ConvertTo-DSC @Splat
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\ACRS\Certificates: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\ACRS\CRLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\ACRS\CTLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\CA\Certificates: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\CA\CRLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\CA\CTLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Disallowed\Certificates: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Disallowed\CRLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Disallowed\CTLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\DPNGRA\Certificates: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\DPNGRA\CRLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\DPNGRA\CTLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\FVE\Certificates: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\FVE\CRLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\FVE\CTLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\FVE_NKP\Certificates: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\FVE_NKP\CRLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\FVE_NKP\CTLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Root\Certificates: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Root\CRLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Root\CTLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Trust\Certificates: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Trust\CRLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Trust\CTLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\TrustedPeople\Certificates: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\TrustedPeople\CRLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\TrustedPeople\CTLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\TrustedPublisher\Certificates: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\TrustedPublisher\CRLs: .
WARNING: Failed to find a recommendation for Registry HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\TrustedPublisher\CTLs: .

This was released at 12:30pm today :)


Incorrect docs

Hello!
First of all, it would be great if the docs were editable on Github, either in this repo or another, then this would be a PR instead of an issue. :smile:
The URL to the wget command is incorrect, it says slashbase/slashbase instead of slashbaseide/slashbase

Thanks @vichle for pointing out. The url is fixed in the docs.


Review update from 1.3.1 to 1.3.2a1 (when using postgresql)

Starting from v1.3.2, we introduced a new naming convention for DB constraints (e.g. uniqueness constraints), which is meant (together with always setting render_as_batch=True) to provide more flexible migrations also when using SQLite.
We tested (see this comment) that starting from v1.3.2 we will be able to introduce some relevant change (e.g. a uniqueness constraint) and we won't need to reset the DB schemas afresh. This was already the case for postgresql, but the new change enables the same use case for SQLite as well.
What is left to review, just as an additional check, is that we can safely switch from fractal-server 1.3.1 to 1.3.2 when we have actual data in an existing DB. @ychiucco already checked that this is the case for a SQLite DB, and I'm now checking the same with a postgresql DB.

Note: I'm making this comment verbose, to also have it as a reference of how to set-up a fresh fractal-server instance using a postgresql DB.

I create a python venv, and install the "old" version of fractal-server
$ pip install fractal-server[postgres]==1.3.1

To use postgres, I create a user with the same name as my machine user:
$ sudo su - postgres
$ psql
postgres=# CREATE USER fractal SUPERUSER;

Note: Since I created a pg user with the same name as my machine user, I don't need to set replace "peer" with "trust", in the "local" entry of /etc/postgresql/14/main/pg_hba.conf. See https://www.postgresql.org/docs/current/auth-pg-hba-conf.html:

Obtain the client's operating system user name from the operating system and check if it matches the requested database user name. This is only available for local connections. See Section 21.9 for details.

Now I need to create a fractal DB:
$ psql -d postgres
psql (14.8 (Ubuntu 14.8-0ubuntu<IP_ADDRESS>))

postgres=# create database fractal;

CREATE DATABASE

postgres=# \l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
 fractal   | tommaso  | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(4 rows)

To run fractal-server commands, we need some environment variables:
$ cat .fractal_server.env

DB_ENGINE=postgres
POSTGRES_USER=tommaso
POSTGRES_HOST=/var/run/postgresql
POSTGRES_DB=fractal
DEPLOYMENT_TYPE=testing
JWT_SECRET_KEY=somethingelse
FRACTAL_TASKS_DIR=/tmp/fractal_test/tasks
FRACTAL_RUNNER_WORKING_BASE_DIR=/tmp/fractal_test/artifacts

and now we can set up the DB
$ fractalctl set-db

Run alembic.config, with argv=['-c', '/home/tommaso/Fractal/test_postgres_update/venv/lib/python3.10/site-packages/fractal_server/alembic.ini', 'upgrade', 'head']
fractal_server.app.db
INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO  [alembic.runtime.migration] Will assume transactional DDL.
INFO  [alembic.runtime.migration] Running upgrade  -> 50a13d6138fd, Initial schema
INFO  [alembic.runtime.migration] Running upgrade 50a13d6138fd -> 4c308bcaea2b, Add task.args_schema and task.args_schema_version
INFO  [alembic.runtime.migration] Running upgrade 4c308bcaea2b -> f384e1c0cf5d, Drop task.default_args columns

Now we can startup a server
fractalctl start

and interact with the API (in this case I did it via a fractal-web client) to create multiple objects in the DB.
Let's dump the current data to disk (ref #773) and look at their last 30 non-empty lines:
$ pg_dump fractal --data-only --file=dump_data.txt

$ wc -l dump_data.txt
199 dump_data.txt

$ cat dump_data.txt |  grep -v "^$" | tail -n30

-- Name: project_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tommaso
--
SELECT pg_catalog.setval('public.project_id_seq', 1, true);
--
-- Name: resource_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tommaso
--
SELECT pg_catalog.setval('public.resource_id_seq', 1, true);
--
-- Name: state_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tommaso
--
SELECT pg_catalog.setval('public.state_id_seq', 1, false);
--
-- Name: task_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tommaso
--
SELECT pg_catalog.setval('public.task_id_seq', 2, true);
--
-- Name: user_oauth_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tommaso
--
SELECT pg_catalog.setval('public.user_oauth_id_seq', 1, true);
--
-- Name: workflow_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tommaso
--
SELECT pg_catalog.setval('public.workflow_id_seq', 1, true);
--
-- Name: workflowtask_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tommaso
--
SELECT pg_catalog.setval('public.workflowtask_id_seq', 2, true);
--
-- PostgreSQL database dump complete
--

All looks good up to here. Now we shut-down the fractal-server instance (ctrl-c) and update to a new version
$ pip install fractal-server[postgres]==1.3.2a1

Without changing env variables, we re-set the DB
$ fractalctl set-db
Run alembic.config, with argv=['-c', '/home/tommaso/Fractal/test_postgres_update/venv/lib/python3.10/site-packages/fractal_server/alembic.ini', 'upgrade', 'head']
fractal_server.app.db
INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO  [alembic.runtime.migration] Will assume transactional DDL.

which clearly doesn't to much, since there were no new versions. Note that if we had introduced a new version in 1.3.2a1 (say to introduce a new task column, for instance) this should have shown up here.
Now we can restart the server
$ fractalctl start
fractal_server.app.db
INFO:     Started server process [14553]
INFO:     Waiting for application startup.
2023-06-30 08:56:57,617 - fractal_server.main - WARNING - User<EMAIL_ADDRESS>already exists
INFO:     Application startup complete.
INFO:     Uvicorn running on http://<IP_ADDRESS>:8000 (Press CTRL+C to quit)

and indeed we observe (e.g. via fractal-web) that all data are there as expected.
We can also re-dump the current data, and see that they look like they did before
$ pg_dump fractal --data-only --file=dump_data_new.txt

$ wc -l dump_data_new.txt
199 dump_data_new.txt

$ cat dump_data_new.txt |  grep -v "^$" | tail -n30

-- Name: project_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tommaso
--
SELECT pg_catalog.setval('public.project_id_seq', 1, true);
--
-- Name: resource_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tommaso
--
SELECT pg_catalog.setval('public.resource_id_seq', 1, true);
--
-- Name: state_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tommaso
--
SELECT pg_catalog.setval('public.state_id_seq', 1, false);
--
-- Name: task_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tommaso
--
SELECT pg_catalog.setval('public.task_id_seq', 2, true);
--
-- Name: user_oauth_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tommaso
--
SELECT pg_catalog.setval('public.user_oauth_id_seq', 1, true);
--
-- Name: workflow_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tommaso
--
SELECT pg_catalog.setval('public.workflow_id_seq', 1, true);
--
-- Name: workflowtask_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tommaso
--
SELECT pg_catalog.setval('public.workflowtask_id_seq', 2, true);
--
-- PostgreSQL database dump complete
--

This all went through as expected, we will now release 1.3.2.
Closing.


--exact has no effect when used with --no-build-isolation in uv sync

uv sync --no-build-isolation is always inexact. Adding --exact has no effect.
Related: https://github.com/astral-sh/uv/issues/6580
➜ uv --version
uv 0.3.3 (Homebrew 2024-08-23)

➜ uv pip install ruff
Resolved 1 package in 81ms
Installed 1 package in 2ms
 + ruff==0.6.2

➜ uv sync --no-build-isolation
Resolved 1 package in 1ms
Audited 1 package in 0.07ms

➜ uv sync --no-build-isolation --exact
Resolved 1 package in 0.53ms
Audited 1 package in 0.04ms

➜ uv sync
Resolved 1 package in 0.50ms
Uninstalled 1 package in 0.67ms
 - ruff==0.6.2

Thanks, this seems like a bug.


Implemented Deferred Host Operations

Implemented deferred host operations in this pull request. It was pretty simple with nothing Metal specific. I am a bit concerned on the return values of MVKDeferredOperation::join and about how to store the operation to be executed for later.

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

Thanks for the review, I'll resolve them tomorrow.

It looks like the checks have succeded mostly, would this be ready to merge?


Fixed Issues with starting on index other than 0

Current behaviour
If you set the index to something other than 0, the TabBar control always shows the first tab as focused. I think it has to do with _handleOnLayout.
Expected behaviour
Setting an index to 1 or higher should highlight that tab with the indicator below.
About Fix
Note I used TapGestureHandler from react-native-gesture-handler but there are probably other ways. I just needed a "touch began" event to unlock the position.
My understanding is the onLayout changes some of the Animation values and resets the position to 0 at some point. Rather than fixing that spot this is more of a hack / bandaid fix.
Code sample

import React from 'react';
import { Animated } from 'react-native';
import { TabViewAnimated } from 'react-native-tab-view';
import { TapGestureHandler } from 'react-native-gesture-handler';

// header

type Props = {
    ...TabViewAnimated.defaultProps
};

type State = {
    locked: Boolean
};

// class

export default class TabViewAnimatedEx extends TabViewAnimated<Props, State> {

    constructor(props) {
        super(props);
        // lock position at index
        this.state = {
            ...this.state,
            locked: true,
            position: new Animated.Value(props.navigationState.index)
        };
    }

    componentDidUpdate(oldProps) {
        const { navigationState } = this.props;
        const { index } = navigationState;
        const { panX } = this.state;
        const oldIndex = oldProps.navigationState.index;

        if (index !== oldIndex && panX._value !== 0) {
            this.resetResetCallback();
        }
    }

    resetResetCallback() {
        global.cancelAnimationFrame(this._resetCallback);
        this._resetCallback = global.requestAnimationFrame(() => this.resetOffset());
    }

    resetOffset() {
        const { navigationState } = this.props;
        const { layout } = this.state;

        const offset = navigationState.index * layout.width;
        this.state.offsetX.setValue(-offset);
        this.state.panX.setValue(0);
    }

    onTouchesBegan() {
        if (this.state.locked) {
            // unlock position
            const { panX, offsetX, layoutXY } = this.state;
            this.state.position = Animated.multiply(Animated.divide(Animated.add(panX, offsetX), layoutXY.x), -1);
            this.resetOffset();
            this.setState({ locked: false });
        }
    }

    render() {
        return <TapGestureHandler onBegan={() => this.onTouchesBegan()}>{super.render()}</TapGestureHandler>;
    }
}

Your Environment

software
version

ios or android
ios 11.3

react-native
0.52.0

react-native-tab-view
0.0.74

node
9.4.0

npm or yarn
npm 5.8.0

Note this only seems to be an issue with iOS. I had to condition out the fix with android:
`// @flow
import React from 'react';
import { Animated, Platform } from 'react-native';
import { TabViewAnimated } from 'react-native-tab-view';
import { TapGestureHandler } from 'react-native-gesture-handler';
// header
type Props = {
...TabViewAnimated.defaultProps
};
type State = {
isIOS: Boolean,
locked: Boolean,
position: Animated.Value
};
// class
export default class TabViewAnimatedEx extends TabViewAnimated<Props, State> {
constructor(props) {
super(props);
    const isIOS = Platform.OS === 'ios';

    // lock position at index
    this.state = {
        ...this.state,
        isIOS: isIOS,
        locked: isIOS,
        position: isIOS ? new Animated.Value(props.navigationState.index) : this.state.position
    };
}

componentDidUpdate(oldProps) {
    const { navigationState } = this.props;
    const { index } = navigationState;
    const { panX } = this.state;
    const oldIndex = oldProps.navigationState.index;

    if (index !== oldIndex && panX._value !== 0) {
        this.resetResetCallback();
    }
}

resetResetCallback() {
    global.cancelAnimationFrame(this._resetCallback);
    this._resetCallback = global.requestAnimationFrame(() => this.resetOffset());
}

resetOffset() {
    const { navigationState } = this.props;
    const { layout } = this.state;

    const offset = navigationState.index * layout.width;
    this.state.offsetX.setValue(-offset);
    this.state.panX.setValue(0);
}

onTouchesBegan() {
    if (this.state.locked) {
        // unlock position
        const { panX, offsetX, layoutXY } = this.state;
        this.state.position = Animated.multiply(Animated.divide(Animated.add(panX, offsetX), layoutXY.x), -1);
        this.resetOffset();
        this.setState({ locked: false });
    }
}

render() {
    const { isIOS } = this.state;

    if (isIOS) {
        return <TapGestureHandler onBegan={() => this.onTouchesBegan()}>{super.render()}</TapGestureHandler>;
    }

    return super.render();
}

}
`

Hello,
Any update on this. I would like to start sometimes with index=1 but it doesn't seems to work.
Thanks

Hi Is there any update on this for IOS

Hey, I just released a new alpha 2.0.0-alpha.0 of the library. It's rewritten using react-native-gesture-handler and react-native-reanimated addresses a many platform specific bugs and performance problems. The documentation is updated as well.
Please try the new version and see if it addresses your issue. If not, please open a new issue following the issue template.


merge package template from Kronos-Tools/npm-package-template

package.json

chore(devDependencies): add<EMAIL_ADDRESS>from template
chore(devDependencies): add<EMAIL_ADDRESS>from template
chore(devDependencies): update<EMAIL_ADDRESS>from template

Codecov Report

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

@@           Coverage Diff           @@
##           master     #148   +/-   ##
=======================================
  Coverage   84.21%   84.21%
=======================================
  Files           1        1
  Lines          57       57
=======================================
  Hits           48       48
  Misses          9        9

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 a2fee70...3934036. Read the comment docs.


Refactor the .py file names of existing metrics sub .py file with input params style

This plan was abandoned.


aws_route53_health_check report could be more user friendly

Description
Here's a 0.13 unmanaged aws_route53_health_check report:
Found resources not covered by IaC:
  aws_route53_health_check:
    - 61fac723-812d-4f6a-ba0d-bd17be98ce3f

If I have many checks, it's not very useful to me as a human.
Example
The following could be more useful to a human:
Found resources not covered by IaC:
  aws_route53_health_check:
    - yaddaCheck

I'm not even sure that displaying the ID for the human readable output is so important, as in both HCL and AWS Console, Names are displayed by default.

lgtm

cannot be anything else than the ID in default mode (no access to its name)
is ok using deep mode

Found resources not covered by IaC:
  aws_route53_health_check:
    - b3e63966-ed7b-4581-b184-6f5fab0d1ddc
        IpAddress: <IP_ADDRESS>, Name: yaddaCheck, Port: 80

vs
Found resources not covered by IaC:
  aws_route53_health_check:
    - b3e63966-ed7b-4581-b184-6f5fab0d1ddc


CallDeferred not work with C#

Godot version:
Godot 3.2 beta 1 mono
OS/device including version:
Win10 64 home
Issue description:
It is not possible to add a node to the tree from _Ready.
The node does not appear on the screen, is not visible and does not appear on the "Remote" tab.
The node does not enter the tree.
Steps to reproduce:
Try adding a node to the tree from _Ready using the image code.

Minimal reproduction project:
testDeferred.zip

What does it say/do (or not say/do)? Does anything show up in the terminal?

In the terminal no information is provided that something wrong is happening.

Ok, the error is to use "AddChild" instead of "add_child", however, in other cases it will be done:
explosion.Set ("GlobalPosition", GlobalPosition);
OR
explosion.Set ("global_position", GlobalPosition);
Both work, this is a mess.


Adapt for Pester V5

Also update appveyor secure key

Also update appveyor secure key

Consider moving to Github Actions, much simpler CI/CD. Both code and actions will remain in same platform.

Github actions are outside my bandwidth at this moment.
If you want, please investigate but please keep in mind that all the powershell repositories are derived from this template
https://github.com/Sarafian/PowerShellTemplate
So maybe that would be the best place to start.

I understand.
Quick question, how is the release process managed? I may be misunderstanding how AppVeyor works. Is the publication to the PowerShell Gallery controlled based on tags? If so, I did not see any reference to that in the YAML file.

There is more information in the https://github.com/Sarafian/PowerShellTemplate. I also saw there that the Pester v5 changes were significant and need refactoring with the test scripts. There is an issue for this as well there. That's why I didn't complete it here in the first place.
The appveyor is light weight CI/CD provider which is driven by the yaml file you see on the root. It reacts to events from github. it will always run the tests but it will only publish from master. Currently, the publishing regime is manually controlled by code and I've not figured that one out. When should it increment the minor version or go for a new major. Currently the version is in .psm1 file. The publish script, generates a temporary .psd1 file to drive the publishing. I always had troubles with the .psd1 being source controlled, hence this trick. If you want, we can chat more in gitter (link on readme)
Now, the pester changes seem big and might not be easy. Up to you if you want to pick up the challenge. If you just want to implement the cmdlet, do it assuming Pester v4 and we will fix all with the v5 adaptation.

Done


Can I download it for a fee

Can I download it for a fee？I want a compressed package of gz

You can follow the instructions in the README.md to get it. Currently I do not have a single tar ball with all the content. In fact AWS's S3 could not upload a file big enough to contain the entire archive.


fix: README.md centered badge with a link

fixes #118

@KalleHallden said to not modifie or remove the section of contributors so i think this will not get merged

@KalleHallden said to not modifie or remove the section of contributors so i think this will not get merged

this does not modify or removes the section of cotributors

Before:

After:

sorry, didn't look, #107 already fixed that, only thing needed is #120

Reopening this in case that #107 isn't fixed (close if #107 changes to a centered badge with correct link)


Make thumbnail fields optional

Fix issue #18

Could you modify a few of the tests to have scenarios with some of these fields missing?

@mthjones Done. As it turned out, there were several more thumbnail types that weren't covered by File struct. I added those as well. See Section "Thumbnails" on Slack's doc

Thanks! Looks like they've beefed up their documentation on some of this stuff since these were first implemented. Good to see!
I think some of these interfaces could be improved by moving away from direct property translation in the future. For example, instead of needing an optional URL, width and height for every thumb, just having one Thumbnail struct to hold all three would be nicer to work with. That can be a future enhancement.
I noticed Travis failed for reasons unrelated to the changes here. Looks like a dependency versioning issue. I'll take a look at that, then re-verify this PR and merge.

Alright, it looks like it's an upstream issue with yup-hyper-mock's dependencies which are unfortunately going to be hard to resolve. I have some work in the pipeline to remove the dependency on yup-hyper-mock entirely, so I suppose this is an extra push towards getting that done!
This PR looks fine from a visual check, so I'll merge. Thanks again!

I think some of these interfaces could be improved by moving away from direct property translation in the future. For example, instead of needing an optional URL, width and height for every thumb, just having one Thumbnail struct to hold all three would be nicer to work with. That can be a future enhancement.

Yes. I will think about this more + create a new issue and mark it as enhancement. Thanks for the quick review and merge!


Localize app

Added support for localization by using the gettext utilities and the hapi-l10n-gettext plugin.

Made a mistake with branching, will resubmit


demo 66 binding issue

hi @oblomov-dev
got an unexpected behavior in demo 66,
once typing in the input of the nested view and pressing the event button, a toast with the value should apper,
but instead the valule gets deleted,
i remeber this issue once we started implementing nested view, and nested bindings... and you fixed it before of course..

looks like the same problem we have in this issue:
https://github.com/abap2UI5/abap2UI5/issues/916#issuecomment-1953865965
Message Manager works:

But field is not written in the model:

But naming looks correct:

should be fixed with https://github.com/abap2UI5/abap2UI5/pull/923

well, its still not working on my side in demo 66...

btw,
every time the messaging occur the entire screen is re-rendering.. not sure why thats happening..

good to know, i will try to check this in the next days.

good to know, i will try to check this in the next days.

great, thx, maybe its something with the CC ??

checked it again, yes the cc seems to be the problem. the following lines create somehow the rerendering:
https://github.com/abap2UI5/abap2UI5/blob/f6acde18093325b1798af5b6e831d435cc5dc586/src/01/05/z2ui5_cl_cc_messaging.clas.abap#L104
now they are deactivated, and rerendering only appears after a roundtrip (which is still not perfect). Demo 135 also needs a roundtrip now before the model gets updated. Mhhh not sure if this is solvable and what could be a good compromise here.
did the old message manager also cause this problems? maybe its a bug in the new version?

i checked the old one didnt rerender,
and yes its the cc like you said.
rerendering is not part of message manager only value state change and “builtin” model update.
ill check it later and post back

what do you mean exactly with "only for the binded table", isn't this what we are doing?
i also used the resBinding.attachChange command in this context the first time, so I am sure there might be more elegant ways.

yes what i was asking is that without full roundtrip,
what i did t checked is if this happen on previous sdk versions with this cc ( the one i did for older versions).
attachChange also did full roundtrip ?

yes i also would not call myself an UI5 expert too, so messing around till it works is also most of the time my way to go ;)
ok attachChange causes the rerendering... too bad because we need this to find out if the model of the message manager changes.

yeah was messing around with it also, didnt work on my end :/
so i guess forced call to update the model is the way to go ?

yes so far i have no more ideas than the ones i showed here, but i also don't use the message manager as much as you till now i think, so feel free to change the message manager as it fits best for your needs.

i didnt reqlly did tests on what tou changed, but if it works just upon model update its ok i guess..
ill run tests today and update the same in the old message manager cc..

yes but the only downside is that demo 135 behaves slightly different now, but you could also keep both logics and activate the one you need via property in the backend depending on your app. so yes... just check it out and implement it as needed.

ill see what you did on messaging and test out demo 66 and fix demo 135,
btw, how can i know which sdk runtime version is runinng??

i read it in a custom control:
z2ui5_cl_fw_cc_info_frontend
and here is an example how i get the information in the backend:
z2ui5_cl_core_app_info
but there might be better ways...

nice, thank you very much for the study! yes never used this third parameter before and never expected that this could cause this behaviour. But good to know now that it helps in this specific situation :)