question: rationale behind using roots_x_before/roots_x_after

I'm trying to understand the rationale/design choice using those functions. I see that it's nice to have hook points at specific points, but why is this implemented in some external function and not directly in the template or as an include?
One of the things I find frustrating with wordpress in general, is the lack of separation between application logic and presentation. app-logic code finds its way into the presentation templates, and application-logic functions frequently handle presentation issues in code, e.g. by outputting HTML formatted strings. It feels like the roots_x_before() calls are at risk of doing the latter. Or maybe I misunderstood the purpose of having those functions?
I'm not criticizing. I'm really just trying to better understand how this can be used / re-used, or how to create some 'best practice' for using this effectively and without stepping on my own toes or creating nasty code.

This is how all WP parent themes are setup. It's really the only way to allow child themes to inject code into the pre-made and not-to-be-modified parent theme's template files. I can't think of any way that's more graceful to be honest. If you need to make major adjustments to a parent template, just copy it over to the child and hack it up--the child will use its copy over the parent theme's copy.
Note: The only time doing this annoys me is for the header and footer template files. I think it would be nice to have the header more broken up, where the <head> code is separate from the <header><div> (ect...) code. I don't ever need to change the <doctype /><html /><head /> markup in the header template but I often need to modify the markup immediately following the <head> section... to add or remove divs around the navigation markup, etc... One way to do this may be to wrap the markup after the <head> section with function_exists() or do_filter().
These are just some ideas that came to mind based off your question. Back on topic: If you can think of a more elegant way to do the _before and _after hooks it would certainly be revolutionary to the WP parent theme world.

Thanks @leoj3n. Child-theme scenario makes a little more sense I suppose. However, I'm still not sure how this is better than simply copying the same page to your child theme and modifying it directly there. This seems like the safer alternative against major parent-theme changes/upgrades. Plus, as far as I understand it, roots is not particularly child-theme friendly anyway, and most developers will probably hack the theme directly(?). Child-theming roots will make you lose some of the good stuff that it offers, right?
I don't know about revolutionzing the WP parent theme world, but I'm currently looking at integrating roots with Mustache templates. I think it can add another 'extra' to roots and can really make theme changes / editing a little easier, separating logic from templates etc. It's still very raw, but I'm hoping to build some kind of a prototype and let it out in the wild, see if it catches on. I felt that I needed to understand how roots was designed first, and what was the mindset before adapting it though, hence this question. Thanks again for taking the time to explain.

would love to see what you're doing with roots + mustache

Great. Have a look at my fork at https://github.com/gingerlime/roots
It's still work-in-progress, but I think the basic functionality is there and it seems to work quite well. It's just a rough skeleton/proof-of-concept at this stage. Not all pages were converted yet.
Special thanks to @bobthecow (who created Mustache.php) for helping out on some i18n issues.
Let me know what you think. Would be great to get some feedback/suggestions/rants. No rants actually :)

see #230


Exception.message was removed in Python 3

The current Jenkins log has numerous entries that include the warning:

DeprecationWarning: BaseException.message has been deprecated as of Python 2.6

Exception.message was removed in Python 3 in favor of Exception.args[0] which works in both Python 2 and Python 3.

@aaltay I still can not tell from the Jenkins logs why a Python change is failing the Java tests.  Can you help me to identify which change is causing this failure?

I do not think  the Java test error is related to this python specific change.


fix(NexusIq): Ensure only valid PURLs are used in the bulk request

It is possible that a package declares an empty string as PURL, e.g. for non-published packages. This results in a Bad Request. Avoid this by filtering the packages, before requesting the package details.

It is possible that a package declares an empty string as PURL, e.g. for non-published packages.

I believe that comment is a bit misleading, even if I known about the background discussion. Also for non-published packages you can construct a PURL how it would be valid once the package was published.
Anyway, for advisors that directly take a PURL as part of their API it surely makes sense to verify that a PURL is valid / present.

Also for non-published packages you can construct a PURL how it would be valid once the package was published.

Yes, this is correct. But does this mean, that the Analyzer should never return an empty PURL, but construct one based on the package ID (option 1)?
Alternatively we could do this in the Advisors, which have issues with empty requests (option 2).
Or filter the empty PURLs as it is currently done in this PR (option 3).
Which option do you prefer? All 3 should fix the issue at hand.

Or filter the empty PURLs as it is currently done in this PR (option 3).

IMO we should do option 3 for all advisors that take PURLs, to fix the issue also for people who use the advisors programmatically.

And we'd also need the same fix for OssIndex, too, which might resolve #6564.


Support create sink s EMIT ON WINDOW CLOSE statement

Intend to benchmark several queries, e.g. q5 q7, that has been EOWC-supported to compare with Flink

create materialized view mv EMIT ON WINDOW CLOSE as works

It is done in https://github.com/risingwavelabs/risingwave/pull/10550


fix(document-viewer): use generic text 'heading' for slug if there is no text

Summary
If a heading node was in the markdown JSON without any text in the children, the toSlug could fail trying to call methods on undefined

PR Checklist

[ ] Naming & Structure: the files and package structure use the conventions outlined in the Creating a Package docs.
[ ] Tests pass: check the output of all package unit and/or component tests.

[ ] If this PR is the result of a bug, test coverage was added accordingly.

[ ] Functional: all changes do not break existing APIs, but if so, a BREAKING CHANGE commit is in place to bump the major version.
[ ] Conventional Commits all commits follow the conventional commit standards outlined in the main README.
[ ] Docs: includes a technically accurate README, and the docs have been updated accordingly based on the changes in this PR.

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

 Thank you 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.


Feature: fvm create

I purpose fvm create be followed by selector from installed versions of flutter and based on selected one, it should proxy to flutter create of that version. After flutter create, flutter use or in future flutter alias also executed to hook up with fvm.
Thx

@jascodes this makes sense, but I am trying to be careful about not having flutter cli api that is being just proxied. I do think this is an interesting case especially for people using web, and desktop, since they are using unstable versions.
I think I will remove the guard to only allow to use the fvm use command on a flutter project, or at least allow for an override prompt. You will be able to do that using the following.

mkdir
cd
fvm use <version>
Prompt saying 'This is not a Flutter project. Are you sure you want to proceed?`
This will setup fvm config in the project.
Use fvm flutter create

Let me know if that works for your case.

@leoafarias Your solution will works too and it makes sense on depending on flutter cli; plus its quick fix. Infact I tried that myself and stumbled upon by guard.

@all-contributors please add @jascodes for ideas


changelog as html

Codecov Report
Attention: 28 lines in your changes are missing coverage. Please review.

Comparison is base (98c4262) 82.75% compared to head (54382a6) 82.58%.

Files
Patch %
Lines

checker/changes_by_endpoint.go
0.00%
18 Missing :warning:

formatters/format_html.go
50.00%
4 Missing and 2 partials :warning:

checker/changes.go
33.33%
4 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #427      +/-   ##
==========================================
- Coverage   82.75%   82.58%   -0.17%
==========================================
  Files         210      211       +1
  Lines       12237    12268      +31
==========================================
+ Hits        10127    10132       +5
- Misses       1744     1768      +24
- Partials      366      368       +2

Flag
Coverage Δ

