All items can be in a position from top to bottom

Hi, I tried this. very nice.
I have a question:  is it possible for all items to  in a position from top to bottom.

hey @AnvarbekKuvandikov
you can create your own Zooming algorithm.
Check this class and setup your implementation.
https://github.com/Azoft/CarouselLayoutManager/blob/master/CarouselLayoutManager/carousel/src/main/java/com/azoft/carousellayoutmanager/CarouselZoomPostLayoutListener.java

btw you will also have to change items elevation field, but this is not what library will do for you


Add frontend only nudge (e.g., toast) if participant is on one stage too long

I'm not sure about this, as we have discussed with @LeoLaugier and @iislucas about possible "asynchronous" experiments where participants would be able to participate over the course of a whole week. If this really is necessary, we could add a synchronous /asynchronous flag to experiments in the backend, and display the nudge in the frontend accordingly.


ES6 Syntax preventing formatter form running

Hey there! Thanks for the contribution. I am running Sublime Text 3 on a Mac using the Sublimelinter-jscs, and I am having issues running this formatter plugin on files with ES6 syntax. For instance:
Assume this code has "style" issues:
var Module = require('./module');

setInterval(function () {
  if (boolean || anotherBoolean) {

    return;

  }
}, delay);

When I run the formatter or save the file, the JSCS Formatter works perfectly. But if I convert that same code to:
import Module from 'Module';

setInterval(() => {
  if (boolean || anotherBoolean) {

    return;

  }
}, delay);

The JSCS Formatter doesn't appear to be working. I have --esnext and --esprima=esprima-fb in my Sublimelinter settings, so I still get the Sublimelinter visual indicators.
Lastly, in my Sublime console, when I run JSCS Formatter on the latter, I get only the following lines output:
Using node.js path on 'osx': /usr/local/bin/node
Using jscs path on 'osx': /usr/local/bin/jscs

Any thoughts? Thanks!

What happens if you specify esnext and the esprima in your .jscsrc file instead of passing them as args to the jscs executable? http://jscs.info/overview.html#esnext
Also, can you post your settings file for SublimeLinter-JSCS?

Putting them directly in my .jscsrc file did the trick! I thought the .jscsrc file was strictly for rules. That helps a lot, I was actually confused as to where to use those "options" were supposed to go.
Thanks for the quick response!
Here is my SublimeLinter-JSCS file:
{
    "user": {
        "debug": true,
        "delay": 0.25,
        "error_color": "D02000",
        "gutter_theme": "Packages/SublimeLinter/gutter-themes/Default/Default.gutter-theme",
        "gutter_theme_excludes": [],
        "lint_mode": "background",
        "linters": {
            "jscs": {
                "@disable": false,
                "args": [
                    "--config=~/.jscsrc",
                    "--esnext",
                    "--esprima=esprima-fb"
                ],
                "excludes": []
            }
        },
        "mark_style": "outline",
        "no_column_highlights_line": false,
        "passive_warnings": false,
        "paths": {
            "linux": [],
            "osx": [],
            "windows": []
        },
        "python_paths": {
            "linux": [],
            "osx": [],
            "windows": []
        },
        "rc_search_limit": 3,
        "shell_timeout": 10,
        "show_errors_on_save": false,
        "show_marks_in_minimap": true,
        "syntax_map": {
            "html (django)": "html",
            "html (rails)": "html",
            "html 5": "html",
            "php": "html",
            "python django": "python"
        },
        "warning_color": "DDB700",
        "wrap_find": true
    }
}

Glad that solved the problem.
Thanks for sharing your SublimeLinter config. I didn't actually know that you could pass args that way. :P


Terminology correction: alt -> height

Description:
This PR implements a series of cosmetic changes to use height instead of altitude throughout the code. This is to reflect the fact that ceilometer hits and MSA are/must be both specified in ft above aerodrome level.
Although these changes are cosmetic, they will impact the end users, as the naming convention for the input Pandas DataFrame has changed, with the alt column now being height.
No version changes is included in this PR, but one should definitely raise it before making a new release to reflect this backward-incompatibly evolution.
In addition, this PR includes two additional minor changes:

the default example dataset now is 900s long (instead of 1200s)
the parameter reset function now allows to only reset a subset of parameters is required
minor tweaks to setup.py, to take into account the fact that setuptools must be explicitly requested as an extras package for dev work as of Python 3.12

Error(s) fixed:
Checklists:

[x] New code includes dedicated tests.
[x] New code has been linted.
[x] New code follows the project's style.
[x] New code is compatible with the 3-Clause BSD license.
[x] CHANGELOG has been updated.
[ ] AUTHORS has been updated.
[x] Copyright years in module docstrings have been updated.

Hey @regDaniel,
Here is the PR as discussed. I'll let you decide whether you prefer to merge it right away into develop, into your own branch, or delay the merge until your NSC update has been implemented.
As mentioned above, this PR is purely "cosmetic" and does not change the functionality of the code in anyway - however, it does break the user interface (the naming convention for the input Pandas DataFrame has changed).
I figured you'd decide what version bump was appropriate directly in your NSC update ?

On second thought... It's probably easier to merge my PR first as it's more localized and then rebase this one. I'll take care of it.

Sounds good. Should we bump the code version in this PR then ? I'd suggest to bump it to 1.1.0 ?

Yes we should, but I wonder whether we'd even need a major upgrade to 2.0 as the changes are somewhat breaking.


publish to close websockets

Pushpin's HTTP streaming mode enables the publisher to close connections. We should support something similar with WebSockets, e.g.:
"ws-message": {
  "action": "close"
}

Ah, just found this after a fruitless 2 hours of trying to figure out how to close a websocket when using the  websocket-over-HTTP mode. Is there currently really no way to signal to the proxy that it should close a connection from the server? I'll accept ANY alternate channel, but this is a pretty significant deficiency in the protocol: right now this says that the only time the server can explicitly close a websocket is on the initial connection, and that once that initial connection is closed there is no way to send any other Websocket event besides TEXT and BINARY.

Looking at the source, it appears that https://github.com/fanout/pushpin/blob/master/src/handler/engine.cpp#L1662 is the publish processor. It currently only generates items of type WsControlPacket::Item::Send;.
Would it be possible to simply support additional content types? Edit https://github.com/fanout/pushpin/blob/master/src/handler/publishformat.cpp#L268 so it searches for an "action" field and sets a flag that can be used to control the WsControlPacket::Item type field?

Servers usually don't need to spontaneously close connections, which is why this feature hasn't been implemented yet. What's your use case?
One thing you could do is respond with the Keep-Alive-Interval header. The spec doesn't say much about this yet, but you set it to a value in seconds, and if that much time passes without contact with the origin server, then Pushpin will make an HTTP request to the server with no events (empty body). This would give the server an opportunity to respond with events every once in awhile as opposed to potentially never.
I agree it ought to be possible to publish any kind of frame. We should use action to indicate send or close, with send being the default. I suppose we should also be able to specify a close code.
Here's a proposal:
Closing:
"ws-message": {
  "action": "close",
  "code": 1000     // optional
}

Arbitrary frame by name:
"ws-message": {
  "frame": "ping"
}

This could be used for just the types in the RFC.
Arbitrary frame by opcode:
"ws-message": {
  "frame": 9,
  "content": "foo"
}

This could be used to specify any kind of frame. In practice I'm not sure when this would get used but it could be good to have.
Currently, content implies a text frame and content-bin implies a binary frame. However, if frame is specified then either content or content-bin could be used to specify the data of the frame with no effect on the frame type.
Frame types 0 (continuation) and 8 (close) wouldn't be allowed with the send action.

Justin,
thanks for the update: the outlined proposal looks great.
The use case for me is actually load shedding/balancing: I'm "streaming" data to a ChromeCast device via websocket and for load shedding/balancing I just want to initiate the close from the server: the client implementation is already written up to simply relaunch the connection. Now I can simply mark the server as disabled via Haproxy's admin socket (so it accepts no new connections), cleanly close the connections on the server and then terminate the VM. My autoscaling group will bring up another VM and add it to the list of available backends and then its back to work.

This is now implemented in the develop branch, except for the part about specifying arbitrary types by integer. Most of the codebase doesn't work directly with opcodes like that so it's a little more work to implement. We'll wait until someone actually needs it. The field for setting the message type is called type instead of frame (edited my earlier post to match).


pyright command except generate stub is not connected to pylance

it looks like at some point, we stopped calling pyright's command controller.
so pyright's code action such as add missing optional params or order imports no longer work.
basically, no one is handling these PyrightCommand anymore.
https://github.com/microsoft/pyrx/blob/main/packages/pylance-internal/src/commands/commandController.ts#L100
pylance should call pyright's command controller if commands are not one that pylance handle.

related issue - https://github.com/microsoft/pyright/issues/6571

This is probably my fault, sync/async server redesign.


Filtered foreground plots

@keskitalo I am comparing my simulations and the outputs of the TOD filtering.
cmbs4_combined_foregrounds_uKCMB_LAT-LFL1_nside4096_0000.fits

chile_foreground_LAT_LFL1_filtered_telescope_all_time_all_bmap.fits

can the filtering have such a large effect?

Absolutely. The filtering will annihilate all large scale temperature structure, which is fine, because there is nothing there to discover after Planck.


Add packaging with poetry

Add packaging using poetry
Help installing the package as pip install https://github.com/distributed-system-analysis/smallfile.git@main
Signed-off-by: Sandro Bonazzola<EMAIL_ADDRESS>

Let's also drop setup.cfg and requirements.txt (making sure they are both properly covered by pyproject.toml), and then update the README.md where necessary to describe the use of poetry.

Ok for dropping requirements.txt but we can't remove setup.cfgbecause pycodestyle and flake8 doesn't accept configuration via pyproject.toml yet.


Getting an error:  solid-js/web has no export "template"

I'm getting the following error while trying to use the solid-date-picker.
Just chasing a bit of guidance as to what I might be doing wrong?  If there is other info you need, let me know.
Error message
The requested module 'solid-js/web' does not provide an export named 'template'

file:///Users/xxx/Developer/solid-cashup/node_modules/.pnpm/@rnwonder+solid-date-picker@0.3.7_solid-js@1.7.5/node_modules/@rnwonder/solid-date-picker/dist/index.es18.js:1
import { createComponent as i, Portal as a, memo as d, use as c, spread as m, mergeProps as f, insert as h, effect as v, className as g, style as p, template as C } from "solid-js/web";
                                                                                ^^^^^^^^
