RuntimeError: CUDA out of memory. Tried to allocate 9.00 GiB (GPU 0; 24.00 GiB total capacity; 4.37 GiB already allocated; 12.90 GiB free; 8.83 GiB reserved in total by PyTorch)

I'm not sure what I'm doing wrong here - it crashes with oom after allocating about half of the 24gb. I've tried reducing batch size, num_workers, max_images, size and resolution but i still run into the same thing.

I'm on Windows 11 with a gtx 3090.

Can you make sure there's nothing else clogging the GPU? Possibly some previous aborted run that did not clear properly? On linux this would be done with nvidia-smi. Not sure what the windows equivalent is.
With 24GB you should be able to run at 512x512 without an issue.

Can you make sure there's nothing else clogging the GPU? Possibly some previous aborted run that did not clear properly? On linux this would be done with nvidia-smi. Not sure what the windows equivalent is.
With 24GB you should be able to run at 512x512 without an issue.

I thought that may have been the case, so I tried it after a reboot but didn't have any luck. I'm wondering if this may be a windows specific thing. I may give it a shot under wsl. Thank you.

Thid repo is reporting things working with less than 20GB and they have a windows setup, so I'm not sure that's it.
It's a long shot, but maybe you have the updated parameters (batch size etc.) in a different config from the one you are running? Alternatively, you might be trying to run the finetune_unfrozen config (which requires closer to 30GB).

would this work on a linux subsystem?

12gb is a bit low, I'm not sure if I have any tips for fitting it in that much memory. You might have some luck by enabling mixed-precision training and lowering the resolution to 256.

Yeah I think I’m just going to have to upgrade to a 3090. Thanks!
On Sat, Sep 3, 2022 at 11:59 PM rinongal @.***> wrote:

12gb is a bit low, I'm not sure if I have any tips for fitting it in that
much memory. You might have some luck by enabling mixed-precision training
and lowering the resolution to 256.
—
Reply to this email directly, view it on GitHub
https://github.com/rinongal/textual_inversion/issues/50#issuecomment-1236273803,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHQZCX2XIBZN3TOTLOXZ5SDV4RCDXANCNFSM6AAAAAAQEBJAZE
.
You are receiving this because you commented.Message ID:
@.***>

--
Josh

3080ti 12gb and I've got it going now with:
batch_size: 1
num_workers: 8

size: 448

its running through the steps 🤞

maybe i'll try that patch.... I had tried lowering the batch size, to 1, workers to 8 and size to 448 previously and still ran out of memory. still not sure why it's only using half of my memory before it crashes

Early on I did do some things around memory management in windows as well. I can dig for those threads if you are still having the issue with the patch

This was to fix some paging issues I saw early on with the SD model. win > advanced system settings > advanced tab > Performance settings > advanced tab again > virtual memory change > then uncheck the auto manage paging file size at the top and set all drives to system managed.
Don't know if it's needed, but it was one of many things I tried yesterday

Not sure what was happening on Windows, but I gave it a try on Linux (stanard Ubuntu, not wsl) and it worked right away.

Is it possible to add VRAM with multiple GPUs (like LDA EXPLICIT in DirectX12)?
With two cards I can reach 20, but 20 with one card is not so easy.

@leoftm nope, each card needs to be able to hold the full model. Lower your batch size to 1 and it should run on about 10-12GB

@leoftm It's possible theoretically, but you'll probably have to delve deep into the code.
E.g. you could modify the pytorch code to load SD's text encoder and the latent-to-image decoder on one GPU, and load the diffusion model on another. You'll also have to explicitly move the data from one GPU to the other when calling the relevant sub-models.

Thanks for responding,
I have 8G and 12G graphic boards.
I hope that someday the threshold for adding to the data will be lowered...in the distant future?

You might be able to work with the 12G card if you lower the batch size to 1 and lower the resolution a bit (maybe to 448?).  Though you may want to increase the number of gradient accumulation steps in the config if you do this.

There are some versions of our code running around which can work with as little as 6GB. That said, we're not directly supporting them so I'm closing this for now.


Broken Button 👇🏿

We have a button on our homepage, that is unfortunately not working. Let's squish this bug:

[] open ./js/button.js
[] Fix the code so that the button successfully triggers an action on click.
[] Merge the file into master
[] Add a comment to your PR, explaining the original problem and your fix.

Please submit your PR with a checklist, showing that you have done these three things.
BONUS: Improve the button by adding design elements and making it do something more interesting - for example toggling a photo!
BONUS: Squash your commits.

Working on this one!!

Thank you @KaurManjot !

Is It open?


Update

Custom Ops and LibTorch setup

Can you make eik2d_cpp a function of adtomo instead of an independent module?

I removed the unnecessary imports of eik2d_cpp. It is now only needed in "model".

sounds good.


Document adding openlane.fga

task run-dev failed with
Error: open fga/model/openlane.fga: no such file or directory
exit status 1
task: Failed to run task "run-dev": exit status 1

I fixed this by running cp config/config-dev.example.yaml .config/.config.yaml.

thanks for updating this @itsmed ! Appreciate the contribution. If you're interested in also changing where the default is generated from, you could update https://github.com/theopenlane/iam/blob/main/fgax/fga.go#L35C126-L35C134 to have the path be fga/model/model.fga or vice versa.


TabView.ItemChanged Event Fix

Description

https://github.com/microsoft/microsoft-ui-xaml/blob/main/dev/TabView/TabView.cpp#L725
From #6632 to fix internal bug 37608918 caused a regression where TabView.ItemChanged event is simply not raised.
Upon investigation, normally, OnItemsChanged is raised twice when dragged past the overflow scroll buttons:

CollectionChanged::ItemRemoved - Dragged item being removed since it's "overflow"
CollectionChanged::ItemInserted - Dragged item being dropped back in

Since TabView thinks the tab is being removed, it finds the closest tab to give selection: https://github.com/microsoft/microsoft-ui-xaml/blob/main/dev/TabView/TabView.cpp#L764
Fix:
Remove the m_isDragging check and simply call BringSelectedTabIntoView() OnListViewDragItemsCompleted for the original bug fix.
Removing the m_isDragging check also prevents a regression where a tab is being dragged to another window, causing no tab to be selected.
(This is a regression)

Motivation and Context

Fixes internal bug 44190134
How Has This Been Tested?

Added new test ItemChangedEventOnDragTest to avoid regression where ItemChanged Event is not called.
Screenshots (if appropriate):

/azp run

/azp run

/azp run

/azp run


Add log-collector package

Package collector would allow collecting logs from a k8s cluster brought up with bootkube. semantics.
For example collecting logs of apiserver to local disk from cluster
Cr:= collector.New(&collector.Config{
	K8sClient:     client,
	Namespace:     namespace,
})
if err := cr.Start(); err != nil {
	...
}
if err := cr.OutputToLocal("/tmp/log-collector"); err != nil {
	...
}
// results is an array of absolute paths to log files on disk
results, err := cr.CollectPodLogs("kube-apiserver")
if err != nil {
	...
}
if err := cr.Cleanup(); err != nil {
	...
}

Or collecting logs of apiserver from cluster and uploading to s3 bucket:
cr := collector.New(&collector.Config{
	K8sClient:     client,
	Namespace:     namespace,
})
if err := cr.Start(); err != nil {
	...
}
if err := cr.OutputToS3(os.Getenv("AWS_ACCESS_KEY_ID"),
os.Getenv("AWS_SECRET_ACCESS_KEY"),
os.Getenv("AWS_REGION"),
"log-collector",
"prefix"); err != nil {
	...
}
results, err := cr.CollectPodLogs("kube-apiserver")
if err != nil {
	...
}
if err := cr.Cleanup(); err != nil {
	...
}

Things to discuss:

package structure
api

/cc: @yifan-gu @xiang90

good stuff.
/cc @hongchaodeng can you take a look?

@abhinavdahiya
What's this PR for?

Added some docs and updated the PR description.
/cc @xiang90 @hongchaodeng @yifan-gu

@xiang90 updated the PR

defer to @yifan-gu

Couple nits, otherwise LGTM.
@abhinavdahiya Do we have a plan to set up the test for this in a follow-up?

@yifan-gu I have been testing it locally using the tests in the package.
Not sure how we would want to add tests for other packages we might add?


Fallout bugs (mainly with comments)

From user in discord https://discord.com/channels/362322208485277697/363087331475062785/942431240043257906
・I can't pin my own comment
・I can't edit my own comment, just remove option
・The lbry:// url video-box not showing in comment even channel is at lvl 5
・Markdown Guide button doesn't redirect to browser when user clicks

Got fixes in for the first three.
What is "markdown guide"?

The question mark button, when creating post, used to direct to https://www.markdownguide.org/basic-syntax/

Not sure why that doesn't work. Opened a new issue.
https://github.com/lbryio/lbry-desktop/issues/7478


Features in src/it/resources generate invalid runners

I have my feature files in src/it/resources, as per the Maven standard layout
If I configure cucumber-jvm-parallel-plugin like:
                    <configuration>
                        <!-- The diectory, which must be in the root of the runtime classpath, containing your feature files.  -->
                        <featuresDirectory>src/it/resources</featuresDirectory>

... then it finds all my feature files, but generates invalid runner files which look like:
@RunWith(Cucumber.class)
@CucumberOptions(strict = true,
    features = {"classpath:resources/uk/co/me/my-feature.feature"},
    format = {"json:target/cucumber-parallel/3.json", "pretty"},
    monochrome = true,
    tags = {},
    glue = { "uk.co.me" })
