Added py extension + fixed device type for Osram AC05347

Fix for #485
The file was missing the ".py" extension
The device type was also incorrect.

It seems like the tests are failing now, because it has the ".py" extension (I guess they didn't run properly before).
"zll.DeviceType.COLOR_DIMMABLE_LIGHT" doesn't exist. I guess COLOR_LIGHT was meant to be used?
(Will push more commits to fix this soon.)
Would be nice to have the device signature though - I wasn't able to find it in any issues.
Maybe @Goldwing1973 can post the signature?

From searching online, it seems like this is a "Tunable White" light, so a COLOR_TEMPERATURE_LIGHT.
The device signature would really help.

From searching online, it seems like this is a "Tunable White" light, so a COLOR_TEMPERATURE_LIGHT.
The device signature would really help.

I will pair one in ZHA and look for the signature

Thanks!

Thanks!

{
"node_descriptor": "NodeDescriptor(byte1=1, byte2=64, mac_capability_flags=142, manufacturer_code=48042, maximum_buffer_size=64, maximum_incoming_transfer_size=0, server_mask=0, maximum_outgoing_transfer_size=0, descriptor_capability_field=3)",
"endpoints": {
"3": {
"profile_id": 49246,
"device_type": "0x0220",
"in_clusters": [
"0x0000",
"0x0003",
"0x0004",
"0x0005",
"0x0006",
"0x0008",
"0x0300",
"0x1000",
"0xfc0f"
],
"out_clusters": [
"0x0019"
]
}
},
"manufacturer": "unk_manufacturer",
"model": "unk_model",
"class": "zigpy.device.Device"
}
This is what i get from Zigbee device signature in ZHA

Changed the device type to ZLL COLOR_TEMPERATURE_LIGHT now.
This should fix what was "broken" in #485.

@Goldwing1973 I saw that your device also paired with "unk_model" and "unk_manufacturer".
The implementation of the quirk will NOT fix this.
This quirk only allows for the use of the "save_defaults" command.
The bug you're experiencing is most likely https://github.com/home-assistant/core/issues/35534

@Goldwing1973 I saw that your device also paired with "unk_model" and "unk_manufacturer".
The implementation of the quirk will NOT fix this.
This quirk only allows for the use of the "save_defaults" command.
The bug you're experiencing is most likely home-assistant/core#35534
#491 was related to this PR.
Like was mentioned in #491 (comment), it's just a different device signature.
If @makuser wants, I can also add "(OSRAM, "CLA60 TW OSRAM")" for this quirk.
This should work.

Does that mean i won't be able to control the light either? because that is the reason why i tried and failed miserably to make the quirk.
When i add it now, i do see a switch for the device, but when i flip it it returns to the off state a second later.

You didn't fail miserably!
It were just two tiny things that were wrong.
Your quirk allows to send the "save_defaults" command to the Osram light. This sets the current set light state as the startup state.
The issue you're experiencing is likely because you're running one of these experimental radios (https://www.home-assistant.io/integrations/zha/#experimental-support-for-additional-zigbee-radio-modules).
This is the bug report you wanna follow: https://github.com/home-assistant/core/issues/35534
You can check the (debug) logs to see if the issue is similar/the same.


babashka: 0.0.71 -> 0.0.78

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

https://github.com/NixOS/nixpkgs/pull/83776

@bhougland18
@bandresen
@DerGuteMoritz
@mmilata

Maybe some day when he have something like "javaStdenv"...

Thanks for working on this!


Frontend: "Hello world" for our persistent data

[ ] Try to get a standard Epic Stack SQLite database going on your local.
Advise on how to turn on the home-energy-analysis-tool SQL lite piece:

[ ] I suggest choosing any one model in standard Epic Stack to do a CRUD action from an Remix action().
[ ] Perhaps start into #124 which has had a lot of planning done. See heat-stack/types/index.ts

Existing npm run prisma:studio output on home-energy-analysis-tool but it may be slightly broken:

Current error when you click on one in home-energy-analysis-tool:

Hi @thadk I am looking at this ticket.  Since there is no back end, trying to understand where persistent data is being stored.
Does persistent data refer to the csv's such as
Breslow  natural-gas.csv

@jkoren Epic Stack and Remix host a javascript-based backend that access a SQL-based SQLite database via Prisma ORM, typically in the backend-based special loader function in Remix JSX files.
Here's an example where it queries the database to show all the users:
https://github.com/epicweb-dev/epic-stack/blob/00c44b6bddf8da3b8c6594ffaede7a7b0c0765a4/app/routes/users%2B/index.tsx#L26-L39
If we wanted to access this route via our root.tsx, I think we just need to reintroduce children into our body.

@jkoren  Then, for each user, thenatural-gas.csv might be stored in a table with a key associated with that user's entry in the user table in order to calculate their correct heat-pump size.
We had an idea of getting everything working in the browser before incorporating any persistence of this kind of data. Not sure if that'll end up being the best way forward or not.

We should decide if we want to get everything working in the browser before incorporating any persistence before we work on this ticket.

This is open to take now! Welcome.

I'm happy to take this on! I've got an epic-stack "Hello, World!" going on and will try to get some CRUD stuff going on there this week.

[] See existing error in the parent directory

[] Create MockNotes
[] Create a simple button
[] Send a POST request with that simple button
[] Save hard-coded data to a MockNotes record

Hoping to follow this how-to to create a CRUD functionality: https://davelarrabee.com/a-simple-crud-app-in-remix

Work done June 15th on heat-stack-db in ./heat-stack-db
Note: Make sure you have your .env set up before running npm run dev or any prisma migrations. Jake didn't copy .gitignore file into the repo initially so we all might have to sync up on some secret files and such on a Tuesday.

Create a button in app/routes/_marketing+/index.tsx
Create a new MockNotes model in prisma/schema.prisma
Update databse with new schema. Locally, npx prisma generate then npx prisma migrate dev

Here is the commit relevant to replicating the process of creating a table with prisma and sqlite, then using remix actions to persist data in the database: https://github.com/codeforboston/home-energy-analysis-tool/commit/d337111dce965539a5fec0807b955a16dcc8a236
Note: As mentioned in the above comment, this is a little convoluted, we could have colocated all the action code with the button... but we didn't... don't follow these directions to a tee, but do take note of how the migrations were structured and whatnot. the "backend" code is correct/


Unclear how to create custom input w/o ref

Description of issue
I'm trying to create a custom inputs that use Slate.js, markdown lite, and other components that either don't provide ref or where it's unclear what ref is linked to. It's unclear to me how to provide the input value in these cases. The doc section on "Creating your own inputs" is blank.

Usage example

Working on that, i'll try to update the docs this week. I'll also notify you here. If you don't wanna wait, my advice is that you need to store the value within a ref, something like:
export default function MyComponent({ name }) {
  const inputRef = useRef();

  const { fieldName, registerField } = useField(name);

  useEffect(() => {
    registerField({
      name: fieldName,
      ref: inputRef.current,
      path: 'value'
    })
  }, [registerField, fieldName]);

  updateValue(newValue) {
    inputRef.current.value = newValue;
  }
}

Then, you can use the getValue, setValue and clearValue functions inside registerField to customize the way unform talks with your custom input.

Great that you are on it @diego3g I was just about to add a request for this today.
Any news so far?

@yarapolana feel free to send new requests :)
For now, evertime that a custom input i'm using React refs, something like this:
function MyCustomInput({ name }) {
  const inputRef = useRef({ value: '' });
  const { registerField, fieldName } = useField(name);

  useEffect(() => {
    registerField({
      name: fieldName,
      ref: inputRef.current,
      getValue(ref) {
        return ref.value;
      },
      setValue(ref, value) {
        // do something with value if needed
        ref.value = value;
      }
    })
  }, [registerField, fieldName]);

  return (...)
}


Adding the links in CONTACT FOR TOURS section

In the "Contact" page under the "CONTACT FOR TOURS" section, the social media icons have no links assigned to it.
Please allow me to add the links to the respective icons.

Go ahead @imdebamrita
Show your support by stargazing the repo 🌟

Sir,where do i get the links of your social media sites......?

@imdebamrita Add default links
Plz finish the task as soon as possible

where should I push?
The branch i created or the main branch?

PS D:\github\Paryatana> git push -u origin debamrita_add_links
remote: Permission to Arun9739/Paryatana.git denied to imdebamrita.
fatal: unable to access 'https://github.com/Arun9739/Paryatana.git/': The requested URL returned error: 403
This is the message, what i get.....

@imdebamrita Plz create a forked repository
And push commits into the forked repository.
You're trying to push commits into the head repository, which is wrong.
Plz read the contributing guidelines 📖

@imdebamrita Due to no activity and the issue is proposed by someone else, this will be closed.


Verify that the temp directory exists before runner

Error in windows when there is no c:/temp directory

I appreciate the pull request, but I am not going to add this to the code, my rationale is below:
I do not believe that chromedp/runner should be creating/deleting directories. I understand that c:\temp is not available on Windows by default; however Windows does not in general have a standard temp directory path that I am aware of. I chose c:\temp simply so that it had some kind of parallels to Unix. The other issue with Windows is that on Unix systems, there is an expectation that /tmp is erased or is otherwise transient for the container/vm. I don't believe that behavior is the same with the various Windows temporary paths.
I definitely would like to come up with behavior that is "right" for Windows, and is also in line with what I think chromedp should be doing, but I believe that leaving the management of temporary file system resources should be left to the operating system, or barring that, should be managed by the user. If you have a different way that this could be accomplished (that doesn't require creating/deleting directories), I would greatly appreciate it!

In Windows 7+ there is the environment variable for a temporary directory of the user.
You can access it with os.Getenv("temp") or os.Getenv("tmp").


Explain the History of free and open-source software (1980 & 1990’s)

My name is Malvika Kaushal
I would like to be assigned with this role
Python Batch 3

Copy of #20


[tailwind] dark mode for buttons, input fields, etc… needed

tried but getting some issues with inputs and background. might need to contact @kapeli.

moved to own repo: https://github.com/godbout/tailwindcss-dash-docset/issues/1


Release 1.4.0

Thanks a lot Nate. I just released a new 'dev' tag build which includes this. Could you please check that it behaves as expected.

Hi Nate,
I have a user asking for a few Binary Sensors like is_raining and is_freezing. These should be on or off based on:

is_raining: Rain Rate > 0 for On
is_freezing: Air Temperature < 0 (Celcius) for On

I though it would be best to create them in this module, but I am not sure how to go about that. Should we create a new class WeatherFlowBinarySensorDevice or what would you suggest?
For the discovery to create a binary sensor we need the component part below to be binary_sensor
<discovery_prefix>/<component>/[<node_id>/]<object_id>/config


Stable 1.0 release

This plugin seems to work well already.
What is necessary in order for you to release a stable version 1.0?

Right. We can just do that now.


Emails Not Sending

Having an issue with emails not being sent.  When I run the server in test mode through the console for testing when I installed, the email send fine.  When the server is ran normally, emails are not sent.
I tried sendmail as an alternative, but emails are not sent through that either.  Sendmail sends fine through console.
Environment variables are there and don't see any issues in the error log.
Not sure what to try next.  Is it a user permissions thing?  Apache running under a different user and can't send them?

Had to start procodile on boot.
https://github.com/adamcooke/staytus/issues/157


Add capability control for the admin bar

This PR addresses #204

ping @Dan0sz 👋

I'm currently on a summer break! Will get back to you ASAP.

@Dan0sz any update on this one? Would be great to close the open issue :)


[etlas] Allow Nix to provide packages

The usual way Nix provides packages to the Cabal library is by setting GHC_PACKAGE_PATH. We need something similar for the Etlas library.
We also need Etlas to not download patches or sources itself. We should be able to tell Etlas where the patches and sources exist for a package.

You can do something similar with etlas as follows:

`etlas --package-db=clear --package-db=[location-of-package-db] ...

Those flags should be available for the etlas install command.

This will require a couple of steps:

Create eta-hackage as a nix binding and lock it down to a commit of eta-hackage. It should essentially copy the patches directory into the nix store.

Download the tarball for the package you want directly (for Hackage). For packages in etlas-index, you can specify a git repo/tag.

Using the previous defined eta-hackage binding, add some logic to check if [pkgname]-[version].patch exists in the store, and if so, apply the patch via

git apply --ignore-space-change --ignore-whitespace [path-to-patch]

When installing you may also want to specify a location in the nix store to install a package.

etlas install --package-db=clear --package-db=PACKAGE_DB --libdir=LIBDIR --libsubdir=LIBSUBDIR --bindir=BINDIR

PACKAGE_DB is the absolute path to the package database you're installing to.
LIBDIR is the absolute path to the root location of the libraries you're going to install (most likely /nix/store in this case.)
LIBSUBDIR is a relative path to LIBDIR which your library will be installed to. (most likely [package-name]-[nix-hash] in this case.)
BINDIR is the absolute path to the directory in which to install the executable
(in most cases there won't be any).

And some details on building the boot libraries:

rts package needs to be installed as follows:

Build all the *.java files under rts/src with the following flags:
javac -XDignore.symbol.file -Xlint:unchecked -source 1.7 -target 1.7 [files]
Combine the class files generated above into a jar and send it to libraries/rts/build/HSrts.jar
Run etlas install --allow-boot-library-installs ... in the libraries/rts folder.

ghc-prim, integer, base all should be built by going into the respective directories and running etlas install --allow-boot-library-installs .... Again you can use the extra flags above to customize the local to which they're installed.

I'll write the code using the existing Shake code. I'll refactor anything which isn't exposed.
The first problem I'm running into is the prompt:

Would you like to help us make Eta the fastest growing programming language, and help pure functional programming become mainstream? (y/n)

Nix isn't giving it stdio, therefore it crashes with:
<stdin>: hGetChar: end of file

Got past that problem with https://github.com/typelead/etlas/pull/26

I have to pass --disable-auto-update to Etlas, otherwise it tries to download the index via git and fails.

I did an install of ghc-prim but it doesn't expose GHC.Prim - I see that the Shake build has fixGhcPrimConf but it doesn't seem to be used anywhere.

You can update the Etlas config at ~/.etlas/config and set auto-update to True.
Hmm well the CI is somehow passing even without that. @jneira discovered that GHC.Prim was being exported twice and removed the fixGHCPrimConf. Are you getting errors when building integer?

Etlas puts GHC.Prim into the exposed modules by looking at the unit-id. I'm using "etlas register" on the .cabal file, which doesn't read the ghc-options to execute the unit-id hack.
I've written a dodgy awk script to work around this for now.

So updating etlas register to handle this should keep all this ad-hoc logic inside of etlas right?

@rahulmutt yeah that's right

Does your nix overlays work satisfy this issue? What else is remaining on that front?

Yeah it does pretty much what you said in the second comment.


docs: Migrate to Docusaurus 3

Released 2023-10-31
https://docusaurus.io/docs/migration/v3

We'll want to do this for the Arch docs too cc @cjohnhanson


fix nonsense logic

Ok tested, and it was just always returning true before and treating things as short lang versions.  Your fixes sorts it.  Thanks.


Does not pass nilness analyzer

@HEAD
❯ go run golang.org/x/tools/go/analysis/passes/nilness/cmd/nilness@afc6aad76eb1194c038c653531eef344468d2ac4 ./...
/Users/thomas/code/github.com/kubernetes/apimachinery/pkg/util/jsonmergepatch/patch.go:139:54: impossible condition: non-nil == nil
/Users/thomas/code/github.com/kubernetes/apimachinery/pkg/util/httpstream/spdy/upgrade_test.go:64:12: impossible condition: non-nil == nil
/Users/thomas/code/github.com/kubernetes/apimachinery/pkg/util/yaml/decoder_test.go:360:13: tautological condition: non-nil != nil
exit status 3

This was discovered by Bazel's Go analysis tool which fails when using versions of golang.org/x/tools without position information for switch cases. See https://github.com/golang/go/issues/31008.

/remove-lifecycle rotten

/remove-lifecycle stale


Added start reason to pipelines.

Codecov Report

Merging #235 into master will increase coverage by <.01%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##           master     #235      +/-   ##
==========================================
+ Coverage      61%   61.01%   +<.01%
==========================================
  Files          49       49
  Lines        4265     4266       +1
==========================================
+ Hits         2602     2603       +1
  Misses       1220     1220
  Partials      443      443

Impacted Files
Coverage Δ

workers/pipeline/ticker.go
48.38% <0%> (ø)
:arrow_up:

workers/scheduler/scheduler.go
60.56% <100%> (+0.11%)
:arrow_up:

handlers/pipeline.go
52.41% <66.66%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Closes #157


Rule no-nodejs-modules doesn't work with "settings: {'import/resolver': {webpack}}"

It's just ignored. But if I comment 'import/resolver setting, it starts work.

{ webpack } is not valid json syntax, can you share your whole config?

@ljharb sorry, I meant normal syntax:
    'import/resolver': {
      webpack: {
        config: path.resolve(__dirname, 'webpack-configs/dev.js'),
      },

You also need the node resolver as well, if you want node modules resolveable.
If that doesn’t fix it, a repro would be great.

@ljharb thanks a lot! It worked without it previously though.
I added this line node: true and now it works.


I added an auth provider for the Podbean API.

Thanks for the new feature, appreciate it! I left a few comments if you don't mind.


Photobucket image hosting in readme down

I just noticed all the images for the readme are down. Might want to just re-up those on github.

Photobucket changed their terms of service on Sun 26 Jun 2017.  Although they don't even hint what they changed, a quick Google search turns of lots of articles like "Photobucket breaks billions of photos online, upsets millions of users" saying they've disabled use of photos on third-party sites like this one.
Their placeholder photo includes a URL to "Please upgrade to a Plus 500 plan" (which was buried in the Google results by angry headlines like "Photobucket phail").  According to the angry blogs on the Internet, Photobucket will ask for $400, although I didn't see any prices on the "Plus 500" page itself.

Yep, need to move those pics somewhere else... :/

I have a paid Flickr account that shouldn't be going away any time soon.
Let me know if that would work and I'd be glad to host them there. Unless
we want something that is not tied to a particular person but could be tied
instead to the project for continuity's sake (reduced bus factor etc.).
On Wed, Jul 12, 2017 at 2:40 PM, Greg Malcolm<EMAIL_ADDRESS>wrote:

Yep, need to move those pics somewhere else... :/
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/gregmalcolm/python_koans/issues/158#issuecomment-314859835,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAYOFtxW2pslXyyMU3KA0WNW73R18kIHks5sNRM6gaJpZM4ORzw5
.

--
Mike Pirnat
<EMAIL_ADDRESS>http://mike.pirnat.com/

@mpirnat That would work great, thanks! All the photobucket images are on the same page here I think:

Apparently folks just create an issue in a github project, upload screenshots in a comment, and copy the links to the uploaded screenshots

Fixed https://github.com/gregmalcolm/python_koans/wiki/Class-Attribute

Thanks everyone, I finally got around to fixing the front page. Added thanks to @psonghi for the github hosted images idea, and @suaron for fixing the wiki


added ability to use loadBalancerSourceRanges in weave-scope

What this PR does / why we need it:
Adds load balancer source ranges functionality to weave-scope helm chart.
This is needed to allow limiting the loadbalancer to be exposed on specific network ranges.
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
It currently does not fix an issue, it just adds functionality
Special notes for your reviewer:
This feature has been tested and is working, use this repo to test the chart https://raw.githubusercontent.com/rmccomb-bnet/helmrepocustom/master

i'll come back to this later


Fix unittests for pyproject.toml

Currently unittests are failing in environments other than py34 because Pip now supports pyproject.toml above setup.py. This fixes failing unittests.

Hi @greg-hellings. Thanks for fixing this. I've removed the version check because Python 3.4 is EOL and not supported.


TypeError: grecaptcha.render is not a function

Hi. My project has encountered the following error:
TypeError: grecaptcha.render is not a function

It seems that this error was thrown at https://github.com/appleboy/react-recaptcha/blob/master/src/index.js#L105
Is there workaround ? 🤔

Sorry, we've used v2.3.7. And it's solved after upgrading v2.3.8.  Thanks for the PR #234


Added logic to add a job item to a jenkins 'view'

Allow adding many jobs to a single view.
The 'add job to view' Jenkins API assumes the view already exists. (strangely It returns a 200 if you try to add a job to a view that doesn't exist.)
There appears to be a [way] (https://issues.jenkins-ci.org/browse/JENKINS-8927) to 'create' a jenkins view. Might implement as a separate PR.

Thanks for helping to improve golang-jenkins.
I think AddJobsToView is not good with some reasons listed below.

Adding multiple jobs to view is not Jenkins function.
This library is an  api client, so should stick to that role.
AddJobsToView is not atomic, users of this library could not decide how to handle errors when Jenkins API failed to add a job to view.

golang-jenkins should implements a function to add a job to specified view as AddJobToView and users of it do loop with their hoped error handling as necessary.

Good point. See changes

Thanks!  merged.


Option to remove docker image built after execution

Observed

After executing an action relying on a Docker image, image is built and stored in local docker registry
Image can be found with docker images command
Image is kept indifinitely and can become outdated

Expected

Image should not be kept indifinitely
User may want to delete image right after it is used

Expected

Plasmactl could provide the option to remove built image after action is executed, whether it succeeds or not
Option -rmi or --remove-image would automatically remove the image

Working fine with ./launchr_Linux_x86_64 platform:test --remove-image
Image "platform-actions-compare-artifact:latest" doesn't exist locally, building...
Step 1/9 : FROM alpine:3.18
 ---> b541f2080109
Step 2/9 : RUN apk update --no-cache --quiet &&     apk upgrade --no-cache -a
 ---> Using cache
 ---> 99a1764c2f7e
Step 3/9 : RUN apk add --no-cache --quiet git curl diffutils
 ---> Using cache
 ---> 58090ed0f82a
Step 4/9 : ARG USER_ID
 ---> Using cache
 ---> 32378c4337e7
Step 5/9 : ARG GROUP_ID
 ---> Using cache
 ---> a9d4e745289f
Step 6/9 : RUN echo ${USER_ID}
 ---> Using cache
 ---> ec27ced977b0
Step 7/9 : RUN echo ${GROUP_ID}
 ---> Using cache
 ---> 76032574ec1b
Step 8/9 : RUN adduser -D -u $USER_ID -g $GROUP_ID plasma || true
 ---> Using cache
 ---> 328f01dd60b3
Step 9/9 : USER plasma
 ---> Running in 1494f6cc0298
 ---> 80cc5d6aed2b
Successfully built 80cc5d6aed2b
Successfully tagged platform-actions-compare-artifact:latest
+ pwd
/host
+ ls -lah /
+ grep host
drwxrwxrwx    1 plasma   plasma       566 Dec  5 15:07 host
+ id
uid=1000(plasma) gid=1000(plasma) groups=1000(plasma)
+ rm -rf new_file
+ echo YAY
+ ls -lah
+ grep new_file
-rw-r--r--    1 plasma   plasma         4 Dec  5 15:08 new_file
Image "platform-actions-compare-artifact:latest" was successfuly removed

However, I believe it would be better to have that behavior by default, and have an option to keep built image


16bpp images

This PR is a very work in progress attempt at supporting 16bpp bitmaps. What I have works great but I had to munge some of the return types to PixelColorU16 as the Pixel color trait was complaining about not having implementing From.
For a more permanent solution it might be a good idea to follow the ways of the FontBuilder.
What do you think?
Here's a it working with the Firefox nightly logo, because why not :).

That's so cool! Thanks for working on this. I'd like to see it working with PixelColors instead of the concrete PixelColorU16 but it looks good so far.

For a more permanent solution it might be a good idea to follow the ways of the FontBuilder.

That's probably a good idea, but something for a future PR :). There's a lot of code that can be reused between image structs I'm sure.

I found a possible solution to your PixelColorU16 issue; add From<u16> as a bound:
impl<'a, C> Iterator for Image16BPPIterator<'a, C>
where
    C: PixelColor + From<u16>,
{
    // ...
}

I'm good with this solution as it doesn't require any extra bounds on the PixelColor trait and should leave the implementation pretty open to customisation by users for various displays.

Yeah after a second look I figured it out. I've pushed that along with some comments on how to generate suitable raw data for 16bpp images much like the 8bpp module does.

Looking good! I left a few small review bits.

I recently introduced #59 which adds a rustfmt check to Travis. Can you run cargo +nightly fmt --all please? You'll need the latest nightly rustfmt at the moment as it's a bit in flux before 1.30.

Thanks! This change is released in version 0.4.4.

Awesome, thanks!


Use a different 'static' image that supports s390x and ppc

Updated image is recommended by Chainguard
Details here: https://www.chainguard.dev/unchained/changes-to-static-git-and-busybox-developer-images-2
Release Note
Support s390x/ppc when building our controllers

/cherry-pick release-1.15


Testing axolo

yeet yeet

test

can you say hello in here rq dance?

ok

wtf

fking axolo

fking axolo


why run node2vec on graphvite have segmentation fault?

on graphvite,when running node2vec for node embedding always occur segmentation fault and then program will stop before training? but it has error detail, so I don’t know how to solve this problem

I try a mini dataset,so Gpu memory should be enough

Node2vec requires much more CPU memory than DeepWalk and LINE.
Could you show the log of GraphVite? How large is your CPU memory?


Fix tag handling for multiple tag lists

What does this PR change? What problem does it solve?
Specifying the `--tag' option several times now works as expected.
Was the change discussed in an issue or in the forum before?
Fix https://github.com/restic/restic/issues/3183.
Checklist

[x] I have read the Contribution Guidelines
[x] I have enabled maintainer edits for this PR
[x] I have added tests for all changes in this PR
[x] I have added documentation for the changes (in the manual)
[x] There's a new file in changelog/unreleased/ that describes the changes for our users (template here)
[x] I have run gofmt on the code in all commits
[x] All commit messages are formatted in the same style as the other commits in the repo
[x] I'm done, this Pull Request is ready for review

Seems good for me now.
restic via 🐹 v1.15.5 using ☁  default/groups-terraform-sync-dtep on  fix/3183
➜ go build ./cmd/restic

restic via 🐹 v1.15.5 using ☁  default/groups-terraform-sync-dtep on  fix/3183
➜ ./restic version
restic 0.11.0-dev (compiled manually) compiled with go1.15.5 on linux/amd64

restic via 🐹 v1.15.5 using ☁  default/groups-terraform-sync-dtep on  fix/3183
➜ ./restic backup --tag foo --tag bar --tag hello --hostname me /home/quentin/Downloads/test-restic
Flag --hostname has been deprecated, use --host
repository 1a5af6f7 opened successfully, password is correct
no parent snapshot found, will read all files

Files:           1 new,     0 changed,     0 unmodified
Dirs:            4 new,     0 changed,     0 unmodified
Added to the repo: 1.865 KiB

processed 1 files, 6 B in 0:04
snapshot 806e08ea saved

restic via 🐹 v1.15.5 using ☁  default/groups-terraform-sync-dtep on  fix/3183
➜ ./restic snapshots
repository 1a5af6f7 opened successfully, password is correct
ID        Time                 Host                 Tags           Paths
------------------------------------------------------------------------------------------------------------
e4e6d726  2020-11-03 19:30:14  MBP-de-Quentin.Home                 /Users/quentin/Downloads/ghost_backup.sql
20791c35  2020-12-26 01:00:08  kubernetes           feedly         /feedly-export.opml
b27e76ee  2020-12-27 01:00:08  kubernetes           feedly         /feedly-export.opml
383365ba  2020-12-28 01:00:08  kubernetes           feedly         /feedly-export.opml
806e08ea  2020-12-28 16:36:18  me                   foo,bar,hello  /home/quentin/Downloads/test-restic
------------------------------------------------------------------------------------------------------------
5 snapshots

restic via 🐹 v1.15.5 using ☁  default/groups-terraform-sync-dtep on  fix/3183
➜ ./restic cat snapshot 806e08ea
repository 1a5af6f7 opened successfully, password is correct
{
  "time": "2020-12-28T16:36:18.500153975+01:00",
  "tree": "7cc00eddade4fb69ae54b2fc6a9a48b6c97a3a077c3b948a958fb1bd28d1917f",
  "paths": [
    "/home/quentin/Downloads/test-restic"
  ],
  "hostname": "me",
  "username": "quentin",
  "uid": 1000,
  "gid": 1000,
  "tags": [
    "foo",
    "bar",
    "hello"
  ]
}

LGTM!

Thanks !


ctranslate2: 4.3.1 -> 4.4.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/OpenNMT/CTranslate2/releases.
meta.description for ctranslate2 is: Fast inference engine for Transformer models
meta.homepage for ctranslate2 is: https://github.com/OpenNMT/CTranslate2
meta.changelog for ctranslate2 is: https://github.com/OpenNMT/CTranslate2/blob/v4.4.0/CHANGELOG.md
Updates performed

Version update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 4.4.0 with grep in /nix/store/v5pbkyyyqs88p9hfhi1g9if6az2nds9w-ctranslate2-4.4.0
found 4.4.0 in filename of file in /nix/store/v5pbkyyyqs88p9hfhi1g9if6az2nds9w-ctranslate2-4.4.0

Rebuild report (if merged into master) (click to expand)

18 total rebuild path(s)

18 package rebuild(s)

First fifty rebuilds by attrpath

ctranslate2
libretranslate
open-webui
python311Packages.argos-translate-files
python311Packages.argostranslate
python311Packages.ctranslate2
python311Packages.faster-whisper
python311Packages.libretranslate
python311Packages.translatehtml
python312Packages.argos-translate-files
python312Packages.argostranslate
python312Packages.ctranslate2
python312Packages.faster-whisper
python312Packages.libretranslate
python312Packages.translatehtml
whisper-ctranslate2
wyoming-faster-whisper

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/v5pbkyyyqs88p9hfhi1g9if6az2nds9w-ctranslate2-4.4.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A ctranslate2 https://github.com/r-ryantm/nixpkgs/archive/a0f9af278af0ad0fb2359fed4bbd16ccfd86fbba.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/a0f9af278af0ad0fb2359fed4bbd16ccfd86fbba#ctranslate2

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/v5pbkyyyqs88p9hfhi1g9if6az2nds9w-ctranslate2-4.4.0
ls -la /nix/store/v5pbkyyyqs88p9hfhi1g9if6az2nds9w-ctranslate2-4.4.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages failed to build:

whisper-ctranslate2
whisper-ctranslate2.dist

29 packages built:

ctranslate2
libretranslate (python312Packages.libretranslate)
libretranslate.dist (python312Packages.libretranslate.dist)
open-webui
open-webui.dist
python311Packages.argos-translate-files
python311Packages.argos-translate-files.dist
python311Packages.argostranslate
python311Packages.argostranslate.dist
python311Packages.ctranslate2
python311Packages.ctranslate2.dist
python311Packages.faster-whisper
python311Packages.faster-whisper.dist
python311Packages.libretranslate
python311Packages.libretranslate.dist
python311Packages.translatehtml
python311Packages.translatehtml.dist
python312Packages.argos-translate-files
python312Packages.argos-translate-files.dist
python312Packages.argostranslate
python312Packages.argostranslate.dist
python312Packages.ctranslate2
python312Packages.ctranslate2.dist
python312Packages.faster-whisper
python312Packages.faster-whisper.dist
python312Packages.translatehtml
python312Packages.translatehtml.dist
wyoming-faster-whisper
wyoming-faster-whisper.dist

Maintainer pings
cc @mweinelt @misuzu for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

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

Duplicate of #340794


Add support for Elm

Hoping I did this the right way. I just followed the example of the merged PR for supporting stylish-haskell.
Caveat: I don't like that the url for elm-format is hard-coded in the .travis.yml file, but the tool is new enough that it doesn't exist in brew yet.

I would accept if this works for Travis CI. Currently it fails: https://travis-ci.org/Glavin001/atom-beautify/builds/96061019
Looks great so far! Once tests are passing I'll take a closer look at the rest of the code, but I looked over it briefly and was definitely on the right track.

@Glavin001 Thanks! I solved the initial Travis failures, but now it appears to be failing on the titanium-style-sheets test. Any hints about how to proceed from here?
I haven't been able to run the tests, locally yet. I open the atom-beautifier folder in Atom, and then I run Window: Run Package Specs, but then a console pops up and I just see the error: AssertionError: missing path

I'll fix the unrelated failing tests right now -- Pretty Diff was likely updated again and broke those tests :stuck_out_tongue_winking_eye: .
There is also a linting issue for your Elm code that could be fixed in the meantime :smile: .

I pushed fixes for the failing tests. If you merge and I can see that your tests for Elm are passing, I will merge anyway :smile:. Also be sure to run npm run docs and commit the documentation, too! Thanks.

Whoops! Sorry about that lint error! I've rebase on master, and I've fixed the linter error.
And wahoo! Looks like Travis passed!

Thanks for those detailed comments! I've committed the docs, and I think I've addressed all of your comments.

Beautiful! Thank you for contributing!

Published to v0.28.20


Update README.md

IBM Cloud Continuous Delivery Vulnerability Report
No mainifest files found

IBM Cloud Continuous Delivery Bill of Materials
 Download Bill of Materials Report: [JSON Format]
Bill of Materials Diff
Compare To: [Branch = master] [Commitid = 5a51f87c6d53dcfb29ff3f95e18d3942d907291c]

IBM Cloud Continuous Delivery Deployment Configuration Analysis
 No configuration risks discovered


[release-1.8] fix env merge for reverse translation.

This is an automated cherry-pick of #30107

@istio-testing: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio_release-1.8
94a79b149e6618f84a59f0c454831d14f39ab58a
link
/test unit-tests_istio_release-1.8

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio_release-1.8
94a79b149e6618f84a59f0c454831d14f39ab58a
link
/test unit-tests_istio_release-1.8

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@googlebot I consent.

@googlebot I consent.

/test unit-tests_istio_release-1.8

/test unit-tests_istio_release-1.8


Fix wrong parameter order

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

Thank you @milewski! Glad to have you as a contributor 👍


Design system: integrations

I would like to do some exploration to understand how the current design systems are implemented, what tools or frameworks the product uses for their styles, and how the components are implemented.
The list of projects:

wellcome collection
wellcome.org
Funding platform
Trustnet
Insights & Data Finder
Funding search (For those with Grants data access only)

Summary

Project name
CSS
JS

wellcome collection
styled components
Next.JS 13

wellcome.org
SCSS
Next.JS 13

Funding platform
tailwind css
Next.JS 14

Insights & Data Finder
tailwind css
Next.JS 14

Funding search
tailwind css
Next.JS 14

Trustnet
tailwind css
vanilla JS / Drupal

Miro board with exploration


Perform first test with PyTest

Perform your first test with the PyTest Library.

Done completing first test with PyTest


[SUPPORT] Due to the untimely compaction, there are too many log files in the next compaction

Tips before filing an issue
At present, hudi's compaction plan generation strategy is that if a FG appears in a certain plan, the FG will not enter the plan again;
For asynchronous compaction scenarios, if a plan is not executed in time, then if there is other data written to the FG later, the log file will continue to grow, which will cause the next plan to have a lot of log files, increasing the risk of compaction OOM;
Can we support that if a FG appears in a certain plan, the FG can still be generated in the plan?

@danny0405

the log file will continue to grow, which will cause the next plan to have a lot of log files

We still have bin-packing algorithm for assigning new records into these file groups.

Can we support that if a FG appears in a certain plan, the FG can still be generated in the plan

We have log compaction (to compact only the log files) BTW.

For the bucket index, the data will only be written into the specified number of buckets, and the number of log files (both in one file slice) in the bucket will continue to increase, if the compaction is not completed.
Currently, only MDT uses log compaction, will ordinary tables be supported in the future?

That is a trade off, and we have consistent hasing index.


[MacOS] Closing the side panel doesn't resize the game. #16503

Fixes: https://github.com/runelite/runelite/issues/16503
Tested on Ventura 13.4 --
The problem was within ContainableFrame.java:contractBy
At the top exists a check isFullScreen() which was returning false because the getExtendedState() call was returning state 0 (NORMAL -- aka not fullscreen) even when we were in full-screen mode on MacOS.
I'm not really sure why this happens. The extended state wasn't being set correctly on Mac devices and I assume its some Apple integration issue with Java Swing. I'm not an expert on this stuff.
Anyways,
What I did to fix it added a full-screen listener to the window which sets the extended state accordingly. Currently, this is only being done when the client is running on MacOS!
Demonstration:
https://github.com/runelite/runelite/assets/12455749/67fdab50-753a-456a-a12b-235650588627

It looks like this might have caused a regression for non-MacOS users. Trying to build with mvn verify and run with java -jar now causes a startup error as the classloader is trying to load some com.apple.eawt classes.
Discord message (and related below it): https://discord.com/channels/301497432909414422/419891709883973642/1121281312519626794
2023-06-21 23:28:20 EDT [main] ERROR net.runelite.client.RuneLite - Failure during startup
java.lang.reflect.InvocationTargetException: null
	at java.desktop/java.awt.EventQueue.invokeAndWait(EventQueue.java:1367)
	at java.desktop/java.awt.EventQueue.invokeAndWait(EventQueue.java:1342)
	at java.desktop/javax.swing.SwingUtilities.invokeAndWait(SwingUtilities.java:1480)
	at net.runelite.client.ui.ClientUI.init(ClientUI.java:325)
	at net.runelite.client.RuneLite.start(RuneLite.java:368)
	at net.runelite.client.RuneLite.main(RuneLite.java:282)
Caused by: java.lang.NoClassDefFoundError: com/apple/eawt/FullScreenListener
	at net.runelite.client.ui.ClientUI.lambda$init$6(ClientUI.java:340)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.ClassNotFoundException: com.apple.eawt.FullScreenListener
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
	... 14 common frames omitted

I'm able to build and run the commit preceding this one without issue.


[#157777587] removed order by

Warnings

:warning:

Please include a description of your PR changes.

Affected stories

🐞 #157777587: I messaggi ottenuti da CosmosDB non sono ordinati per timestamp desc

  Generated by :no_entry_sign: dangerJS


more test for shallowEqual

Hey @gaearon ,
Something I don't understand.
Why the function e1 and _.get are treated differently? Is it also due to different identity of function, or something else?

I don’t think the difference you seem to talk about has relation to functions and their identities.
Here, you calculate eVal once, so .e field of both objects points to the same object. This is why the shallow comparison returns true.
      const e1 = function () {return { a: 2 }}
      const eVal = e1()
      expect(
        shallowEqual(
          { a: 1, b: 2, c: o, d, e: eVal },
          { a: 1, b: 2, c: o, d, e: eVal }
        )
      ).toBe(true)

Here, you call e1() two times, so it produces two different { a: 2 } objects. {} notation creates a new object every time in JavaScript. So the first .e is not referentially equal to the second .e, even though they are deeply equal. This is why the shallow comparison returns false.
      const e1 = function () {return { a: 2 }}
      expect(
        shallowEqual(
          { a: 1, b: 2,  e: e1() },
          { a: 1, b: 2,  e: e1() }
        )
      ).toBe(false)

thanks for such helpful explanation


Add @DtoCreateRequired decorator

I need to generate a CreateDTO that contains a required field for the id of an optional relation that can be set to null after the entry is created. This would typically happen via onDelete: SetNull.
My use-case is a chat in which messages require a reference to a user/author on creation, but this reference can be null once the user is deleted, which in turn should not cause the message to be deleted.
In the model below this works well for Channel, which is a non-optional reference. The channelId field on the CreateMessageDto is required. But this is not the case for authorId.
This is a simplified/partial version of my model:
// schema.prisma
model User {
   id        String   @id @unique
   createdAt DateTime @default(now())
   updatedAt DateTime @updatedAt

   name      String

   messages  Message[]
}

model Message {
   id        String   @id @default(cuid())
   createdAt DateTime @default(now())
   updatedAt DateTime @updatedAt

   author    User?   @relation(fields: [authorId], references: [id], onDelete: SetNull)
   /// @DtoRelationIncludeId
   /// @IsRequired
   authorId  String?

   channel   Channel @relation(fields: [channelId], references: [id], onDelete: Cascade)
   /// @DtoRelationIncludeId
   /// @IsRequired
   channelId String

   content   String
}

The generated CreateMessageDto looks like this:
// create-message.dto
export class CreateMessageDto {
   @ApiProperty({
      type: 'string',
      required: false,
      nullable: true
   })
   @IsOptional()
   @IsString()
   authorId?: string | null;
   @ApiProperty({
      type: 'string'
   })
   @IsNotEmpty()
   @IsString()
   channelId!: string;
   @ApiProperty({
      type: 'string'
   })
   @IsNotEmpty()
   @IsString()
   content!: string;
}

I've tried different combinations of decorators, but cannot get it to work. Am I missing something?
Could a new decorator, for example @DtoCreateRequired help in this case?

Yes, similar to the @DtoUpdateRequired annotation there should be an equivalent annotation for the CreateDto. I will add it within the next days.

@DtoCreateRequired annotation has been added in 1.24.0-beta3.
(I'm waiting for some feedback on other features before releasing the next proper version.)

Thank you for implementing this so quickly!
I can confirm, that @DtoCreateRequired is working for me, but only in conjunction with @DtoRelationIncludeId. Is this intended?

Currently, each annotation fulfills a different task: @DtoRelationIncludeId only makes the ID field visible, which is otherwise hidden by default. @DtoCreateRequired only turns an optional field to required.
But if I think about it, you are probably right. similar to @DtoCreateOptional which unhides an omitted field, you would expect that @DtoCreateRequired unhides the field as well.
What I need to check is, if @DtoCreateOptional only works for normal fields, but also for relation-related fields making @DtoRelationIncludeId kind of redundant?

Sorry, it took some time to come back on this, but I now checked the behavior. For now, @DtoRelationIncludeId is not really redundant. It unhides the relation-related ID field in CreateDto, UpdateDto, and PlainDto. So, it affects 3 files. While @DtoCreateOptional and @DtoCreateRequired only affects the CreateDto. Hence, in your special use case, you'll need both @DtoRelationIncludeId and @DtoCreateOptional keeping it optional in the UpdateDto.


Telemetry in Visual Studio Code Clarification

Product and Version [VS/VSCode]: VSCode 1.47.3 User Edition
OS Version [macOS/Windows]: Windows
IntelliCode Extension Version: 1.2.9
Target Platform or Language [e.g. Node.js]: Typescript
Steps to Reproduce / Scenario:
I'm trying to understand if Intellicode for Visual Studio Code reports telemetry with "telemetry.enableTelemetry": false, ? Based on the documentation on https://docs.microsoft.com/en-us/visualstudio/intellicode/intellicode-visual-studio-code, I'm still not sure how to disable telemetry for my work device.
I would assume it does based on https://github.com/MicrosoftDocs/intellicode/issues/14, however I would appreciate it if I could get confirmation, and see the documentation updated.

Hi @ADataGMan thanks for reaching out.
The answer is yes, we support that flag and you can disable IntelliCode telemetry logs by setting that flag to be false.
Regards,
Oscar.

assigning to @catycaldwell to look at adding this info to the docs per suggestion.

This is documented in https://docs.microsoft.com/en-us/visualstudio/intellicode/overview#telemetry "In Visual Studio Code, you can disable telemetry reporting by following these instructions." which links to the vscode FAQ on disabling telemetry.
Hope this helps.


How to improve the performance of NCF models

Description
I set the model according to the hyperparameter of the original NCF paper, but the final result is much worse than that of the paper. Is there any suitable solution？
Other Comments

do have the numbers you get vs the numbers of the paper?


Add Release Service members

initial Release Service team members for onboarding

/assign Michkov

@MatousJobanek Do we have any rules for adding people? I am not in the list so I do not feel that I can decide to add new users.


Add references to compensation data

Disclosure: I'm one of the makers of Levels.fyi.
This is obviously a big red flag that I'm adding a reference to a site I have an interest in. I think the community would find our data useful and more accurate than alternatives. A quick search on Google would bring up that folks regularly consult data on our site over say Glassdoor, etc.

Unsubscribe

On Aug 18, 2019, at 13:18, Zaheer Mohiuddin<EMAIL_ADDRESS>wrote:
Disclosure: I'm one of the makers of Levels.fyi.
This is obviously a big red flag that I'm adding a reference to a site I have an interest in. I think the community would find our data useful and more accurate than alternatives. A quick search on Google would bring up that folks regularly consult data on our site over say Glassdoor, etc.
You can view, comment on, or merge this pull request online at:
https://github.com/yangshun/tech-interview-handbook/pull/127
Commit Summary
Add references to compensation data
File Changes
M contents/understanding-compensation.md (2)
Patch Links:
https://github.com/yangshun/tech-interview-handbook/pull/127.patch
https://github.com/yangshun/tech-interview-handbook/pull/127.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Layer name text wrapping disrupts layer list

To reproduce, start a new piskel and create a new layer. Name it something long with spaces. Ensure that the top layer with the long name is selected.
Observed behavior: The long layer name will wrap to the next line in the layer list, showing behind.

Additionally, if there is a word without spaces in the layer title, the layers list will grow horizontally.

Expected behavior: The long layer name is truncated, perhaps with an ellipsis, or the layer list item grows vertically, but doesn't overwrite the next layer title.

Thanks for the report @epicabsol !

@juliandescottes What's prefered : Elipsis or vertical grow ?

@GMartigny I think we should go for an ellipsis, and make sure that the title attribute is properly set with the name of the layer.

Fixed by @GMartigny


Auto light/dark mode not working

I've patched the binary as instructed in the readme and get this:
sed: RE error: illegal byte sequence
The patch is complete. You may now restart Spotify.

What's your Operating System? You won't get any help without more details

Can you try what was suggested here?
https://github.com/JulienMaille/spicetify-dynamic-theme/issues/102#issuecomment-2473409806


add portability.h

Summary:
Spin around our open/closed source checks. Previously we defined OSS_ENABLE in open source builds. This change defines OI_META_INTERNAL instead. This is nicer, as external users don't have to do anything special to get a working build.
Use this new macro to define a boolean constant in a new header Portability.h. This is inspired by Folly, and makes the internal build easier - definitions in Buck2 have to propagate up from a dependency instead of down from one. Annoyingly we can't use if constexpr for a lot of the previous #ifdef blocks as we conditionally include the headers. Longer term we could fix this by exposing a header interface but no source, allowing these to build but not be compiled in. For now I did something weird: I defined a function style macro in Portability.h based on the compile time macro. This forces you to have included Portability.h before using it to ensure the definition is everywhere. Open to feedback as I haven't seen anyone else do this.
Differential Revision: D50000454

Codecov Report

Merging #386 (9f14e31) into main (9cef2c8) will decrease coverage by 0.14%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #386      +/-   ##
==========================================
- Coverage   68.62%   68.49%   -0.14%
==========================================
  Files         116      116
  Lines       11439    11439
  Branches     1903     1903
==========================================
- Hits         7850     7835      -15
- Misses       2610     2624      +14
- Partials      979      980       +1

Files
Coverage Δ

oi/OICache.cpp
13.63% <ø> (ø)

oi/OID.cpp
32.91% <ø> (ø)

oi/OIDebugger.cpp
39.16% <ø> (ø)

... and 2 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


fix(Geometries): Relative line drawing

What does the pull request do?

fix parsing relative line drawing
What is the current behavior?

When using this F1 M50,50z l -5,-5 the line is not drawn as expected
<Window xmlns="https://github.com/avaloniaui"
        xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
        x:Class="Sandbox.MainWindow">
  <Window.Resources>
    <Geometry x:Key="redoGeometry1">F1 M50,50z l -5,-5</Geometry>
    <DrawingGroup x:Key="redoDrawingGroup" >
      <DrawingGroup Opacity="1" Transform="1,0,0,1,0,-246.2">
        <GeometryDrawing Geometry="{StaticResource redoGeometry1}">
          <GeometryDrawing.Pen>
            <Pen Brush="#FF000000" Thickness="2" LineCap="Round" LineJoin="Round" />
          </GeometryDrawing.Pen>
        </GeometryDrawing>
      </DrawingGroup>
    </DrawingGroup>
    <DrawingImage x:Key="redoDrawingImage" Drawing="{StaticResource redoDrawingGroup}" />
  </Window.Resources>
  <Grid Height="200" Width="200">
    <Image Source="{StaticResource redoDrawingImage}"/>
  </Grid>
</Window>

Expected(WPF)

Avalonia(Skia)

Avalonia(D3D)

What is the updated/expected behavior with this PR?

Avalonia D3D and Skia as same behavior of WPF
How was the solution implemented (if it's not obvious)?

Checklist

[x] Added unit tests (if possible)?
[ ] Added XML documentation to any related classes?
[ ] Consider submitting a PR to https://github.com/AvaloniaUI/avalonia-docs with user documentation

Breaking changes

Obsoletions / Deprecations

Fixed issues

The other commands for drawing lines also suffer from the same problem
Horizontal Line h
Command: F1 M50,50z h 10
Expected(WPF)

Avalonia(D3D)

Avalonia(Skia)

Vertical Line v
Command: F1 M50,50z v 10
Expected(WPF)

Avalonia(D3D)

Avalonia(Skia)

M50,50z l -5,-5
-Move to 50,50
-Close current segment by drawing a line straight to to starting point 0,0
Draw a line relative to current point 0,0 to -5,-5
So the result should be a line from -5,-5 to 50,50
All this should be covered in a unit test.
I personally don't trust the WPF implementation and instead the SVG spec should be followed.

Do we have a geometry sink that doesn't produce an actual platform impl? If so, it should be used in tests instead of render tests

There are existing tests here: https://github.com/AvaloniaUI/Avalonia/blob/master/tests/Avalonia.Base.UnitTests/Media/PathMarkupParserTests.cs
They are producing PathFigures but you can also mock IGeometryContext

M50,50z
When the first figure is closed it should draw a line from 50,50 to 0,0 because we explicitly close the figure

The WPF Spec M50,50z produce empty figure. I would like to do a separate PR that addresses issue #4913

I personally don't trust the WPF implementation and instead the SVG spec should be followed.

I think if team decide to do this it should be implemented in v12. It's a big change that would lead to big problems even in font management. It should be possible to set for single font to use WPF compatibility.
Tell me what direction the team wants to take.
And whether to resolve the issue of empty figures here or separately.

https://svg-path-visualizer.netlify.app/#M50%2C50z l -5%2C-5

https://svg-path-visualizer.netlify.app/#M50%2C50z l -5%2C-5
This shows the correct result

So do I have to follow the SVG Specification?

Please remove added render tests and rewrite them so that the tests only use the PathMarkupParser. The rendered result might depend on the backend but we want to ensure the parser properly parses some sequences that are currently not working as expected.


drivers: timer: lptim timer clock on stm32u5 has a prescaler

The stm32U5 devices shows a x2 factor on the LPTIM1,3,4 clock source but it acts as a prescaler.
The max lptim counter (timebase) is counting 4 sec The LPTIM count unit is double.
Fixes https://github.com/zephyrproject-rtos/zephyr/issues/53012
Signed-off-by: Francois Ramu<EMAIL_ADDRESS>

Introducing a  st,static-prescaler;  optional property to adjust the lptim time base when a x2 factor is present at the LPTIM clock input, like on LPTIM1,3,4 of the stm32U5 devices

version of the stm32_lptim_timer.c using if (IS_ENABLED(DT_PROP(DT_DRV_INST(0), st_static_prescaler))) {
instead of #if DT_PROP(DT_DRV_INST(0), st_static_prescaler)


2 small bugfixes

I fixed two smaller issues:

The _feed_stream function effectively ignored the block_size argument
If strip_PKCS7_padding detected zero padding bytes the function would return an empty string data[:-0] rather than the data itself

I tested extraction of 1.2 GB of encrypted data, which works fine now. Before the second fix I would always miss out on the last 16 bytes.
Cheers

I will look into this on the weekend. Thanks. :)

Sorry this took so long. You are absolutely correct on the first point, that is certainly a bug.
I don't understand the second issue though... Was the data correctly PKCS#7 padded? I don't think it should ever be possible to have a pad of 0; it should be 16 in that case. https://en.wikipedia.org/wiki/Padding_(cryptography)#PKCS7

I ran into several packages which had 00 in the end. This is not PKCS7 conformant, but because I've stumbled across streams that were encoded like this I added the safety measure.

Oh! You can't do that though... :(
It is corrupting the data. It's valid for a file (encrypted or otherwise) to have a 0 as the last byte. If you assume a byte stream is PKCS#7 padding and it is not, it will likely be corrupted regardless.
Where did you get these packages from? Can you send me some examples? There should likely be a flag set somewhere as to whether is is padded or not. There are also other ways to pad a file; for example cipher text stealing, so the padding method must be known otherwise the file cannot safely be decrypted.
Padding should only be stripped if it was appended. If the last byte is 0, then it is not PKCS#7 padding, and that 0 is part of the encrypted data...

Oh hold on, so it might not be padded data after all. Can I configure padding with the AESBlockModeOfOperation._final_decrypt inject?

Egad... That is certainly an oversight on my behalf, sort of... I need to figure out a sane way to choose the padding option for the BlockFeeder. The problem is certain modes of operation absolutely require modulo BLOCK_SIZE data. Is the data large? If not, you could use the mode of operation directly.
moo = ...
for i in xrange(0, len(data), 16):
    output += moo.decrypt(data[i: i + 16])

I will likely add an option to Encrypter Decrypter, encrypt_stream and decrypt_stream to select the padding style (which will choose the current style as the default) and in the event the padding is overridden, but of invalid length throw an Exception.

I have added the option. You should be able to use:
encrypter = pyaes.Encrypter(mode, padding = pyaes.PADDING_NONE)
decrypter = pyaes.Decrypter(mode, padding = pyaes.PADDING_NONE)

Try it out and let me know if it works for you. :)

Feel free to re-open this if you have any more problems. :)


Request Time out Error

I am using qdrant for almost 4 million vectors and after few batches of embedding and storage it shows error below.
Here is code to create instance of qdrant:
 qdrant_client= QdrantClient(url='http://qdrant:6333', port=None, prefer_grpc=False, https=True, timeout=10)
I have also mentioned my collection config here.
`[2024-05-23 09:57:13,319] INFO - <qdrant_client.qdrant_client.QdrantClient object at 0x7f1d0dcb7ee0>
[2024-05-23 09:57:13,331] INFO - Collection Status=status=<CollectionStatus.GREEN: 'green'> optimizer_status=<OptimizersStatusOneOf.OK: 'ok'> vectors_count=2243648 indexed_vectors_count=0 points_count=2243648 segments_count=8 config=CollectionConfig(params=CollectionParams(vectors={'dense_vector': VectorParams(size=768, distance=<Distance.COSINE: 'Cosine'>, hnsw_config=None, quantization_config=None, on_disk=None, datatype=None)}, shard_number=4, sharding_method=None, replication_factor=1, write_consistency_factor=1, read_fan_out_factor=None, on_disk_payload=True, sparse_vectors=None), hnsw_config=HnswConfig(m=64, ef_construct=256, full_scan_threshold=20000, max_indexing_threads=8, on_disk=True, payload_m=128), optimizer_config=OptimizersConfig(deleted_threshold=0.2, vacuum_min_vector_number=1000, default_segment_number=2, max_segment_size=None, memmap_threshold=20000, indexing_threshold=0, flush_interval_sec=5, max_optimization_threads=None), wal_config=WalConfig(wal_capacity_mb=32, wal_segments_ahead=0), quantization_config=ScalarQuantization(scalar=ScalarQuantizationConfig(type=<ScalarType.INT8: 'int8'>, quantile=0.99, always_ram=True))) payload_schema={'page_content': PayloadIndexInfo(data_type=<PayloadSchemaType.KEYWORD: 'keyword'>, params=None, points=2243648)}
The collection has 2243648 vectors.
[2024-05-23 09:57:13,335] INFO - All Collections=collections=[CollectionDescription(name='SYNONYMS_MAPPING'), CollectionDescription(name='collection_name'), CollectionDescription(name='collection_name')]
Here is the error i am getting:
    qdrant.add_documents(documents=documents)   File "/usr/local/lib/python3.10/dist-packages/langchain_core/vectorstores.py", line 138, in add_documents     return self.add_texts(texts, metadatas, **kwargs)   File "/usr/local/lib/python3.10/dist-packages/langchain_community/vectorstores/qdrant.py", line 190, in add_texts     self.client.upsert(   File "/usr/local/lib/python3.10/dist-packages/qdrant_client/qdrant_client.py", line 1003, in upsert     return self._client.upsert(   File "/usr/local/lib/python3.10/dist-packages/qdrant_client/qdrant_remote.py", line 1383, in upsert     http_result = self.openapi_client.points_api.upsert_points(   File "/usr/local/lib/python3.10/dist-packages/qdrant_client/http/api/points_api.py", line 1439, in upsert_points     return self._build_for_upsert_points(   File "/usr/local/lib/python3.10/dist-packages/qdrant_client/http/api/points_api.py", line 738, in _build_for_upsert_points     return self.api_client.request(   File "/usr/local/lib/python3.10/dist-packages/qdrant_client/http/api_client.py", line 76, in request     return self.send(request, type_)   File "/usr/local/lib/python3.10/dist-packages/qdrant_client/http/api_client.py", line 93, in send     response = self.middleware(request, self.send_inner)   File "/usr/local/lib/python3.10/dist-packages/qdrant_client/http/api_client.py", line 202, in __call__     return call_next(request)   File "/usr/local/lib/python3.10/dist-packages/qdrant_client/http/api_client.py", line 105, in send_inner     raise ResponseHandlingException(e) qdrant_client.http.exceptions.ResponseHandlingException: timed out
Can you please me understand why is this happening?

Hi @komi786 , the problem is probably about the fact that you're keeping your hnsw graph on disk and using not fast enough disks.
In general, we recommend to store hnsw graph on disk only as a last attempt to reduce memory footprint, when you are ready to give up on the speed.
I would recommend to remove on_disk option for hnsw graph, and either keep everything in memory, if you have enough resources, or enable on_disk option for vectors only, not for hnsw graph.

Also, your client instantiation seems to be controversial, you provide url with http, however set https flag to true
Also, if you want to speed up the upserting/querying, I would recommend to switch to grpc if possible.

@joein  i added https when i found read discussion on time out error  on another issue here . just wanted to check if this makes any difference but no. you are right .

I removed on_disk_payload as well as on_disk from HNSW config but time out issue still persists

you don't need to remove on_disk_payload
could you send output of your collection info once again please?

I am experiencing the same timeout error occasionally while adding a large amount of data to my Qdrant DB. My configurations for Qdrant DB are:
`QDRANT__STORAGE__HNSW_INDEX__ON_DISK: "true"
QDRANT__STORAGE__VECTORS__ON_DISK: "true"
`
I have implemented scrolling and batch data additions, but I am still getting the 'timed out' error. For Qdrant, I am using AWS EC2 with gp3 storage. Shifting my data from on-disk to in-memory storage is not an option due to the large volume of data and the significant system RAM requirements. I need to optimize this setup. @joein, can you please help me resolve this issue? What should I do to mitigate the timeout problem?


Implement docker

[ ] dynamically choose the port
[x] make running faster (detect if build has been done)
[x] load data (dbdump)

Bonus

[ ] integrate node environment

I sometimes get the following error when running make docker
docker-compose up -d
Creating djangocmsdemo_data_1...
Creating djangocmsdemo_postgres_1...
Creating djangocmsdemo_web_1...
Cannot start container ec35d85502d5003f99081fbe7d885c7f09ca271340f679ce626cd48c85909995: Cannot link to a non running container: /djangocmsdemo_postgres_1 AS /djangocmsdemo_web_1/djangocmsdemo_postgres_1
make[1]: *** [docker_install] Error 1
make: *** [docker] Error 2

this happens within docker-compose up -d...

:+1:

@vxsx @FinalAngel there's no need to customize the port inside the container, since when we run it we can bind it to whatever port we want on the host machine.

@intellectronica ah, thanks, i don't have any experience with docker so far, good to know!


Initialize a CI

This basic CI should contain at least:

syntaxic checks: flake8, isort, ...
unit tests (cf #7 )
...

CI introduced through #23 and #24 .