SyntaxError: The requested module 'solid-js/web' does not provide an export named 'template'
    at ModuleJob._instantiate (node:internal/modules/esm/module_job:124:21)
    at async ModuleJob.run (node:internal/modules/esm/module_job:190:5

Component setup example
import { localDateAsUTC } from "@/utils/dates"
import DatePicker, { IDatePickerInputDataValue } from "@rnwonder/solid-date-picker"
import<EMAIL_ADDRESS>import { DatePickerInputSJProps } from "@rnwonder/solid-date-picker/types/components/DatePickerGroup"
import { createSignal } from "solid-js"

export const [datePickerValue, setDatePickerValue] = createSignal<IDatePickerInputDataValue>({
  value: { selected: localDateAsUTC().toISOString().slice(0, 10) },
  label: "Current Date",
})

export default function Datepicker(props: DatePickerInputSJProps) {
  return <DatePicker {...props} />
}

Component usage example
import DatePicker, { datePickerValue, setDatePickerValue } from "@/components/DatePicker"
import getHourlyData from "@/components/dashboard/getHourlyData"
import { Card, CardHeader, CardTitle } from "@/components/ui/Card"
import { useRouteData } from "solid-start"

export function routeData() {
  return getHourlyData()
}

export default function Dashboard() {
  const data = useRouteData<typeof routeData>()

  return (
    <section class="space-y-3">
      <Card class="grid grid-cols-4 gap-2 bg-bg-200 p-3">
        <CardHeader class="col-span-4 p-0 pb-4">
          <CardTitle class="flex">
            <DatePicker
              value={datePickerValue}
              setValue={setDatePickerValue}
            />{" "}
            vs Previous Week KPI's
          </CardTitle>
        </CardHeader>
      </Card>
    </section>
  )
}

OK ... I was able to get 'er going ... My issue likely relates to the fact that I'm using solid-start.
I was able to get it working by importing DatePicker as clientOnly using:
const DatePicker = unstable_clientOnly(() => import("@rnwonder/solid-date-picker"))

Yeah the date picker is clientOnly. Nice work!


Previewing SVG produces parse errors

Hi,
I was an avid user of the svg-preview package for Atom, as I enjoy the convenience of seeing a live preview of SVGs I write within Atom. However, the package is no longer maintained by its original developer, leaving me to look elsewhere for an alternative package for live SVG preview (which is how I came across this package).
I tried using this package to preview an SVG file, and the SVG itself renders correctly, however I receive a parse error Extra content at the end of the document.
I have attached a screenshot of the issue below. I hope the issue is feasible to fix.
Thanks very much,
Caleb

The svg-preview has found a new home and owner, so I am no longer in need of this functionality in atom-html-preview. Therefore, I'm closing this issue.


Fix: refresh pairing QR code with a timeout

What it solves
Resolves #3669
How this PR fixes it
There seems to be a delay between when a previous provider is disconnected and a new WC URI is generated.
A very scientific fix, I know.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 2 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.003%) to 34.851%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/logic/wallets/pairing/hooks/useGetPairingUri.ts
0
2
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.003%

Covered Lines:
3376

Relevant Lines:
8778

💛  - Coveralls

Looks good to me.
Connected to MM extension first, started the Create Safe process, disconnected and used the Gnosis safe mobile app to connect to the QR code right away. I was able to connect just fine and finsh the creation of the safe.


lwip: add missing source file (IDFGH-1990)

I was getting undefined symbol errors for lwip_if_indextoname and lwip_if_nametoindex.

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

Thanks for your contribution, we will merge it ASAP.

Fixed with https://github.com/igrr/esp-idf/commit/9e2f44b3c20a07c8200fa87fc5209c5fc83d0509

Thanks for contribution, changes merged with https://github.com/espressif/esp-idf/commit/9e2f44b3c20a07c8200fa87fc5209c5fc83d0509


Document the export operation

Documentation for intended operation of #534.

Are we happy with this?  (I'm implementing it, so it would be timely)

NOTE
Not pulling yet, because not implemented yet.  But consider this a description of what we are implementing.

@arielshaqed should we close this? or pull it?

@arielshaqed what's the verdict?

Sorry for (very) late response time.
PTAL, especially @guy-har (for updates and documentation of repair) and @oz (for style and sanity).
Thanks!

Codecov Report

Merging #542 (3e66ead) into master (96f9f87) will increase coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #542      +/-   ##
==========================================
+ Coverage   46.95%   46.98%   +0.02%
==========================================
  Files         182      182
  Lines       14285    14301      +16
==========================================
+ Hits         6708     6719      +11
- Misses       6684     6687       +3
- Partials      893      895       +2

Impacted Files
Coverage Δ

block/local/adapter.go
49.48% <0.00%> (-0.52%)
:arrow_down:

graveler/graveler.go
35.81% <0.00%> (ø)

graveler/committed/sstable/cache.go

graveler/committed/tree/value.go

graveler/committed/tree/tree.go

graveler/committed/tree/tree.pb.go

graveler/committed/sstable/manager.go

graveler/committed/sstable/iterator.go

graveler/committed/sstable/writer.go

graveler/committed/tree/writer.go

... and 15 more

Continue to review full report at Codecov.

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

YAY!

Thanks!  I think I should wait until 2021 to push this.

Sorry, all.  This one took MUCH TOO LONG.

https://docs.lakefs.io/reference/continuous-export.html :-)


IGAPP-662: Webpack and index.ejs

This pull request belongs to an issue on our bugtracker.
You can find it there by looking for an issue with the key which is mentioned in the title of this pull request.
It starts with the keyword IGAPP.

I have spent several hours again now to try to get wepack up and running and I failed and have no ideas anymore.
I am getting the following:
TSError: ⨯ Unable to compile TypeScript:
../build-configs/malte/index.ts:9:39 - error TS2732: Cannot find module '../../translations/override-translations/malte.json'. Consider using '--resolveJsonModule' to import module with '.json' extension.

import malteOverrideTranslations from '../../translations/override-translations/malte.json'

I got the same error in the webpack config for the import of the translationsConfig but was able to fix it with direct imports as mentioned here: https://github.com/Integreat/integreat-app/pull/297#discussion_r638709454
No idea here as well...

I have spent several hours again now to try to get wepack up and running and I failed and have no ideas anymore.
I am getting the following:
TSError: ⨯ Unable to compile TypeScript:
../build-configs/malte/index.ts:9:39 - error TS2732: Cannot find module '../../translations/override-translations/malte.json'. Consider using '--resolveJsonModule' to import module with '.json' extension.

import malteOverrideTranslations from '../../translations/override-translations/malte.json'

I got the same error in the webpack config for the import of the translationsConfig but was able to fix it with direct imports as mentioned here: #297 (comment)
No idea here as well...

Add "resolveJsonModule": true to tsconfig.webpack.json or better extend the tsconfig.webpack.jsonto our default tsconfig if possible :)


Reminder: timeline chart needed

We're still working through a graphic design and added that's accessibility compatible.

Done


Support intellij setting repository

I want use the same save actions settings for the whole team using setting repository, but I didn't seen the config  file after sync.

Hey @smartwjw
I didn't know settings repository existed, I'll look into it. The settings are saved there https://github.com/dubreuia/intellij-plugin-save-actions#files-location so you can commit them in git, but I don't know how to add that to settings repository.


Unstable indexing permitted in beta channel

I just discovered you can slice the slice iterator. It's neat, but unstable. .as_slice() as well as the Index implementations for the slice::Iter are marked unstable, but you can still use the slicing syntax in the beta channel.
Compiles in rustc 1.0.0-beta.2 (e9080ec39 2015-04-16) (built 2015-04-16)
println!("{:?}", &[1,2,3].iter()[..1]);

The effect is that converting iterators to slices isn't closed down like it was intended.

Oh wrong repo.. moving.


Added support for Google Analytics 4 Properties. Removed duplication of Javascript snippets.

This is an enhancement or feature.

Summary
The old Google Analytics uses codes of the form UA-XXXXX. The new Google Analytics uses codes of the form G-XXXXX and they have different javascript snippets that need to be used for each. This PR adds support for the G- style codes.
Also previously the javascript for the UA codes was in two places and it's now in one.
Context

Based on the sample code I am currently seeing on my Analytics account, there seems to no longer be any need for different javascript depending on the analytics version used, so this can be further simplified (I am looking at a gtag-based snippet using a "UA-" tag).

UA tags will cease to work on July 1, 2023. Until then, both tags need to be supported.

@mmistakes can we get this merged please?


Could not resolve project :react-native-fabric

Duplicate of many in the closed issues.
Set the build.gradle of this project like:


Add vscode input choices for building EFR32 examples

Change overview
Add vscode input choices for building EFR32 examples
Testing

Run vscode, then open the "connectedhomeip" folder, then start to build the EFR32 example through menu "Terminal"-->"Run Task", then select "Build EFR32 Lock example" or "Build EFR32 Light example". Then you can select the EFR32 board from the list.

 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.

/rebase

I've rebased it.


[RFC] Datamodel v1.1 - Indexes and Constraints

This part of the spec describes directives that are used to specify constraints and indexes. See the issue #3408 to learn about the other parts of the spec.
The unique directive

valid locations: scalar non list fields on non embedded types
behaviour: If the directive is present the field must contain only unique values. No two nodes can contain the same value. If Migrations are activated this will create a unique constraint in the underlying database. This implies that an index is created.
overlaps with: indexes
optional: yes.
arguments: none

Examples
type Blog {
  id: ID! @id
  name: String!
  slug: String! @unique
}

The indexes directive

valid locations: on non-embedded types
behaviour:

Specifies the indexes that should be created for this type.
Indexes can be created for embedded types as well, which means they have to be created once for each parent type.

overlaps with: unique
optional: yes.
arguments:

value: [IndexInput]

Specifies the indexes that should be created for this type.
optional: no
IndexInput:

fields: [String]!

Contains an array of the field names that should make up the index.
A field name can reference an embedded type through dot notation, e.g. Blog.posts.title
optional: no.

name: String!

The name of the index.
optional: no

unique: Boolean

Whether this index imposes a unique constraint.
optional: yes. Defaults to false.

validations:

The specified indexes must not contradict any indexes specified through the unique and index directives.
When relation fields to non-embedded types are used within an index, the relation link must be stored within the type.
All used field names must exist within the type or within its embedded types.

Examples
Specifying an index on one field.
type Post @indexes(value: [
  { fields: ["published"] name: "Post_published_idx" }
]) {
  id: ID! @id
  title: String!
  published: DateTime!
  viewCount: Int!
  author: User!
}

Specifying an index with a unique constraint on one field. This could be also achieved through the unique directive.
type Post @indexes(value: [
  { fields: ["title"] name: "Post_title_idx" unique: true }
]) {
  id: ID! @id
  title: String!
  published: DateTime!
  viewCount: Int!
  author: User!
}