unittests
82.58% <22.22%> (-0.17%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Material is not being rendered correctly on Samsung Galaxy Tab A

Godot version:
3.2
OS/device including version:
Samsung Galaxy Tab A
Web build
Issue description:
Material is not being rendered correctly on Samsung Galaxy Tab A. The tablet likely uses etc vram compression.
The game on Linux desktop (The game looks fine in both Firefox and Chrome):

The game on Samsung Galaxy Tab A in Chrome (Firefox has the same issue):

In these screenshots the watermelon and the stars are rendered incorrectly.

Looks like there is actually two underlying issues going on here.
The first is the obvious, somehow textures are getting corrupted either on import or on load.
The second doesn't appear in the above screenshot, but does appear in the test case you sent. It is related to a few other reported problems with GLES2 on mobile. (https://github.com/godotengine/godot/issues/33633 and https://github.com/godotengine/godot/issues/34257, maybe related https://github.com/godotengine/godot/issues/35459)
I am going to focus on the first issue and then we can reassess.

Fixed by #36694.


Improve Actions hygiene

👋 hello there! I'm a fellow Googler who works on projects that leverage GitHub Actions for CI/CD. Recently I noticed a large increase in our queue time, and I've tracked it down to the limit of 180 concurrent jobs for an organization. To help be better citizens, I'm proposing changes across a few repositories that will reduce GitHub Actions hours and consumption. I hope these changes are reasonable and I'm happy to talk through them in more detail.

Only run GitHub Actions for pushes and PRs against the main branch of the repository. If your team uses a forking model, this change will not affect you. If your team pushes branches to the repository directly, this changes actions to only run against the primary branches or if you open a Pull Request against a primary branch.

For long-running jobs (especially tests), I added the "Cancel previous" workflow. This is very helpful to prevent a large queue backlog when you are doing rapid development and pushing multiple commits. Without this, GitHub Actions' default behavior is to run all actions on all commits.

There are other changes you could make, depending on your project (but I'm not an expert):

If you have tests that should only run when a subset of code changes, consider gating your workflow to particular file paths. For example, we have some jobs that do Terraform linting, but they only run when Terraform files are changed.

Hopefully these changes are not too controversial and also hopefully you can see how this would reduce actions consumption to be good citizens to fellow Googlers. If you have any questions, feel free to respond here or ping me on chat. Thank you!

I kind of want to let the actions run before merging this PR changing the actions... Looks like all GitHub actions in the Google org are totally borked :-/

(And still are 13 hours later). I totally understand wanting to wait.

So close, just a few more 😃

So the cancel action appears to take ~1s, which should be fine. That said, I think as configured it doesn't work for PRs from forks, which is basically all of them in our case: https://github.com/styfle/cancel-workflow-action#advanced-pull-requests-from-forks. Do you have data indicating that these actions are causing problems that would be solved by cancelling previous runs? If so, I think we need to iterate on the exact setup.

If you take a look at : https://github.com/google/iree/actions/workflows/lint.yml?query=is%3Aqueued
You can see a number of queued actions for the same step for the same PR. So I agree, we should also cancel previous runs for PRs from a fork.

If you take a look at : google/iree/actions/workflows/lint.yml?query=is%3Aqueued
You can see a number of queued actions for the same step for the same PR. So I agree, we should also cancel previous runs for PRs from a fork.

But I think that's only because of our current situation where everything is queued forever. In the normal case, I'm not sure that cancelling previous runs will be that useful because these checks take a few seconds each


fix(pallet-smart-contract): remove contracts in state delete from billing cycle

…ling cycle

https://github.com/threefoldtech/tfchain/issues/264


Add com.snowplowanalytics.snowplow.enrichments/pii_enrichment_config/jsonschema/2-0-0

[ ] Depends on testing with https://github.com/snowplow/snowplow/issues/3580

@alexanderdean @chuwy I have added salt and some descriptions. Please have another look

Thanks @knservis. This makes sense to me but I looked at it very briefly. @chuwy?

@chuwy @BenFradet Thanks for the review. Merging

Merging to what?

@alexanderdean That comment was deleted :-) (It was meant for here https://github.com/snowplow/snowplow/pull/3633#issuecomment-372349697)

@BenFradet can you review this as it affects a Snowplow Pipeline enrichment config.

Nudge @BenFradet @chuwy

Hey @knservis - when you get the green ticks on this one, please put together a new PR with all the commits for R90. Then you can close the old PRs. Then assign to me. Thanks!

@alexanderdean Sure. Should we not wait until we have tested with the ssnpl rc to merge? The changes are substantial and I would like to make sure we haven't missed anything.

@chuwy I have added that. We should probably add it to all enrichments, as none of them have it.

@alexanderdean I am waiting for the snowplow/snowplow rc to smoke test and finalise things here (to prevent the possibility that something has been missed and the need for a patch).


[WIP] Lowering transpose operator

This implements the lowering of the graphblas.transpose operator (I know we want to rename this, but will do that in future PR).  This also creates some utility functions to help with fetching / defining external helper methods.

Pull Request Test Coverage Report for Build 901161649

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 81.698%

Totals

Change from base Build 897148668:
0.0%

Covered Lines:
1424

Relevant Lines:
1743

💛  - Coveralls


Error when trying to implement a One to Many ( Unique constraint failed on the constraint )

Bug description
I am trying to make a one to many relation, where a user can report many bugs. But when I try to make a user post bugs this error occurs: Unique constraint failed on the constraint: Bug_authorId_key

How to reproduce

Create two models (user, bug)
Create a one-to-many relation between user-bug
Try make a user create more than one bug

Expected behavior
The user many posts.
Prisma information
model User {
  id Int @id @default(autoincrement())
  name String
  email String @unique
  password String
  role Role @default(User)
  bugs Bug[]
}

model Bug {
  id Int @id @default(autoincrement())
  title String
  description String
  status Status
  author User @relation(fields: [authorId], references: [id])
  authorId Int
}

enum Role {
  User
  Admin
}

enum Status {
  Solved
  High
  Medium
  Low
}

Environment & setup

OS: Windows
Database: MySQL
Node.js version: v16.16.0

Prisma Version
prisma                  : 4.5.0
@prisma/client          : 4.5.0
Current platform        : windows
Query Engine (Node-API) : libquery-engine 0362da9eebca54d94c8ef5edd3b2e90af99ba452 (at<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli 0362da9eebca54d94c8ef5edd3b2e90af99ba452 (at<EMAIL_ADDRESS>Introspection Engine    : introspection-core 0362da9eebca54d94c8ef5edd3b2e90af99ba452 (at<EMAIL_ADDRESS>Format Binary           : prisma-fmt 0362da9eebca54d94c8ef5edd3b2e90af99ba452 (at<EMAIL_ADDRESS>Format Wasm             : @prisma/prisma-fmt-wasm 4.5.0-43.0362da9eebca54d94c8ef5edd3b2e90af99ba452
Default Engines Hash    : 0362da9eebca54d94c8ef5edd3b2e90af99ba452
Studio                  : 0.476.0

@Niwau can you share the code you are running for this.

const bug = await prisma.bug.create({
    data: {
      title: req.body.title,
      status: req.body.status,
      description: req.body.description,
      author: {
        connect: {
          id: req.body.authorId
        }
      }
    }
  })

Reproduction
We cannot reproduce this problem with mysql:8 with the information provided so far. Probably the database schema wasn't aligned to the Prisma schema which resulted in this weird error appearing.
Consider the following Prisma schema:
# ./prisma/schema.prisma

generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "mysql"
  url      = env("DATABASE_URL")
}

model User {
  id       Int    @id @default(autoincrement())
  name     String
  email    String @unique
  password String
  role     Role   @default(User)
  bugs     Bug[]
}

model Bug {
  id          Int    @id @default(autoincrement())
  title       String
  description String
  status      Status
  author      User   @relation(fields: [authorId], references: [id])
  authorId    Int
}

enum Role {
  User
  Admin
}

enum Status {
  Solved
  High
  Medium
  Low
}

and the following docker-compose.yml file:
# ./docker/docker-compose.yml

version: '3.7'

services:
  postgres:
    image: postgres:10
    restart: always
    environment:
      - POSTGRES_DB=tests
      - POSTGRES_USER=prisma
      - POSTGRES_PASSWORD=prisma
    ports:
      - '5432:5432'

  mysql:
    image: mysql:8.0
    command: --default-authentication-plugin=mysql_native_password --lower_case_table_names=1
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=tests
      - MYSQL_USER=prisma
    ports:
      - '3306:3306'

We define the following environment variables:
export TEST_POSTGRES_URI="postgres://prisma:prisma@localhost:5432/tests"
export TEST_MYSQL_URI="mysql://root:root@localhost:3306/tests"
export DATABASE_URL="$TEST_MYSQL_URI"

We run the following:

Start the mysql database instance via docker-compose -f docker/docker-compose.yml up mysql
Write the Prisma schema to the database via npx<EMAIL_ADDRESS>db push

We then run the following @prisma/client script:
import { PrismaClient } from '@prisma/client'

export const prisma = new PrismaClient()

async function main() {
  await prisma.bug.create({
    data: {
      title: 'Issue #15984',
      status: 'Medium',
      description: 'Some bug description',
      author: {
        connect: {
          id: 1,
        }
      }
    }
  })
}

main()

which results in the following failure, as we're trying to connect a Bug to a not-yet existing User:
Invalid `prisma.bug.create()` invocation in
/Users/jkomyno/work/prisma/reprod-15200/index.ts:13:31

  10    description: 'Some bug description',
  11 } as const
  12
→ 13 const bug = await prisma.bug.create(
An operation failed because it depends on one or more records that were required but not found. No 'User' record(s) (needed to inline the relation on 'Bug' record(s)) was found for a nested connect on one-to-many relation 'BugToUser'.
    at RequestHandler.handleRequestError (/.../@prisma/client/runtime/index.js:30873:13)
    at RequestHandler.request (/.../@prisma/client/runtime/index.js:30856:12)
    at async PrismaClient._request (/.../@prisma/client/runtime/index.js:31836:16)
    at async main (/.../index.ts:13:14) {
  code: 'P2025',
  clientVersion: '4.5.0',
  meta: {
    cause: "No 'User' record(s) (needed to inline the relation on 'Bug' record(s)) was found for a nested connect on one-to-many relation 'BugToUser'."
  }
}

We then change the @prisma/client script to the following:
import { PrismaClient } from '@prisma/client'

export const prisma = new PrismaClient()

async function main() {
  await prisma.user.create({
    data: {
      id: 1,
      email<EMAIL_ADDRESS>      password: '<A_VERY_STRONG_PASSWORD>',
      name: 'Name Surname',
    },
  })
  await prisma.bug.create({
    data: {
      title: 'Issue #15984',
      status: 'Medium',
      description: 'Some bug description',
      author: {
        connect: {
          id: 1,
        }
      }
    }
  })
}

main()

This works as intended, and creates exactly 1 User entry and 1 Bug entry.


Run function to get index

Hi,
I add a little functionality to your sorted_set.
Now it is possible to run a function on the input values, the output of the function will be used as index inside the tree, while the value itself will be stored.
I also make a little change to the inspect function, now it prints the values and not the keys.
If you have any question please let me know :)
Cheers

Hey @siscia, thanks for the PR!
Could you explain the use case for this?
I'm not sure what the desired functionality is in a few cases and it introduces some strange results. Since this affects pretty much every function, we'd want to have test-cases describing how it works.
For example, adding a member and then checking if it is a member returns false:
SortedSet.new(fn {a, _b} -> a end, [])
  |> SortedSet.put({50, 40})
  |> SortedSet.member?({50, 40})
# false

Adding a different member overwrites the old one, which it should given the selector, but this
SortedSet.new(fn {a, _b} -> a end, [])
  |> SortedSet.put({50, 40})
  |> SortedSet.put({50, 30})
  |> SortedSet.to_list
# [{50, 30}]

The set behaviour is now undefined for many functions (even through the string representation of the sets is exactly the same):
set_a = SortedSet.new([50])
# #SortedSet<'2'>
set_b = SortedSet.new(fn {a, _b} -> a end, [{50, 40}])
# #SortedSet<'2'>
SortedSet.union(set_a, set_b)
# ** (FunctionClauseError) no function clause matching in :erl_eval."-inside-an-interpreted-fun-"/1
SortedSet.union(set_b, set_a)
# #SortedSet<[50, {50, 40}]>

Or it is order dependent:
set_a = SortedSet.new([{50, 40}])
set_b = SortedSet.new(fn {a, _b} -> a end, [{50, 40}])
# #SortedSet<[{50, 40}]>
SortedSet.union(set_a, set_b)
# #SortedSet<'2'>
SortedSet.union(set_b, set_a)
# #SortedSet<[{50, 40}]>

Hi @tyre,
Use cases
When we use a sorted set normally we want to decide what logic follow to order the set itself.
Maybe you want to keep in memory all the order made in a e-commerce by total amount spend, or you need keep some tuple in order by receive time, or you want to keep the order by priority.
Membership
sorry about the membership check, I was a little tired yesterday... It should be fixed now.
Overwrite
SortedSet.new(fn {a, _b} -> a end, [])
  |> SortedSet.put({50, 40})
  |> SortedSet.put({50, 30})
  |> SortedSet.to_list
# [{50, 30}]

It seems to work fine, the old member is overwrited by the new one, am I missing something ?
Elixir binary
set_a = SortedSet.new([50])
# #SortedSet<'2'>
set_b = SortedSet.new(fn {a, _b} -> a end, [{50, 40}])
# #SortedSet<'2'>

Here I find the behaviour of elixir a little lacking, however is simply a problem in the specific case you have quoted.
c = SortedSet.new([50])
#SortedSet<'2'>
c = SortedSet.put(c, 2)
#SortedSet<[2, 50]>
c = SortedSet.put(c, '2')
#SortedSet<[2, 50, '2']>

Union
The problem with union is due to the fact that we grow the smaller (or the second) set.
In your example the set_b have a specific selector, and it will crash when trying to execute
(fn {a, _b} -> a end).[50]
A very good type system would not allow this problem to happen, but in our case we need work around it.
Actually I don't see many use case where merge two different sorted set makes much sense so in my opinion is still debatable if we want to add this complexity, however I can see few alternatives.

Provide an union/3 which will take two set and a selector, and will build a complete new set using the new selector. A little wasteful but it will work.

Another option is to keep union/2 and always grow the first or the second or the bigger set.
To always grow the bigger set is a little unwise in my opinion, since the dimension is not know a "code-writing" time.
The other two option can be a little wasteful.

Also we could provide an union/3 that will take as input the two set to merge and another set to use as base for the merge so that the programmer can decide what is best in each case.

Finally we could simply drop the features that I keep seeing debatable.

Here it really depends on how much freedom we want the developer to have, in order from the most free to the less free options: 3, 2, 1, 4
to_list and inspect
I changed a little bit here, trying to keep your original implementation, however a few thoughts.
In my opinion to_list should return a list of the values while inspect should show the values and the index sorted by index.
Let me know what you think about everything.
Notable implementation of SortedSet are the one of Java: http://docs.oracle.com/javase/8/docs/api/java/util/SortedSet.html
The one from Microsoft: https://msdn.microsoft.com/en-us/library/dd412070(v=vs.110).aspx
And the one in Clojure: http://clojuredocs.org/clojure.core/sorted-set-by

Thank you for linking to the other implementations, that was really helpful.
It sounds like we have two things: the underlying comparator and a function for uniqueness (which determines the key for the RedBlackTree or whatever underlying implementation.) This means that RedBlackTree would need to be refactored to take a comparator function or default to elixir/erlang term comparison. I'm happy to make that change.
So for your hypothetical example:
def compare(left, right) do
  cond do
    left < right -> -1
    left == right -> 0
    left > right -> 1
  end
end

def compare_orders(%{id: id1, revenue: revenue1}, %{id: id2, revenue: revenue2}) do
  case compare(revenue1, revenue2) do
    # In the case that the revenues are the same, fall back to id ordering
    0 -> compare(id1, id2)
    revenue_comparison -> revenue_comparison
  end
end

revenues_by_order_id = SortedSet.new(
  [],
  comparator: &compare_orders/2,
  unique_by: fn (%{id: id}) -> id end
)

revenues_by_order_id = SortedSet.put(revenues_by_order_id, %{id: 1, revenue: 50})
|> SortedSet.put(revenues_by_order_id, %{id: 2, revenue: 30})
# #SortedSet<[%{id: 2, revenue: 30}, %{id: 1, revenue: 50}]>

# Someone changes their order
revenues_by_order_id = SortedSet.put(revenues_by_order_id, %{id: 1, revenue: 20})
# #SortedSet<[%{id: 1, revenue: 20}, %{id: 2, revenue: 30}]>

# A new order with the same revenue is posted
revenues_by_order_id = SortedSet.put(revenues_by_order_id, %{id: 4, revenue: 20})
# #SortedSet<[%{id: 1, revenue: 20}, %{id: 4, revenue: 20}, %{id: 2, revenue: 30}]>

# And again, to show fallback sorting
revenues_by_order_id = SortedSet.put(revenues_by_order_id, %{id: 3, revenue: 20})
# #SortedSet<[%{id: 1, revenue: 20}, %{id: 3, revenue: 20}, %{id: 4, revenue: 20}, %{id: 2, revenue: 30}]>

We still have uniqueness by id and sorting according to what we want to compare. Note that, in order to maintain the properties of a set, if the comparison operator returns 0 then we have to replace the current item, regardless of what the unique_by operator says.
Another option is to fall back to compare the unique_by results to break ties. In which case the following would be the same as the above cases:
revenues_by_order_id = SortedSet.new(
  [],
  comparator: fn (%{revenue: revenue1}, %{revenue: revenue2}) -> compare(revenue1, revenue2) end,
  unique_by: fn (%{id: id}) -> id end
)

For union and friends, I think we should use the first set given. We can add documentation and tests to show what happens if the order is reversed, but I agree that if the programmer supplies members that don't comply with the comparator then that is their own fault.
For binary representation, I'm not concerned about the '2' representation but that two sets with different members ([50], [{50, 40}]) have the same representation. They should show their members in the inspect output, not just the keys.

That sound good :)
Assuming that your RedBlackTree will take a :comparator I am implementing the SortedSet

I messed up.
For the RedBlackTree, the comparator operates on the key, meaning that any information we want to be compared must be in the key. unique_by doesn't make sense then because it cannot hold less information that required in the comparator.
For example, the above will now have to be

def compare(left, right) do
  cond do
    left < right -> -1
    left === right -> 0
    left > right -> 1
  end
end

SortedSet.new([], comparator: fn (value1, value2) ->

  # If the ids are the same, they are the same
  if value1.id === value2.id do
    0
  else
    case compare(value1.revenue, value2.revenue) do
      # If the revenues are the same but the ids are different, fall back to id comparison for ordering
      0 -> compare(value1.id, value2.id)
      # otherwise return the comparison
      revenue_comparison -> revenue_comparison
    end
  end
end)

In that case, we only need a comparator function, since it will compare two keys but store the entire thing.

The comparator need to be know by the Tree.
So the only work that need to be done is the one modifying the tree, I am right ?

@siscia yes. I've just added the functionality (referenced above) and am doing a quick code review before pushing a new version of RedBlackTree.

Alright this has been merged in. You can now pass in a custom :comparator option that will delegate to the underlying Red-Black tree.
Great idea! Thanks for opening up a PR and helping me understand your needs :smile:

You are extremely welcome, thank for your time.
Thanks for your time and effort :)


feat (Disable DataTraceEnabled by default in API Gateway constructs

Issue #, if available:
218
Description of changes:
Set DataTraceEnabled to false by default in all API Gateway constructs. This is best practice according to AWS Security
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

AWS CodeBuild CI Report

CodeBuild project: codebuildgithubautobuildPro-fkVQbXRiQi6A
Commit ID: bcac515d4ac22648fe4f5bc1c93f08cb90d24438
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


strange behavior calendar

I don't know what's happening is not giving any error I've done all the procedures, even so layout messed up.

i found the problem in my tailwind.config this important as true.


Add German language support

As a German user I want to be able to see the digital strike content in German so that I can understand it.
Acceptance Criteria:

When I add German (or English) as a config option, I see the German text as it is defined in the code.

Tech Notes:

New LANGUAGE config option is added.
All hardcoded text in the HTML is updated with {content-name}
German and English .yaml files added to /src dir
Webpack build is updated to render iFrame using .yaml files and a rendering library like Mustache or handlebars.
utf-8 character types
Config value must match the name of the yaml file and is case sensitive.

Out of scope:

Any text formatting like upper or lowercasing.
Any content overriding of the translations

Check out how Fight for the Future did this: https://github.com/fightforthefuture/redalert-widget

I am taking this issue

This was merged down in #31 . Closing this!


Creating a new setup guide

A walkthrough guide.

Awesome guide @tonyjchong !!!  Will take a look.


Track Output is buggy

When I track output, it shows queued, and then once the job starts, the output goes blank for the rest of the life of the job. I'm never updated on the status of the job after the queued state.

Hi @carlin-q-scott , It would be great if you could share insights on this particular job. Did it complete successfully as shown on Portal? Did the job have any runtime exceptions?
Also is it possible to repro or transient? Please share repro steps

It happened every time I used this feature. It didn't matter if the job succeeded or failed. Maybe it's related to the access token expiration issue I reported in #24.

This is fixed in newer versions.
Thanks


Change UnionArray constructors

Which issue does this PR close?
Closes #5613.
Rationale for this change
It came up in #5585 that the UnionArray constructors are a bit odd when compared to the other array constructors.
What changes are included in this PR?
UnionArray::try_new and UnionArray::new_unchecked
Changed arguments:
From: field_type_ids: &[i8], type_ids: Buffer, value_offsets: Option<Buffer>, child_arrays: Vec<(Field, ArrayRef)>
To: fields: UnionFields, type_ids: ScalarBuffer<i8>, offsets: Option<ScalarBuffer<i32>>, children: Vec<ArrayRef>.
The order of children arrays must match the order of fields in the UnionFields.
The validation in try_new is a bit more strict.
UnionBuilder
It now uses a BTreeMap instead of a HashMap internally to get sorted iteration.
Are there any user-facing changes?
This is a breaking change that changes the UnionArray constructors.

In light of https://github.com/apache/arrow-rs/issues/5368 I think I would like to sit on this for a bit, and we can look to get this bundled in when we next make a breaking release

I took the liberty of merging up main, making some minor tweaks to avoid hashmaps, and adding some additional tests. I think if you're happy this is then ready to go in (the next release is going to be breaking)

I took the liberty of merging up main, making some minor tweaks to avoid hashmaps, and adding some additional tests. I think if you're happy this is then ready to go in (the next release is going to be breaking)

Why would we want to avoid hashmaps/sets here?
It seems the negative type_id check was dropped.

Why would we want to avoid hashmaps/sets here?

They're slower, given there are only 128 possibilities and they'll almost always be clustered towards the lower end, it is faster just to use a vec

It seems the negative type_id check was dropped.

Would you care to expand on this?

Why would we want to avoid hashmaps/sets here?

They're slower, given there are only 128 possibilities and they'll almost always be clustered towards the lower end, it is faster just to use a vec

Is there a benchmark? I'm wondering how much slower.

It seems the negative type_id check was dropped.

Would you care to expand on this?

https://github.com/apache/arrow-rs/pull/5623/commits/7cd47ded5ebe01b8086ff68bcb442166a9f6f100#diff-7e118aa8aabb6fbbb2b5dcd508dd5b3219300bcb829c6cbef6cf35146320806aR191-R199

The check got moved to here - https://github.com/apache/arrow-rs/pull/5623/commits/a69cbac4466eb2967ff20d6b117d30e891596f6f#diff-7e118aa8aabb6fbbb2b5dcd508dd5b3219300bcb829c6cbef6cf35146320806aR209

Is there a benchmark? I'm wondering how much slower.

No, but I would expect it to be quite significant. You are comparing the performance of a pointer indirection to a hashmap lookup. Given this check is done for every type in the array, I would expect it to be quite significant


[Event Request] Codeunit 22 Item Jnl.-Post Line - Function PostConsumption

Dear ALAppExtensions Team,
We would like to request the following event publisher in codeunit 22 Item Jnl.-Post Line - Function PostConsumption.
local procedure PostConsumption()
var
    ProdOrderComp: Record "Prod. Order Component";
    TempHandlingSpecification: Record "Tracking Specification" temporary;
    RemQtyToPost: Decimal;
    RemQtyToPostThisLine: Decimal;
    QtyToPost: Decimal;
    UseItemTrackingApplication: Boolean;
    LastLoop: Boolean;
    EndLoop: Boolean;
    NewRemainingQty: Decimal;
    IsHandled: Boolean;
    DINIsHandled: Boolean;
begin
    with ProdOrderComp do begin
        // DINNL <<
        OnBeforePostConsumption(ItemJnlLine, IsHandled);
        if not IsHandled then
            // DINNL >>
        ItemJnlLine.TestField("Order Type", ItemJnlLine."Order Type"::Production);
        SetCurrentKey(Status, "Prod. Order No.", "Prod. Order Line No.", "Item No.", "Line No.");
        SetRange(Status, Status::Released);
        SetRange("Prod. Order No.", ItemJnlLine."Order No.");
        SetRange("Prod. Order Line No.", ItemJnlLine."Order Line No.");
        SetRange("Item No.", ItemJnlLine."Item No.");
        if ItemJnlLine."Prod. Order Comp. Line No." <> 0 then
            SetRange("Line No.", ItemJnlLine."Prod. Order Comp. Line No.");
        LockTable();

        RemQtyToPost := ItemJnlLine.Quantity;

local procedure OnBeforePostConsumption(ItemJournalLine: Record "Item Journal Line"; var IsHandled: Boolean)

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Update activemq.xml.erb

Without the = symbol, it is interpreted as a ruby code and no values replacement occurs

Any news on this? I think it is pretty straightforward

@juasiepo thanks for the contribution, and sorry for the delay!


extend track outside soil domain

extend track outside soil domain
outside the soil domain, soil equivalent 1d spring dampers should be generated.
There should be a fixitiy at the bottom
extra boundary condition should be created which fixes the 1D elements in the horizontal direction

green lines = rail pads
red circles = sleepers, at this location there should only be vertical displacement
blue lines = soil equivalent 1D spring dampers
black circles = bottom fixity


Any ETA for CloudFlare SRV support?

Hello folks,
just wanted to know if there is a plan to include SRV in CloudFlare provider soon? I've read in the code that it's in "todo". My usecase requires it but if it's not currently planned i'll just suspend CloudFlare in waiting for an update.
Thank you, have a good week!

There's an existing PR being discussed with SRV support currently, https://github.com/github/octodns/pull/185. It should settle & :ship: shortly.


Derive Session Keys

This provide extra parser functions that help a user derive session keys. I've tested this on live packets and it works.
I can add tests tomorrow if you like.

I'm also sneaking in a helper that allows me to access the raw data inside the GenericPayload. I'm using it do so something like this:
match packet.mac_payload() {
    MacPayload::JoinAccept(_) => {
        let key = [
            0xEB, 0x31, 0xA2, 0x94, 0x00, 0x51, 0x7C, 0x53, 0x12, 0xCF, 0xBF, 0xD5,
            0xF5, 0x6F, 0x69, 0xC2,
        ];
        let app_key = keys::AES128(key);
        let decrypted_join_accept =
            GenericPhyPayload::<[u8; 17]>::new_decrypted_join_accept(
                packet.inner_ref().clone(),
                &app_key,
            )
            .unwrap();

Hello Louis,
Thank you for this suggestion - now that you mention it, I agree this could be really useful addition :slightly_smiling_face: . If you would have the time to add some tests, that would be great. Otherwise I will try to spend some time on that tomorrow.
Another point that is related to the issue you opened ( #9 ) - where should this functionality be placed? One option is inside the decrypted join accept. Another one is to remain functions - maybe in the same module or not. Currently it would seem to me that having it inside a join accept might be better, but I would be curious to know your take on that.
Thanks,
Ivaylo

Since this takes information from JoinRequest and JoinAccept, I would keep it as is more or less.
One thing that could be different with the types would be to simplify the signature a little bit by passing the MTypes:
derive_appskey(join_request: &JoinRequest,
    join_accept: &DecryptedJoinAccept,
    key: &keys::AES128)

When I see this use case, I lean towards doing MTypes variants that are Decrypted vs Encrypted (rather than making their payloads be of type Encrypted([u8]) or Decrypted([u8])) as mentioned in https://github.com/ivajloip/rust-lorawan/issues/9.

By the way, I've added the tests :)

Thanks :slightly_smiling_face:


[feature] Update v1.0 field names

The v0.2 specs used a builder ID, but v1.0 now uses a structure:
"builder": {
            "id": old.builder.id,
            "builderDependencies": null,  // not in v0.2
            "version": null,  // not in v0.2
        },

systemParameters have been renamed to internalParameters
https://slsa.dev/provenance/v1-rc2#migrating-from-02

Do we have any info we would put into the builderDependencies?
version seems to be a map (string→string) and is a "Map of names of components of the build platform to their version". Maybe this is where runner info would go if we include it?

Currently we put nothing. We could add image OS and version, I think so. I think builderDeps are low priority

Closing this since we have renamed the fields for v1.0.


Spam input

Rasa NLU version: 0.10.6
Used backend / pipeline (mitie, spacy_sklearn, ...): nlp_mitie, nlp_spacy, tokenizer_mitie, ner_mitie, ner_synonyms, intent_entity_featurizer_regex, intent_featurizer_mitie, intent_classifier_sklearn, ner_spacy, ner_duckling
Operating system: Ubuntu
Issue: I have input sentences like I want to drink a beer which are mapped to the correct intent with a confidence of ~0.75. Inputs like Huh?, fsdfas fa or sdhfnjdasjsdfare mapped to that very same intent with confidence 0.99. Why?

how many intents? can you provide a sample of your training data?

if it is unbalanced then yes. but also, the junk words you are showing will have no vector representation since they aren't really words. Even huh I doubt is in the vocabulary/vectors for spacy.
Which backend are you using, and which spacy version/model?

spacy is version 2.0.5. What kind of backend do you mean? My pipeline?

Same issue with:
"pipeline": ["nlp_spacy", "tokenizer_spacy", "intent_featurizer_spacy", "intent_entity_featurizer_regex", "ner_crf", "ner_synonyms", "intent_classifier_sklearn", "ner_duckling"],

To me this sounds like https://github.com/RasaHQ/rasa_nlu/issues/387

@JediRhymeTrix you're problem sounds like too little training data.
@maxbry I was asking if you were using Spacy or MITIE, looks like spacy is the answer. As @PHLF suggested you could try training an intent to gather the junk
@tmbo what do you think about some sort of console warning when the text to parse is 0% represented by the spacy model?

Yes duplicates #387. For anything in scope the ngram featurizer can be used the amend the embedding with non zero features.
Because this shouldn't happen for in scope data I don't think a warning makes sense.


Added decklist sort by Faction then Set

I have my Netrunner collection in binders, each faction having its own binder, then cards entered in order of release. I have used the browser console to add a matching sorting option, but I thought it might be a good feature for the site, so... here you go.
As a sidenote, I must say I'm really impressed with the flexibility of your code here. It was so incredibly easy to add this option.

Thanks for the kind words =)

Change deployed. Thank you for the PR!

I was just thinking, it might be nice to add the set symbol and card number next to the card name when sorted this way.
When I get home, I might look at implementing that, if you are okay with that idea. I don't want to clutter up your UI too much.

I think it's worth trying, yes. When sorted by Set, the card name is followed by its number, like

2x Snare! (#70)

The # could be replaced by the set symbol, and this format could be re-used when sorting "by Faction then Set".


winrt/Windows.Foundation.h not found when trying to build on Windows

What OS are you using (uname -a, or Windows version)?
Windows 10
What programming language are you using (C/C++/Go/Rust)?
C/C++
gcc (MinGW.org GCC Build-20200227-1) 9.2.0
What did you expect to see and what you saw instead?
If i try to build the example main.cc for windows using
c++ main.cc -mwindows -L./dll/x64 -lwebview -lWebView2Loader -o webview-example.exe
it returns
webview.h:745:10: fatal error: winrt/Windows.Foundation.h: No such file or directory
745 | #include <winrt/Windows.Foundation.h>
|          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
even though I have the Windows SDK and WinRT installed.
I know they are already open issues about this, none of the solutions, however, worked for me

I have the exact same problem with the same configuration.
It works if I put <windows.foundation.h> instead of <winrt/windows.foundation.h> because the file exists in the "x86_64-w64-mingw32/include" folder of my gcc installation.
But I cannot find the next line include : <winrt/Windows.Web.UI.Interop.h>.
Neither the #include "webview2.h" line 750.

Have you tried building with Visual Studio? This works for me.

Yeah it will work on Visual Studio, but I'm wondering how to fix this for MinGW.

Maybe try out the tool mentioned here: https://github.com/microsoft/cppwinrt/issues/14#issuecomment-585260304

When I used g++ and c++ in TMD-GCC/MinGW, it said winrt/Windows.Foundation.Collections.h: No such file or directory, after searched in the include path (x86_64-w64-mingw32\include), I only found windows.foundation.h, neither winrt dir or winrt/Windows.Foundation.Collections.h, winrt/Windows.Web.UI.Interop.h and webview2.h.
Then I tried msvs cl.exe, it not works and said Cannot open include file: 'winrt/Windows.Foundation.Collections.h': No such file or directory, too. I search the include path, it was configurated by \Microsoft Visual Studio 14.0\VC\vcvarsall.bat. the include path contains %WindowsSdkDir%include\%WindowsSDKVersion%winrt; directly, so #include with the prefix dir winrt/ not works. Insert %WindowsSdkDir%include\%WindowsSDKVersion% into the include path or removed the winrt/ prefix from the webview.h#L754 could fix them. However, as @Lepzulnag  pointed out, the problem became fatal error C1083: Cannot open include file: 'webview2.h': No such file or directory. I found the webview2.h and download it from webview/script/WebView2.h, but it still not works... (◎﹏◎)

@zhengxiaoyao0716 Yeah, it's seem right now WinRT API's not supported by MinGW, I tried with full Windows SDK 10 but not working, 'webview2.h': No such file or directory.

@zhengxiaoyao0716 Yeah, it's seem right now WinRT API's not supported by MinGW, I tried with full Windows SDK 10 but not working, 'webview2.h': No such file or directory.

I think webview2.h is supplied by Microsoft.Web.WebView2, and this repo already contains it: webview/script/WebView2.h, but it still not works after I download and put it into include path.

When I used g++ and c++ in TMD-GCC/MinGW, it said winrt/Windows.Foundation.Collections.h: No such file or directory, after searched in the include path (x86_64-w64-mingw32\include), I only found windows.foundation.h, neither winrt dir or winrt/Windows.Foundation.Collections.h, winrt/Windows.Web.UI.Interop.h and webview2.h.
Then I tried msvs cl.exe, it not works and said Cannot open include file: 'winrt/Windows.Foundation.Collections.h': No such file or directory, too. I search the include path, it was configurated by \Microsoft Visual Studio 14.0\VC\vcvarsall.bat. the include path contains %WindowsSdkDir%include\%WindowsSDKVersion%winrt; directly, so #include with the prefix dir winrt/ not works. Insert %WindowsSdkDir%include\%WindowsSDKVersion% into the include path or removed the winrt/ prefix from the webview.h#L754 could fix them. However, as @Lepzulnag  pointed out, the problem became fatal error C1083: Cannot open include file: 'webview2.h': No such file or directory. I found the webview2.h and download it from webview/script/WebView2.h, but it still not works... (◎﹏◎)

That's this file: https://github.com/webview/webview/blob/master/webview.h

this repo winsdk-10 have WINRT files

try to build program from: https://github.com/webview/webview
with this:  https://www.embarcadero.com/free-tools/dev-cpp
and all problems described - exists. ( TDM-GCC 9.2.0 32/64bit ).

@meir100 Yeah I know, GCC isn't win sdk friendly. however, if you want to try the new way to code GUI apps trough web technologies you can tray WebUI lib.

I don't know if it's too late, but on windows you must use VS, then install some NuGet packages and the problem should be solved; anyway, there are some ambiguous declarations that need to be specified in the webview.h file.
Here's the link to the windows environment setting, at the end just add the include in your project: webview2 setup tutorial

Closing because WinRT usage was removed in #753 and therefore the described issue is no longer relevant.

I have the exact same problem with the same configuration.
It works if I put <windows.foundation.h> instead of <winrt/windows.foundation.h> because the file "windows.foundation.h" exists in the "x86_64-w64-mingw32/include" folder of my gcc installation.
But I cannot find the next line include : <winrt/Windows.Web.UI.Interop.h>.
Neither the #include "webview2.h" line 750.

where we replace it?


EdDSA support for DTLSv1.2 (1.1.1 branch)

This patch enables EdDSA support for DTLSv1.2 as specified in RFC 8422. While
the RFC does not explicitly state that these algorithms are applicable
to DTLS, the IANA registry contains DTLS-OK for the following entries:

Cipher Suites [1]
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (RFC5289)
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA    (RFC8422)

Signature Algorithms [2]
ed25519 (RFC8422)
ed448   (RFC8422)

Testing:

TLSv1.2 handshake passes with the cipher suites of interest:
$ openssl genpkey -algorithm ed25519 -out key.pem
$ openssl req -new -out cert.csr -key key.pem
$ openssl x509 -req -days 700 -in cert.csr -signkey key.pem -out cert.pem
$ openssl s_server -tls1_2 -cert cert.pem -key key.pem -accept :12345
$ openssl s_client -tls1_2 -connect localhost:12345
New, TLSv1.2, Cipher is ECDHE-ECDSA-AES256-GCM-SHA384

DTLSv1.2 handshake fails with the cipher suites of interest
$ openssl s_server -dtls1_2 -cert cert.pem -key key.pem -accept :12345
$ openssl s_client -dtls1_2 -connect localhost:12345
Server: [...]tls_post_process_client_hello:no shared cipher[...]
Client: [...]dtls1_read_bytes:sslv3 alert handshake failure[...]

After the application of this patch DTLSv1.2 handshake succeeds.
[1] https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-4
[2] https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-16

We asked the TLS list about this some months ago, but never got a
clear answer if the registry is correct or not.

Close/reopen to kick CLA bot

Try sending email to<EMAIL_ADDRESS>

We asked the TLS list about this some months ago, but never got a clear answer if the registry is correct or not.

Maybe I'm thinking of something else, but I thought we did get a clear answer ("the registry is correct").

@kroeckx @kaduk What to do with two opposite opinions? :)

@biodranik well, my opinion is more authoritative, clearly :)
In any case, I remembered that I can go look in the mailarchive from when the documents were getting approved, and while IANA did explicitly ask the authors of RFC 8422 about the DTLS-OK status for the hash algorithm entry '8', the ciphersuite registrations, being unchanged by 8422, did not get asked about.
The IANA review comments in the IETF datatracker for RFC 4492 (https://datatracker.ietf.org/doc/rfc4492/history/) do not say much on this topic, but do leave one with the conclusion that these ciphersuites have been DTLS-OK 'Y' in the registry for more than a decade.

Maybe I'm thinking of something else, but I thought we did get a clear answer ("the registry is correct").

I don't feel that we've ever had a definitive response on this. IMO, at the moment RFC8422 and the registry do not agree with each other - specifically the entries 7 and 8 in the TLS Signature Algorithm registry are marked with DTLS-OK, but RFC8422 makes no mention of this.

Maybe I'm thinking of something else, but I thought we did get a clear answer ("the registry is correct").

I don't feel that we've ever had a definitive response on this. IMO, at the moment RFC8422 and the registry do not agree with each other - specifically the entries 7 and 8 in the TLS Signature Algorithm registry are marked with DTLS-OK, but RFC8422 makes no mention of this.

I checked with IANA.  They consulted with Yoav Nir (author of RFC 8422) when implementing the IANA actions for RFC 8422 and were explicitly told to use DTLS-OK of "Y" for the new signature algorithms.

I checked with IANA. They consulted with Yoav Nir (author of RFC 8422) when implementing the IANA actions for RFC 8422 and were explicitly told to use DTLS-OK of "Y" for the new signature algorithms.

Ok. Well that seems fairly definitive about what the intent was - which should be good enough for this PR (although I think in that case the RFC should be updated to match this intent).

So, my next question is: why is this targeting the 1.1.1 branch? It seems like a new feature rather than a bug, and therefore doesn't seem appropriate for 1.1.1.

@mattcaswell because it's very useful now for many projects using DTLS/CoAP/OpenSSL. What version do you think is more appropriate?

@mattcaswell because it's very useful now for many projects using DTLS/CoAP/OpenSSL. What version do you think is more appropriate?

As a matter of policy we do not add features to stable branches. Features can be added to the master branch (which is what will become OpenSSL 3.0).

(although I think in that case the RFC should be updated to match this intent).

An errata to point out this bug in the RFC has been filed, https://www.rfc-editor.org/errata/eid6002  And if you go to the RFC and click on "errata" you can also see it.

The errata report is now marked as "Verified", too.

Closing as we are not going to merge a new feature to 1.1.1 branch. Please open a PR against master if you're still interested in this.


SRVLOGIC-289: Remove workflow plugin dependency on knative/client int…

…erface
The PR removes the interface implementation that is used for plugin embedding into kn directly.
PTAL
@rgdoliveira @ricardozanini

@treblereel btw does it need to go through ASF upstream? Or will it sync OK through midstream?

@treblereel btw does it need to go through ASF upstream? Or will it sync OK through midstream?

yes, I think we need to propagate to ASF upstream too.

@wmedvede yeap, let me cherry-pick it


GroupAdjacent overload with a pairwise predicate

This PR adds GroupAdjacent overload with a predicate applied to every neighbor pair (similarly to how a transformation applies in Pairwise) to decide whether two elements belong to the same group.

That information is available in the public docs: https://morelinq.github.io/3.4/ref/api/html/Overload_MoreLinq_MoreEnumerable_Segment.htm

That information is available in the public docs: https://morelinq.github.io/3.4/ref/api/html/Overload_MoreLinq_MoreEnumerable_Segment.htm

yes, but imagine one comes into the docs, they want to find a suitable function by its type, they press Ctrl+F and type... what?


Rendering filter view file  gif is  Invalid item show multiple  (Background "chromaFilterRender " , Beauty)  incomplete

Why  Rendering filter view gif is  not show multiple  incomplete
Case 1
If 1 Filter gif is displayed, the screen can be used normally, but if use more than 1 Filter gif, there will be a problem of overlaying duplicate images using the command.
rtmpCamera1!!.glInterface.addFilter(gifObjectFilterRender)
by example
picutre

video link :  https://drive.google.com/file/d/1COc7O_vs5Tt2skJHY2a9PT6GnUr2L9_O/view?usp=sharing
code
`   charItem.urlImage?.let {
// val gifURL = URL("https://admin-stg.authority.wittytech.live/live_asset_imgs/file_gif_8AC41ZAPY91ZWAHRYMNU_1646016031.gif")
val gifURL = URL(it)
val connection: HttpURLConnection = gifURL.openConnection() as HttpURLConnection
//  var mInputStream = connection.inputStream
val result: Deferred<InputStream?> = GlobalScope.async {
connection.inputStream
}
GlobalScope.launch(Dispatchers.Main) {
val gifObjectFilterRender = GifObjectFilterRender()
gifObjectFilterRender.setGif(  result.await())
//  gifObjectFilterRender.setGif(resources.openRawResource(R.raw.fig_demo))
rtmpCamera1!!.glInterface.setFilter(gifObjectFilterRender)
gifObjectFilterRender.setDefaultScale(
rtmpCamera1!!.streamWidth,
rtmpCamera1!!.streamHeight
)
gifObjectFilterRender.setPosition(TranslateTo.BOTTOM)
spriteGestureController.setBaseObjectFilterRender(gifObjectFilterRender) //Optiona
rtmpCamera1!!.glInterface.addFilter(gifObjectFilterRender) //---> i am it multiple gif
            }

        }`

Case 2.  Gif. -> Background. : gif is not up but Background. is up
WhenFilterRender #gif singer one and using filter #chromaFilterRender the result shows that the gif is not showing but chromaFilter does, as an example.
video : https://drive.google.com/file/d/1CgjMaKbzMOWALNSv29v8WPn3wWaiU1_6/view?usp=sharing
example
code 👍
`   GlobalScope.launch(Dispatchers.Main) {
chromaFilterRender.setImage( result.await() )
rtmpCamera1!!.glInterface.setFilter(chromaFilterRender)
            }`

Case 3  Gif. -> beauty. : Gif can't go up. But beauty can go up.
When FilterRender #gif singer one and using filter #BeautyFilterRender the result shows that the gif is not showing but chromaFilter does, as an example.
src 👍
video :  https://drive.google.com/file/d/1CmBelO9k1Sh67NmRE9fRe__Z1xelLwFb/view?usp=sharing
example
code 👍
`   GlobalScope.launch(Dispatchers.Main) {
rtmpCamera1!!.glInterface.setFilter(BeautyFilterRender())
liveFilterRenderList.add(BeautyFilterRender())
            }`

thank you. please help !!!!

I will investigate case 1 but case 2 and 3 is related with your code.
You are doing a replace instead of add a filter:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/rtplibrary/src/main/java/com/pedro/rtplibrary/view/GlInterface.java#L120
You should use addFilter:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/rtplibrary/src/main/java/com/pedro/rtplibrary/view/GlInterface.java#L80
The usage is similar to an ArrayList

I'm testing using my gif:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/app/src/main/res/raw/banana.gif
But I can't reproduce your case. I need the gif to reproduce your case. Also, if you can write me the way you download the gif to implement it in my app example and test it.

I'm testing using my gif: https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/app/src/main/res/raw/banana.gif But I can't reproduce your case. I need the gif to reproduce your case. Also, if you can write me the way you download the gif to implement it in my app example and test it (I haven't the url).
Also, to discard device or gif problems you can compile my app example and using OpenGl RTMP/RTSP add test using gif filter from menu.

Sorry, I may not be explaining the problem clearly enough.
i would like add more gifs over 1 gif on screen but when call second gif filter on screen or more then so i will encounter gif display bug like this picture. Could you please recommend me? What can I do if I want to add more than one gif filter to display on screen?
I used call function  “rtmpCamera1!!.glInterface.addFilter(gifObjectFilterRender)” to call multiple gifs on srceen
Could you please recommend me? What can I do if I want to add more than one gif filter to display on screen?

Ok I could reproduce your case but it is not an error in the library.
You are adding 2 times the same filter but you can't do it because each filter must be added only 1 time to the stream (it use texture references to work so you can't do it).
The correct way to use it is create a new GifObjectFilterRender for each gif added to stream. Also, rememeber that, after add a gif you need get InputStream again to create the new one. It is the same for Image filter.


Bug with disconnection_reason is fixed.

Problem with message buffer in logs:
2018-06-12 00:52:22.891 [7f5266ffd700:INFO]  Pool: miner ADDRESS disconnected from IP:49734 by С@K
2018-06-12 00:52:22.891 [7f5266ffd700:INFO]  Pool: miner ADDRESS disconnected from IP:49695 by 0С@K

Because of warning, you cannot do simply
char *str = "string";
you should do
const char *str = "string";


Improved translation to Spanish. Await promises

The markdown left by the Google Translator was messy and now is similar to the original article. Also, parts of the text were untranslated and now they are in spanish.

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

@arkaik Thank you for  creating this PR.  However, since it was created, the underlying document has changed.  Can you please review and resolve the current merge conflicts?  It could be the changes to the underlying document are so significant that your changes are no longer relevant.  If the latter is the case, it might be easier to just close this PR and create a new PR with any changes you still feel are important to make.
If you need any assistance or have questions about resolving the merge conflicts, please reply back or contact someone in the Contributors Room on Gitter.
Thank you.

We are restructuring a lot of the code and learning resources referenced in your pull request, so for now I am going to go ahead and close this pull request. Thanks again for opening this pull request and for contributing to the community.


Unable to install plugins with Alcatraz on Xcode 6.2

I'm having the same problem as described in #208. Plugins ostensibly start to install but only progress about a quarter way and then the button label reverts back to "Install".
I installed latest git (version 2.2.1), ran sudo xcode-select --reset but no luck. The only thing I can think of is that Alcatraz is using git that comes bundled with Xcode dev tools (mine is version 1.9.5). Any ideas? Thanks in advance.
PS I added this as a comment to the original ticket #208 but nobody responded, presumably because the ticket is marked as closed. Apologies for the double post.

Same problem here, I don't know why. Please help! Thank you

@jakubdolejs did you install codepilot 3 with your Xcode? My problem is Codepilot crashes everything.
It causes xcodebuild this error:
CPCodePilotPlugin.m:23 +[CPCodePilotPlugin load]; CODE PILOT: CURRENT_XCODE_VERSION: 0 CURRENT_XCODE_REVISION: 0
** INTERNAL ERROR: Uncaught exception **
Exception: Error (1000) creating CGSWindow

I remove Codepilot then everything works perfectly now! (I remove Codepilot and after installing other plugins, reinstall it again)

CodePilot was making problems many times before.
Not sure if we should remove it from the list again until we switch to binary distribution

It seems CodePilot was causing this issue on my machine too.


plan to cover macOS

@morizotter Thanks for sharing this project. do you have plan to cover macOS?

Currentlly, no... I don't have macOS application development experience. Do you have any vision??


Optimize parquet GZIP compress/decompress with ISA-L

Description
Hi Velox community,
Parquet w/ GZIP compression is still widely used in some production envs as it can provide high compression ratio. However gzip based I/O throughput will slower comparing with new codec like lz4, zstd.
ISA-L provides optimized low-level functions(CRC, Compression, Erasure coding) which are commonly used in storage applications.  Its igzip provides much better performance on compression/decompression, and is also compatible with zlib based algorithms. With this new API, gzip performance is almost able to catch up with zstd[1].

I have made a draft patch(https://github.com/facebookincubator/velox/pull/4533) on parquet gzip decompression code path and its performance did improve a lot.
[1] https://s3.us-east-2.amazonaws.com/intel-builders/day_2_intelligent_storage_acceleration_library.pdf
CC: @Yuhta @mbasmanova
Thanks, -yuan

@zhouyuan Currently Parquet decompression is separate from DWRF and ORC. I think it would be better to provide the same decompressors for all file formats, not just Parquet. And it's better to have a central location where the decompressed input streams are created. I left a comment in your draft PR about this. What do you think? @Yuhta

This is related to https://github.com/facebookincubator/velox/pull/4411 . Besides these two efforts, Im also working on a customized decompressor. I think it's time to think of a unified solution for decompressor managements. @Yuhta @zhouyuan Shall we discuss this in the Parquet reader meeting this Friday? Velox native parquet reader project meeting
Friday, April 14 · 2:00 – 2:30pm
Google Meet joining info
Video call link: https://meet.google.com/cbg-ugjf-mok
Or dial: (US) +1<PHONE_NUMBER> PIN: 936 707 945#
More phone numbers: https://tel.meet/cbg-ugjf-mok?pin=8803191019981

CC: @oerling


Problems Building the Plugin on MacOS

Description of the bug:
It was previously possible to build the Intelli-J / Bazel Plugin on MacOS but now this seems to be failing from HEAD (d1bd4a8d65d0aa493f02b013a6da36336b313ddd) on master. The command I am running is;
bazel build //ijwb:ijwb_bazel_zip --define=ij_product=intellij-ue-2024.1

The relevant error trace is;
In file included from external/abseil-cpp~/absl/base/log_severity.cc:15:
external/abseil-cpp~/absl/base/log_severity.h:18:10: fatal error: 'array' file not found
   18 | #include <array>
      |          ^~~~~~~
1 error generated.
Target //ijwb:ijwb_bazel_zip failed to build
Use --verbose_failures to see the command lines of failed build steps.
ERROR: **OBFUSCATED**/bazelbuild_intellij/aspect/tools/BUILD:10:13 Building aspect/tools/liblib.jar (6 source files) failed: (Exit 1): cc_wrapper.sh failed: error executing CppCompile command (from target @@abseil-cpp~//absl/log/internal:nullguard) external/bazel_tools~cc_configure_extension~local_config_cc/cc_wrapper.sh -U_FORTIFY_SOURCE -fstack-protector -Wall -Wthread-safety -Wself-assign -Wunused-but-set-parameter -Wno-free-nonheap-object ... (remaining 64 arguments skipped)

This problem unfortunately also impacts being able to build and debug the Plugin generally; so it is not possible to launch Intelli-J from the plugin project and work on it.
Which category does this issue belong to?
No response
What's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.
On a MacOS machine, checkout the source code for this project and attempt to build it with;
bazel build //ijwb:ijwb_bazel_zip --define=ij_product=intellij-ue-2024.1

Which Intellij IDE are you using? Please provide the specific version.
No response
What programming languages and tools are you using? Please provide specific versions.
No response
What Bazel plugin version are you using?
7.3.1
Have you found anything relevant by searching the web?
No response
Any other information, logs, or outputs that you want to share?
No response

We have CI builds on Mac so it's would be quite hard to figure out. Pure guess but these things sometimes happen after OS compiler upgrades, could you try bazel clean --prune?

I have tried bazel clean --expunge and it does not seem to have resolved the problem unfortunately.

btw do you have full Xcode installation, or only the CLI tools?

Appologies; it looks like it's my computer that is at fault somehow.


[ci:component:github.com/gardener/etcd-druid:v0.10.0->v0.11.1]

How to categorize this PR?

/area control-plane
/kind enhancement
What this PR does / why we need it:
Upgrade etcd-druid image from v0.10.0 to v0.11.1
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:

livenessProbe of etcd container has been updated to `ETCDCTL_API=3 etcdctl get foo --consistency=s` making the consistency `serializable`.

failureThreshold has been updated to `5` for both livenessProbe and readinessProbe of etcd.

The `etcd-druid` now uses `distroless` instead of `alpine` as a base image.

`etcd-druid` will now also add statefulset permissions to the etcd role

Published docker images for Etcd-Druid are now multi-arch ready. They support `linux/amd64` and `linux/arm64`.

Added a new condition `BackupReady` to the etcd status

Published docker images for Etcd-Backup-Restore are now multi-arch ready. They support `linux/amd64` and `linux/arm64`.

The Etcd-Backup-Restore image has been updated to `Alpine 3.15.4`.

Added new package `membergarbagecollector` to remove superfluous members from the ETCD cluster. Due to this, etcd-backup-restore now needs permissions to list `pods` and `statefulsets`.

Added new package `membergarbagecollector` to remove superfluous members from the ETCD cluster.

Etcd can now scale up itself from a single member cluster to a multi member cluster

Published docker images for Etcd-Custom-Image are now multi-arch ready. They support linux/amd64 and linux/arm64.

Added pod permission in etcd_role that now enable `etcd-backup-restore` to get/list/watch pods

Fixed a bug where etcd calls related to multi node operation were used in single node operation

Temp fix: skip the single member restoration if data-dir found to be invalid.

Fixed a bug in Scaleup feature in func: `IsMemberInCluster()` which can cause Scaleup feature to get fail.

Assigned the correct Peer address to the Etcd after it restores from backup-bucket.

No attempt is made to update member Peer URL when trying to promote a member

/assign

FYI @aaronfern @timuthy , the release notes of this PR are quite broken.
They now look like
other operator [github.com/gardener/etcd-druid](http://github.com/gardener/etcd-druid) #357 @ishan16696

while they should look like
other operator http://github.com/gardener/etcd-druid #357 @ishan16696

This is also causing the whole create_draft_release_notes step in the CI/CD to fail.
I am now working on fixing them.

Thanks for noticing and fixing @ialidzhikov ❤

Thanks for fixing it @ialidzhikov


proxy bug lets everyone run jobs as anyone

I am using Azkaban 3.2.0 and has set "Execute-As-User" as the documentations says. Then every job is run as the user who submits it. That's good and as expected.
However I found that I can run as any user if I set the property "user.to.proxy" by the "Flow Parameters" tab on the web before submitting the flow.
BTW, I was running command jobs and I didn't set any proxy users in azkaban-users.xml.

can We configure a parameter in azkaban.properties file?
eg
execute.as.user.bySystem=true
if true,we can not set property "user.to.proxy".

Did you restrict the proxy user list?
From the doc http://azkaban.github.io/azkaban/docs/latest/
"If proxy users are turned on, proxy users allows the project workflows to run as those users. This is useful for locking down which headless accounts jobs can proxy to. They are removed by clicking on the 'Remove' button once added.
"
Did you login as an admin?


Adds a delegate method enabling the view controller's delegate to observe when actions are being performed.

@cerihughes

Codecov Report

Merging #348 into master will increase coverage by 53.78%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master     #348       +/-   ##
===========================================
+ Coverage       0%   53.78%   +53.78%
===========================================
  Files           7        7
  Lines         132      132
===========================================
+ Hits            0       71       +71
+ Misses        132       61       -71

Impacted Files
Coverage Δ

sources/HUBUtilities.h
10.29% <0%> (+10.29%)
:arrow_up:

tests/utilities/HUBTestUtilities.h
100% <0%> (+100%)
:arrow_up:

...tilities/UIViewController+HUBSimulateLayoutCycle.m
100% <0%> (+100%)
:arrow_up:

tests/utilities/HUBViewModelUtilities.m
100% <0%> (+100%)
:arrow_up:

tests/utilities/HUBConfig+Testing.m
100% <0%> (+100%)
:arrow_up:

sources/CGFloat+HUBMath.h
100% <0%> (+100%)
:arrow_up:

tests/utilities/HUBComponentDefaults+Testing.m
100% <0%> (+100%)
:arrow_up:

Continue to review full report at Codecov.

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


Change version to be compatible with Azure DevOps

Azure DevOps will no longer allow me to install this extension when I use the Azure CLI task on a hosted agent. The installed version on the hosted agent is azure-cli (2.0.46). Can this file be edited to allow that to work?

This checklist is used to make sure that common guidelines for a pull request are followed.

If this PR is for a new extension or change to an existing extension, use the following to try out the changes in this PR:
docker run -it microsoft/azure-cli:latest
export EXT=<NAME>
pip install --upgrade --target ~/.azure/cliextensions/$EXT "git+https://github.com/samontgo/azure-cli-extensions.git@patch-1#subdirectory=src/$EXT&egg=$EXT"

@kalyanaj can you comment on why the min cli version was upgraded?
If the goal is to still enable older versions of the CLI, you can consider adding a separate entry in the index.json (one to target newer versions, one to target older).
@samontgo one solution in the meantime would be to update your version of the CLI.

The latest EventGrid extension has a dependency on a bugfix in Knack 0.4.4 and hence we had to update the min CLI core version to 2.0.49.


Adding error codes to image package

Signed-off-by: Srini Brahmaroutu<EMAIL_ADDRESS>

just a nit, LGTM otherwise

LGTM once runcom's nit is fixed

LGTM


Managed services & secrets description is not readable in the dark mode due to the text color

The text in the info panel about what the managed services are and in the same panel about secrets is completely not readable in the dark mode. The text colour should be changed.

Fixed by 0de2dbd43875bedcd3723b8b1f40818c27ffd419


S3 laion5b upload faild

when I use for i in {00000..00001}; do wget https://huggingface.co/datasets/laion/laion1B-nolang-joined/resolve/main/part-$i-4852663c-9585-44b0-9a45-f95c2b89c792-c000.snappy.parquet -O - | aws s3 cp - s3://laion5b/metadata/laion1B-nolang-joined/part-$i-4852663c-9585-44b0-9a45-f95c2b89c792-c000.snappy.parquet; done
upload failed: - to s3://laion5b/metadata/laion1B-nolang-joined/part-00001-4852663c-9585-44b0-9a45-f95c2b89c792-c000.snappy.parquet An error occurred (NoSuchBucket) when calling the CreateMultipartUpload operation: The specified bucket does not exist

Hello,
This command is to upload to s3.
If you want to do that you need to create the right bucket and use that.
You can also download the files locally with another command provided in
the doc.
On Fri, Nov 10, 2023, 00:24 kelisiya @.***> wrote:

when I use for i in {00000..00001}; do wget
https://huggingface.co/datasets/laion/laion1B-nolang-joined/resolve/main/part-$i-4852663c-9585-44b0-9a45-f95c2b89c792-c000.snappy.parquet
-O - | aws s3 cp -
s3://laion5b/metadata/laion1B-nolang-joined/part-$i-4852663c-9585-44b0-9a45-f95c2b89c792-c000.snappy.parquet;
done
upload failed: - to
s3://laion5b/metadata/laion1B-nolang-joined/part-00001-4852663c-9585-44b0-9a45-f95c2b89c792-c000.snappy.parquet
An error occurred (NoSuchBucket) when calling the CreateMultipartUpload
operation: The specified bucket does not exist
—
Reply to this email directly, view it on GitHub
https://github.com/rom1504/img2dataset/issues/359, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAR437UHPRHKVUQQEADIOELYDXQCFAVCNFSM6AAAAAA7FZWG4CVHI2DSMVQWIX3LMV43ASLTON2WKOZRHE4DOMJUGYYDQMQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Improve json parsing for findStatus

Related to #378
Summary
This might be just a tip of the iceberg, but it seems like a good start.
There's one thing which is super unclear for me right now.
if firstStatus.caseSensitive != nil {
    query?.ignoreCase = !(statusQuery.caseSensitive != nil)
}

We first check the first item of the array if it has a value for "case_sensitive", and then we get an other value under the same key from the actual index of the array.
Do we want to check the status.first for the presence of the value?
Review Checklist

[ ] I have responded to reviews and made changes where appropriate.
[x] I have tested the code
[ ] I have updated comments / documentation related to the changes I made.
[ ] I have rebased my PR branch onto xi-mac/master.

Sort of a higher level comment, but my thinking here is that we should actually have a FindQuery struct and a fromJson failable initializer, and we should parse these into a real type as they come in, doing validation at that point.

Ok, I created FindStatus struct and changed the findStatus(status: [[String: AnyObject]]) accordingly. I decided to not use FindQuery, because it's also used for multi_find, and the protocol definitions differ.
Feel free to take a look 😄
The question in Summary remains the same @scholtzan what do you think?


Add: Clear Message Group & License status

This allows a wizard to clear the message group using the group name.  It is based on ShowMessageView but feel free to review the code.

I've implemented the changes in the latest push.. thanks!


Make listing show page match Grand Traverse county

See #1

Initial version of this completed in v0.1. Continued work queued on miro.


[Snyk] Upgrade @hashgraph/sdk from 2.39.0 to 2.40.0

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade @hashgraph/sdk from 2.39.0 to 2.40.0.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 1 version ahead of your current version.
The recommended version was released 22 days ago, on 2024-01-11.

Release notes

Package name: @hashgraph/sdk

2.40.0 - 2024-01-11What's Changed

Added alias utils for parsing from/to public address by @ ochikov in #2066
Update axios by @ ochikov in #2090
Update react yarn by @ ochikov in #2093
Add a Pause Key to TokenUpdateTransaction's fromProtobuf method by @ svetoslav-nikol0v in #2095

Full Changelog: v2.39.0...v2.40.0

2.39.0 - 2023-12-05What's Changed

Release new cryptography package version by @ ochikov in #2041
Release new proto package beta version by @ ochikov in #2040
New web proxy for nodeAccountId 3 by @ svetoslav-nikol0v in #2051
Update dependencies and apply new linter rules by @ ochikov in #2043

Full Changelog: v2.38.0...v2.39.0

    from @hashgraph/sdk GitHub release notes

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (b039d81) 77.83% compared to head (54332ff) 77.83%.

:exclamation: Current head 54332ff differs from pull request most recent head e97c0d8. Consider uploading reports for the commit e97c0d8 to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2077   +/-   ##
=======================================
  Coverage   77.83%   77.83%
=======================================
  Files          40       40
  Lines        3090     3090
  Branches      629      629
=======================================
  Hits         2405     2405
  Misses        479      479
  Partials      206      206

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Preemptible gcp vms

Noah - Whats the status of this change?  Have you addressed Connors feedback?

Is there any indication on the resulting samples that preemptible VMs were used? Otherwise, LGTM.

I don't think there will be any indication in the samples that the VMs were preemptible. I see two ways to accomplish that. The first option is to record data under fake machine types, like n1-standard-8-preemptible or something like that. I think I could make that change locally to gce_virtual_machine.py. The other option is to make it a flag in the metadata. In the second case, I think I would need to add a new interface for a VM to provide metadata to the publisher. It wouldn't be a huge change, but it would be bigger than the first option.
I don't have strong feelings about this. I think it depends on whether we think preemptible images are sufficiently different than regular ones that they should be considered their own type of machine, and I don't know the answer to that. What do you think?

I just uploaded a new commit that annotates samples from GCP VMs with a metadata label 'preemptible'. Possible values are True and False.

Two nits, otherwise LGTM.


trapme: No error message when "empty" UPSTREAM_JOB_NUMBER specified

Spotted on https://ci.adoptium.net/job/Test_openjdk21_hs_extended.openjdk_riscv64_linux/32/console
That job seems to have failed because it specified an UPSTREAM_JOB_NUMBER which no longer had any associated artifacts, but that is not obvious in the log:
12:44:17  Timeout set to expire in 1 hr 0 min
[Pipeline] {
[Pipeline] dir
12:44:17  Running in /home/jenkins/workspace/Test_openjdk21_hs_extended.openjdk_riscv64_linux/jdkbinary
[Pipeline] {
[Pipeline] copyArtifacts
[Pipeline] }
[Pipeline] // dir
[Pipeline] }
[Pipeline] // timeout
[Pipeline] }
[Pipeline] // stage
[Pipeline] echo
12:44:17  PROCESSCATCH: Terminating any hung/left over test processes:
[Pipeline] sh
12:44:18  + aqa-tests/terminateTestProcesses.sh jenkins
12:44:18  Unix type machine..
12:44:18  Running on a Linux host
12:44:18  Woohoo - no rogue processes detected!
[Pipeline] cleanWs
12:44:18  [WS-CLEANUP] Deleting project workspace...

We should spot this situation and give a suitable error message to make this scenario easier to identify and debug so as not to spend too much time trying to diagnose it.

In the console output, it has the error message
07:44:20  Exception: hudson.AbortException: Failed to copy artifacts from build-scripts/jobs/evaluation/jobs/jdk21u/jdk21u-evaluation-linux-riscv64-temurin with filter: **/*.tar.gz,**/*.tgz,**/*.zip,**/*.jar,**/*.Z,**/*sbom*.json


Modify bookshelf table

Due to recent changes in the app, the following modification need to be implemented:

Remove the column "pickup_times",
Add a column called "opening_days" (this will be an array of number, that if i am not mistaken is just string in mysql)
Add a column called "opening_hours" (this will be an array of number, that if i am not mistaken is just string in mysql)
Modify the factory seeder to make sure that it it works as expected
Change the "fillable" entry in the bookshelf.php file

@Zelig880
To which table should the "pickup_times" column be removed, "opening_days" and "opening_hours" columns be added?


Incompatible with optifine, please fix 1.18.2

Please provide a crash report and details description of the problem.


Create Eclipse Temurin 17 Linux Installers

Great, thank you! The installers are still mising in the docs: https://adoptium.net/installation.html#installers

@kamilkloch the installers are not stable and the hostname will change from adoptium.jfrog.io to packages.adoptium.net. We won't be making any public documentation until everything is in place


feat: introduce a dedicated namespace for OTPs and SPPs

- What I did

introduce a dedicated namespace for OTPs and SPPs
Provide backwards compatibility for legacy OTP and SPP keys

- How I did it

Introduced a class variable in OtpVerbHandler called that has a value of '__otp'; which will be the namespace for all OTPs and SPPs
Allow backward compatibility: check for OTP and SPP without the otp namespace.

- How to verify it

Unit tests added that validate that OTPs and SPPs that use legacy style keys are also considered valid
functional/e2e tests will be once this PR is merged into https://github.com/atsign-foundation/at_server/pull/1955

- Description for the changelog

feat: introduce a dedicated namespace for OTPs and SPPs

Thank you @gkc


Page title trimmed or not visible.

Hi,
I've noticed an issue with the visibility of the menu on different screen sizes. In some cases, the page title is either not visible or gets trimmed.
You can see the issue here: learnsahajayoga.org
trimmed:

not visible:

What do you think would be the right behavior when the title is too long for everything to fit?

Hiding whole title might be the best option, but trimming does not look good (even if icon is added), so maybe in both cases SQLPage should hide the title instead of trim it?


My activity LED on GPIO0 doesnt want to work

I am using the head of 2.0 branch with a 'LoLin' NodeMCU clone.  I have attached an LED+resistor between to GPIO0 and 3V3.  Everything else is working (MQTT messages firing nicely), but the LED only emits a couple of short pulses after boot, then nothing.
Homie_setFirmware(FW_NAME, FW_VERSION);
Homie.disableResetTrigger();
Homie.setLedPin(D3, LOW);
Homie.setSetupFunction(homieSetupHandler);
Homie.setLoopFunction(homieLoopHandler);
Homie.onEvent(onHomieEvent);
Homie.setup();

The D3 define maps to GPIO0, and I have made it active low so the boot pull-up resistor is not defeated by the LED.
Should this work?

Homie uses LED to show the state of itself: docs
So if your NodeMCU connects to Wifi and MQTT fast, then you are able to see only couple of flashes.

@claybar does it answer your question?

Thanks, that answers it.  I was expecting the LED to show activity as well
as status.  I was under the (false) impression the LED would also flash
whenever MQTT messages are sent.  But seems to be working as advertised.
Is there a way the LED could also be used for activity?  I guess I could
drive the LED directly from my code, but that seems a bit dangerous and
could conflict with Homie's control of the LED.
On Sat, Oct 8, 2016 at 12:41 AM, benzino77<EMAIL_ADDRESS>wrote:

Homie uses LED to show the state of itself: docs
https://homie-esp8266.readme.io/docs/getting-started#section-understanding-what-happens-in-normal-mode
So if your NodeMCU connects to Wifi and MQTT fast, then you are able to
see only couple of flashes.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/marvinroger/homie-esp8266/issues/166#issuecomment-252229983,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGbvOGX37bIFl66rcBx7znPOYctauBYvks5qxi_zgaJpZM4KQ3tc
.

Also, I suggest a link is placed in the 'Build-In LED' section to the
description of what the LED displays.
On Sat, Oct 8, 2016 at 12:41 AM, benzino77<EMAIL_ADDRESS>wrote:

Homie uses LED to show the state of itself: docs
https://homie-esp8266.readme.io/docs/getting-started#section-understanding-what-happens-in-normal-mode
So if your NodeMCU connects to Wifi and MQTT fast, then you are able to
see only couple of flashes.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/marvinroger/homie-esp8266/issues/166#issuecomment-252229983,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGbvOGX37bIFl66rcBx7znPOYctauBYvks5qxi_zgaJpZM4KQ3tc
.

@claybar you can drive the LED directly from your sketch. As long as you drive the LED from the setup handler, the loop handler and/or inside an isConfigured()/isConnected() if block, there won't be any conflict as these part of the code won't be called when Homie will take control of the LED.
I updated the docs. Is it okay?

Thanks for the info.  Docs link good.
On Sun, Oct 9, 2016 at 12:05 AM, Marvin Roger<EMAIL_ADDRESS>wrote:

@claybar https://github.com/claybar you can drive the LED directly from
your sketch. As long as you drive the LED from the setup handler, the loop
handler and/or inside an isConfigured()/isConnected() if block, there
won't be any conflict as these part of the code won't be called when Homie
will take control of the LED.
I updated the docs https://homie-esp8266.readme.io/docs/built-in-led.
Is it okay?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/marvinroger/homie-esp8266/issues/166#issuecomment-252418672,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGbvONf4m-9VkJgL-jL9g9bRjINebDdaks5qx3kLgaJpZM4KQ3tc
.


Model Viewer crashing Google Chrome on some devices

Description
We have implemented the Model Viewer on an e-commerce's website and some users (2 out of 10) are experiencing a weird bug where the browser seems to crash (black screen) and recover after a short while. The model does not appear after downloading, but we can see only the "drag to rotate" icon indicating that the 3D should've been there.
I am not sure how to reproduce it, since our QA have tested the same URL on multiple devices (using browserstack and crossbrowsertesting) and none of them had this problem.
Live Demo

Live demo - click the "Visualizar 3D" button and wait for it to appear
Recording of the bug

Browser Affected

[x] Chrome - version 79.0.3945.130
[ ] Edge
[ ] Firefox
[ ] Helios
[ ] IE
[ ] Safari

OS

[ ] Android
[ ] iOS
[ ] Linux
[ ] MacOS
[x] Windows

Versions

model-viewer: v0.6.2
three.js: v0.105.2

@aviggiano thanks for reporting this issue!
I have not reproduced that issue yet, but from a visual inspection that sure does look like a bad crash. It looks like the whole tab is crashing and recovering 😳
If I were to speculate, I would say it is likely that the WebGL context is being lost as part of the crash. We do dispatch an error event when we detect that the WebGL context is lost, which would give you an opportunity to recover from the crash (switch to a static image, notify the user etc). You can listen for it like this:
<!-- Somewhere on the page: -->
<model-viewer id="modelViewer" ...></model-viewer>
<!-- Later on: -->
<script>
modelViewer.addEventListener('error', (event) => {
  const {type} = event.detail;

  if (type === 'webglcontextlost') {
    // WebGL crashed, do something to recover!
  }
});
</script>

@aviggiano You mentioned that you have not been able to reproduce the bug. How did you collect that recording of the bug?

@cdata our client's user recorded their screen, but using our own devices we can't reproduce it.

@aviggiano thanks! Do you happen to have any more specific details about the client's user's device? Windows version, any hardware details, etc?

@aviggiano also, if possible, it would be really helpful to get the reporting user to do this:

Go to chrome://gpu in their Chrome browser
Copy the report to clipboard
Send the copied report to you so you can share it here

The report looks like this (taken from my own laptop):
Data exported | 2020-02-24T19:07:33.038Z
-- | --
Chrome version | Chrome/80.0.3987.116
Operating system | Mac OS X 10.15.3
Software rendering list URL | https://chromium.googlesource.com/chromium/src/+/dc00a510e4c2ae25c4d084cc3d946fc782249224/gpu/config/software_rendering_list.json
Driver bug list URL | https://chromium.googlesource.com/chromium/src/+/dc00a510e4c2ae25c4d084cc3d946fc782249224/gpu/config/gpu_driver_bug_list.json
ANGLE commit id | 362168eb695d
2D graphics backend | Skia/80 97c9a95908bc8c7a6794259b35f366a3291e2d0f
Command Line | /Applications/Google Chrome.app/Contents/MacOS/Google Chrome --flag-switches-begin --flag-switches-end --enable-audio-service-sandbox

Ping @aviggiano if you aren't able to get chrome://gpu details, that's fine. But, it would go a long way towards helping us to diagnose this issue. Thanks!

@cdata I'm scheduling a face-to-face meeting with the user that experienced the bug to get the report from them.
Are there any other tests that might be useful to diagnose this issue?
It would be better to do them all at once, since I'll be physically with the device that crashed. I was thinking about getting the Windows/device specs, but other than that I'm not sure how to debug.

I think chrome://gpu will be comprehensive enough for us. It will tell us what we need to know about the hardware of the device in question.
Ultimately what we need to be able to do is have a comparable hardware device to try to reproduce the crash on. Otherwise, we can only speculate about what is causing the problem.

@cdata sorry for the late reply, here's the report from two devices that had this issue:

Report 1
Report 2

In addition, we performed a couple more tests that may help  you diagnose this issue:

We asked the user to try a different 3D viewer (by Sketchfab) with the same 3D model, and it did not crash
We asked the user to try a different 3D model with the same 3D viewer (this repo's model viewer) and it did crash, but after recovering the user was able to see the 3D model all in black (differently from our 3D model in production, that was nowhere to be seen after the recovery)
We asked the user to try with different browsers and when they used Microsoft Edge it did crash

Please let me know if you what we can do to help solve this problem.
Also, let us know if we can somehow detect the device's compatibility and only show the model-viewer to the ones that work, that may also help with the UX.

In the past, I've been able to address this on machines with older graphics cards by turning off Chrome hardware acceleration. (Settings >System >Advanced >System >Use hardware acceleration when available). Beware, this has potential to affect Chrome performance though.

@aviggiano This looks like a GPU driver bug of some kind. Interestingly, both of those cases report a Windows version almost two years out of date: Win10 April 2018 update. It's entirely possible Windows has fixed this in the meanwhile. I know it's a lot to ask, but could you suggest your user perform an OS update and see if that fixes the problem? I won't be able to do much on my side until I find a physical machine I can repro on.

@elalish Thank you for the response.
Indeed since we are not in direct contact with them (they are e-commerce users from our client), I'm not sure if we'll be able to ask them to update their OS. I'm already happy that we managed to get the GPU report 😆
Anyway, this will only help us diagnose this issue, but it will still happen to other people.
Is there anyway to detect the device's compatibility before including the model viewer? That would at least mitigate the UX problem.
Thanks

@aviggiano Yeah, I kind of figured as much. Thanks again for the GPU reports. Device compatibility is tricky; if it was just a missing GL extension we could check ahead of time, but this is just a bug. If we got enough data to figure out the scope of where it occurs, you could screen it with navigator.userAgent and some GL support fingerprint, but that seems kind of unlikely.
At least your can listen for our error message; if detail.type is webglcontextlost then at least you can fix things after the error (and log some info to find out where this is occurring). Hopefully that can happen before the crash does. Meanwhile the crash reports will make it back to Chrome, and perhaps they'll find a bug.


My music lists does not show all utf-8 letters correctly

My music library contains artists and albums with cyrillic and and scandic(ö,å,ä) letters in names.
There seems to be encoding error for all lists views (a-z) for names containing specific letters.

Logitech Media Server Version: 7.9.1 - 0.6.20170928git1508251793 @ Tue Oct 17 20:32:23 EDT 2017
Hostname: lms
Server IP Address: <IP_ADDRESS>
Server HTTP Port Number: 9000
Operating system: Red Hat - EN - utf8
Platform Architecture: x86_64-linux
Perl Version: 5.22.2 - x86_64-linux-thread-multi
Audio::Scan: 0.95
Database Version: DBD::SQLite 1.34_01 (sqlite <IP_ADDRESS>)
Total Players Recognized: 2

These 'letters' are provided by LMS. This looks like the issue mentioned in https://forums.slimdevices.com/showthread.php?109624-Announce-Material-Skin/ pages 27, 29, etc. LMS was fixed to properly encode the characters, so you need to update your LMS install.


timeout failure when adding replaced disks using site-container.yml

What happened:
Tried the usual command I use:
ansible-playbook -vvv -i /opt/ceph-ansible/inventory -e 'ansible_become=true' -e 'ansible_become_method=sudo' -e 'ansible_python_interpreter=/usr/bin/python3' site-container.yml --limit=B-06-15-cephosd.maas
However it fails and I cannot find the specific error in the log apart from a 'time out' of what?
What you expected to happen:
New ceph-osd docker container launched on ceph-osd node to introduce the new disk to the cluster
How to reproduce it (minimal and precise):
Pull latest ceph-ansible stable-5.0
Remove faulty disks with shrink-osd.yml
Restarted ceph osd node to init new disks
run site-container.yml to add new disks to ceph (Tried it against 4 different hosts that had disks replaced)
Log: -vvv: https://paste.c-net.org/RepairedPlank
Group_vars: https://paste.c-net.org/EnjoyJoanie
Environment:

OS (e.g. from /etc/os-release): 18.04.5 LTS (Bionic Beaver)
Kernel (e.g. uname -a): 5.4.0-74-generic #83~18.04.1-Ubuntu SMP Tue May 11 16:01:00 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Docker version if applicable (e.g. docker version): 20.10.2
Ansible version (e.g. ansible-playbook --version): ansible-playbook 2.9.0
ceph-ansible version (e.g. git head or tag or stable branch): refs/heads/stable-5.0
Ceph version (e.g. ceph -v): ceph version 15.2.15

The log above contains 2x separate playbook runs. I've removed the host with the /dev/sdt issue in the first run.

Closing this , seems like i have constant ssh issues from ansible-host to controllers & nodes.