public class Myfeature03IT {

Which fails at runtime because the feature path should be "classpath:uk/co/me/my-feature.feature", not "classpath:resources/uk/co/me/my-feature.feature"
Do you know how I can fix this?
TIA

If I change the "featuresDirectory" to something like "uk/co/me", it complains "cucumber-jvm-parallel-plugin:... Features directory does not exist"

Have you tried <featuresDirectory>src/it/resources/</featuresDirectory>? (note trailing /)

Have you tried <featuresDirectory>src/it/resources/</featuresDirectory>? (note trailing /)

Yes, that generates:
features = {"classpath:resources/uk/co/me/my-feature.feature"},

which fails at runtime (due to the extra "resources/" dir)

@RichardBradley
Have you tried changing the featuresDirectory to `src/it/resources/uk/co/me"?
Looks like the features directory needs to be a subfolder under resources e.g. "src/it/resources/features" for the runners to be generated correctly

@RichardBradley
Sorry, mild brain freeze from my last post.  As @jchen86 points out and highlighted in the README: The diectory, which must be in the root of the runtime classpath
So:
src/it/resources/uk/

Yes, that seems to work, thanks.


Wrong conjugation

Thanks for the PR, @FloValence :)
Why is the present continuous conjugation better than present in this sentence? Wouldn't it be the same if I said "I would not recommend you use Bower."?

As English is not my mother tongue I've been confused we the syntax and thought it was an error.
I would make the sentence clearer either with "We do NOT recommend JavaScript libraries using Bower." or "We do NOT recommend JavaScript libraries that use Bower."
But it may just be me and my French mind. :)

I took a straw poll with a bunch of people here and seems the consensus is that the current version is clearer. But thanks for your suggestion :)


Add links to open source version of SHMath

Added link to each D3DX9 and D3DX10 sh math function to the open source replacement on GitHub.

@walbourn : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@walbourn : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Today's Events not showing on Agenda

I have 3 events left on the calendar today, the GoogleCalendar module is showing these items, but this module is not:
Other weird, and maybe relevant item... having a startDayIndex of -1 or 0 makes the module not show at all, I used to have the value set to zero and things worked, but recently (last 2 days) it stopped working.

Could you share me your config and ics url/file. And where you live(time zone).
send me<EMAIL_ADDRESS>

Thanks, emailed.

I have events on almost every day across three different calendars. The events load just fine in MMM-CalendarExt3 but only one event from yesterday on one calendar loads in MMM-CalendarExt3Agenda. My entry in config is:
	{
		module: "MMM-CalendarExt3Agenda",
		header: "Agenda",
		position: "top_left",
		config: {
			showMiniMonthCalendar: false,
			locale: "en-US",
			startDayIndex: -1,
			endDayIndex: 3,
			useIconify: false,
			calendarSet:[]
		}
	},

Looks good, though it seems like we will have to wait until the end of the month to know for sure ;)
Thanks for the update!

@xeryax Maybe you can test it with startDayIndex: 25, endDayIndex: 35.


PATCH resource/:id/update errors with json api payload

Undefined method symbolize keys for nil class.
I think this has to do with how the model is found before it updates.
TODO: consider different adapters for how to parse params from various json formats

Fixed by #4


This pull request is related with #1616

Ensured that the custom PVC source details specified in the fluentd.extraVolumes.volume.pvc.source.claimName of the fluentd definition are honoured instead of always attempting to create a new PVC.
Introduced empty checks to the PersistentVolumeClaim.PersistentVolumeClaimSpec and PersistentVolumeClaim.PersistentVolumeSource structures and ApplyPVCForStatefulSet() and ApplyVolumeForPodSpec() functions are invoked only when the respective structures are not empty.

I promised to look into how we could make the comparison more efficient, sorry I haven't been able to get back to that

I promised to look into how we could make the comparison more efficient, sorry I haven't been able to get back to that

Hi @pepov and @aslafy-z ,
There is another PR https://github.com/kube-logging/logging-operator/pull/1622 created by @OverOrion , which resolves this issue. I'm not sure which direction you want to take to resolve this issue.
Thanks!

@bbyreddy we want to keep this instead of introducing yet another huge field to the fluentd spec

I'm planning to add some technical docs as well

@bbyreddy can you check if the solution that works for you?

@pepov , yes, this works perfectly fine and is much simpler as well.
Please let me know if I need to do anything to get this PR merged into the master.
Thanks!

I spotted a couple of typos, can you please fix them? Also, can you please update the PR name so it reflects the changes and add fixes #1616 in the PR description? You will also have to sign your commits, see https://github.com/kube-logging/logging-operator/pull/1617/checks?check_run_id=20378816523.

@aslafy-z , you may have to mark this as resolved and approve the PR as the code has changed now and doesn't have the typos anymore. Thanks!

@aslafy-z typos has been fixed and signoff done, I'm merging this


Add option to render type labels

First: Thanks for this plugin! Without it writing Crystal code would be way worse experience.
What I'd like to propose is to enable read-only labels, that would display what kind of types are inferred for things like variables or method parameters and returns. It'd be great to be able to quickly glance over the type signatures without having to manually put cursor over every single one of them. It's one of the more desired features in IDE supporting languages with strong type inference.
Below I'm attaching an examples from Rust VS Code and Ionide (F# extension for VS Code) to illustrate:

Hey :wave:
That is a nifty feature indeed, I'll look into this when I've got some free time (no promises) :+1:


[iOS] Expose onUpdate hook for DataController

As a plugin developer for Swift plugins, I would like to be able to react to data change events in the DataController. Being able to tap the onUpdate would give plugins access to data updates as they happen.

Completed -> https://github.com/player-ui/player/blob/main/ios/core/Sources/Types/Hooks/DataControllerHooks.swift#L17


Suggestion: replace MessageCodec named methods for Runtime with single generic method

Problem
Here's is simple runtime with 3 modules:
use sov_modules_api::Context;
use sov_modules_macros::{DispatchCall, Genesis, MessageCodec};

#[derive(Genesis, DispatchCall, MessageCodec)]
#[serialization(borsh::BorshDeserialize, borsh::BorshSerialize)]
pub struct Runtime<C: Context> {
    pub accounts: sov_accounts::Accounts<C>,

    pub bank: sov_bank::Bank<C>,

    pub value_setter: sov_value_setter::ValueSetter<C>,
}

If client wants to submit call message, she needs to encode it for this runtime. Each module has its own "encode" method:

encode_accounts_call(msg: accounts::call:CallMessage) -> Vec<u8>;
encode_bank_call(msg: accounts::call:CallMessage) -> Vec<u8>;
encode_value_setter_call(msg: accounts::call:CallMessage) -> Vec<u8>;

And then encoded vector needs to be signed.
It might be cumberstone to have specific method names for each method, and makes code generation for client a little more compilcated.
Suggestion
As encode_ methods are generated by macro, why not make it generic, by generating trait and implmenting it for each call message:

trait<T> EncodeCallMessage {
    fn encode(call_mesasge: T) -> Vec<u8>;
};

impl<accounts::call:CallMessage, C: Context> EncodeCallMessage for  Runtime<C> {
    fn encode(call_mesasge: T) -> Vec<u8> {
        // actual implementation, similar to what is done now
    }
}

@bkolad @preston-evans98 @dubbelosix , this is suggestion, let's discuss it over daily.

@bkolad Could you please elaborate, what adding associated context type will give ?

Nice suggestion @citizen-stig!
Do we need the trait to be generic at all? Seems like we can just get away with:
trait EncodeCallMessage {
    type CallMessage;
    fn encode(call_message: &CallMessage) -> Vec<u8>;
};

cc @@bkolad

We need to generate multiple implementations for CallMessage from each module defined in the Runtime.
impl EncodeCallMessage for Runtime{
  type CallMessage = bank::CallMessage;
   ...
}

impl EncodeCallMessage for Runtime{
  type CallMessage = accounts::CallMessage;
  ...
}

won't compile since the two impl differ only by an associate type (and rust won't allow it)
This will compile:
impl EncodeCallMessage<bank::CallMessage;> for Runtime{
 ...
}

impl EncodeCallMessage<accounts::CallMessage> for Runtime {
  ...
}

We never implement EncodeCallMessage for two different Contexts at the same time (the Context is just taken from runtime) so the above limitation doesn't apply to Context therefore we should make it an associated type (which is the preferred way because it helps with type inference)

Oh yeah, of course! I was thinking that the trait would go on the module - which at second glance makes no sense. The generic trait is definitely the way to go here.

Assigning to double check later that it was impleneted in #598

Confirmed that it is implemented as part of #598


Deprecated dependencies

Hello!
You should fix your deprecated dependencies as these will clog up npm i logs for projects, and prevent you from updating your dependencies when needed for other reasons.
When doing npm i whitesource this is the log:
npm WARN deprecated<EMAIL_ADDRESS>CircularJSON is in maintenance only, flatted is its successor.

npm WARN deprecated<EMAIL_ADDRESS>This module has moved and is now available at @hapi/cryptiles. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.

npm WARN deprecated<EMAIL_ADDRESS>This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.

npm WARN deprecated<EMAIL_ADDRESS>This module has moved and is now available at @hapi/boom. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.

npm WARN deprecated<EMAIL_ADDRESS>This module has moved and is now available at @hapi/hoek. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.

npm WARN deprecated<EMAIL_ADDRESS>This module has moved and is now available at @hapi/b64. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.

npm WARN deprecated<EMAIL_ADDRESS>This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.

npm WARN deprecated<EMAIL_ADDRESS>This module has moved and is now available at @hapi/bounce. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.

npm WARN deprecated<EMAIL_ADDRESS>This module has moved and is now available at @hapi/teamwork. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.

Hi @Ristaaf ,
Please note that WhiteSource no longer provides standard support, including updates and fixes for the NPM plugin since May 4, 2019. In addition, this plugin will no longer be supported by WhiteSource on November 2nd, 2019. Please migrate to the Unified Agent.
The WhiteSource Support team is ready to assist with the necessary changes required to use the Unified Agent and can be contacted via the Customer Community.
Thanks,
Michael


add ZFS pool stats

Description
ZFS pools are reported just like disks, so I opted to have it follow
the disk options (disk_percent, disk_display, etc) rather than adding
new ones just for zpools.
Features
neofetch zpools

This seems to report zpool list which in my case would yield the raw capacity of 29.1T for one of my pools, but the actual usable capacity is found with zfs list. Running zfs list yields the usable capacity under Raidz1 as 19.8T. I think finding a percentage of the raw capacity is less than desirable as you can never actually hit 100% in most cases as it doesn't reflect the actual usable capacity. From the zpool manpage:
     The space usage properties	report actual physical space available to the
     storage pool. The physical	space can be different from the	total amount
     of	space that any contained datasets can actually use. The	amount of
     space used	in a raidz configuration depends on the	characteristics	of the
     data being	written.  In addition, ZFS reserves some space for internal
     accounting	that the zfs(8)	command	takes into account, but	the zpool(8)
     command does not. For non-full pools of a reasonable size,	these effects
     should be invisible. For small pools, or pools that are close to being
     completely	full, these discrepancies may become more noticeable.

I am here just to tell that this PR was useful to me, even if the dev decided to not merge it.


Compilation error in FreeBSD

On a FreeBSD 13.0-RELEASE-p3 system, I'd like to use sqlite3.
$ tar -zxvf v0.7.2.tar.gz
$ cd luadbi-0.7.2/
$ LUA_V=52 LUA_INC=/usr/local/include/lua52 SQLITE_INC=/usr/local/include/ make sqlite3

cc -c -o build/dbd_common.o  /usr/local/include/lua52 -g -pedantic -Wall -O2 -shared -fPIC -DPIC -std=c99 -O2 -pipe -I.
cc: warning: /usr/local/include/lua52: 'linker' input unused [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-g' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-pedantic' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-Wall' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-O2' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-shared' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-fPIC' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-D PIC' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-std=c99' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-O2' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-I .' [-Wunused-command-line-argument]
cc -c -o build/dbd_sqlite3_main.o  /usr/local/include/lua52 -g -pedantic -Wall -O2 -shared -fPIC -DPIC -std=c99 -O2 -pipe -I. -shared  -I/usr/include -lsqlite3
cc: warning: /usr/local/include/lua52: 'linker' input unused [-Wunused-command-line-argument]
cc: warning: -lsqlite3: 'linker' input unused [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-g' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-pedantic' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-Wall' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-O2' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-shared' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-fPIC' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-D PIC' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-std=c99' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-O2' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-I .' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-shared' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-I /usr/include' [-Wunused-command-line-argument]
cc -c -o build/dbd_sqlite3_connection.o  /usr/local/include/lua52 -g -pedantic -Wall -O2 -shared -fPIC -DPIC -std=c99 -O2 -pipe -I. -shared  -I/usr/include -lsqlite3
cc: warning: /usr/local/include/lua52: 'linker' input unused [-Wunused-command-line-argument]
cc: warning: -lsqlite3: 'linker' input unused [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-g' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-pedantic' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-Wall' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-O2' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-shared' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-fPIC' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-D PIC' [-Wunused-command-line-argument]
cc -c -o build/dbd_sqlite3_connection.o  /usr/local/include/lua52 -g -pedantic -Wall -O2 -sha
red -fPIC -DPIC -std=c99 -O2 -pipe -I. -shared  -I/usr/include -lsqlite3
cc: warning: /usr/local/include/lua52: 'linker' input unused [-Wunused-command-line-argument]
cc: warning: -lsqlite3: 'linker' input unused [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-g' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-pedantic' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-Wall' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-O2' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-shared' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-I .' [-Wunused-command-line-argument]
cc -c -o build/dbd_common.o  /usr/local/include/lua52 -g -pedantic -Wall -O2 -shared -fPIC -D
PIC -std=c99 -O2 -pipe -I.
cc: warning: /usr/local/include/lua52: 'linker' input unused [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-g' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-pedantic' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-Wall' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-O2' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-shared' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-fPIC' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-D PIC' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-std=c99' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-O2' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-I .' [-Wunused-command-line-argument]

cc -c -o build/dbd_sqlite3_connection.o  /usr/local/include/lua52 -g -pedantic -Wall -O2 -sha
red -fPIC -DPIC -std=c99 -O2 -pipe -I. -shared  -I/usr/include -lsqlite3
cc: warning: /usr/local/include/lua52: 'linker' input unused [-Wunused-command-line-argument]
cc: warning: -lsqlite3: 'linker' input unused [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-g' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-pedantic' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-Wall' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-O2' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-shared' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-fPIC' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-D PIC' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-std=c99' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-O2' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-I .' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-shared' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-I /usr/include' [-Wunused-command-line-argument]

cc -c -o build/dbd_sqlite3_statement.o  /usr/local/include/lua52 -g -pedantic -Wall -O2 -shared -fPIC -DPIC -std=c99 -O2 -pipe -I. -shared  -I/usr/include -lsqlite3
cc: warning: /usr/local/include/lua52: 'linker' input unused [-Wunused-command-line-argument]
cc: warning: -lsqlite3: 'linker' input unused [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-g' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-pedantic' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-Wall' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-O2' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-shared' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-fPIC' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-D PIC' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-std=c99' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-O2' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-I .' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-shared' [-Wunused-command-line-argument]
cc: warning: argument unused during compilation: '-I /usr/include' [-Wunused-command-line-argument]
cc build/dbd_common.o build/dbd_sqlite3_main.o build/dbd_sqlite3_connection.o build/dbd_sqlite3_statement.o -o dbd/sqlite3.so /usr/local/include/lua52 -g -pedantic -Wall -O2 -shared -fPIC -DPIC -std=c99 -O2 -pipe -I. -shared  -I/usr/include -lsqlite3
cc: error: no such file or directory: 'build/dbd_common.o'
cc: error: no such file or directory: 'build/dbd_sqlite3_main.o'
cc: error: no such file or directory: 'build/dbd_sqlite3_connection.o'
cc: error: no such file or directory: 'build/dbd_sqlite3_statement.o'
*** Error code 1

Stop.
make: stopped in /usr/home/jabber2/luadbi-0.7.2

Two issues here:

BSD make doesn't seem to work, hasn't ever as far as I know. Use gmake. You can get that with 'pkg install gmake'
The variable to override is 'SQLITE3_INC', not 'SQLITE_INC'. You'll also need to override SQLITE3_LDFLAGS.

Completed command:

LUA_V=52 LUA_INC=-I/usr/local/include/lua52 SQLITE3_INC=-I/usr/local/include/ SQLITE3_LDFLAGS='-L/usr/local/lib -lsqlite3' gmake sqlite3

This got me a usable dbd/sqlite3.so on FreeBSD 13.2/amd64.


Add guidelines on courses

I realised that you need to embed the post_url variable in a markdown link like so [guidelines]({% post_url 2021-11-09-course-info %}) for it to render as a link.
Removed headers which duplicated the title in the front_matter---
layout: post
title:  "Structuring a lecture for new courses"
date:   2021-11-17 10:30:00 +0200
categories: knowledge
tags: teaching
---


Initial design for Build A/B testing epic story

Suggested starting point design / implementation for #113
It's only a suggestion!!!

Thank you for working on this! Let me know if it is ready for a review / initial review. Can you take a look at recent changes on the master? @mstachniuk works on e2e testing that overlaps to some degree with A/B comparison.

@szczepiq I'd kindly ask you for a initial review. Analyze comparison results is still missing, but other than that everything should be in place.
Ad Analyze comparison results: Should we create some kind of report in this task (which basically lists files which are just available in dirA or dirB and point out the differences in files which are available in both directories)?

Hey @epeee, I missed your earlier question, will do review as soon as I can.

I wanted to work on this today but I deprioritized this ticket again. Will try to find time for this soon. If I cannot make the time, we'll have to push it to after 1.0.
Sorry and thanks for patience!

Hey @epeee, let's deprioritize this ticket for now and revisit when e2e testing is complete after 1.0. I'm finding it hard to focus on this at the moment. In the meantime, I've added 2 more "please contribute" tickets that would be really useful for 1.0 release!


[Question] How everyone deals with a big amount of snapshots?

With time amount of snapshot is only growing and git is not really good with binary artefacts.
With dropping iOS versions sometimes need to regenerate many of snapshots.
How folks, you are dealing with these issues?

At Facebook we did something different, we didn't commit images to the repository. Instead, we automatically saved screenshots externally. Then when a screenshot changed, we would send out tasks. Most of the time screenshot changes would be intentional, not a regression, so this flow worked very well.
I recently (i.e. I first started talking about it today) built https://screenshotbot.io that creates a similar workflow (it creates GitHub issues instead when images change). I've built integrations with the Android equivalent library (github.com/facebook/screenshot-tests-for-android, I was one of the original authors of that library). If somebody has an interest with helping me make this work for iOS I would love to build it out.

Likely we will at some point provide some tools for this, though the linked above project seems decent (it doesn't support this library though, only the pointfree snapshotting tool).

@alanzeino ooh, I sent a PR for the pointfree library, but isn't merged yet. I didn't send a PR for ios-snapshot-test-case because I saw the PRs here weren't actively reviewed back then. I'm happy to send a PR now. Screenshotbot is now open source too: https://github.com/screenshotbot/screenshotbot-oss.
The PR I send wouldn't be specific to Screenshotbot, it would just provide the infrastructure required to be able to run snapshot tests without the tests failing when snapshots change (the equivalent of this PR on the pointfree library:  https://github.com/pointfreeco/swift-snapshot-testing/pull/423)

We have something similar inside our fork of the library because we've built the same infrastructure that Facebook has, I'll try PR a few things back here.

@alanzeino That would be awesome, thanks!

@makadaw In our project, we are creating more-and-more screenshot tests → more reference images. We will move the reference images directory into a separate git repo and integrate that as a git submodule, so our main 'app repo' doesn't increase in size as we add more tests (or updated versions of the existing tests).
As we're only interested in having the most recent versions of the reference images, i.e. not their entire history, we can recreate the 'reference images repo' at any time …and start fresh!


the black background in the visual results

Hi,
Thanks for your sharing.
I have noticed that there exist black background in the edited results of GS.  Is there any potential explanation?
Best,

Hello, some of the renders we showed were rendered with a wider FOV so the black background was from the uncaptured regions of the scene.

Thanks！


fix: Marking identity for later deletion log printing uid

Signed-off-by: lv<EMAIL_ADDRESS>Please ensure your pull request adheres to the following guidelines:

[ ] For first time contributors, read Submitting a pull request
[ ] All code is covered by unit and/or runtime tests where feasible.
[ ] All commits contain a well written commit description including a title,
description and a Fixes: #XXX line if the commit addresses a particular
GitHub issue.
[ ] If your commit description contains a Fixes: <commit-id> tag, then
please add the commit author[s] as reviewer[s] to this issue.
[ ] All commits are signed off. See the section Developer’s Certificate of Origin
[ ] Provide a title or release-note blurb suitable for the release notes.
[ ] Thanks for contributing!

Fixes: https://github.com/cilium/cilium/issues/21900

cc @nebril


unknown field "spec.excludedAddresses"

Hi. Awesome sig!
There seems to be a bug in ipam.cluster.x-k8s.io/v1alpha2 that is poorly documented.
It is no longer spec.exclude, now it's apparently spec.excludedAddresses that defines the excluded addresses.
However, neither of them work now.
I'm using the following configuration.
apiVersion: ipam.cluster.x-k8s.io/v1alpha2
kind: InClusterIPPool
metadata:
  name: ${CLUSTER_CLASS_NAME}
  namespace: ${NAMESPACE}
spec:
  prefix: 25
  addresses:
    - <IP_ADDRESS>/25
  excludedAddresses:
    - <IP_ADDRESS>-<IP_ADDRESS>
  gateway: <IP_ADDRESS>

The full error:
Error from server (BadRequest): error when creating "STDIN": InClusterIPPool in version "v1alpha2" cannot be handled as a InClusterIPPool: strict decoding error: unknown field "spec.excludedAddresses"

It's not a bug in the API, it's rather a bug in the documentation. Seems I used the wrong field name when I wrote that.

/assign

I see. Thank you!
By the way, as a user it's not entirely clear if spec.prefix is optional or not when spec.adresses is a CIDR like in my case. According to the docs, there's some logic that derives the prefix from the CIDR, but only if the first address is a CIDR. Yet it also sounds like spec.prefix is a required field. 🙂

Prefix is required. The important thing is that all addresses (doesn't matter whether it's individual addresses, ranges or CIDRs) need to fit into one prefix. The prefix is created from the first address that is part of the pool and the specified prefix. All other addresses must be within that prefix.


多次匹配optionalGroup

else {                 //Matches                 matchList.add(new MatchInfo(e, ""));                 matchList.addAll(this.getMatchingExpansions(og.getChildExpansion(), words, wordPosition));             }
需要改成
else {                 //Matches                 matchList.add(new MatchInfo(e, ""));                 matchList.addAll(m1);             }
否则会有意想不到的错误

Thank you for this recommendation! I have seen this type of bug happening before so I will test to see if this fixes the problem.
I am currently very busy with work right now. I will add this change in when I have more time to focus on the code.
Thank you!


[VOTE] (CVX) Vote yes on Gauge Addition Proposal

Snapshot
https://snapshot.org/#/<voting.space.eth>/proposal/<proposal_id>
Option to vote for
YES
Authorization
Treasury approved activity with $500k of treasury owned assets approved to be added to this pool once gauge approved. https://discord.com/channels/1011322803414388897/1011333638044008548/1022504264871989329

Related PR:
https://github.com/Badger-Finance/autovoter/pull/91

Voted on https://vote.convexfinance.com/#/proposal/bafkreidcr5hemvutigqzjihcaaeppepeumptbahywgbq5ezxxgvktqbyam YES


Get keys used by useFetch / useAsyncData || add option to exclude specific keys in refreshNuxtData()

Describe the feature
Currently there is no way to get a list of keys stored by useFetch / useAsyncData (at least documented).
Why would we need it? Generally to exclude them from refreshNuxtData().
Currently you have two options:

refresh every data fetched from useFetch / useAsyncData
refresh specific data by providing keys

Having access to all keys, we could have filter that array and pass it to refreshNuxtData().
Alternatively, it could be implemented as option for refreshNuxtData() to pass keys that we want to exlcude from refresh.
Simple use case:
Users signs out of page -> refreshNuxtData() -> every data is refreshed (you may want to refresh data only for page without knowing the key, but you don't want to refetch footer/header (you know the keys that should be excluded)
Additional information

[ ] Would you be willing to help implement this feature?
[ ] Could this feature be implemented as a module?

Final checks

[X] Read the contribution guide.
[X] Check existing discussions and issues.

You should be able to see the keys by checking useNuxtApp().payload.state (for useState and useNuxtApp().payload.data (for useAsyncData).

It is possible to pass a callback function to refreshNuxtData which would allow your use-case as-is, I think.


Use the EMR step API to kick off ingests in Airflow

Airflow is configured to kick off an AWS Batch process for queued ingests. This task is to change over to using EMR's step API for initiating ingests

Will there be a cluster (JobFlowID) available? Or will I need to make the ingest task create one? Or ListClusters and then get one from there?

There will only be one, might be able to rely on an environment variable (there should be one up now I think).

There is one up, I just wasn't sure how reliable it would be. I'll throw its ID into an environment variable

Actually, we should be using the dataproc.rasterfoundry.com TXT record to get the ID.

Since EMR spark steps launched in client mode can't use s3 URIs for the location of the jar to submit, the ingest jar needs to find its way into the EMR cluster in a reliable way at some point. I'm not certain when this should happen.
One option is the ingest airflow task could make sure it's there by grabbing it from s3 and copying it to the cluster master node. Pro: it would always be there, and the workflow wouldn't need other parts of our deployment to make promises to it. Cons: it'd be a bit janky, since the EMR client doesn't expose a method for copying files and I don't think there's a way to provide a key pair to s3 for copying files, which I think we'd need.
Another option is to copy the ingest jar artifact to the EMR cluster as part of ci. Pro: this treats the ingest jar as "part of" the EMR cluster / as architecture in a sense, so it's reasonable to rely on it. Con: ci would then require access to the EMR cluster's key pair (which sounds maybe like a security risk), and why the airflow tasks can rely on the existence of this jar is obfuscated.
I think the latter is still better -- airflow should manage workflows, not architecture -- and will do that one for now. I can be talked out of it if anyone feels strongly the other way.

What's driving the requirement to use client mode in this case?

I think that's the default, and boto docs don't mention anything about using cluster mode.


Target Stage/Threshold

@HenryGeorgist has advise us that we need to come up with default target stage/threshold. This will need to be done both on the computational side and the user interface side.

the computational side of this is done. we'll need to use the tools in the model to compute the default threshold in the view model. this is a duplicate issue.


[FEATURE] Tags & Search Component | selection of tags

Detailed description
Tags & Search Component -

remove the link with tags,
make tags active when selected

Context
more intuitive way.
Possible implementation

[ ] remove the link with tags - don't show the name of the tag in search box
[ ] make tags active when selected - when user select a tag, make it orange (selected one), if multiple tags, make multiple in orange

Additional information
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hello, I would like to contribute with this issue :-)

Hi, i would like to work on the issue if there is no one working on it

I want to work on this issue if you like.

Hey! @kabir0x23 see this. More than 3 times same error occurred, any solution:

Hey @kabir0x23 where is that search bar which have to be changed
Tags are already not showing in search box. Where are tags?

https://github.com/thecyberworld/TheCyberHUB/blob/dev/src/components/Common/SearchInputBox/SearchInputBox.jsx
The SearchInputBox component .
https://github.com/thecyberworld/TheCyberHUB/blob/dev/src/components/Feeds/SocialSidebar/Sidebar.jsx
The Sidebar component which contain the tags with searchbox and more elements

[ ] (In the video) As you can see, when the user clicks on any tag it appears as value in the search-box, we don't want it. We would like to filter by tags but the search box will not contain the tag values.

https://github.com/thecyberworld/TheCyberHUB/assets/76536506/56f7e348-abe0-4b66-a0ac-c99d93f62d55

[ ] when we click on tag, it will have different color (orange) and when click again (turn off the filter) will be in regular color (black)
as in linkedin. In addition, the user can select multiple tags so all the activated filters will be in orange.

https://github.com/thecyberworld/TheCyberHUB/assets/76536506/1eac0102-f9f6-4a5e-bf46-c58325edfa18

Hey @ArkadiK94 I will give my best to achieve this and this time I will not disturb you as earlier.

@AbdullahAli420 how is it going? Do you need some help?

@AbdullahAli420 I unassign you, if you would like to work on it you can ask again.

can i be assigned this ?

hello is this still open , i'd like to give it a try .


⚠ Bofrost.at has degraded performance

In b5258f6, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1766 ms

Resolved: Bofrost.at performance has improved in b3e61ad after 311 days, 19 hours, 19 minutes.


Example overriding OSGi resource bundles

This is an example on how to override the keys of portlets, taglibs or javascript and css from OSGi

yup... here you go!

Just started reviewing :) :octocat: Sent from GH.

hey @csierra  does this resource bundle example not need this in the bnd.bnd?
-plugin.bundle: com.liferay.ant.bnd.resource.bundle.ResourceBundleLoaderAnalyzerPlugin

Closing this pull, it now lives here: https://github.com/gamerson/liferay-blade-samples/pull/8

hey @gamerson,
aswering your question, it does not because what the plugin and the extender do is load and register the ResourceBundleLoader. In this example we are loading that manually using
new CacheResourceBundleLoader(
 			new ClassResourceBundleLoader(
 				"content.Language",
 				ResourceBundleLoaderComponent.class.getClassLoader())


🐛 [BUG]: Nx16 not supported

Is there an existing issue for this?

[X] I have searched the existing issues

What package does the issue affects?
@nxtensions/astro
Describe the bug
Nx16 not supported
https://nx.dev/recipes/other/rescope
Expected behavior
Nx16 supported
Steps to reproduce
npx create-nx-workspace@latest cv-dev --preset=empty
success

>  NX  Generating @nxtensions/astro:application

√ What frameworks and/or addons would you like to enable? · No items were selected

 >  NX   Cannot find module '@nrwl/js'

   Require stack:
   -<EMAIL_ADDRESS>   -<EMAIL_ADDRESS>   - D:\github\cv\node_modules\nx\src\config\workspaces.js
   - D:\github\cv\node_modules\nx\src\config\configuration.js
   - D:\github\cv\node_modules\nx\src\utils\package-manager.js
   - D:\github\cv\node_modules\nx\bin\init-local.js
   - D:\github\cv\node_modules\nx\bin\nx.js
   Pass --verbose to see the stacktrace.

Link to minimal reproducible example
No response
Environment

NX   Its time to update Nx 🎉

Your repository uses a higher version of Nx (16.1.4) than your global CLI version (15.9.2)
For more information, see https://nx.dev/more-concepts/global-nx

NX   Report complete - copy this into the issue template

Node   : 18.16.0
OS     : win32 x64
npm    : 9.5.1
Hasher : Native
nx (global)      : 15.9.2
nx               : 16.1.4
@nrwl/jest       : 12.8.0
@nrwl/linter     : 12.8.0
@nx/workspace    : 16.1.4
@nrwl/cypress    : 12.8.0
@nx/devkit       : 16.1.4
@nrwl/react      : 12.8.0
@nrwl/storybook  : 12.8.0
@nrwl/tao        : 16.1.4
@nrwl/web        : 12.8.0
nx-cloud         : 16.0.5
Community plugins:
@nxtensions/astro : 3.5.0
The following packages should match the installed version of nx
-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>To fix this, run nx migrate<EMAIL_ADDRESS>

Also even with Nx 15.9.0 it's failing
npx nx g @nxtensions/astro:app website --verbose

>  NX  Generating @nxtensions/astro:application

√ What frameworks and/or addons would you like to enable? · No items were selected
Fetching prettier...

 >  NX   The "path" argument must be of type string. Received undefined

TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined
    at new NodeError (node:internal/errors:399:5)
    at validateString (node:internal/validators:163:11)
    at join (node:path:429:7)
    at FsTree.normalize (D:\github\cv-dev\node_modules\nx\src\generators\tree.js:221:64)
    at FsTree.exists (D:\github\cv-dev\node_modules\nx\src\generators\tree.js:84:25)
    at Object.readJson (D:\github\node_modules\@nrwl\devkit\src\utils\json.js:13:15)
    at Object.getWorkspaceLayout (D:\github\node_modules\@nrwl\devkit\src\utils\get-workspace-layout.js:20:33)
    at normalizeOptions (D:\github\node_modules\@nrwl\cypress\src\generators\cypress-project\cypress-project.js:150:34)
    at D:\github\node_modules\@nrwl\cypress\src\generators\cypress-project\cypress-project.js:138:25
    at Generator.next (<anonymous>)

Any update on this?  I too am looking to put an Astro project into my NX monorepo and we can't even npm i the astro extensions due to a restriction on not using legacy peer deps.  Would be glad to work on some sort of PR if I knew where to start looking!

Hey @leosvelperez :)
Forgive me for not knowing, is there more to this issue other than updating the nx packages and then running the nx migrations?
Like @doug-shontz above, I'm also happy to dedicate some time to this if I (or doug) can get some pointers, Thanks!

The lack of response from nx on this issue makes me reconsider using nx

I don't think this extension is a Nx.dev official plugin. Sure, reconsider - but I wouldn't be pointing fingers at the nx team.
Keep i mind that community open source like this is primarily supported when the person who made it uses it often. Or the community adds to it.
My guess is that there are just not enough Astro users to help maintain this, and the author is using some other framework daily.
Astro is also growing fast too. It would be interesting if the Astro team would help maintain a plugin. I will say from my experience that building component libs that export Astro pages/components didn't work super well. IDE issues and typescript typing issues. :(

I don't think this extension is a Nx.dev official plugin.

I thought it was, thanks for the info.

Hey all!
Apologies for the lack of updates here.
As others have mentioned already, this is an OSS project that I basically maintain in my free time. I don't use Astro in my day-to-day work and it's not an official Nx plugin. We all have lives and lately, I've been through some stuff that has left me with little to no time or strength to dedicate to the project. I'll eventually be back and have more time, but unfortunately, I can't promise anything yet.
I'd be more than happy to accept some contributions. If someone wants to tackle adding support for Nx 16, here are a few things to keep in mind:

The aim is to support multiple versions of Nx to give some breathing room to those who can't update Nx for whatever reason. So far, I've been trying to support from v14 onwards, with the idea of always supporting the latest version plus the previous major version.
So, when supporting Nx v16, we could drop support for Nx v14.
It also means that we need to handle importing either from @nrwl/* or @nx/*. The former is what exists in Nx v15, while the latter is what's available in Nx 16.
Any change or API consumed from Nx needs to be available in both versions.

So far, I've kept an eye on that by performing some manual testing. I've considered adding explicit E2E tests for that, but I haven't had the time to do so. It's something to do later.

The aim is to support multiple versions of Nx to give some breathing room to those who can't update Nx for whatever reason. So far, I've been trying to support from v14 onwards, with the idea of always supporting the latest version plus the previous major version.

Honestly, isn't that what semvr is for?
If someone wants to stay on Nx v14, then they could use your current pinned version of this plugin. They will have to do the same for all the other plugins as well.
I would just suggest going for a major version update. While it is jumping way ahead and doesn't make 100% sense (semvr wise) sometimes I think pluings should just match their major versions with the target platform versions. So if Nx is at 16, this plugin releases its major as 16 then minors at whatever.
Hoenstly though, better to just cut support of older Nx versions and let people pin what they need.

@Lonli-Lokli  The path error could be related to this:
https://github.com/withastro/astro/issues/6918

FWIW I was able to fix this by doing the following:
yarn add -D @nrwl/[missing_dependency]
in my case, I needed @nrwl/linter and @nrwl/cypress
Logs:
❯ npx nx g @nxtensions/astro:app website --verbose
>  NX  Generating @nxtensions/astro:application
✔ What frameworks and/or addons would you like to enable? · No items were selected
 >  NX   Cannot find module '@nrwl/linter'

then I ran:
yarn add -D @nrwl/linter
and then npx nx g @nxtensions/astro:app website --verbose again and it worked.
I'm on "nx": "16.5.2"
This should still be fixed though - @nrwl/ dependencies are going to be removed starting in NX version 17+
Source: https://nx.dev/recipes/other/rescope#@nrwl-scope-end-of-life

The aim is to support multiple versions of Nx to give some breathing room to those who can't update Nx for whatever reason. So far, I've been trying to support from v14 onwards, with the idea of always supporting the latest version plus the previous major version.

Honestly, isn't that what semvr is for?

No really. The decision to support (or not) multiple versions has nothing to do with Semver. Semver doesn't dictate whether a plugin should support a single version of any tool or not.
The point with supporting multiple versions is that regardless of the version of Nx you're using, you'd be able to use and benefit from all the new features or bug fixes from the latest version of this plugin. That was the goal. When supporting a single version, that can still be achieved but requires back-porting features and bug fixes to the lower versions of the plugins.
So far, I preferred the former to avoid having to back-port things between versions, but given the still low usage of the plugin and in order to make upgrades easier, I'm going to go with supporting a single Nx version moving forward.
So, I'll make the changes to support Nx 16, and as you suggested, I'm going to align the plugin version to the Nx version so it's easy to know which version to use based on your Nx version. I hope to have enough time today to make the changes and publish the release.


fix field init when value not supplied in value section but schema default available

fixes #344

this should be labeled as bug, as the issue (#344) is so labeled

Hi,
Can you provide with a minimal example that does not work in the playground as-is, and would work with your modification .
Thanks a lot !

sample_legend_349.json.txt
paste into playground
expand item
1st legend missing
2nd ok

add 3rd, new legend (from default in schema)


app_store: use the new file_transfer worker?

https://github.com/bitful-pannul/file_transfer implements a new worker for transferring files. We should probably use one of these and focus efforts on making it as good & robust as possible and point people to use it for their apps that need to transfer files.

Why not planned?

@dr-frmr Bump, what's the deal here, why is this not planned? This seems like it would be a win to me.

Reopening because we've agreed it'd be nice to use this or a similar worker in app_store

@bitful-pannul has now done this in #472

The code looks better than before (i.e. we don't read the entire file into memory, so that's good!). But its not the same as the userspace file transfer.
Its not obvious to me why we aren't using the same code here. Maybe we should discuss this in an upcoming meeting so I can understand the decision @bitful-pannul ?


Problem with the CSS

Hi guys. Hope you doing well. I start playing around with this library and it really find my need. But I'm currently having troubles to load CSS file from my local HTML document. Is there any setting I have to change or is not supported?
Thanks in advance

Hello, if the css file is also loaded locally, it may be the path problem of introducing css in html. This is just my guess. If you can provide more information, I will investigate after the holiday.

If you want to use local static files, refer here: https://github.com/vvanglro/pwhtmltopdf/blob/main/tests/images.html#L29
https://github.com/vvanglro/pwhtmltopdf?tab=readme-ov-file#render-fill


Chapter2/homework/1

Chapter 2 Homework 1: OOP
Implemented the Chapter 1 Homework 8 using OOP style.  Also, required code changes, because the corrupted file changed data since Homework 8 was given out, such as the dollar sign was changed from '€' to '£'.

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 3
- Added 25

Complexity increasing per file
==============================
- Src/BootCamp.Chapter/BalanceStats.cs  6
- Src/BootCamp.Chapter/TextTable.cs  7
- Src/BootCamp.Chapter/InvalidBalancesException.cs  1
- Src/BootCamp.Chapter/CleanTable.cs  8

Clones added
============
- Src/BootCamp.Chapter/BalanceStats.cs  4

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 3
- Added 6

Complexity increasing per file
==============================
- Src/BootCamp.Chapter/TextTable.cs  7
- Src/BootCamp.Chapter/BalanceStats.cs  6
- Src/BootCamp.Chapter/CleanTable.cs  5
- Src/BootCamp.Chapter/InvalidBalancesException.cs  1

Clones added
============
- Src/BootCamp.Chapter/BalanceStats.cs  4

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 3

Complexity increasing per file
==============================
- Src/BootCamp.Chapter/CleanTable.cs  5
- Src/BootCamp.Chapter/BalanceStats.cs  6
- Src/BootCamp.Chapter/InvalidBalancesException.cs  1
- Src/BootCamp.Chapter/TextTable.cs  7

Clones added
============
- Src/BootCamp.Chapter/BalanceStats.cs  4

See the complete overview on Codacy

Please redo the whole thing. Your task is to use OOP, therefrore- don't work with string, work with objects:

Parse everything into a Person object who has string Name, decimal[] Balances.
From a person class, have a method to get current balance (last)
From a person class have methods for getting highest and smallest balances
Have another class, called BalancesStatistics which will process multiple people, using their own methods and give back a certain person or people with highest, lowest and other kinds of balances as requested.

I have re-submitted the assignment with PR #203, because I could not upload it and had to create a new branch and new pull request.


Remove assertIsPromise() from Undefinable/mapAsync

We close this once by https://github.com/option-t/option-t/issues/1608#issuecomment-1456023611.
We'll reopen this when we conclude about #1608.
If you have some opinions, please comment to #1608


洞态web界面突然显示接口错误

Preflight Checklist

[X] I agree to follow the Code of Conduct that this project adheres to.
[X] I have searched the issue tracker for an issue that matches the one I want to file, without success.
[X] I am not looking for support or already pursued the available support channels without success.

Version
1.12.0
Installation Type
Official Kubernetes
Service Name
DongTai-Web
Describe the details of the bug and the steps to reproduce it

查看server日志

Additional Information
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/opt/dongtai/./dongtai_common/endpoint/init.py", line 110, in dispatch
response = handler(request, *args, **kwargs)
File "/opt/dongtai/./dongtai_protocol/views/agent_configv2.py", line 44, in get
if agent.bind_project is not None and agent.bind_project.enable_log is not None:
File "/usr/local/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", line 187, in get
rel_obj = self.get_object(instance)
File "/usr/local/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", line 154, in get_object
return qs.get(self.field.get_reverse_related_filter(instance))
File "/usr/local/lib/python3.10/site-packages/django/db/models/query.py", line 431, in get
num = len(clone)
File "/usr/local/lib/python3.10/site-packages/django/db/models/query.py", line 262, in len
self._fetch_all()
File "/usr/local/lib/python3.10/site-packages/django/db/models/query.py", line 1324, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "/usr/local/lib/python3.10/site-packages/django/db/models/query.py", line 51, in iter
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
File "/usr/local/lib/python3.10/site-packages/django/db/models/sql/compiler.py", line 1175, in execute_sql
cursor.execute(sql, params)
File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 66, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 79, in _execute
with self.db.wrap_database_errors:
File "/usr/local/lib/python3.10/site-packages/django/db/utils.py", line 90, in exit
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python3.10/site-packages/django/db/backends/mysql/base.py", line 73, in execute
return self.cursor.execute(query, args)
File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 148, in execute
result = self._query(query)
File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 310, in _query
conn.query(q)
File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 548, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 775, in _read_query_result
result.read()
File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1156, in read
first_packet = self.connection._read_packet()
File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 725, in _read_packet
packet.raise_for_error()
File "/usr/local/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error
err.raise_mysql_exception(self._data)
File "/usr/local/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
raise errorclass(errno, errval)
django.db.utils.OperationalError: (1054, "Unknown column 'iast_project.last_has_online_agent_time' in 'field list'")
ERROR 2023-07-27 11:21:51,608 [log.log_response:224] Internal Server Error: /api/v1/agent/config
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", line 173, in get
rel_obj = self.field.get_cached_value(instance)
File "/usr/local/lib/python3.10/site-packages/django/db/models/fields/mixins.py", line 15, in get_cached_value
return instance._state.fields_cache[cache_name]
KeyError: 'bind_project'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python3.10/site-packages/django/db/backends/mysql/base.py", line 73, in execute
return self.cursor.execute(query, args)
File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 148, in execute
result = self._query(query)
File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 310, in _query
conn.query(q)
File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 548, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 775, in _read_query_result
result.read()
File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1156, in read
first_packet = self.connection._read_packet()
File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 725, in _read_packet
packet.raise_for_error()
File "/usr/local/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error
err.raise_mysql_exception(self._data)
File "/usr/local/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
raise errorclass(errno, errval)
pymysql.err.OperationalError: (1054, "Unknown column 'iast_project.last_has_online_agent_time' in 'field list'")
Logs
The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/dongtai/./dongtai_common/endpoint/__init__.py", line 110, in dispatch
    response = handler(request, *args, **kwargs)
  File "/opt/dongtai/./dongtai_protocol/views/agent_configv2.py", line 44, in get
    if agent.bind_project is not None and agent.bind_project.enable_log is not None:
  File "/usr/local/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", line 187, in __get__
    rel_obj = self.get_object(instance)
  File "/usr/local/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", line 154, in get_object
    return qs.get(self.field.get_reverse_related_filter(instance))
  File "/usr/local/lib/python3.10/site-packages/django/db/models/query.py", line 431, in get
    num = len(clone)
  File "/usr/local/lib/python3.10/site-packages/django/db/models/query.py", line 262, in __len__
    self._fetch_all()
  File "/usr/local/lib/python3.10/site-packages/django/db/models/query.py", line 1324, in _fetch_all
    self._result_cache = list(self._iterable_class(self))
  File "/usr/local/lib/python3.10/site-packages/django/db/models/query.py", line 51, in __iter__
    results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
  File "/usr/local/lib/python3.10/site-packages/django/db/models/sql/compiler.py", line 1175, in execute_sql
    cursor.execute(sql, params)
  File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 66, in execute
    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
  File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 79, in _execute
    with self.db.wrap_database_errors:
  File "/usr/local/lib/python3.10/site-packages/django/db/utils.py", line 90, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
  File "/usr/local/lib/python3.10/site-packages/django/db/backends/mysql/base.py", line 73, in execute
    return self.cursor.execute(query, args)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 148, in execute
    result = self._query(query)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 310, in _query
    conn.query(q)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 548, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 775, in _read_query_result
    result.read()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1156, in read
    first_packet = self.connection._read_packet()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 725, in _read_packet
    packet.raise_for_error()
  File "/usr/local/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "/usr/local/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
    raise errorclass(errno, errval)
django.db.utils.OperationalError: (1054, "Unknown column 'iast_project.last_has_online_agent_time' in 'field list'")
ERROR 2023-07-27 11:21:51,608 [log.log_response:224] Internal Server Error: /api/v1/agent/config
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", line 173, in __get__
    rel_obj = self.field.get_cached_value(instance)
  File "/usr/local/lib/python3.10/site-packages/django/db/models/fields/mixins.py", line 15, in get_cached_value
    return instance._state.fields_cache[cache_name]
KeyError: 'bind_project'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
  File "/usr/local/lib/python3.10/site-packages/django/db/backends/mysql/base.py", line 73, in execute
    return self.cursor.execute(query, args)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 148, in execute
    result = self._query(query)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 310, in _query
    conn.query(q)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 548, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 775, in _read_query_result
    result.read()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1156, in read
    first_packet = self.connection._read_packet()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 725, in _read_packet
    packet.raise_for_error()
  File "/usr/local/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "/usr/local/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
    raise errorclass(errno, errval)
pymysql.err.OperationalError: (1054, "Unknown column 'iast_project.last_has_online_agent_time' in 'field list'")

数据库没有什么问题，能正常连接

只有项目那个页面显示接口异常，其它界面还能正常访问

已经解决

已经解决

师傅是怎么解决的呢，我是1.16.0版本的，项目、漏洞、组件三个功能点全502


Spreading on write with use_blob & use_ti

A concept to allow simple proportional spreads in case any of the elements (coordinates) is c level and the value to write is numerical when using use_ti or use_blob.
Usage
Specify allow_spread=True and write to one or more c level elements.
Tests
Scripts included in tm1py/Tests, further tests required.
Limitations

Does not increment,
Speed not compared between allow_spread=True and allow_spread=False.
Implementation on use_ti not very clean. Although, it's in the same style as the current code in the write_through_unbound_process function.

Nice work @Kevin-Dekker
Thank you for your contribution!


Improve usability of of django4 and python projects

Is there an existing issue for this?

[X] I have searched the existing issues

Is your feature request related to a problem?
It's really hard to use django4 and python.

You have to get everything right before the project will even come up
You have to know how to specify DJANGO_SETTINGS_MODULE or gunicorn won't even come up
You have to know how to use ddev logs to see what's going on

Describe your solution

Write better tutorials with specific examples
Do screencasts
Improve visibility of what's going on with gunicorn, or use another webserver

Describe alternatives
No response
Additional context
No response

Hey @rfay sorry for the radio silence, was traveling.  I appreciate the changes that made it into 1.22, and I'll try to help however I can with Django improvements.
It seems like PyCharm is improving support for remote interpreters; the jankiness of working on a container-based project has made me slow to push on this before ddev support was available.  So if JetBrains can get support for everything working well, I'll be trying to switch to using DDEV on my main Django project at work.
My work project is the first one I've ever worked on for a meaningful length of time, which means I'm not overly familiar with gunicorn, but I am familiar with bashing on a project until I can get it running. 🤣
With all that being said, I will try to understand how this stack works better so I can make recommendations.  I've been able to get my Django project up and running via ddev ssh and running python manage.py runserver.  I'm not yet sure why gunicorn isn't happy.

hi! I tried this django4 support recently and I hope it's okay to share my experience here.
After my first failed attempt a while ago I cleaned everything and did it again. At first I only read https://ddev.readthedocs.io/en/latest/users/configuration/experimental/#django4-and-python-project-types
In my second attempt I also found https://ddev.readthedocs.io/en/latest/users/quickstart/#django-4-experimental
This time it went better. After a few config changes (I have a non-typical setup because I use MariaDB instead of Postgres) it worked without all the CSS/JS and so on. For a typical server-deployment I am generating those files and serve them seperatly but for development I have always liked to use Django's runserver. So my aim was to be running runserver instead of gunicorn, as this does require me to setup extra webserver stuff.
As I didn't get to see where I could change the gunicorn setup (I have admit I didn't look at all the code) I changed my nginx-site.conf file file as follows:

I removed #ddev-generated
I changed the (port of the) proxy_pass line to proxy_pass http://localhost:8001;

After this, I tried different hooks with post-start. Unfortunately using nohup python manage.py runserver <IP_ADDRESS>:8001 & didn't work. I don't really know why as I could not debug this very well.
Using python manage.py runserver <IP_ADDRESS>:8001 ofcourse works, but it will never actually "complete"  the startup of DDEV (okay, it's the last command to run, but nevertheless it feels akward).
So for now, I have done something to my config.yml which is also awkward, but has a few advantages (like I can login to the session and restart runserver when I need).
webimage_extra_packages: [python3-dev, default-libmysqlclient-dev, libmariadb-dev, build-essential, screen]
hooks:
  post-start:
    - exec: "screen -dmS runserver bash -c 'python manage.py runserver <IP_ADDRESS>:8001; exec bash'"

Now I know this is probably no good as any kind of solution for everyone or to include in DDEV, but the nature of this issue is to explore the improvement of usability. I hope this give a little bit of an insight in how I work with it. Don't get me wrong, I am very happy that I can now also use DDEV with my Django project!

Thanks so much for your report!

Right now I'm on a bicycle tour in Patagonian Chile, but would very much like to revisit your experiences and maybe we can work together on this in the coming months.

Wow that sounds cool! Have fun and if you have the time you can mention me here or get in contact with me like via my site. I hopefully have even more experience then. Have a good time!Op 16 dec 2023 om 16:47 heeft Randy Fay @.***> het volgende geschreven:
Right now I'm on a bicycle tour in Patagonian Chile, but would very much like to revisit your experiences and maybe we can work together on this in the coming months.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

@rfay Since a bit, Django 5 is out. I know DDEV now explicitly supports django4. Will Django5 be supported? I have seen that for this Python shoudl be upgraded. I tried such, but to no avail. I do not want to loosely compile a python somewhere on the container and then use that. I saw that a new debian base would provide a newer Python version (which Django5 supports), but I could not get it to work.
It's not problem and no hurry for me, just out of curiousity I was wondering if the base of the web-container will be upgraded? If so, Django5 would also be supported automatically.

I would imagine that it's not hard to support django5, maybe it works already. Upgrading python3 is super easy.
Are you currently using DDEV with django4?
The key problem we have with python/django is community feedback at this point. We'd love to make it better, but it's all crickets out there. So glad to have you speaking up!

hi @rfay when I typed my previous comment I didn't have all the numbers. The web container is currently shipped with Python3.9, while Django5 requires 3.10 or more.
At this moment webimage_extra_packages: [python3.10] does not work, because it isn't available in the (apt) repo.
I know some things about Debian myself so I thought how hard can it be, add an apt-get repo with a backport and be done with it. But that doesnt seem to work because of other dependencies. There was one package, but that doesn't come with pip as they say "you can just use the python3.9 one". This is true for packages that do not require 3.10 or higher...
That was on this page: https://community.home-assistant.io/t/home-assistant-core-python-3-10-backport-for-debian-11-bullseye/528439
I did try to make a Dockerfile for the webcontainer with this
RUN wget -qO- https://pascalroeleven.nl/deb-pascalroeleven.gpg | sudo tee /etc/apt/trusted.gpg.d/deb-pascalroeleven.gpg && \
    echo "deb http://deb.pascalroeleven.nl/python3.10 bullseye-backports main" > /etc/apt/sources.list.d/python310.list

RUN apt-get -qq update
RUN apt-get -qq install --no-install-recommends --no-install-suggests -y python3.10

But it wasn't enough to work
That page also mentioned that Debian Bookworms contains Python3.10 (or higher). So then I though, let's just use a different base for the webcontainer. I tried several things but I did not succeed on this. It was a month or so ago but I think I didn't figure out where I could change/find the initial "FROM" directive for the most downward layer of the web container.
I hope this gives you a bit of an insight in what I tried. If you had some ideas of your own on this (and you have the time to share them here), I am open to try those.

Thanks, this is probably worth spinning off into another issue, as it's really about how to get Python 3.10 onto a Debian 11 machine. It does look like the options are slim! However, I imagine pyenv would work fine.
However, this .ddev/web-build/Dockerfile.python310 does work fine:
RUN wget -qO- https://pascalroeleven.nl/deb-pascalroeleven.gpg | sudo tee /etc/apt/trusted.gpg.d/deb-pascalroeleven.gpg
RUN echo "deb http://deb.pascalroeleven.nl/python3.10 bullseye-backports main" >/etc/apt/sources.list.d/python310.list
RUN apt update && apt install -y python3.10

After ddev restart I get
$ ddev exec python3.10 --version
Python 3.10.13

If you need python3.10 to be the default python (which can break things) you have to do update-alternatives etc.
Debian Bookworm 12, which should be the base of ddev-webserver in DDEV v1.23 this Spring, has python 3.11 by default. (https://github.com/ddev/ddev/pull/5579)

@jeroenpeters1986 what I'm really interested in is whether you've been using DDEV successfully for any python-related projects, how it went, what needs to be improved.

@rfay hi Randy, my first experience was also commented here in december (https://github.com/ddev/ddev/issues/5171#issuecomment-1858839350). I use DDEV for PHP a lot, so I thought i'd give it a try for python and now it's working I am happy with it. I am using the runserver quite a lot so I still have those modifications in place, so I can also see the output. This is something I think more people would need probably
I am currently succesfully running https://github.com/jeroenpeters1986/pyBudgie with it.

Thanks so much, so glad to hear that you're using this in the wild!

Really thank you @rfay I love the simplicity that DDEV offers, and now I can use the same way of working with DDEV. I will try  your suggestion for the Python 3.10. Also waiting for 1.23 works for me for a definitive solution as this is hobby project I work on on the side. I will keep you updated and if there any things you want to know from me, please dont hesitate to ask

I got python3.10 installed, but I don't really know what I am supposed to do next. I bet pyenv would work and getting pip3.10 there, but I don't really see where I should put it.
I know there is a .venv there, but I don't know where I would have to hook in to get that updated with my Pyhton3.10. Also, if I would have know, I feel like it's a bit wonky, as I would override all the defaults here that make Python possible.

Agreed about pyenv. It does seem like fighting a major battle with Debian 11. I'm surprised they forced a python version that wasn't supported by such a major version of Debian.

Yes I agree with you. Especially since Buster is LTS. Django has gone really fast the last year or two in releases, but also in these requirements. But for now it's no biggie for me, as my project works just fine on Django4 :-)

@jeroenpeters1986 DDEV HEAD now has python 3.11.2, would love to have you give it a try. We'll be doing prereleases for v1.23.0 before too long, but right now you can test using the instructions at https://ddev.readthedocs.io/en/latest/developers/building-contributing/#testing-latest-commits-on-head
I don't think you'll run any risks by doing that, and would love to hear your results.

Updated the OP, https://github.com/ddev/ddev/issues/5171

Hi Randy, thanks for the effort! I am currently sick in bed so I hope I can give you some results at the end of the week. Thanks so much!Op 18 feb 2024 om 18:30 heeft Randy Fay @.***> het volgende geschreven:
Updated the OP, #5171
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

Hi @rfay , sorry for the late reply but this virus have kept me under the weather for at least two weeks. I tried it yesterday and it works great!
Since I am using MySQL in my Django Project I am having this line in my config.yaml (also I use screen):
webimage_extra_packages: [python3-dev, pkg-config, default-libmysqlclient-dev, libmariadb-dev, build-essential, screen]

The pkg-config is new for me since this release. It seems like it wasn't installed on bookworm, but that's okay. The error message that pip threw was clear enough for me to know that it needed pkg-config.
The database-dev packages make it possible to pip install mysqlclient==2.2.0 for me.
Also, Django 5.0 is working fine!

Thanks so much for testing this! And I'm glad to hear you're feeling better now, wishing you a full and quick recovery.

Thanks so much for giving this a go @jeroenpeters1986 - We just had so little uptake that it doesn't make sense to continue the feature.

Sorry I couldn't help more with this.  It would have been nice to see it, but I understand pulling it if no one's using it.

Hi @rfay I meant to reply yesterday, but it's a bit of a hectic time at work haha. Anyway, totally understandable! Luckily PyCharm and the works are facilitating me as well in my little Python/Django projects. So despite it's a pity this will be dropped, it's not too big of a loss. And it's probably best for your own focus on the product :-)
Were you using it yourself btw?
I am using DDEV a huge lot at my work at IMPRES, so still.. thanks so much for DDEV :-)

Yes, you are right, not much of a python community here, so it's a good decision to drop it in this case. Keep up the good work for DDEV and when I see something that I can, I' ll try to contribute (with this or my other jeroenpeters1986 account haha)


Support DNS records for ingresses without rules

If my ingress does not contain any rules but only a default backend no records are created. It would be great to implement an alternative way to create records if no rules are set.
For example the way mentioned in #142 can be a solution here. As a result we have a consistent way to handle services and ingresses.
We can just use both ways at the same time (use the template AND create records for every rule if one exists) or just fallback to the template method from #142 if no rules are defined.
Maybe a more sophisticated opt in/out configuration using annotations could be useful.

Closed. Solved in #160 - confirmed working


Issues with product recommendations in the demo app

I had observed the following issues when using the demo app in our company.
Upon deploying the stack of retail demo store, evaluate the products listed in the Inspired by shopping trends section and there are issues in Viewing Product Recommendations:
•	When We log in as a predefined user in the demo application, Pre-defined users with each category, recommendations don’t match with the categories that were allotted.
•	When we create new users and click on the new category with different items the recommendations were not changing on the home page.
Kindly let me know if there is a way to overcome these issues as well as if you could kindly check and fix the issues and make a new build available.

When you deployed the product, did you select to have the Personalize campaigns automatically created for you? This was the "Yes/No" option in the CloudFormation template when you deployed. If you chose "Yes", a Lambda function would pull down some pre-made staged CSVs to train the Personalize models. Unfortunately, we had some inconsistencies between the staged CSVs and the users in the Users service (we regenerated the users but didn't recreate the CSVs to match the new users). Therefore, the users in the web UI did not match the users and interactions used to train the models resulting in unintuitive recommendations.
To remedy this situation you can try two approaches:

Step through the 1.2-Personalize-Cleanup workshop notebook to delete all of the Retail Demo Store Personalize resources and then step through the 1.1-Personalize workshop to rebuild the Personalize models. Since the second workshop pulls users and items from the services to generate interactions, the models will match the current users in your deployment.
Delete the project entirely and redeploy. This can be done by deleting the Retail Demo Store CloudFormation stack and redeploying. Since we sync'd the CSVs in the staging bucket with the users database, the models will be in sync too.

Let us know if this works for you. I'll keep the issue open until we hear back. Apologies for the inconvenience.

We will try it and revert back to you

Realized I missed answering your second question:

• When we create new users and click on the new category with different items the recommendations were not changing on the home page.

Clicking on categories do not generate training events since a category does not represent a specific product. Try clicking on product details for a few products in a category or two and then revisit the home view to see if recommendations change. It may take clicking on a few products before the service learns enough about cold/new users.
You can find more details on what events are triggered and sent to Personalize here.

Thanks for the help! We tried it by deleting the cloud formation stack and redeploying the entire project. I have used the steps through the 1.1-Personalize workshop to rebuild the Personalize models. Now, we can get exact recommendations for pre-defined users and new users as well.
Now, I am facing a new issue. When I create a new user and experimenting by clicking on multiple items in different categories the recommendations are changing on the home page but after some time (i.e. after 30 minutes) if I am trying again the recommendations are not popping on the home screen. Is there any session time limit for a user for recommendations using amazon personalize? Could you please help me on the same.

Now, I am facing a new issue. When I create a new user and experimenting by clicking on multiple items in different categories the recommendations are changing on the home page but after some time (i.e. after 30 minutes) if I am trying again the recommendations are not popping on the home screen.

Can you provide more details on what's happening? Are recommendations not displaying at all (i.e. spinning "loading" icon never resolves to recommendations)? Or are the recommendations for the new user reverting back to popular items?

Is there any session time limit for a user for recommendations using amazon personalize? Could you please help me on the same.

Although there is a time-based limit on the age of interactions that Personalize will consider when training models, we are no where near that limit here. Specifically, Personalize currently will train based on the most recent 500 million interactions and ignore older interactions. When you went through the 1.1-Personalize workshop, 500,000 interactions were generated so we're well below the service limit. Besides, we're talking about very recent interactions for a new user in this case so the 500M limit is not in play.
Also, for new/cold user interactions where retraining has not taken place, those interactions are managed by the event tracker and taken into account by the campaign to make personalization recommendations. Those should not time out either.
Besides Personalize, there are web browser session timeouts in the web app to consider but 30 minutes is so short that shouldn't be the issue. The Retail Demo Store uses local storage for your user profile and Amazon Cognito for authentication. The Cognito token expiry is 30 days, I believe. Nevertheless, make sure you are still signed as your test user and not signed out (i.e. an anonymous user).

@ochsreekar, are you still experiencing issues? If not, I will close this issue.

Thanks for the help! I am not facing any issues and able to get recommendations for new users as well.

Closing this issue since recommendations are working as expected.


Fix ktlintCheck task

Motivation:
The task I mentioned has two problems.
The task does not work under lint task. It also works when adding settings with noLint.
Modifications:

Fix gradle script (kotlin.gradle)
Remove unnecessary plugin dependencies

Result:

Closes #3699

We can see that ktlintCheck task only in lint.
See https://github.com/line/armeria/runs/3084040469#step:4:247

Thank you!
Could you also send this PR to https://github.com/line/gradle-scripts? 😄

Yes! :)


Update Bazel protobuf rules

Closes #3263

Hmm. It seems this integration test is failing with this change?
[2019-05-23 20:31:08 +0000] [ERROR]: Checking result failed for<PHONE_NUMBER>1933_IntegrationTest_SlidingTimeWindow1_c2865994-2284-4b89-8fdd-192cb44ee673 topology :: Traceback (most recent call last):
File "integration_test/src/python/test_runner/main.py", line 204, in run_test
return results_checker.check_results()
File "integration_test/src/python/test_runner/main.py", line 123, in check_results
return self._compare(expected_results, actual_results)
File "integration_test/src/python/test_runner/main.py", line 136, in _compare
raise failure
TestFailure: ('Actual result did not match expected result', None)

~/incubator-heron$ bazel clean
Starting local Bazel server and connecting to it...
INFO: Starting clean (this may take a while). Consider using --async if the clean takes more than several minutes.

~/incubator-heron$ bazel version
Build label: 0.23.2
Build target: bazel-out/k8-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Mon Mar 11 16:47:03 2019<PHONE_NUMBER>)
Build timestamp:<PHONE_NUMBER>
Build timestamp as int:<PHONE_NUMBER>

~/incubator-heron$ bazel test --test_output=errors --config=ubuntu_nostyle integration_test/...
DEBUG: /home/ubuntu/.cache/bazel/_bazel_rohan/6ae13315cd4f4a72906d48bc12f08d52/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:59:9: 'jar_sha256' is deprecated. Please use 'artifact_sha256'
INFO: SHA256 (https://pypi.python.org/packages/d9/03/155b3e67fe35fe5b6f4227a8d9e96a14fda828b18199800d161bcefc1359/requests-2.12.3.tar.gz) = de5d266953875e9647e37ef7bfe6ef1a46ff8ddfe61b5b3652edf7ea717ee2b2
DEBUG: Rule 'requests_src' modified arguments {"sha256": "de5d266953875e9647e37ef7bfe6ef1a46ff8ddfe61b5b3652edf7ea717ee2b2"}
INFO: SHA256 (https://pypi.python.org/packages/68/13/1bfbfbd86560e61fa9803d241084fff41a775bf56ee8b3ad72fc9e550dad/setuptools-31.0.0.tar.gz) = 0818cc0de692c3a5c83ca83aa7ec7ba6bc206f278735f1e0267b8d0e095cfe7a
DEBUG: Rule 'setuptools_src' modified arguments {"sha256": "0818cc0de692c3a5c83ca83aa7ec7ba6bc206f278735f1e0267b8d0e095cfe7a"}
INFO: SHA256 (https://pypi.python.org/packages/3a/1d/cd41cd3765b78a4353bbf27d18b099f7afbcd13e7f2dc9520f304ec8981c/pex-1.2.15.tar.gz) = 0147d19123340677b9793b00ec86fe65b6697db3ec99afb796da2300ae5fec14
DEBUG: Rule 'pex_src' modified arguments {"sha256": "0147d19123340677b9793b00ec86fe65b6697db3ec99afb796da2300ae5fec14"}
INFO: SHA256 (https://pypi.python.org/packages/c9/1d/bd19e691fd4cfe908c76c429fe6e4436c9e83583c4414b54f6c85471954a/wheel-0.29.0.tar.gz) = 1ebb8ad7e26b448e9caa4773d2357849bf80ff9e313964bcaf79cbf0201a1648
DEBUG: Rule 'wheel_src' modified arguments {"sha256": "1ebb8ad7e26b448e9caa4773d2357849bf80ff9e313964bcaf79cbf0201a1648"}
INFO: Analysed 28 targets (90 packages loaded, 2178 targets configured).
INFO: From scala //heron/api/src/scala:api-scala:
warning: there was one deprecation warning (since 2.12.0); re-run with -deprecation for details
one warning found
INFO: Elapsed time: 292.425s, Critical Path: 78.00s
INFO: 497 processes: 450 local, 47 worker.
INFO: Build completed successfully, 541 total actions
INFO: Build completed successfully, 541 total actions

I tried running the tests locally, they all pass. Maybe it is one of the flaky tests? I'll merge master and push, to re-trigger travis CI.

~/incubator-heron$ bazel clean
Starting local Bazel server and connecting to it...
INFO: Starting clean (this may take a while). Consider using --async if the clean takes more than several minutes.

~/incubator-heron$ bazel version
Build label: 0.23.2
Build target: bazel-out/k8-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Mon Mar 11 16:47:03 2019<PHONE_NUMBER>)
Build timestamp:<PHONE_NUMBER>
Build timestamp as int:<PHONE_NUMBER>

~/incubator-heron$ bazel test --test_output=errors --config=ubuntu_nostyle integration_test/...
DEBUG: /home/ubuntu/.cache/bazel/_bazel_rohan/6ae13315cd4f4a72906d48bc12f08d52/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:59:9: 'jar_sha256' is deprecated. Please use 'artifact_sha256'
INFO: SHA256 (https://pypi.python.org/packages/d9/03/155b3e67fe35fe5b6f4227a8d9e96a14fda828b18199800d161bcefc1359/requests-2.12.3.tar.gz) = de5d266953875e9647e37ef7bfe6ef1a46ff8ddfe61b5b3652edf7ea717ee2b2
DEBUG: Rule 'requests_src' modified arguments {"sha256": "de5d266953875e9647e37ef7bfe6ef1a46ff8ddfe61b5b3652edf7ea717ee2b2"}
INFO: SHA256 (https://pypi.python.org/packages/68/13/1bfbfbd86560e61fa9803d241084fff41a775bf56ee8b3ad72fc9e550dad/setuptools-31.0.0.tar.gz) = 0818cc0de692c3a5c83ca83aa7ec7ba6bc206f278735f1e0267b8d0e095cfe7a
DEBUG: Rule 'setuptools_src' modified arguments {"sha256": "0818cc0de692c3a5c83ca83aa7ec7ba6bc206f278735f1e0267b8d0e095cfe7a"}
INFO: SHA256 (https://pypi.python.org/packages/3a/1d/cd41cd3765b78a4353bbf27d18b099f7afbcd13e7f2dc9520f304ec8981c/pex-1.2.15.tar.gz) = 0147d19123340677b9793b00ec86fe65b6697db3ec99afb796da2300ae5fec14
DEBUG: Rule 'pex_src' modified arguments {"sha256": "0147d19123340677b9793b00ec86fe65b6697db3ec99afb796da2300ae5fec14"}
INFO: SHA256 (https://pypi.python.org/packages/c9/1d/bd19e691fd4cfe908c76c429fe6e4436c9e83583c4414b54f6c85471954a/wheel-0.29.0.tar.gz) = 1ebb8ad7e26b448e9caa4773d2357849bf80ff9e313964bcaf79cbf0201a1648
DEBUG: Rule 'wheel_src' modified arguments {"sha256": "1ebb8ad7e26b448e9caa4773d2357849bf80ff9e313964bcaf79cbf0201a1648"}
INFO: Analysed 28 targets (90 packages loaded, 2178 targets configured).
INFO: From scala //heron/api/src/scala:api-scala:
warning: there was one deprecation warning (since 2.12.0); re-run with -deprecation for details
one warning found
INFO: Elapsed time: 292.425s, Critical Path: 78.00s
INFO: 497 processes: 450 local, 47 worker.
INFO: Build completed successfully, 541 total actions
INFO: Build completed successfully, 541 total actions

I tried running the tests locally, they all pass. Maybe it is one of the flaky tests? I'll merge master and push, to re-trigger travis CI.

I tried to restart the build a few times and it kept failing. It is strange though that the test doesn't look related to the change. Let me trigger the build again.

finally passed~