Specifying an index on two fields.
type Post @indexes(value: [
  { fields: ["title", "viewCount"] name: "Post_title_viewCount_idx" }
]) {
  id: ID! @id
  title: String!
  published: DateTime!
  viewCount: Int!
  author: User!
}

Specifying an index that spans a non-embedded and embedded type:
type Blog @indexes(value: [
  { fields: ["name", "posts.title"] name: "Blog_name_posts_title_idx" }
]){
  id: ID! @id
  name: String!
  posts: [Post]
}

type Post @embedded {
  title: String!
}

Specifying a index with unique constraint on two fields to express that the combination of author and title must be unique. The field author field is a relation field and therefore the id of an Author will be part of the index. Creating this index is only possible if the link to the author will be stored within the Post node.
type Post @indexes(value: [
  { fields: ["title", "author"] name: "Post_title_author_idx" unique: true }
]) {
  id: ID! @id
  title: String!
  published: DateTime!
  viewCount: Int!
  author: User! @relation(strategy: EMBED)
}

This sounds great, it would be awesome to have the option to add custom indexes to models!

I think that having the ability to specify an index with multiple fields is the killer feature in this spec; I can't wait to see this added.

I'm curious how this would affect the "where" query. Would it be possible to query a type by 2 unique fields ?

@jide : Yes i think this is what we would have to do.

Suggestion: Let's introduce a new optional config option inputName which if provided allows you to override the input field name for the generated where input types as well as the generated orderBy enum values (e.g. titleViewCount_DESC).
type Post @indexes(value: {
  fields: ["title", "viewCount"]
  name: "Post_title_viewCount_idx"
  inputName: "titleViewCount"
}) {
  id: ID! @id
  title: String!
  published: DateTime!
  viewCount: Int!
  author: User!
}

Example TS client query:
// with `inputName` provided
const post = await prisma.post({ titleViewCount: { title: 'Hello', viewCount: 42 } })

// without `inputName`
const post = await prisma.post({ Post_title_viewCount_idx: { title: 'Hello', viewCount: 42 } })

Hi guys. About this:

Specifying a index with unique constraint on two fields to express that the combination of author and title must be unique. The field author field is a relation field and therefore the id of an Author will be part of the index. Creating this index is only possible if the link to the author will be stored within the Post node.
type Post @indexes(value: [
  { fields: ["title", "author"] name: "Post_title_author_idx" unique: true }
]) {
  id: ID! @id
  title: String!
  published: DateTime!
  viewCount: Int!
  author: User! @relation(strategy: EMBED)
}

I tried implementing the feature in my datamodel but no changes observed.
My datamodel looks like this;
type Class @indexes(value: [{
    fields: ["faculty", "level", "option"]
    name: "faculty_level_option_identifies_class"
    unique: true
}]) {
    id: ID! @unique
    faculty: String!
    level: Int!
    option: String
    name: String!
    courses: [Course!]!
    createdAt: DateTime!
    updatedAt: DateTime!
}

At the end I expect the constraints to keep me from creating a 2 or more classes with similar properties but to allow when one or more properties are changed: e.g classes with the same faculty and level but different option

@brainafesoh : It does not work yet because it is not implemented yet. This is still in draft state.

Ok @mavilein , hope it'll be available soon enough. Thumbs up already for the work u guys are doing. Prisma is dooope

Hey @colinmcd94, quick heads-up that I've edited your comments and changed v2 to v1.1 since that's how we refer to this upcoming version of the datamodel now 🙌

@nikolasburk Why the version have been changed from v2 to v1.1? Will changes be not breaking? Or is it not just a renaming, but a division of changes into two parts v1.1 and v2 to release v1.1 as soon as possible?
What about using MAJOR.MINOR.PATCH (e.g. 1.1.0) semantic versioning?

Does the proposed @indexes directive plan on solving performance issues for queries on non-unique fields like where: {title_contains: "text"} ?
As far as I understand, this query will be very slow unless there's a trigram index built for title. Would specifying @indexes for it cause Prisma to do something like this for Postgres:
CREATE INDEX Post_title_index ON Post USING gin  (col gin_trgm_ops);

And then where queries would automatically pass something like %my_query%?
As a workaround for now, if I manually CREATE INDEX on my Postgres database after Prisma deploys, will that work? Will Prisma kill it on every deploy?

@nolandg:

Currently we have just planned for normal b-tree indexes. Do you want to open a feature request for this? I guess we should allow for customizing the type of index.
Yes that will work. We are not touching existing indexes.

Will TTL Indexes feature be available? @mavilein
I need to set TTL for values so they get removed after some time automatically by MongoDB.
E.g. in Mongoose I can do this:
var verificationTokenSchema = new Schema({
    _userId: {type: ObjectId, required: true},
    token: {type: String, required: true},
    createdAt: {type: Date, required: true, default: Date.now, expires: '4h'}
});

so the validation token is removed after 4 hours

@sandorTuranszky : We haven't planned for that yet. Can you create a separete issue for that feature? Then we can implement this quickly after the initial implementation.

@mavilein Created an issue 4102

I don't see anything about the order of the index.
Shouldn't there be a way to order the index Ascending or Descending?

@mavilein Hey, is there an ETA for this feature in beta release?

This is currently the only thing that is preventing me from using this.  REALLY looking forward to this being implemented

i'm new to prisma, and the progress on this feature is really turning me off, but awesome work @prisma so far

Thank you for all the comments here. We expect to include support for indexes when we release the next major version of Prisma in ~3 months. Constraints will be added shortly after.

Hey everyone, we're currently specing it out over at: https://github.com/prisma/rfcs/blob/0001-datamodel-2/text/0001-datamodel-2.md#checks-constraints
It's currently in draft mode and we'd really love your thoughts to help us make it fit your use cases.

Hey, glad to hear this will get some attention soon ! Does 3 months mean a stable release ? Can we expect alpha/beta sooner than that ?

Hey everyone, we're currently specing constraints over at: https://github.com/prisma/rfcs/blob/0001-datamodel-2/text/0001-datamodel-2.md#checks-constraints

https://github.com/prisma/rfcs/ gives 404 for me, is it private or has it moved?

So is the indices directive out yet? Or when can we expect it to be released?


0.5.8

should be the final cran release before major package overhaul

going to go out on a limb and hope that failures are due to old broken files being pulled in for tests.


feat: Icc a b + Icc c d = Icc (a + c) (b + d)

From GrowthInGroups
Moves:

inv_Ioi -> inv_Ioi₀

Thanks!
bors merge


AdaptiveSampling causes starvation of Telemetry over time

My proposed fix for Microsoft/ApplicationInsights-dotnet-server#756.

[x] I ran Unit Tests locally.
[x] Design discussion issue Microsoft/ApplicationInsights-dotnet-server#756
[x] Changes in public surface reviewed
[x] CHANGELOG.md updated with one line description of the fix, and a link to the original issue.
[x] The PR will trigger build, unit test, and functional tests automatically. If your PR was submitted from fork - mention one of committers to initiate the build for you.

The problem: AdaptiveSamplingTelemetryProcessor in the default configuration within the
ApplicationInsights.config file will cause starvation of telemetry over time.
The root cause: AdaptiveSamplingTelemetryProcessor makes use of SamplingTelemetryProcessor
chained directly to SamplingPercentageEstimatorTelemetryProcessor. This causes all telemtry,
sampled or not, to pass into the estimator and become counted as part of the calculation of the
moving average, and therefore part of the adapted sampling average applied to the chain. Some
telemetry passing through the AdaptiveSamplingTelemetryProcessor should never be counted in that
calculation (for instance, if the telemetry is of a type that should never be sampled at all, or
if the telemetry item has already been sampled by a prior ITelemetryProcessor).
The proposed fix: Alter the SamplingTelemetryProcessor so that it has two Next properties
to send ITelemetry items to, one for sampled items and one for unsampled items.

Make an internal constructor that populates the new UnsampledNext property, and update the
public one to ensure that the Next and UnsampledNext properties are both pointing at a valid
ITelemetryProcessor later in the pipeline.
Update the AdaptiveSamplingTelemetryProcessor constructor to use the internal constructor of
SamplingTelemetryProcessor, giving it the true next ITelemetryProcessor in the pipeline as
the unsampledNext processor, and the SamplingPercentageEstimatorTelemetryProcessor as the
sampledNext processor.
Update the SamplingTelemetryProcessor.Process method to call the UnsampledNext processor
whenever there should be no sampling done on the current item at all.

Root Cause (with pictures!)
The way that the SamplingTelemetryProcessor works is that it either accepts or rejects telemetry. This is entirely desirable behavior and users can employ the SamplingTelemetryProcessor if they wish to do so, when their situation does not require any adaptive corrections of data rates over time. Telemetry items are sampled out based on the percent of data desired, and any skipped item that it encounters is allowed to continue through the pipeline.

And the AdaptiveSamplingTelemetryProcessor leverages the SamplingTelemetryProcessor, but injects a new processor after it in the pipeline, which calculates a new sample percent as items are handed to it, which feeds back to into the SamplingTelemetryProcessor over time to achieve a constant amount of data flowing through the pipeline, and that will respond to changes in the quantity of telemetry being sent.

Unfortunately, not all telemetry items being sent through the SamplingTelemetryProcessor are the same. Some are evaluated and dropped, some are evaluated and allowed to progress through the pipeline, and some are simply unevaluated and allow to progress through the pipeline. It's the last class of telemetry item that is a problem here - unevaluated items should not be counted against the current sample percentage.

Data Tests
Using the above hypothesis I made use of a testing program (thanks @zakimaksyutov!) that I extended to collect data and organize it into a spreadsheet-friendly format. I have a lot of data from the tests, but here's some summary charts (full data attached below).
The test program runs for N minutes (I ran it for 30) and emits 100 RequestTelemetry items per second, and 10 EventTelemetry items per second throughout the entire test period. A custom ITelemetryProcessor is injected into the end of the pipeline to count the number of Requests and Events that are actually emitted, making it through the AdaptiveSamplingTelemetryProcessor.
Note that the data in these summary charts include data after the initial 2-minute sampling period where the data is left unsampled at 100%
Requests and Events emitted over 30 minutes, prior to fix (using SDK 2.5.0-beta1):

Requests and Events emitted over 30 minutes, after applying my fix (SDK 2.5.0-beta2-local_build):

From the data above it appears that we've corrected the initial starvation problem. However, there appears to be another issue where the data flow increases after about 1000 seconds (16 minutes) and the rate is higher than I might expect. I am currently looking at that problem as a separate issue. (Fixed)
The raw data with added charts & summarized tables:
Work-Comparison-AdaptiveSamplingStarve.xlsx
EDIT: Added template checkboxes for PRs
EDIT: After further fixes, updated resulting data emitted chart, updated XLS data analysis file, and the solution flow diagram

Thanks @Dmitry-Matveev!

@d3r3kk This is a great observation. I will make sure to keep this in mind when implementing this in Java (in near few days).


Branch 2.0

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)

Can one of the admins verify this patch?

Can you close this pull request? If it's an attempt at backporting you can just make a new PR once you get it sorted out.

@yintengfei please close this PR.


Material 7 Upgrade Error - normalizePassiveListenerOptions' was not found in '@angular/cdk/platform

Bug, feature request, or proposal:
After updating my project to Angular 7, Material 7 I am receiving below warning:
WARNING in<EMAIL_ADDRESS>1582:40-71
"export 'normalizePassiveListenerOptions' was not found in '@angular/cdk/platform'
i ｢wdm｣: Compiled with warnings.

And when I run my app in browser it throws below error:
Uncaught TypeError: Object(...) is not a function
    at Object.Wf4p (main.73d3a35a166575881912.js:1)
    at f (runtime.568a81b1ca8e8de7d15c.js:1)
    at Object.t68o (main.73d3a35a166575881912.js:1)
    at f (runtime.568a81b1ca8e8de7d15c.js:1)
    at Module.zUnb (main.73d3a35a166575881912.js:1)
    at f (runtime.568a81b1ca8e8de7d15c.js:1)
    at Object.0 (main.73d3a35a166575881912.js:1)
    at f (runtime.568a81b1ca8e8de7d15c.js:1)
    at a (runtime.568a81b1ca8e8de7d15c.js:1)
    at Array.c [as push] (runtime.568a81b1ca8e8de7d15c.js:1)

Its strange that everything was working perfectly with Material 7.0.0-rc.2 and throwing error after upgrade even though there aren't any breaking changes mentioned in changelog.
What is the expected behavior?
It should compile without warning and work without error in browser.
What is the current behavior?
Its broken and throw above error.
What are the steps to reproduce?
I just updated Angular packages to the following and it started throwing error:
    "@angular/animations": "7.0.0",
    "@angular/cdk": "7.0.0-rc.2",
    "@angular/cdk-experimental": "7.0.1",
    "@angular/common": "7.0.0",
    "@angular/compiler": "7.0.0",
    "@angular/core": "7.0.0",
    "@angular/flex-layout": "7.0.0-beta.19",
    "@angular/forms": "7.0.0",
    "@angular/http": "7.0.0",
    "@angular/material": "7.0.1",
    "@angular/material-moment-adapter": "7.0.1",
    "@angular/platform-browser": "7.0.0",
    "@angular/platform-browser-dynamic": "7.0.0",
    "@angular/platform-server": "7.0.0",
    "@angular/pwa": "0.10.2",
    "@angular/router": "7.0.0",
    "@angular/service-worker": "7.0.0",

Which versions of Angular, Material, OS, TypeScript, browsers are affected?
node v8.11.4
npm 5.6.0
ng versions:

@angular-devkit/architect          0.10.2
@angular-devkit/build-angular      0.10.2
@angular-devkit/build-optimizer    0.10.2
@angular-devkit/build-webpack      0.10.2
@angular-devkit/core               7.0.2
@angular-devkit/schematics         7.0.2
@angular/cdk                       7.0.0-rc.2
@angular/cdk-experimental          7.0.1
@angular/cli                       7.0.2
@angular/fire                      5.1.0
@angular/flex-layout               7.0.0-beta.19
@angular/material                  7.0.1
@angular/material-moment-adapter   7.0.1
@angular/pwa                       0.10.2
@ngtools/webpack                   7.0.2
@schematics/angular                7.0.2
@schematics/update                 0.10.2
rxjs                               6.3.3
typescript                         3.1.3
webpack                            4.19.1

You need to update CDK to 7.0.1, it's still on rc.2. You can avoid missing things like this by doing ng update @angular/material. Also just ng update will let you know if any of your dependencies need updating.

Thank you so much @Splaktar for pointing that out, it fixed the error :)

I have the same issue here, after upgrading to material 7. I'm using umd modules as we're not using Angular CLI. Here's the packages.json dependencies:
    "@angular/animations": "^7.0.2",     "@angular/cdk": "^7.0.2",     "@angular/common": "~7.0.0",     "@angular/compiler": "~7.0.0",     "@angular/core": "~7.0.0",     "@angular/forms": "~7.0.0",     "@angular/http": "~7.0.0",     "@angular/material": "^7.0.2",     "@angular/platform-browser": "~7.0.0",     "@angular/platform-browser-dynamic": "~7.0.0",     "@angular/router": "~7.0.0",     "core-js": "^2.5.4",     "rxjs": "~6.3.3",     "zone.js": "~0.8.26"
Any ideas?

@nefcanto it looks like your @angular/animations package may not be aligned with the other versions of @angular/core, @angular/common, etc. This is both due to the 7.0.2 vs 7.0.0 and the ^ versus ~.


Update nedis_airquality.yaml

https://github.com/make-all/tuya-local/issues/1601
change line 46 from ppm to "µg/m³"

This is not a correct fix, as according to the device information provided in #384, the device is providing a ppm reading, not a µg/m³ reading.


The log level should be adjusted

When the consumer is set to exclusive and multiple instances are started, the console continuously outputs info level restart consumers log.
When setting consumers as exclusive and bound, the restart log level for other consumers should be TRACE or DEBUG.
https://github.com/zhangheng0027/testRabbitMQ.git

@RabbitListener(
            bindings = @QueueBinding(
                    value = @Queue(value = "test2Queue"),
                    exchange = @Exchange(value = "testExchange"),
                    key = "test2"
            ),
            concurrency = "1",
            exclusive = true,
            ackMode = "MANUAL",
            containerFactory = "batchListenerContainerFactory"
    )
    @SneakyThrows
    public void test(@Payload List<Message<EquipmentStatusChangeEvent>> event, Channel channel) {
    }

    @RabbitListener(
            bindings = @QueueBinding(
                    value = @Queue(value = "test2Queue"),
                    exchange = @Exchange(value = "testExchange"),
                    key = "test2"
            ),
            concurrency = "1",
            exclusive = true,
            ackMode = "MANUAL",
            containerFactory = "batchListenerContainerFactory"
    )
    @SneakyThrows
    public void test2(@Payload List<Message<EquipmentStatusChangeEvent>> event, Channel channel) {
    }

2023-09-28T17:11:57.492+08:00  WARN 21016 --- [ntContainer#1-1] o.s.a.r.l.SimpleMessageListenerContainer : Exclusive consumer failure: com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: #method<channel.close>(reply-code=403, reply-text=ACCESS_REFUSED - queue 'test2Queue' in vhost '/test' in exclusive use, class-id=60, method-id=20)
2023-09-28T17:11:57.498+08:00  INFO 21016 --- [ntContainer#1-1] o.s.a.r.l.SimpleMessageListenerContainer : Restarting Consumer@43982337: tags=[[]], channel=Cached Rabbit Channel: AMQChannel(amqp://oee@<IP_ADDRESS>:4626//test,2), conn: Proxy@42fb8c87 Shared Rabbit Connection: SimpleConnection@5a50d9fc [delegate=amqp://oee@<IP_ADDRESS>:4626//test, localPort=9562], acknowledgeMode=MANUAL local queue size=0
2023-09-28T17:11:57.508+08:00  INFO 21016 --- [68.115.248:4626] o.s.a.r.c.CachingConnectionFactory       : Shutdown Signal: channel error; protocol method: #method<channel.close>(reply-code=403, reply-text=ACCESS_REFUSED - queue 'test2Queue' in vhost '/test' in exclusive use, class-id=60, method-id=20)

This is a reasonable request, but consider setting Single Active Consumer on the queue rather than using exclusive consumers; it is more efficient and avoids this problem.
https://www.rabbitmq.com/consumers.html#single-active-consumer

Difference from Exclusive Consumers

Compared to AMQP 0-9-1 exclusive consumer, single active consumer puts less pressure on the application side to maintain consumption continuity. Consumers just need to be registered and failover is handled automatically, there's no need to detect the active consumer failure and to register a new consumer.

By the way, the WARN log can be avoided by setting a custom logger here:
	/**
	 * Set a {@link ConditionalExceptionLogger} for logging exclusive consumer failures. The
	 * default is to log such failures at WARN level.
	 * @param exclusiveConsumerExceptionLogger the conditional exception logger.
	 * @since 1.5
	 */
	public void setExclusiveConsumerExceptionLogger(ConditionalExceptionLogger exclusiveConsumerExceptionLogger) {

The INFO logs for the restart can be avoided by setting the container's logger level to WARN.

There is also a closeExceptionLogger on the connection factory:
	/**
	 * Set the strategy for logging close exceptions; by default, if a channel is closed due to a failed
	 * passive queue declaration, it is logged at debug level. Normal channel closes (200 OK) are not
	 * logged. All others are logged at ERROR level (unless access is refused due to an exclusive consumer
	 * condition, in which case, it is logged at INFO level).
	 * @param closeExceptionLogger the {@link ConditionalExceptionLogger}.
	 * @since 1.5
	 */
	public void setCloseExceptionLogger(ConditionalExceptionLogger closeExceptionLogger) {


[R] Add comments how to install vscode-jupyter dependencies

Suggested by #1314.
For users who want to use vscode-jupyter, add a section as a comment to install the necessary packages.

LGTM!


python310Packages.puremagic: 1.14 -> 1.15

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python310Packages.puremagic is: Implementation of magic file detection
meta.homepage for python310Packages.puremagic is: https://github.com/cdgriffith/puremagic
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.15 with grep in /nix/store/7jd4rc4hd299l44xl8n61jkxpgcrsz6l-python3.10-puremagic-1.15
found 1.15 in filename of file in /nix/store/7jd4rc4hd299l44xl8n61jkxpgcrsz6l-python3.10-puremagic-1.15

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

4 total rebuild path(s)

4 package rebuild(s)

First fifty rebuilds by attrpath
opsdroid
python310Packages.puremagic
python311Packages.puremagic
sabnzbd

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/7jd4rc4hd299l44xl8n61jkxpgcrsz6l-python3.10-puremagic-1.15 \
  --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 python310Packages.puremagic https://github.com/r-ryantm/nixpkgs/archive/73caa31b137cfe4c25bc8fb8d7793b1c6760ceba.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/7jd4rc4hd299l44xl8n61jkxpgcrsz6l-python3.10-puremagic-1.15
ls -la /nix/store/7jd4rc4hd299l44xl8n61jkxpgcrsz6l-python3.10-puremagic-1.15/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

4 packages built:

opsdroid
python310Packages.puremagic
python311Packages.puremagic
sabnzbd

Maintainer pings
cc @globin for testing.

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

4 packages built:

opsdroid
python310Packages.puremagic
python311Packages.puremagic
sabnzbd


Merge editor extremely slow - takes many minutes to load for a 544kb master.min.js file that was composed from many other js files

Type: Bug
Have a 544kb master.min.js file where its composed of many different files, where different parts of the source code have been changed for other js files with 1000's of lines of code -
Go to Source Control tab in VS Code, and see "Merge Changes" under Source Control > Source Control section
Select a file with merge conflicts and click the "Resolve in Merge Editor" to open the merge editor
Merge editor take 15 minutes to load
Version: 1.86.2 (user setup)
Commit: 903b1e9d8990623e3d7da1df3d33db3e42d80eda
Date: 2024-02-13T19:40:56.878Z
Electron: 27.2.3
ElectronBuildId: 26908389
Chromium: 118.0.5993.159
Node.js: 18.17.1
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.22631
System Info
Extensions (3)
A/B Experiments

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.86.2. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.86.2. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!
Version: 1.86.2 (user setup)
Commit: https://github.com/microsoft/vscode/commit/903b1e9d8990623e3d7da1df3d33db3e42d80eda
Date: 2024-02-13T19:40:56.878Z
Electron: 27.2.3
ElectronBuildId: 26908389
Chromium: 118.0.5993.159
Node.js: 18.17.1
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.22631

I updated the version I still have the following issue:
Type: Bug
Have a 544kb master.min.js file where its composed of many different files, where different parts of the source code have been changed for other js files with 1000's of lines of code -
Go to Source Control tab in VS Code, and see "Merge Changes" under Source Control > Source Control section
Select a file with merge conflicts and click the "Resolve in Merge Editor" to open the merge editor
Merge editor take 15 minutes to load
Version: 1.86.2 (user setup)
Commit: https://github.com/microsoft/vscode/commit/903b1e9d8990623e3d7da1df3d33db3e42d80eda
Date: 2024-02-13T19:40:56.878Z
Electron: 27.2.3
ElectronBuildId: 26908389
Chromium: 118.0.5993.159
Node.js: 18.17.1
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.22631


Upgrade minimum ansible version to 2.9.2

Upgrade minimum ansible version to 2.9.2

Are we ready to upgrade Ansible on the Jenkins slaves to 2.9.2? @sgodbole2

All jenkins slaves are upgraded to 2.9.2


Websocket

My modifications allow creating PwebSocket dynamically and adding listeners to them
i modified " WebSocketServlet.java " so it can handle connections from both Pony's main websocket and newly created PWebsockets.
I also had to add some methods and a class "URLUtils".

Do not commit :

sample/launcher/Sample-Spring-Addon.launch
.project

Seems to be weird to have two classes for URL utils methods, maybe merge the two classes :

ponysdk/src/main/java/com/ponysdk/core/terminal/tools/URL.java
ponysdk/src/main/java/com/ponysdk/core/tools/URLUtils.java


module 'os' has no attribute 'popen2'

Hi,
i would like to use your library to download data with a meta4 file.
Unfortunately i get a error when adding metalink.download to the import.
import os.path
import metalink.download

if __name__ == '__main__':
    files = metalink.download.get("file.meta4", os.getcwd())

The Error i get:
Traceback (most recent call last):
  File "C:\path\.venv\Lib\site-packages\metalink\download.py", line 95, in <module>
    import proxy
ModuleNotFoundError: No module named 'proxy'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\path\.venv\Lib\site-packages\metalink\proxy.py", line 177, in get_key_value
    keyid = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER, key)
            ^^^^^^^^
NameError: name 'win32api' is not defined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\path\test.py", line 3, in <module>
    import metalink.download
  File "C:\path\.venv\Lib\site-packages\metalink\download.py", line 97, in <module>
    from . import proxy
  File "C:\path\.venv\Lib\site-packages\metalink\proxy.py", line 253, in <module>
    get_proxy_info()
    ~~~~~~~~~~~~~~^^
  File "C:\path\.venv\Lib\site-packages\metalink\proxy.py", line 223, in get_proxy_info
    proxy_enable = get_key_value(
        "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", "ProxyEnable"
    )
  File "C:\path\.venv\Lib\site-packages\metalink\proxy.py", line 183, in get_key_value
    stdout = reg_query("HKCU\\" + key, value)
  File "C:\path\.venv\Lib\site-packages\metalink\proxy.py", line 137, in reg_query
    tempresult = os.popen2(f'reg.exe query "{keyname}" /v "{value}"')
                 ^^^^^^^^^
AttributeError: module 'os' has no attribute 'popen2'. Did you mean: 'popen'?

Tested with Python 3.12.7 and 3.13.0 (with and without venv)
Thanks for your assistance.

As far as I understand, proxy.py classes is written for Python 2.
Should Python 2 still be supported by this project?

I think you are right, this is really old code that has never been ported to a newer version of Python. Feel ree to start a pr, my time is very limited so I probably won’t be able to do that any time soon. Sorry for the inconvenience

Thanks for your response.

Can I remove the python 2 support, or should it still be supported?

Feel free to remove python 2, I think given the long sleeps between maintenance we have, we should probably target 312 atm and forget about other versions ;)


Suggestions for the data type Fixed and head.fontRevision in the doc

About the data type: Fixed, I found some people confused with how to get it.
In the process of calculating it, Int32 is incorrectly divided by 0xffff instead of 0x10000 in some code (e.g. [1]).
So I suggest providing a tip in the doc, like this:
// how to get data type: Fixed

var fixed = data.getInt32(offset) / 0x10000;

// note: need to divide by 0x10000 (65536), not 0xffff (65535)

And there is another thing: Adobe's doc mentions that head.fontRevision should have three significant decimals [2], but Microsoft's doc doesn't say it. I think this should be made clear in the spec.
[1] https://github.com/opentypejs/opentype.js/blob/88f7c1755ceec3326cdac4de53bc5ec89d38a615/src/parse.js#L33
[2] https://github.com/adobe-type-tools/afdko/blob/develop/docs/OpenTypeFeatureFileSpecification.md#9.c

The "three significant decimals" is referring to Adobe's AFDKO representations, not to OpenType.
As for the other suggestion, it's out of scope to provide guidance to developers as to how to process font data using their programming language of choice.

I am confused by both posts. @LIXiangChen says "but Microsoft's doc doesn't say it" I thought Microsoft does state this as a recommendation, at least since version 1.4.

Ah, good catch @devosb. But still no change needed.

@devosb Wow, I did miss the "recommendations" page, even though I browsed the "table" pages many times.
@PeterCon Perhaps it is better to move the table related contents in the "recommendations" page to the "table" pages? Lest more people miss it.


Is OpenFunction compatible with ARM architectures? Like Mac M1s?

Description
I couldn't run OpenFunctions in a local KinD cluster running on an M1 Mac Machine (arm64) mostly because there are no openfunction builds for arm. Did I missed something?
Environmental
Mac OS, arm64, Kubernetes KinD
Expected behavior
Openfunction images should be available for arm64 architecture.
Actual behavior
Failed with:
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested

To Reproduce
Steps to reproduce the behavior:

'..'
'...'
'....'
See error

Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

@salaboy Sorry for the delay. OpenFunction's arm support is currently blocked at the build part, the buildpacks we used currently doesn't support to build images for arm yet.

@salaboy Sorry for the delay. OpenFunction's arm support is currently blocked at the build part, the buildpacks we used currently doesn't support to build images for arm yet.

@salaboy we haven't build arm64 images for OpenFunction yet because the builder we use haven't supported build arm64 images well enough, for example:
For go functions:
https://github.com/OpenFunction/builder/tree/main/builders/go117
bazel run --platforms=@io_bazel_rules_go//go/toolchain:linux_amd64 //builders/go117/stack:build
The base image is amd64 only for now , we can upgrade it to a multi-arch one: https://github.com/OpenFunction/builder/blob/main/builders/go117/stack/parent.Dockerfile#L15
Python base image has similar issue https://github.com/OpenFunction/builder/blob/main/builders/py39/stack/parent.Dockerfile#L15
Another problem of go buildpacks is the binary is still amd64 only https://github.com/OpenFunction/builder/blob/main/builders/go117/stack/parent.Dockerfile#L38
Also we noticed an on-going process of the arm64 support in cnb(cloud native buildpacks) : https://github.com/buildpacks/rfcs/issues/294

+1 ARM64 is very much in demand these days

If ignore the builder step and only want to deploy openfunction on ARM64, how can build relevant ARM64 images about openfunction？thanks


Missing info: sentence is not finished

In the section on what's new in ASP.NET in .NET Framework 4.6.2 the first topic shows an example that creates the resource file with error messages:

You can then create a resource file, DataAnnotation.Localization.fr.resx, whose key is the error message string and whose value is the localized error message. The file must be found in the App.LocalResources folder. For example, the following is the key and its value in a localized French (fr) language error message:

However, the paragraph after the table with the example content is definitely not complete:

This file can then

@rpetrusha to take a look. Could be a migration issue as well.

Thanks for noticing the unfinished sentence, @pkulikov. Unfortunately, it's not a migration issue, @mairaw. I just never finished the sentence, and it doesn't really look to me like anything is clearly missing from the description. I'll open a PR to remove the sentence.


[rfc] include stack trace when stringifying exception object

JS_ToCStringLen2 (and therefore JS_ToCString and JS_ToCStringLen) currently special-cases exception objects:
https://github.com/quickjs-ng/quickjs/blob/d2bca87c64e41162e3da0ffe0a19858a81b09db4/quickjs.c#L4091-L4106
That is, it stringifies obj.message and returns that. That only tells you what though, not where.
I want to include obj.stack as well to make debugging easier but I'm wondering if that could break existing code somehow. The most visible change is that the string is going to contain newlines where before it (usually) didn't.

I think the challenge here is that everyone likely borrowed the code from libc that prints the stack: https://github.com/quickjs-ng/quickjs/blob/d2bca87c64e41162e3da0ffe0a19858a81b09db4/quickjs-libc.c#L4063 I know I did: https://github.com/saghul/txiki.js/blob/9c65cd39b1bfe98e5b2b286113f2de29087b732d/src/utils.c#L147
Those would need to be adjusted, which I really don't mind.
I'm not sure I understand this part:
    // Stringification can fail when there is an exception pending,
    // e.g. a stack overflow InternalError. Special-case exception
    // objects to make debugging easier, look up the .message property
    // and stringify that.

Are the 2 sentences related? I guess no, then if we are to special-case exception objects we might as well stringify the stack trace?
But at the same time that is somewhat inconsistent with new Error('boo!').toString() since it doesn't incldue the stack...
All of that to say I don't think I have a strong opinion 😅

Are the 2 sentences related? I guess no, then if we are to special-case exception objects we might as well stringify the stack trace?

They're related in the sense that we ought to call the .toString method but we don't, we take a shortcut to avoid invoking JS code. And since we're doing that for the sake of debuggability, I figured we might as well go the whole way.

Oh, and a semi-related thing: JS_ToCString and friends can fail for a variety of reasons and return NULL. I'd like to change it to return a (statically allocated) empty string because I always forget to add the NULL check.

Note that

Oh, and a semi-related thing: JS_ToCString and friends can fail for a variety of reasons and return NULL. I'd like to change it to return a (statically allocated) empty string because I always forget to add the NULL check.

NULL is returned when the conversion to string generates an exception.
There are 2 special cases:

if the argument conversion to a string generated an exception but the argument is an instance of Error and has amessage property that is a string. (the case you want to change).
memory allocation is required for the final UTF-8 conversion and failed (an exception should be generated in this case).

Checking for NULL is required so the exception can be propagated to the caller. Returning a pointer to a static char array whose address could be tested by JS_FreeCString() is feasible but makes the exception test cumbersome and more likely to be missing.
I guess the API should have been different, taking the pointer by reference and returning a status that can be checked directly.  Changing that seems overkill.
Your proposition, including the stack trace in the special that emulates Error.toString(), has a very limited scope: it would only occur when the conversion of an Error object itself generates an exception,  eg: in case of a pending stack overflow.
What is your use case ?

I left a comment (https://github.com/quickjs-ng/quickjs/issues/632#issuecomment-2440069420) in another issue just now that outlines what I'm looking for: an infallible to-string method that's free of side effects (no JS calls) and returns something that's useful to human eyes.
I'll close this issue, let's continue the discussion in the other one.


What happened?
its not a bug, but suggestion to make text inputs for points on image, thanks in advance
How to reproduce the bug
GG
Package Version
0
PHP Version
0
Laravel Version
0
Which operating systems does with happen with?
No response
Notes
No response

Hi there! Text Inputs are complicated to implement as it will hold multiple states. However, I can review an implementation if someone makes a PR.


Fix problems with the page count and add some shortcuts

Resolves #68, fixes #67

Fix the problem with the inconsistent page count and the next/previous page buttons not working (#67)
Add the right and left arrow keys as shortcuts for next/previous page when the page is entirely in view (#68)
Add shortcuts for zooming in and out
Add shortcut to reset zoom

@callumjohnspiller You can try it out already by downloading the plugin zip from https://github.com/slideclimb/intellij-pdf-viewer/releases and then go to Plugins > Install from disk.
We're working on getting these things merged.

Oh cool, will do that and report back, thanks :)


Question about perceptual loss

Hi, I'm very interested in your essay, it's really a nice and inviting work. However, it seems there still need some time for you to open-source the overall code, may I ask the detail of how to design the perceptual loss part, since most NeRF randomize rays while training, I don't know how you managed to design the patches used for perceptual loss.  Thanks!

Thanks for your kind words. The perceptual loss is defined on the whole rendered image. We render all rays while training and use the memory-saving technique to update the gradient. I would like to share the loss functions and the memory-saving technique via email. Please feel free to contact me via email.

@cassiePython Hi, thanks for your reply! I've sent you an email, it's really kind of you to share your amazing idea! Thanks

@william0620 Please find the attached file in your email. Hope you all the success!

@cassiePython May I request you about the 'memory-saving technique' when rendering whole image? I want to know about this too! :)


Different results for add_loss() within TimeDistributed for eager vs. compiled execution of keras Layer

**This issue is copied from tensorflow/tensorflow#46244. **
The issue is moved here for better tracking since the keras code has been moved to keras-team/keras repo.
System information
Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes, included below
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 20.10
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: n/a
TensorFlow installed from (source or binary): pip binary
TensorFlow version (use command below): v2.4.0-rc4-71-g582c8d236cb 2.4.0
Python version: '3.8.6 | packaged by conda-forge | (default, Nov 27 2020, 19:31:52) \n[GCC 9.3.0]'
Bazel version (if compiling from source): n/a
GCC/Compiler version (if compiling from source): n/a
CUDA/cuDNN version: 11.0 / 8
GPU model and memory: TITAN X (Pascal) computeCapability: 6.1
Describe the current behavior
In the minimal example code below, I have a keras Layer which calls add_loss(), and this layer is wrapped in TimeDistributed. When I execute the layer in eager mode, the losses have an extra timestep, as the first timestep is double-counted. However, if I evaluate the compiled model, the correct loss is computed.
During eager execution, the add_loss gets called first when computing output_timestep_zero:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/keras/backend.py#L4452
and subsequently called 5 (== # timesteps) times by: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/keras/backend.py#L4538
Describe the expected behavior
I expected layer.losses to count each timestep once and not double count the first timestep. I would think that the loss would be cleared after the first call used to obtain output_timestep_zero. I'm not entirely sure I understand why the first timestep is double-counted, but it would be useful to have the eager mode execution return the same losses as reported when the model is compiled.
Standalone code to reproduce the issue
below I run a simple example with 5 timesteps, where the input equals the timestep value + 1, so the correct loss would be
mean([1, 2, 3, 4, 5]) == 3. In eager execution, the first timestep is counted twice
import tensorflow as tf
import tensorflow.keras as keras
import numpy as np

# build inputs(b, t, i) == t + 1 with size [batch, timesteps, inputs]
batch, timesteps, ninputs = 1, 5, 1
timevec = (
    np.arange(timesteps, dtype=np.float32) + 1
)  # we start at one since the first gets double-counted
inputs = np.broadcast_to(
    timevec[np.newaxis, :, np.newaxis], (batch, timesteps, ninputs)
)

class AddsLossLayer(keras.layers.Layer):
    """Identity layer which calls add_loss on mean of input"""

    def __init__(self, **kwargs):
        super().__init__(**kwargs)

    def call(self, inputs):
        # inputs is batch x ninputs
        # return input but add_loss(mean of current input over ninputs dimension, should == timestep + 1)
        self.add_loss(tf.math.reduce_mean(inputs, axis=0, name="loss"))
        return inputs

    def compute_output_shape(self, input_shape):
        return input_shape

adds_loss_layer = AddsLossLayer()
td_layer = keras.layers.TimeDistributed(adds_loss_layer)

outputs = td_layer(inputs)

print(f"inputs shape = {inputs.shape}")
print(f"outputs shape = {outputs.shape}")
print(f"len(td_layer.losses) == {len(td_layer.losses)}")
print(f"len(adds_loss_layer.losses) == {len(adds_loss_layer.losses)}")
print("loss values == ", [loss.numpy() for loss in td_layer.losses])

# inputs shape = (3, 5, 1)
# outputs shape = (3, 5, 1)
# len(td_layer.losses) == 6
# len(adds_loss_layer.losses) == 6
# loss values ==  [array([1.], dtype=float32), array([1.], dtype=float32), array([2.], dtype=float32), array([3.], dtype=float32), array([4.], dtype=float32), array([5.], dtype=float32)]

# so we double count the first timestep!

model_inputs = tf.keras.Input(shape=inputs.shape[1:], dtype="float32")
adds_loss_layer = AddsLossLayer()
td_layer = keras.layers.TimeDistributed(adds_loss_layer, name="td")
model_outputs = td_layer(model_inputs)

model = keras.Model(model_inputs, model_outputs)
model.compile()
model.evaluate(inputs, None, verbose=2)

# 1/1 - 0s - loss: 3.0000
# (this is correct, (1 + 2 + 3 + 4 + 5) / 5 == 3)

model.fit(inputs, None, epochs=1)

# 1/1 [==============================] - 0s 100ms/step - loss: 3.0000
# (this is correct, (1 + 2 + 3 + 4 + 5) / 5 == 3)

outputs = model(inputs)

print("mean model.losses = ", tf.math.reduce_mean(model.losses).numpy())

# mean model.losses =  2.6666667
# due to double counted first timestep, (1 + 1 + 2 + 3 + 4 + 5) / 6 = 2.666667

I can reproduce this with recent TF2.6 and tf-nightly. May be this is a potential bug.

Thanks for reporting the issue. The implementation used in each case is different, hence why we see different results.
The double call on the first time step occurs at the level of keras.backend.rnn, which is the implementation used in eager mode. Specifically here: https://github.com/keras-team/keras/blob/master/keras/backend.py#L4507-L4510
We call the step function a first time to infer the shape/dtype of the output. This assumes that the step_function does not have any side effect, but in practice that isn't the case when add_loss is used.
There isn't really a clean way to fix it. We'd need for backend.rnn to set some form of global state (a backend flag) that says "ignore add_loss and add_metric", then the base Layer would check for this flag in add_loss / add_metric and do nothing if it is set. Would you like to open a PR to fix the bug?
If not we'll look into fixing this. In the meantime, prefer not using add_loss with TimeDistributed (you can implement your own version of distribution based on reshaping instead).

Hello, Thank you for reporting an issue.
We're currently in the process of migrating the new Keras 3 code base from keras-team/keras-core to keras-team/keras.
Consequently, This issue may not be relevant to the Keras 3 code base . After the migration is successfully completed, feel free to reopen this Issue at keras-team/keras if you believe it remains relevant to the Keras 3 code base. If instead this Issue is a bug or security issue in legacy tf.keras, you can instead report a new issue at keras-team/tf-keras, which hosts the TensorFlow-only, legacy version of Keras.
To know more about Keras 3, please read https://keras.io/keras_core/announcement/


Library independence - tick function

Hi! I want to reopen this issue, it is important for any library that has its own animation loop, it should not be closed!
https://github.com/juliangarnier/anime/issues/43

I agree with @wdanilo - currently hacking core to expose this flexibility. I have a canvas I'd like to composite anime in on another pass.

What's the difference between tick() and seek()?
Why this doesn't work but with animation.seek() it does:
let battery = {
	cycles: 120,
};

let animation = anime({
	targets: battery,
	autoplay: false,
	cycles: 130,
	round: 1,
	duration: 1000,
});

animation.tick(10); // doesn't set animation.began to true
animation.tick(100); // doesn't set animation.began to true

animation.seek(100); // does set animation.began to true

Shouldn't tick() also start the animation? tick() seems to only work inside requestAnimationFrame, which is odd.
If there is some internal timer then IMO it should be exposed like animation.startedTime but I don't see one.

Ok, it seems I figured it out:

tick() requires 2 calls to start changing the animated value and 3 calls to change began to true.
seek() requires 1 call to start changing the animated value and 2 calls to change began to true.

Are there any other differences?
IMO, the above behavior is not clear without extensive debugging:

Maybe add this to the documentation? To me more info in the docs is always better.
I'd keep tick() setting the startTime on first call if not set, but please consider adding optional setStartTime() method, which some users (like myself) might choose to call (instead of first tick()) with startTime immediately upon initialization. This is to add more logical and user-friendly naming and process. The first tick() in requestAnimationFrame loop would already start animating the value then.
Please add JSDoc to /src/index.js. Some design decisions (like setting began to true from second frame and not first) are not clear otherwise.

Actually there may be a bug there:
animation.tick(0);
animation.tick(0);
animation.tick(0);
animation.tick(10); // Correct time provided but incorrect value of 0 returned by anime.js,
                    // it should be already higher than 0 or the 1st frame is skipped in requestAnimationFrame
animation.tick(20);

animation.tick(0); should already set the startTime to 0 and the animation.tick(10); call should already return something else than 0 for the animated value (0 to 1 animation, I removed round: 1).
It seems to me that by using custom requestAnimationFrame timer the first frame will be skipped because animation.tick(10); doesn't return the correct value. Animation visually starts from animation.tick(20); which is wrong.

I have to admit that the animation.tick API is a bit confusing and I barely used it myself.
This is going to be deprecated in the next version and be replaced by giving you the option to bypass the main anime.js loop by your own loop.

Awesome, can't wait!
I hope the new system will render from the 1st frame.
Currently animation.tick(0); and animation.seek(0); don't set the beginning of the animation at 0, thus causing the very 1st frame to be skipped (and the animation is actually delayed by 1 frame).
tick and seek are so similar that maybe they could be one thing.

Yes this has already been taken care of. seek(0) now correctly renders the
animation.
Still some polish to do and the documentation needs to be updated but I
hope to get a beta out soon !
On Sun 6 Nov 2022 at 21:54, manake @.***> wrote:

Awesome, can't wait!
I hope the new system will render from the 1st frame.
Currently animation.tick(0); and animation.seek(0); don't set the
beginning of the animation at 0, thus causing the very 1st frame to be
skipped (and the animation is actually delayed by 1 frame).
tick and seek are so similar that maybe they could be one thing.
—
Reply to this email directly, view it on GitHub
https://github.com/juliangarnier/anime/issues/315#issuecomment-1304891209,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJVXUZ4JGHUNCRVXKHI463WHALI3ANCNFSM4EKDMM5A
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

--
juliangarnier.com


Use libinput's seat key state handling

Apologies if this is misfiled, I just stumbled across this while looking for something else in the sources.
keyboard_key_update() updates the keyboard state for the first press and the last release of a specific key. At least some part of the logic here can be punted to libinput with libinput_event_keyboard_get_seat_key_count(). That function returns the number of times that particular key is held down on all keyboards attached to this current physical seat. So instead of manually counting it, you can just handle the event as press when it switches from 0 to 1, and as release when it switches from 1 to 0.

Thanks for the tip! The catch is that the wlr_keyboard type is an abstraction over multiple keyboard backends - and libinput isn't the only one. This code works for libinput, x11, wayland, headless, and rdp keyboards alike.

ah, right, fair call. thanks and sorry for the noise.


Go module update indirect dependencies

I would take dependencies with // indirect into account when checking for updates, WDYT?

Any update on this?  It would be a useful feature for dependabot when there are security vulnerabilities in the indirect dependencies.

Support for this was added in https://github.com/dependabot/dependabot-core/pull/6361.
For indirect dependencies in your go.mod file you'll now get security updates. You can also enable version updates for them by configuring your dependabot.yml to allow all dependency types (default is direct only).


Issue with k8s.io/docs/getting-started-guides/ubuntu/manual/

I am trying to setup kubernetes cluster on ubuntu by following "kubernetes manual deployment on ubuntu".
I clone the project "git clone --depth 1 https://github.com/kubernetes/kubernetes.git" but it doesn't contain ubuntu folder (As per documentation it should be located in kubernetes/cluster/ubuntu/config-default.sh.)
what should I do ?

@raushansingh629 :wave: This issue sounds more like a request for support and less like an issue specifically for docs. I encourage you to bring your question to the #kubernetes-users channel in Kubernetes slack. You can also search resources like Stack Overflow for answers to similar questions.


MissingPluginException(No implementation found for method requestProductWithOfferIOS on channel

Version of flutter_inapp_purchase
Platforms you faced the error (IOS or Android or both?)
Expected behavior
Actual behavior
Tested environment (Emulator? Real Device?)
Steps to reproduce the behavior

requestProductWithOfferIOS is only available in ios or it will throw error currently. Please try to catch the exception for your android.


[command] Pep8ify

Right now it can't because of limitation of GitHub api.
Follow Up with GitHub or ask the user to install the integration on their repo.

That's working for now. Implement option to not push, butsend a PR against the PR.

Probably out of scope now?


Migrate to GitHub Actions, support Ruby 3.0 and support Rails 6.1

Why

We want to use the library with Ruby 3.0 / Rails 6.1.
Travis now imposes a relatively tight limit on OSS projects and it sometimes fails due to credit shortage.

What

Migrated from Travis CI to GitHub Actions.

It's not run in ngtk/open_api until it's merged, here's the result on my side: https://github.com/qnighy/open_api/actions/runs/1077009889

Supported Ruby 3.0 by fixing keyword parameters.

Turned def initialize(**hash) into def initialize(hash)
We could instead fix the tests to remove syntax like OpenApi::Paths.new({ ... }) but I thought it's the intended use.

Relaxed the version constraint on Rails.

Also configured the CI to test in various versions of Rails.

I'm going to release the next version soon. please wait a moment.

Thanks for the quick action!
Looks like the action is stalling? How about rerunning as all jobs there don't have side effects.

Looks like the action is stalling? How about rerunning it, as no jobs there have side effects?

Oh, I missed it 🙈 I reran it and it was passed.
Also I already have pushed the gem to rubygems. https://rubygems.org/gems/open_api/versions/0.6.0


Detect (BrowserStack) launcher within tests

I'm using Jasmine and found that when run with the BrowserStack karma launcher, test taking 4 seconds locally would take ~30 seconds.
I'd like to dynamically adapt jasmine.DEFAULT_TIMEOUT_INTERVAL (increase it only for BrowserStack).
Is there anything (within window.*?) I could rely on in order to tweak this setting dynamically?

@drzraf the browsers used on BrowserStack are identical to the ones used locally. Hence you would find no difference in the window objects between the two browsers.


Fix(tooltip.textStyle): fix color not working

Brief Information
This pull request is in the type of:

[x] bug fixing
[ ] new feature
[ ] others

What does this PR do?
Fix tooltip.textStyle.color not working
Fixed issues
Close #13797
Details
Before: What was the problem?

After: How is it fixed in this PR?

Usage
Are there any API changes?

[ ] The API has been changed.

Related test cases or examples to use the new APIs
NA.
Others
Merging options

[ ] Please squash the commits into a single one when merge.

Other information
tooltip name and value can be configured separately. More textStyle support

Sorry for the late review. I left my comments about some tiny change suggestions. Other changes look good to me. @100pah can have a double check.

Sorry for the late review. I left my comments about some tiny change suggestions. Other changes look good to me. @100pah can have a double check.

@100pah @100pah Hi, I have correct my code, please review it again, thanks

@100pah @100pah Hi, I have correct my code, please review it again, thanks

LGTM now:)

LGTM now:)


Decommission Nodes doc improvement

Re: Decommission Nodes
Issue Description
@ron pointed out decommission does not work on 3 node setup and @knz confirmed this behavior.  This is also pointed out in the doc.

on 3 node setup, the command starts but never completes.

$ cockroach quit --decommission --insecure

  id | is_live | replicas | is_decommissioning | is_draining
+----+---------+----------+--------------------+-------------+
   1 |  true   |       21 |        true        |    false
(1 row)
..............
.......

AdminUI marked the node as a suspect.

once the cluster is in this state, when a 4th node is added, the suspect flag does not go away

$ cockroach node status --all --insecure
  id |      address      |  build  |            started_at            |            updated_at            | is_available | is_live | replicas_leaders | replicas_leaseholders | ranges | ranges_unavailable | ranges_underreplicated | live_bytes | key_bytes | value_bytes | intent_bytes | system_bytes | gossiped_replicas | is_decommissioning | is_draining
+----+-------------------+---------+----------------------------------+----------------------------------+--------------+---------+------------------+-----------------------+--------+--------------------+------------------------+------------+-----------+-------------+--------------+--------------+-------------------+--------------------+-------------+
   1 | rsl13.local:26257 | v19.1.1 | 2019-06-17 01:05:13.931882+00:00 | 2019-06-17 13:16:31.781711+00:00 |         true |    true |                0 |                     0 |      0 |                  0 |                      0 |   52233558 |   -854130 |    53087688 |            0 |            0 |                 0 |        true        |       false
   2 | rsl13.local:26259 | v19.1.1 | 2019-06-17 01:05:14.010574+00:00 | 2019-06-17 13:16:31.892999+00:00 |         true |    true |                7 |                     7 |     20 |                  0 |                      0 |  107981872 |    122926 |   107903922 |            0 |         9330 |                20 |       false        |       false
   3 | rsl13.local:26261 | v19.1.1 | 2019-06-17 01:05:14.011546+00:00 | 2019-06-17 13:16:31.892428+00:00 |         true |    true |               11 |                    11 |     20 |                  0 |                      0 |  107981872 |    122926 |   107903922 |            0 |         9330 |                20 |       false        |       false
   4 | rsl13.local:26263 | v19.1.1 | 2019-06-17 13:12:50.423841+00:00 | 2019-06-17 13:16:30.966433+00:00 |         true |    true |                2 |                     2 |     20 |                  0 |                      0 |   55805170 |    977104 |    54873184 |            0 |         9330 |                20 |       false        |       false
(4 rows)

Suggested Resolution
Add the following:

recommission allows the node to come back as regular

cockroach node recommission 1 --insecure

add new section header 4-node cluster with 3-way replication right before To successfully decommission a node, you need to first add a 4th node:

@piyush-singh might be worth adding a section on how AdminUI detects the suspect as cockroach sql --insecure still works on decommission node.

@taroface, this would be good to take care of before the end of Jan. Request from the customer success team.


bug/Hardcoded attachment_partitioner for msg

Currently, the attachment_partitioner is hardcoded to partition in the following file:
https://github.com/Unstructured-IO/unstructured/blob/50d75c47d346413de8a6dbbcf72009871f7ecd56/unstructured/partition/msg.py#L259-L277
However, according to the official documentation, the partition-msg function accepts attachment_partitioner as an argument.

#3605 PR (Draft)

@S1M0N38 that was removed on purpose. @Paul-Cornell can you remove that parameter from the docs for us?

When a .msg file contains an attachment of an unsupported type (UNK), the partition_msg function halts. I've implemented a custom attachment_partitioner to filter out unsupported types.
Is there another way to process the supported types and ignore the unsupported ones?
(yeah, I can remove it but tomorrow. here is 9pm)

@scanny I'm not quite sure how to "remove" that parameter from the docs. Searching for attachment_partitioner across the docs returns four results, some in text, and some in code. I don't have enough context to know exactly what needs to be removed here. Could you please either advise, or create a PR in the docs repo? Thanks!

@S1M0N38 Ahh, okay, so that's a bug then. You shouldn't have to provide a custom partitioner for that :)
Shall we make this into a bug report for that or do you want to open a new one?
The correct behavior would be for partition_msg() to simply skip any attachments it doesn't know how to partition.

@Paul-Cornell it looks like the text is about the same for partition_email() and partition_msg() on that page:

You can optionally partition e-mail attachments by setting process_attachments=True. If you set process_attachments=True, you’ll also need to pass in a partitioning function to attachment_partitioner. The following is an example of what the workflow looks like:

from unstructured.partition.auto import partition
from unstructured.partition.email import partition_email

filename = "example-docs/eml/fake-email-attachment.eml"
elements = partition_email(
  filename=filename, process_attachments=True, attachment_partitioner=partition
)

You can change it like this in each case:

You can optionally partition e-mail attachments by setting process_attachments=True. The following is an example of what the workflow looks like:

from unstructured.partition.email import partition_email

filename = "example-docs/eml/fake-email-attachment.eml"
elements = partition_email(filename=filename, process_attachments=True)

So:

get rid of the middle sentence
remove the import of partition
remove the attachment_partitioner=partition argument in the partition_email() call.

@S1M0N38 Ahh, okay, so that's a bug then. You shouldn't have to provide a custom partitioner for that :)
Shall we make this into a bug report for that or do you want to open a new one?
The correct behavior would be for partition_msg() to simply skip any attachments it doesn't know how to partition.

let's make this issue into a bug report and modify the title accordingly.


Fix compound query conditionless logic

A compound query should only be conditionless when any of its inner
queries are not writable.  Previously we were only checking if the inner
queries were also not conditionless.
Closes #2086

Merged to 2.x and master


Add Alauda as ADOPTERS

Hi, we utilize KubeVirt for running and managing virtual machines in our product Alauda Container Platform(ACP).
We are very happy to be a adopter of KubeVirt, and I'd like to share this information to you.
Thanks

/cc @aburdenthehand

Thanks a lot @mirake!
/approve


Discussion - initial impressions

Just installed the Pharo client for the first time and thought it would be good to record my initial impressions.
I did this...

Downloaded Pharo Windows Standalone... http://files.pharo.org/platform/Pharo6.1-win.zip
Updated Iceberg... https://github.com/pharo-vcs/iceberg#update-iceberg
Installed Exercism... https://github.com/exercism/pharo/blob/master/docs/INSTALLATION.md
except skipped running "ExercismManager welcome"

System Browser shows...

and after now evaluating ExercismManager welcome, System Browser shows...

Great idea, but the downside of relocating a class out of the ExercismTools package is:

ExercismTools package becomes dirty
running it a second time (because someone will try - at least I'm looking at myself) shows an error message "package already exists" and opens a debugger "#moveClass:toTag: was sent to nil"

Instead of delivering a Welcome class in ExercismTools, we can create it programatically.
Also, we don't need the user to explicitly run ``````ExercismManager welcome```.
It can be done by the class initialization when ExercismManager class is first loaded.

Really cool idea to add an "Exercism" menu, but I had trouble finding it near the bottom of the list. I think it works better at top of the menu.

I like the way that fetching the first exercise asks for the student token,
but I felt lazy** and didn't want manually to browse to the Exercism settings page to get it.
So I spent a few hours working out how to provide a clickable link - something new to me but was optimistic would work.
** one of the programming virtues, but was it worth the time?

I'll open another issue for subsequent ideas.


:memo: update README

Fix #36

@pyaillet maybe we should add the CLI version for both Terraform & Azure after the tag and Dockerfile links ?

Well I was thinking about adding a simple text behind the tag for documentation purpose only, like so in the Supported tags and respective Dockerfile links section:
zenika/terraform-azure-cli:latest-debian - TF 0.12.9 + AZ CLI 2.0.74

But choosing a new tagging strategy might be the best way to go, I agree with the proposed format.
I've opened a new issue #46 to track this 😉
Waiting for you to remove the old zenika/terraform-azure-cli:latest-debian line @pyaillet


fix(getTokenData2): Adding API documentation

:tada: This PR is included in version 2.4.2 :tada:
Your semantic-release bot :package::rocket:


unit dropdown selection

add dropdown of units
Aus team to provide list of units
paste into axis title

the list of units
mg/L
µg/L
ng/L
%
mg/kg
µg/kg
mol/L
mmol/L
µmol/L

done


fork qr code library and update the camera handling

This is done.

This is obsoleted by the new implementation.


[Feature][Connector v2] Support hudi sink?

Search before asking

[X] I had searched in the feature and found no similar feature requirement.

Description
i want to sink data to hudi use seatunnel，is there a plan to implement hudi's sink?
Usage Scenario
No response
Related issues
No response
Are you willing to submit a PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

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

#4405


RequestAuthentication : outputClaimToHeaders - JWT with Polish letter claim cause strange char in header

Is this the right place to submit this?

[X] This is not a security vulnerability or a crashing bug
[X] This is not a question about how to use Istio

Bug Description
RequestAuthentication:
apiVersion: security.istio.io/v1
kind: RequestAuthentication
metadata:
  name: blah
  namespace: blah
spec:
  jwtRules:
  - issuer: https://blah/blah
    jwksUri: https://blah/blah
    outputClaimToHeaders:
    - header: x-user-name
      claim: name

JWT:
{
....
"name": "Marek Ogarek-Mikołaj",
...
}
Cause:
In x-user-name header I have: Marek Ogarek-MikoÅaj  but expected: Marek Ogarek-Mikołaj
Is there any workaround or maybe some additional info need to be send to be properly decoded ??
Thanks in advance!
Version
===============istioctl===================
istioctl version
client version: 1.17.2
control plane version: 1.17.2
data plane version: 1.17.2 (12 proxies)

===============kubectl====================
kubectl version
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short.  Use --output=yaml|json to get the full version.
Client Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.3+rke2r1", GitCommit:"9e644106593f3f4aa98f8a84b23db5fa378900bd", GitTreeState:"clean", BuildDate:"2023-03-17T20:37:48Z", GoVersion:"go1.19.7 X:boringcrypto", Compiler:"gc", Platform:"linux/amd64"}
Kustomize Version: v4.5.7
Server Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.3+rke2r1", GitCommit:"9e644106593f3f4aa98f8a84b23db5fa378900bd", GitTreeState:"clean", BuildDate:"2023-03-17T20:37:48Z", GoVersion:"go1.19.7 X:boringcrypto", Compiler:"gc", Platform:"linux/amd64"}

Additional Information
No response
Affected product area

[ ] Ambient
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[X] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Control Plane Revisions

I think this is related to upstream envoy, Istio is not doing the encode/decode.

Ok thanks for the quick reaction, I will move question to envoy


Allow loading the root app and child apps asynchronously and registering apps

Currently
The root application is required to load and inject itself into the window global before any other child application can register. This prevents us from adding the async attribute to the script, which allows us to load multiple scripts in parallel.
// In index.html
<script src="https://example.com/assets/root.js"></script>
<script src="https://example.com/assets/childApp.js"></script>

// In root.js
window.app = new App();
render(window.app, containerElement);

// In childApp.js
window.app.registerApp(ChildApp, {
  regions: ['main'],
});

Proposed
The proposed changes would allow to load root and child apps asynchronously, but in a way that execution order is not guaranteed. Doing this would increase the time to first paint and would prevent the script from blocking any other script parsing and/or layout render.
We achieve this by injecting a placeholder array for the root app on each child app, when it's not currently available. When the root app is loaded, we replace the placeholder array with the root app. By adding a push method to the Application API, we can emulate the array's own. This way, child apps don't need to be aware if they're pushing to an array or to the actual root application.
Prior Art:  http://googlecode.blogspot.nl/2009/12/google-analytics-launches-asynchronous.html
// In index.html
// Note the addition of the async attribute
<script src="https://example.com/assets/rootApp.js" async></script>
<script src="https://example.com/assets/childApp.js" async></script>

// In root.js
const rootApp = new RootApp();
window.app.forEach(app => rootApp.push(app));
window.app = rootApp;
render(rootApp, containerElement);

// In childApp.js
window.app || window.app = [];
window.app.push({
  app: ChildApp,
  regions: ['main'],
});

To be done:

[ ] Add the push method to the App component, this should internally call the registerApp method.
[ ] ~Remove the dependency on any window global in library code, see Region.js~ See Fahad's comment
[ ] Create test scenarios where child apps run before the root app.

cool stuff! I really like the proposal of making all <script>s async.
Replying to the to be done items below:

Add the push method to the App component, this should internally call the registerApp method.

I am hesitant to add any new method at App class level in frint package. Since the proposal is a different approach than the docs, and a custom implementation of its own, may be we can do something like:
// root-app/index.js
window.app = new RootApp();
window.app.push = function () { ... };

Remove the dependency on any window global in library code, see Region.js

Since 1.x, we don't depend on globals any more. I believe this specific line was left out for frint-compat. But needs further investigating of course.

Create test scenarios where child apps run before the root app.

👍 👍

@fahad19 Sounds reasonable, so no API changes. Do you agree things do be done then would be:

Updating the documentation to include this use case
Create or update examples to show this is possible.
Create a test for this.

I would love it if there is a new page here under HOW TOS for detailing this approach.
You can also create a new example for this in the repo. Something you may want to point to from the docs.

Closed via #206.