[typescript-react-query] Query keys are too specific

Describe the bug
Query keys are too strict by default, because they always have a second parameter.
const { data } = useGetUsersQuery({ role: "User" });
const {mutate: deleteUser} = useDeleteUserMutation({
	onSuccess: () => queryClient.invalidateQueries(useGetUsersQuery.getKey())
});

In the above example the getUsers query internally uses a queryKey of ['getUsers', { role: "User" }], which is what I would expect.
After deleting a user, I want to invalidate all getUsers queries, regardless of their variables. That means I only care for the first part of the query key, which I would expect to get with useGetUsersQuery.getKey(). Running the mutation won’t invalidate the query though.
Reason
If we look at the generated code, we find out why:
export const useGetUsersQuery = <
      TData = GetUsersQuery,
      TError = unknown
    >(
      variables?: GetUsersQueryVariables,
      options?: GetUseQueryOptions<GetUsersQuery, TError, TData>
    ) =>
    useQuery<GetUsersQuery, TError, TData>(
      ['getUsers', variables],
      fetcher<GetUsersQuery, GetUsersQueryVariables>(GetUsersDocument, variables),
      options
    );
useUsersQuery.getKey = (variables?: GetUsersQueryVariables) => ['getUsers', variables];

The query key always has a length of 2, because variables is included even if it has not been defined. In our example above we try to invalidate ['getUsers', undefined] instead of ['getUsers'], which does not match ['getUsers', { role: "User" }] and therefore does not invalidate the getUsers query.

Yes, I did not have the time to update the project where I was using it. I did now and can confirm that everything works as expected now.


Is it possible to serialize the body directly to file from a request_parser<empty_body>

Hi,
Thank you for making Boost.Beast - it's brilliant :)
I'm serializing some of my requests that have a very large body for async processing. First, I'm parsing the headers with request_parser<empty_body>.
What I do now is

Continue processing the body into request_parser<file_body> and http::read(stream,buffer,parser), this is to limit memory usage
Create http::request_serializerhttp::file_body from the request_parser.release().
use boost::asio::stream_file file_stream and (in a loop) boost::beast::http::write_some(file_stream, serializer) to serialize the whole request in a single file to disk

Can this be done more efficiently than via file_body? I need to parse the headers, but I'd like to serialize the body in a single step if that's possible (or, at least, more efficiently than I currently do).

You can utilize a http::buffer_body and a fixed size buffer for that purpose, these examples might help:
https://www.boost.org/doc/libs/1_84_0/libs/beast/doc/html/beast/more_examples/http_relay.html
https://www.boost.org/doc/libs/1_84_0/libs/beast/doc/html/beast/using_http/parser_stream_operations/incremental_read.html

file_body can do exactly what you say

file_body can do exactly what you say

If I understand correctly, they want to use boost::asio::stream_file and perform the write operation asynchronously.

@vinniefalco Well, yes I do. Serializing the whole request to a single file for later processing instead of spreading it across multiple files makes it a bit easier to keep track. I might change it, but it's what I currently do. The HTTP Relay example was perfect - thanks @ashtum  :)

No the relay example is not perfect. If you want the HTTP headers in the file then you should do the following:

read the header
write the header to a new file yourself
read the rest of the body, appending into the new file using file_body with a single call to http::async_read

Thanks


Add an allMatches API and related collection

Adds allMatches and allCaptures APIs to String. These surely aren't the final APIs, but will be useful for exploring  semantics, etc.

Ping, what's the status of this PR?


Sign in/up/out, closes #305

@schleichardt please review.
Among the implementation of the sign in/up/out itself, there are some other minor improvements I do on the classes I have to touch. This way I make sure the code gets better even though I don't have an official task for that. This time it was ReverseRouter, routes and CartSession's turn.
I hope it doesn't get tedious to review despite of that.

apart from my comments :+1:


chore(badge): replace selectors for the color classes

Closes #
{{short description}}
Changelog
New

{{new thing}}

Changed

{{change thing}}

Removed

{{removed thing}}

Acceptance Criteria

[ ] Design Review by @Gagne87, @clastzoo
[x] Technical Review by @hirsch88, @mladenplaninicic, @nobilo
Browser Testing by @hirsch88, @nobilo, @mladenplaninicic, @Gagne87, @clastzoo

Desktop

[ ] Chrome
[ ] Edge
[x] Safari
[ ] Firefox

Tablet

[ ] iPad (Landscape / Portrait)

Mobile

[ ] Safari iOS
[ ] Chrome Preview

@Gagne87 & @clastzoo could you please verify the design?

closes #493


debug window colours are not changed on colour change (tm)

i accidentally closed the wrong issue woops


Remove seelog logger

In order to complete PR we need:

Update roasbeef btcd client
Make changes in the ltcd client

Link: btcd example of removing

Changes Unknown when pulling 8c6688e6e55b22174d346fb909513dee50277c87 on AndrewSamokhvalov:remove_seelog_logger into ** on lightningnetwork:master**.


Wrong type in error logging

Hi there,
I am using the rate limiting feature introduced in #625. I believe that a recent PR might have broken that feature, because I am getting the error below:
# Sphinx version: 4.4.0
# Python version: 3.8.10 (CPython)
# Docutils version: 0.17.1 release
# Jinja2 version: 3.0.3
# Last messages:
#   writing output... [ 52%] autoapi/<module_name>
#   writing output... [ 58%] autoapi/<module_name>
#   writing output... [ 64%] autoapi/<module_name>
#   writing output... [ 70%] autoapi/<module_name>
#   writing output... [ 76%] autoapi/<module_name>
#   writing output... [ 82%] contribute
#   writing output... [ 88%] index
#   writing output... [ 94%] usage
#   writing output... [100%] write_docu
#
# Loaded extensions:
#   sphinx.ext.mathjax (4.4.0) from /home/ubuntu/.local/lib/python3.8/site-packages/sphinx/ext/mathjax.py
#   sphinxcontrib.applehelp (1.0.2) from /home/ubuntu/.local/lib/python3.8/site-packages/sphinxcontrib/applehelp/__init__.py
#   sphinxcontrib.devhelp (1.0.2) from /home/ubuntu/.local/lib/python3.8/site-packages/sphinxcontrib/devhelp/__init__.py
#   sphinxcontrib.htmlhelp (2.0.0) from /home/ubuntu/.local/lib/python3.8/site-packages/sphinxcontrib/htmlhelp/__init__.py
#   sphinxcontrib.serializinghtml (1.1.5) from /home/ubuntu/.local/lib/python3.8/site-packages/sphinxcontrib/serializinghtml/__init__.py
#   sphinxcontrib.qthelp (1.0.3) from /home/ubuntu/.local/lib/python3.8/site-packages/sphinxcontrib/qthelp/__init__.py
#   alabaster (0.7.12) from /home/ubuntu/.local/lib/python3.8/site-packages/alabaster/__init__.py
#   sphinx.ext.autodoc.preserve_defaults (1.0) from /home/ubuntu/.local/lib/python3.8/site-packages/sphinx/ext/autodoc/preserve_defaults.py
#   sphinx.ext.autodoc.type_comment (4.4.0) from /home/ubuntu/.local/lib/python3.8/site-packages/sphinx/ext/autodoc/type_comment.py
#   sphinx.ext.autodoc (4.4.0) from /home/ubuntu/.local/lib/python3.8/site-packages/sphinx/ext/autodoc/__init__.py
#   sphinx.ext.autosummary (4.4.0) from /home/ubuntu/.local/lib/python3.8/site-packages/sphinx/ext/autosummary/__init__.py
#   sphinxcontrib.confluencebuilder (1.8.0.dev0) from /home/ubuntu/.local/lib/python3.8/site-packages/sphinxcontrib/confluencebuilder/__init__.py
Traceback (most recent call last):
  File "/home/ubuntu/.local/lib/python3.8/site-packages/sphinx/cmd/build.py", line 284, in build_main
    app.build(args.force_all, filenames)
  File "/home/ubuntu/.local/lib/python3.8/site-packages/sphinx/application.py", line 331, in build
    self.builder.build_all()
  File "/home/ubuntu/.local/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 258, in build_all
    self.build(None, summary=__('all source files'), method='all')
  File "/home/ubuntu/.local/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 361, in build
    self.finish()
  File "/home/ubuntu/.local/lib/python3.8/site-packages/sphinxcontrib/confluencebuilder/builder.py", line 690, in finish
    self.parent_id = self.publisher.get_base_page_id()
  File "/home/ubuntu/.local/lib/python3.8/site-packages/sphinxcontrib/confluencebuilder/publisher.py", line 171, in get_base_page_id
    rsp = self.rest_client.get('content', {
  File "/home/ubuntu/.local/lib/python3.8/site-packages/sphinxcontrib/confluencebuilder/rest.py", line 84, in _wrapper
    'waiting {} seconds...'.format(math.ceil(delay)))
TypeError: must be real number, not str

Let me know if you need any more information!

The issue is specific to the line where next_delay is set from the header value.
This line needs to be improved to properly parse the Retry-After header -- not only trying to parse an integer-string value to an integer; but also handling the case where a proxy may opt to specifying a Date value.
A quick-hack (if needed) would be to comment/remove that line, where this extension will fallback to the automatic rate limiting managed in the extension.

There should be a fix for the rate-delay feature in #634. If you're interested to try it, the following command would install the development change:
pip install git+https://github.com/sphinx-contrib/confluencebuilder.git@accept-expected-rate-limiting-retry-after-values

The plan is to merge this in, but if you observe any issues with this, please let me know.

Very cool, thank you!
I ran it in verbose mode with the following settings in conf.py
confluence_publish_delay = 0.5

confluence_publish_headers = {
    'Connection': 'close',
}

and this is the pattern I am gett what I am getting in the output:
publishing documents... [ 30%] <page_1_name>
[confluence] user-set api delay set; waiting 1 seconds...
[confluence] rate-limit header detected; waiting 29 seconds...
[confluence] user-set api delay set; waiting 1 seconds...
[confluence] user-set api delay set; waiting 1 seconds...
[confluence] rate-limit header detected; waiting 29 seconds...
[confluence] tracking docname <page_1_name> upload id:<PHONE_NUMBER>
publishing documents... [ 33%] <page_2_name>
[confluence] user-set api delay set; waiting 1 seconds...
[confluence] rate-limit header detected; waiting 29 seconds...
[confluence] user-set api delay set; waiting 1 seconds...
[confluence] user-set api delay set; waiting 1 seconds...
[confluence] rate-limit header detected; waiting 29 seconds...
[confluence] tracking docname <page_2_name> upload id:<PHONE_NUMBER>
publishing documents... [ 36%] <page_3_name>

This then repeats for every page that is published.

Thanks for trying it out, and sharing the results.
Yeah, looks like the proxy is forcing retries to every 30 seconds. 😬
In theory, you should no longer have to set confluence_publish_delay any more, which should reduce some time in a publishing event (the delay stuff should be handling the proper count; and an internal jitter logic should help with any additional offset/timing stuff).
You could also probably drop the Connection option inside confluence_publish_headers as well. I would imagine your interaction would be the same for now (although, debug logging may show more information). But in time, if the proxy you work with permits a keep-alive connection, your configuration would be already ready to utilize it.

v1.8 is now available on PyPI -- marking as closed.


need to add a new seection

Here's what the section should say -------

can you provide more detail?


UI issue summary

Reported UI issues here will be fixed together periodically.

DatePicker in HomeView frame size mismatch.

Just checking, is this really the way you want ExamPreview to look like? Looks too much space to me.

In HomeView, when date isn't set to today, display today as that date's representation, like mm/dd
In HomeView, the refreshable function should be rather force updating, trigger forceUpdate there.
In ExamView, show a text like "no more exam" or some design like ExamPreview instead of just empty
In ClassRoomView, show timing hints at the top to indicate user when the room is empty or not

comment on this: how about we make the bar movable and show what time the bar represents? I don't think we have enough space on the top to make it clear

Stepping further, consider tightening front-back end relationship with models like RxSwift that uses MVVM models, which we have already part-way implemented in many views.
The absence of real ViewModel would make it harder for showing progress in controller. This could be easily handled with Combine framework to strengthen the model.
The @Binding AsyncViewStatus way seems a bit tedious in many implementations, and shall be deprecated gradually with more formally written Publisher<AsyncViewStatus> as a more suitable way to receive updates on asynchronous events.
Further discussions are still required after the first example is given, which I hope wouldn't be that troublesome...

Add the ability to chose which website to use Reeder
Add a view for user to pick its label for TPNS to push

Incomplete display when more than 6 exams -> need more paddings.

Incomplete display when more than 6 exams -> need more paddings.

Just want to point out the padding absolutely sucks, might as well just change back to the old way of using TabView, now it's visually incomplete.

But frankly, I don't know the swiftUI-way of doing this without using Introspect to inject spacer in every ScrollView

I thought .padding(30) meaning adding the absolute space for the tab bar (approximate 30), rather than a relative space relating with the number of your exams or etc.

I thought .padding(30) meaning adding the absolute space for the tab bar (approximate 30), rather than a relative space relating with the number of your exams or etc. That is there should be a enough and fixed space for the tab bar at any time.

see 37e7d81fd3ee47b91f053c6803a5873b9c6f0216, case closed for this.

Overlapping:

With a bit more scroll:

Just add Spacer() instead of padding, the original idea is a Rounded Rectangle above the view, not under the view...


Suggested changes

Hi Rachael,
This PR has a bunch of changes to make the DCLV code a bit more idiomatic RDKit.
Rather than explain the reasoning behind all the changes here, I'm happy to do a call if you have questions about why I made any of them or if any of them just seem wrong to you.

Hi @greglandrum thanks, I think these make sense


lock // feature request

Hi guys,
Thanks for the great work. I would like to make a feature request to support esphome locks.
I'm using this https://github.com/digaus/esphome-components-eqiva to drive a equiva door lock in my basement.
It would be amazing if the door lock would be switchable from openhab.
many thanks.
Sebastian

Adding lock support should be fairly doable, feel free to create a PR

Added some preliminary support in latest release, untested
https://buymeacoffee.com/arnes

Just wanted to let you know that it works like a charm! Thanks for the quick help on adding the lock feature.


Update README.md

Codecov Report

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

@@           Coverage Diff           @@
##           master      #83   +/-   ##
=======================================
  Coverage   83.21%   83.21%
=======================================
  Files          19       19
  Lines         286      286
  Branches       51       51
=======================================
  Hits          238      238
  Misses         39       39
  Partials        9        9

Continue to review full report at Codecov.

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

Oops, a typo 😅
Thank you.


Help is wrong on vm image list --all

$ ./az vm image list -h

Command
    az vm image list: Vm image list.

Arguments
    --all        : Retrieve all versions of images from all publishers.
    --location -l: Location.
    --offer      : Image offer name.
    --publisher  : Image publisher name.
    --sku        : Image sku name.

if i do $ ./az vm image list --all --publisher credativ it shows me only my images instead of the one from all publishers.
You might want to change that to
    --all        : Retrieve all versions of images from all publisher or all versions of images of a specific publishers.

@jasonrshaver and @sauryadas as fyi
@zobelhelas : Thanks for the feedback.

#1813 fixed it.


refactor(mesh): social page

Notable Change

refactor social page to utilize the new API endpoint for improved data handling and performance. doc
refactor: add extra Pub/Sub request after member signed up successfully. doc 20

TODO:  infinite scroll / pagination

To see the specific tasks where the Asana app for GitHub is being used, see below:

https://app.asana.com/0/0/1207985858522781

到 360 幾 px 時破版哩

ＬＧＴＭ


value := is not a member of outwatch.dsl.AutoStyle[String]

I have this error:
value := is not a member of outwatch.dsl.AutoStyle[String]
[error]   Expression does not convert to assignment because receiver is not assignable.
[error]                                       VDomModifier(vdomTxt, width:="300px", textAlign := "justify" ),

and this import:
import org.scalajs.dom.{html, _}

import outwatch.dsl._
import outwatch.helpers._
import outwatch.interpreter._
import colibri.ext.monix._
import outwatch.reactive.handlers.monix._
import outwatch.reactive.handler.{Handler => Internal}
import colibri._

//import outwatch.definitions._
import outwatch._

What am I doing wrong?

You will need an import because styles are only working with an implicit: import outwatch._. It is the same as before import outwatch.dom._.
You do not need outwatch.helpers._ and outwatch.interpreter._.

But this is actually really not so nice - I will try to think of a better mechanism to not need the import.

Oh, I see now that you have that import! That is confusing, we actually have tests for it - can you show me the code, because it should really work.

@cornerman : here is my code:
https://gist.github.com/elyphas/462461a72ff6427fd4546da0777e9f8d
thank you the help!, :)

I am going to try the other repository
//"io.github.outwatch" %%% "outwatch" % "1.0.0-RC2",
"com.github.outwatch.outwatch" %%% "outwatch" % "master-SNAPSHOT",

seems I make a mistake with the repository
so far not problem.

Great!


[DOC][10.0] pos_debt_notebook_sync: new logo

[DOC][10.0] pos_debt_notebook_sync: new logo

:+1:

@yelizariev merge it please

@ilmir-k merge yourself


[SUGGESTION] Adding eslint-plugin-project-structure to the project for validating folder structure and more, to automatically ensure scalability and consistency.

Hey, I think my library might interest you.
With it, you can verify the correctness of file and folder naming, as well as the entire structure of a given folder.
Additionally, it allows you to check the correctness of imports, similar to eslint-plugin-boundaries, but with more flexibility, a more user-friendly API, and the ability to create a separate configuration file with TypeScript support. Also support for ESLint 9, which eslint-plugin-boundaries doesn't have.
If you are interested, I’d be happy to assist with the implementation and answer any questions you may have.
Below is the full description of the features:

eslint‑plugin-project‑structure
Powerful ESLint plugin with rules to help you achieve a scalable, consistent, and well-structured project.
Create your own framework! Define your folder structure, file composition, advanced naming conventions, and create independent modules.
Take your project to the next level and save time by automating the review of key principles of a healthy project!

project‑structure/folder‑structure
Enforce rules on folder structure to keep your project consistent, orderly and well thought out.
 Features:

Validation of folder structure. Any files/folders outside the structure will be considered an error.
File/Folder name regex validation with features like wildcard * and treating . as a character, along with other conveniences.
Build in case validation.
Inheriting the folder's name. The file/folder inherits the name of the folder in which it is located. Option of adding your own prefixes/suffixes or changing the case.
Enforcing the existence of a files/folders when a specific file/folder exists. For example, if ./src/Component.tsx exists, then ./src/Component.test.tsx and ./src/stories/Component.stories.tsx must also exist.
Reusable rules for folder structures.
An option to create a separate configuration file with TypeScript support.
Forcing a nested/flat structure for a given folder.
Support for all file extensions.
Folder recursion. You can repeatedly nest a folder structure and set a limit on the nesting depth. There is also an option to change the rule at the final level, such as flattening the folder structure.
Fewer repetitions and precise error messages, even for deeply nested folders (recursion), by representing the folder structure as a tree.
Checking the length of paths and notifying when the limit is exceeded.

project‑structure/independent‑modules
A key principle of a healthy project is to prevent the creation of a massive dependency tree,
where removing or editing one feature triggers a chain reaction that impacts the entire project.
Create independent modules to keep your project scalable and easy to maintain. Get rid of dependencies between modules and create truly independent functionalities.
 Features:

Creating independent modules in which you control what can be imported (e.g. types, functions, components of one functionality cannot be imported into another functionality).
The ability to create very detailed rules, even for nested folder structures. Whether it's a large module, a sub-module, or a single file, there are no limitations.
Support for all types of imports, including require(), import(), jest.mock(), and jest.requireActual(), as well as ExportAllDeclaration and ExportNamedDeclaration.
Disabling external imports (node_modules) for a given module (Option to add exceptions).
Non-relative/relative imports support.
Support for imports without extension.
Reusable import patterns.
Support for path aliases. The plugin will automatically detect your tsconfig.json and use your settings. There is also an option to enter them manually.
An option to create a separate configuration file with TypeScript support.

project‑structure/file‑composition
Compose your ideal files!
Have full control over the order and quantity of selectors.
Define advanced naming conventions and prohibit the use of specific selectors in given files.
 Features:

File composition validation.
Supported selectors: class, function, arrowFunction, type, interface, enum, variable, variableExpression.
Inheriting the filename as the selector name. Option to add your own prefixes/suffixes, change the case, or remove parts of the filename.
Prohibit the use of given selectors in a given file. For example, **/*.consts.ts files can only contain variables, **/*.types.ts files can only contain interfaces and types.
Define the order in which your selectors should appear in a given file. Support for --fix to automatically correct the order.
Rules for exported selectors, selectors in the root of the file and nested/all selectors in the file. They can be used together in combination.
Enforcing a maximum of one main function/class per file.
The ability to set a specific limit on the occurrence of certain selectors in the root of a given file.
Selector name regex validation.
Build in case validation.
Different rules for different files.
An option to create a separate configuration file with TypeScript support.

If you want to create a PR that mimics similar functionality I would be more than happy to look it over and see if it would be worth adding as a secondary option. You may need to email me after you post the PR since I get lots of GitHub notifications and miss many of them.

I have a prepared branch, but I don't have permission to push.


[Question]: Checkpoints for ernie-layout fine-tuning

请提出你的问题
In ernie-layout  page, you suggest using out-of-box model for VQA task:
docprompt = Taskflow("document_intelligence", lang="en")
But for fine-tuning, you provide checkpoints "ernie-layoutx-base-uncased" which initially works much worse than the  "out-of-box model".  Could you please provide checkpoints of the "out-of-box model"?

@kaysinb Thank you for your interest in Ernie-Layout. DocPrompt is trained on a large scale VQA & information extraction data based on Ernie-Layout. Due to commercial considerations, we currently do not plan to open-source the fine-tuning process. Alternatively, you can consider using UIE-X for fine-tuning.


Repro: add failing types test for wrapper.vm.$emit

Repro #144
The code works fine if you @ts-ignore. Just types.
Any ideas? @pikax @cexbrayat maybe? 🤔 Oddly enough it knows that emit exists but does not think it is callable.
vm.$.emit is defined and works great, but that is the internal instance.
EDIT: we have this problem in the codebase too: https://github.com/vuejs/vue-test-utils-next/blob/c4787821f100524f195fd2365f42dd816634f07d/src/vue-wrapper.ts#L202

I need to take a closer look, but I think this is expected as the shim for *.vue is any. So $emit becomes unknown (TS doesn't know it exists, but any allows anything).
You need to properly shim *vue, and that should work, I use it in various projects:
declare module '*.vue' {
  import { defineComponent } from 'vue';
  export default defineComponent();
}

Not ideal typing, but should be better than any.
I really hope to get rid of all the @ts-ignore of the codebase, I need to find time to get back to it!

If this is related to the shim, though, we would not see this problem in the main codebase would we? It is the same error there, which works entirely we TS. Not sure this is a shim issue.
findComponent is typed to return a PublicComponentInstance - I am sure this is correct, and it does work correctly, so I am require unsure why TS flags this type as unknown when we try to call it (but not when we reference it; eg $emit is ok, but $emit()` is not).
Interestingly enough you can do vm.$.emit and this works fine (no TS error).

See #146
We probably have the same issue in the codebase.

Thanks. I don't think the issue in the codebase is related to the shim though - it doesn't touch .vue files.
Very weird. Thanks for this, though, at least I can remove a ts-ignore from my application's tests.

Fixed in latest beta


How to deploy and use eval-only instances?

Expected Behavior

I've deployed a PostgreSQL database to OpenShift, as well as two services with one pod each.
The first service is flagr-admin, which is running the latest flagr Docker image and has been configured to talk to Postgres. It starts successfully.
The second is flagr-eval, which I am trying to get working with the rest of the system.
I expect flagr-eval to act as the "public" part of the feature flagging system; it will serve requests to my clients when they query which feature flags are enabled from browsers, etc. Whereas flagr-admin should be kept private, accessible only through our internal network to administrators. Are these expectations correct?
I therefore expect flagr-eval to connect in some way to either Postgres, or flagr-admin, in order to retrieve and cache the feature flags. The docs mention only two connection types are supported, but don't really elaborate. So I configured it to the json_http mode and pointed its "database" connection at the internal cluster address for flagr-admin, to see what happens.
Current Behavior

The admin pod starts up successfully, sets up the database, and announces its availability.
The eval-only pod crashes:
  | panic: Get http://<my_flagr_k8s_service_name>.svc.cluster.local:  dial tcp <the_correct_internal_cluster_ip>:80: connect: no route to host
-- | --
  |
  | goroutine 1 [running]:
  | github.com/checkr/flagr/pkg/handler.(*EvalCache).Start(0xc00063e100)
  | /go/src/github.com/checkr/flagr/pkg/handler/eval_cache.go:50 +0x7a
  | github.com/checkr/flagr/pkg/handler.setupEvaluation(0xc0005ce580)
  | /go/src/github.com/checkr/flagr/pkg/handler/handler.go:73 +0x32
  | github.com/checkr/flagr/pkg/handler.Setup(0xc0005ce580)
  | /go/src/github.com/checkr/flagr/pkg/handler/handler.go:25 +0xea
  | github.com/checkr/flagr/swagger_gen/restapi.configureAPI(0xc0005ce580, 0xc0000321b0, 0x0)
  | /go/src/github.com/checkr/flagr/swagger_gen/restapi/configure_flagr.go:34 +0xbd
  | github.com/checkr/flagr/swagger_gen/restapi.(*Server).ConfigureAPI(...)
  | /go/src/github.com/checkr/flagr/swagger_gen/restapi/server.go:58
  | main.main()
  | /go/src/github.com/checkr/flagr/swagger_gen/cmd/flagr-server/main.go:51 +0x46e

Although it resolves the internal IP correctly, it can't connect. Perhaps due to the port?
Before I went any further, I wanted to see if I'm actually trying to do the right thing, here. Should I be trying to connect the eval-only node to the admin (full CRUD) one?
Possible Solution

Steps to Reproduce (for bugs)

Reproduction won't be simple, since I'm using a lot of company custom tooling to perform the deployment. But I believe my question is more of a general one about the intended deployment of the dependent services.
Context

I'm trying to figure out the correct basic setup for Flagr to test it out in a deployed environment in a similar way to how we might use it in production.
Your Environment

Version used (flagr version): 1.1.4 (Docker tag)
Server type and version: OpenShift (Kubernetes) v3.11.98 (k8s version v1.11.0)
Operating System and version (uname -a): I'm using the official Docker container
Link to your project:

Update on this. I'm still not sure about the correct configuration, but I have fixed the first issue I encountered, and I have a theory on what to do next.
The no route to host error was due to my Kubernetes Service for the flagr management instance not routing traffic because the pod was not passing a health check. I put in the wrong health check endpoint (it should be /api/v1/health). Once I fixed that, the Service initialized correctly and began routing traffic to the pod, and the eval-only instance could then talk to the manager via its Service URL.
Now I just have to figure out what the Eval service should be doing. I have tentatively updated its connection string to point directly to the JSON export API endpoint of the manager service. I'll see if that seems to work or not...

Pointing the eval instance at /api/v1/export/eval_cache/json on the manager instance worked! Everything is running great. Hope this helps someone else in the future.

@a-type thanks for the discovery work. Yes, I should be more clear in the docs, that's exactly why I created the export API for this use case.
https://checkr.github.io/flagr/api_docs/#operation/getExportEvalCacheJSON


Unsupported Camera Model $division

Trying to convert Reality Capture to Colmap.
Get
File "C:\...\site-packages\camorph\ext\COLMAP\util\WriterSyntacticUtil.py", line 168, in _get_model_and_params
    raise Exception(f"Unsupported Camera Model ${cam.model}")
Exception: Unsupported Camera Model $division

Hey,
Unfortunately, just from this description I cannot offer a solution. Could you provide some example files to reproduce the error?

Hi,
what you could do as an alternative is to set the lens distortion in RealityCapture from division model to any of the Brown models. This is what we typically use when converting calibration data with Camorph.
Hope that helps!
Cheers,
Michel


Fix extra ignored error

Questions
Answers

Description?
Fixes additional error in PHP stan, see: https://github.com/PrestaShop/statsbestsuppliers/actions/runs/3886578826/jobs/6631846892

Type?
bug fix

BC breaks?

Deprecations?

Fixed ticket?

How to test?

Ping @kpodemski for merge


ycmd: copy libclang on darwin

Motivation for this change
libclang was missing on darwin causing runtime.
Things done

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

[ ] NixOS
[x] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Is there a reason not to refer to the library from the clang output directly?

Looks reasonable to me; presumably just no-one had tested on OS X and noticed the missing library.


start a recording by pressing a volume button

Can you start a recording by pressing a volume button, like https://github.com/anselm94/Torchie-Android
Thanks.

This is currently not possible, but it would be a good idea to support it as an option (that needs to be explicitly enabled in the settings).
I am not actively working on Diktofon anymore, but you are welcome to submit a pull request that implements this.


⚠ Avatar API Endpoint has degraded performance

In 20f7ecd, Avatar API Endpoint (https://avatar.roblox.com/v1/avatar-rules) experienced degraded performance:

HTTP code: 200
Response time: 4788 ms

Resolved: Avatar API Endpoint performance has improved in dfa24cd after 3 minutes.


Allow usage of dedicated autoscaling_group_tags per node group in self_managed_node_groups

Is your request related to a new offering from AWS?
yes, see aws_autoscaling_group_resource here for example AWS provider 4.55.0
Is your request related to a problem? Please describe.
I want to add additional ASG tags to allow Cluster Autoscaler to scale form zero to only specific ASG which require this like:
      autoscaling_group_tags = {
        "k8s.io/cluster-autoscaler/node-template/label/system-component" : "enabled",
        "k8s.io/cluster-autoscaler/node-template/taint/system-component" : "enabled:NoSchedule",
      }

See Cluster Autoscaler documentation on this topic here
Currently module only allow to set common tags for all ASG in self_managed_node_group_defaults
Describe the solution you'd like.
Add an attribute autoscaling_group_tags on a particular  self-managed node group so that those tags will be added in addition to the tags from self_managed_node_group_defaults
# self-managed node groups
  self_managed_node_group_defaults = {
    instance_type                          = "m6i.xlarge"
    update_launch_template_default_version = true
    iam_role_additional_policies = {
      AmazonSSMManagedInstanceCore = "arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore"
    }
    # enable discovery of autoscaling groups by cluster-autoscaler
    autoscaling_group_tags = {
      "k8s.io/cluster-autoscaler/enabled" : true,
      "k8s.io/cluster-autoscaler/${local.name}" : "owned",
      "auto-delete" : "no"
    }
  }

  self_managed_node_groups = {
    smng-ond = {
      #name = "${local.name}-smng-ond"
      name = "smng-ond"

      min_size     = 1
      max_size     = 3
      desired_size = 3

      # https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/
      bootstrap_extra_args = "--kubelet-extra-args '--node-labels=system-component=enabled --register-with-taints=system-component=enabled:NoSchedule'"

      # required for scaling from zero according to:
      # https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md
      autoscaling_group_tags = {
        "k8s.io/cluster-autoscaler/node-template/label/system-component" : "enabled",
        "k8s.io/cluster-autoscaler/node-template/taint/system-component" : "enabled:NoSchedule",
      }
    }

this has been attempted but no solution exists today - https://github.com/terraform-aws-modules/terraform-aws-eks/issues/1558#issuecomment-1030640207

After evaluating I can confirm that this feature is already implemented and working for self-managed node group.


Davis Testset?

Hi, thank you for sharing your work to the public.
I was trying to setup my evaluation setting with the Davis dataset, having your implementation as a reference, and I figured that in your implementation, there seems to be 2 dataloaders named Davis. one named "Davis" and another named "Davis90_triplet".
I assume that "Davis90_triplet" is the correct one used for evaluations of the paper, would that be right?
May I ask what would the other Davis loader be...?

For clarification, I'm confused with which sets and frames I should use.
The "Davis" loader seems like it has specifically chosen sequences, while my expectation was to use the entire sequences / all frames of the davis-90 set, as in "Davis90_triplet".
Is using all sequences with "Davis90_triplet" the one?

Hi,
Sorry for the delayed response! Yes you are right, the Davis_triplet should be the correct one to use, which uses all frame triplets from the 90 sequences from here for evaluation. The other class Davis is from an older code used for debugging.
Thanks.


Please make it work on Mobile Apps

This is a great plugin. I have my self hosted mattermost and jitsi and I'm pleased to finally see some integration.
But most of the users, like myself, use mobile/desktop apps. Therefore we need this plugin working on them too.
Also the ability to open jitsi-meet mobile app by pressing the "go meeting" button in MM would be pretty neat.
Cheers,

Hey, I do myself use both of the mobile apps, and do not have any issues with the meeting opening in Jitsi. You do need to make sure that you configure the Jitsi Meet app on your phone to open those links first however. As I don't know what type of phone you have, I would recommend asking for more details on how to change the default links that Jitsi Meet opens on their community forums if you have more questions. https://community.jitsi.org/

I use iOS.
"you configure the Jitsi Meet app on your phone" I don't think thats the case.
ask in their community forum is the best bet.

Sorry, I don't have an iPhone, so I cannot help you with that. As for adding a "Start Meeting" button on mobile, that is not currently possible as per mattermost's plugin documentation. see: https://developers.mattermost.com/extend/plugins/mobile/
The way that Android handles opening the link, is that it automatically captures the URL, and if it matches a specific pattern, say https://jitsi.example.com/* it will open the url in the registered app for that url. I have no idea how iOS does this functionality.

Its possible with the app but the app needs to register he is working on a specific URL.
In regards to MM plugin I did create a post there. aits going to be a bummer if its really not possible since there are many devs asking for this feature for years now.
https://forum.mattermost.org/t/mm-plugins-available-on-mobile-apps/9563


add pixel note splashes

this PR will add a feature that doesn't exist in the original fnf, but kinda makes sense to make it: pixelated note splashes
yea, it is a little thing, but idk, some people would like it
there is a video below to show what it does, check it out
https://user-images.githubusercontent.com/72695242/142067000-d76570f5-2ede-4f49-beba-e9bd8e312b5d.mp4
and yeah, i coded it to hurt notes too, in some case of someone making a chart with these notes
i created it by a issue i've seen today. Here it is #1072

very pog
the note splashes for pixel didn't exist on here till i saw this :pogchamp:

ya bro :poggers:

Are those based on Week 7's? I hope not.

Are those based on Week 7's? I hope not.

no, week 7's update doesn't have pixel note splashes too

Thanks @HiroOfc

Thanks @HiroOfc

u're welcome dude

Are those based on Week 7's? I hope not.

no, week 7's update doesn't have pixel note splashes too

I'm asking if it's based on Week 7's note splash textures, not asking if it's from Week 7

Are those based on Week 7's? I hope not.

no, week 7's update doesn't have pixel note splashes too

I'm asking if it's based on Week 7's note splash textures, not asking if it's from Week 7

oh, srry lol
nah, i used the Psych Engine's splash texture as base

I decided to test it and uh... well, look at it yourself

I decided to test it and uh... well, look at it yourself

If your talking about the enemy note splash then in the video shown its supposed to go to bf notes only

I decided to test it and uh... well, look at it yourself

If your talking about the enemy note splash then in the video shown its supposed to go to bf notes only

That's not it... I mean why are the pixel notes suddenly so small?

I decided to test it and uh... well, look at it yourself

If your talking about the enemy note splash then in the video shown its supposed to go to bf notes only

That's not it... I mean why are the pixel notes suddenly so small?

bruh, it's not the PR's fault, i've already seen it, check #1037

I decided to test it and uh... well, look at it yourself

If your talking about the enemy note splash then in the video shown its supposed to go to bf notes only

That's not it... I mean why are the pixel notes suddenly so small?

bruh, it's not the PR's fault, i've already seen it, check #1037

oh, alright, sorry.

I decided to test it and uh... well, look at it yourself

If your talking about the enemy note splash then in the video shown its supposed to go to bf notes only

That's not it... I mean why are the pixel notes suddenly so small?

bruh, it's not the PR's fault, i've already seen it, check #1037

oh, alright, sorry.

it's ok lol

I decided to test it and uh... well, look at it yourself

If your talking about the enemy note splash then in the video shown its supposed to go to bf notes only

That's not it... I mean why are the pixel notes suddenly so small?

bruh, it's not the PR's fault, i've already seen it, check #1037

oh, alright, sorry.

it's ok lol

Btw, I hope it's ok if I use your pixel notesplash for my fork. I even made an icon and put you in the credits of it.

I decided to test it and uh... well, look at it yourself

If your talking about the enemy note splash then in the video shown its supposed to go to bf notes only

That's not it... I mean why are the pixel notes suddenly so small?

bruh, it's not the PR's fault, i've already seen it, check #1037

oh, alright, sorry.

it's ok lol

Btw, I hope it's ok if I use your pixel notesplash for my fork. I even made an icon and put you in the credits of it.

well, for me it's ok lol

I decided to test it and uh... well, look at it yourself

If your talking about the enemy note splash then in the video shown its supposed to go to bf notes only

That's not it... I mean why are the pixel notes suddenly so small?

bruh, it's not the PR's fault, i've already seen it, check #1037

oh, alright, sorry.

it's ok lol

Btw, I hope it's ok if I use your pixel notesplash for my fork. I even made an icon and put you in the credits of it.

well, for me it's ok lol

thanks, also damn, that's a lot of quotes

I decided to test it and uh... well, look at it yourself

If your talking about the enemy note splash then in the video shown its supposed to go to bf notes only

That's not it... I mean why are the pixel notes suddenly so small?

bruh, it's not the PR's fault, i've already seen it, check #1037

oh, alright, sorry.

it's ok lol

Btw, I hope it's ok if I use your pixel notesplash for my fork. I even made an icon and put you in the credits of it.

well, for me it's ok lol

thanks, also damn, that's a lot of quotes

yea l m a o

forgot about deez, sorry

forgot about deez, sorry

yay, it's compatible again :D

TEMPORARILY CLOSED!!
i accidentally deleted some week files and i'll close this for a while


feat: add support for definePageMeta

🔗 Linked issue

❓ Type of change

[ ] 📖 Documentation (updates to the documentation or readme)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[x] ✨ New feature (a non-breaking change that adds functionality)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
Add a module so that definePageMeta can also be used in Nuxt 2.
It is difficult to support other properties, so only layout and middleware will be supported first.
I have converted it as follows.
webpack
const __nuxt_page_meta = {
  layout: 'test'
}
export default /*#__PURE__*/_defineComponent({
  ...__nuxt_page_meta,
  __name: 'redirect',
  setup: function setup(__props) {
    return {
      __sfc: true
    };
  }
});

vite
const __nuxt_page_meta = {
  layout: "test"
}
const _sfc_main = /* @__PURE__ */ _defineComponent({
  ...__nuxt_page_meta,
  __name: "redirect",
  setup(__props) {
    return { __sfc: true };
  }
});

📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

This is very nice 👌

perfect! Maybe you should also update documentation here: https://nuxt.com/docs/bridge/plugins-and-middleware (very bottom). Because its not working without macros.pageMeta enabled.


dtu dataset

Hello ,I download the dtu .But the path is like this,data/dtu/scan1/pair.txt.But i find that in the dtu.yaml , the ROOT_DIR of TRAIN is data/dtu2.How should i do with the data i downloaded?

Do you have solved this problem? I meet this problem too.


Raman spectra

Hi, first let me thank you for all effort you put in the useful website.
I suggest that Raman spectroscopic data could be added as a separate database (like the "n₂ spectra" are now). There are some open-sourced spectra here on github (e.g. https://github.com/sutapaghosal/Raman-Spectral-Website/tree/master/Spectra with a simple browser https://cdph-ramanspectroscopywebsite.github.io/CDPH-Raman-Microspectroscopy-Website/spectraldata.html, or https://github.com/whenfung/Raman-spectra/tree/master/data/试剂标准品谱图).
Our laboratory could contribute with some high-quality Raman entries for technologically important materials like semiconductors.
Also there exist some limited resources on complex permittivity spectra, part of which I tried to document here: https://www.fzu.cz/~dominecf/eps/ When such data are available, they allow to design very realistic materials for the https://github.com/NanoComp/meep FDTD simulation. Also one can use permittivity directly compute and verify the n and k quantities.
Do you think these new two "libraries" would be a viable extension?

Hi!
Thank you for reaching out and apologies for the delayed reply.
Your suggestion of adding a Raman spectra database is indeed intriguing. I'm open to incorporating a user interface for it on the RefractiveIndex.INFO website. However, my current time constraints limit me from investing significant effort into constructing the database itself. If you're prepared to undertake the primary work of assembling the database, I wholeheartedly encourage you to do so! There are two main prerequisites:

The database should utilize a YAML-based file format akin to the ones used in the 'nk' and 'n2' databases.
The source for all data must be meticulously documented. Ideally, data from peer-reviewed journals would be favored.

Regarding complex permittivity data: this can be translated into n,k values and subsequently incorporated into the 'nk' database. The same standards for data traceability apply in this context as well.
I appreciate your commitment and the resources you've shared. Looking forward to potential collaboration!
Best regards,
Misha

If there is enough time, I will try to assemble some Raman data and make a PR.
Another idea I got using refractiveindex.info is that most often I am interested in all n,k spectra for a given material at once. If they don't overlap, they give a wider spectral range, if they do overlap, they at least give an estimate of accuracy.
This behaviour was already implemented for the n₂ data, where one can (un)select the datasets to be shown simultaneously. Do you think this could be done for the "n,k" data as well? Perhaps the "Page" combo box could allow multiple selection?

Please take a look at the nkexplorer.py script located in the 'tools' sub-folder. It should accomplish what you're looking for.


Questions about Publisher confirms

About this client
The doc describes about Publish function like this

This can return an error when the channel, connection or socket is closed.  The
error or lack of an error does not indicate whether the server has received this
publishing.
It is possible for publishing to not reach the broker if the underlying socket
is shut down without pending publishing packets being flushed from the kernel
buffers.  The easy way of making it probable that all publishings reach the
server is to always call Connection.Close before terminating your publishing
application.  The way to ensure that all publishings reach the server is to add
a listener to Channel.NotifyPublish and put the channel in confirm mode with
Channel.Confirm.  Publishing delivery tags and their corresponding
confirmations start at 1.  Exit when all publishings are confirmed.

When the situation(text which bold style) happens, although Publish() will not return any error but the packet will be lost and it will not arrive to the server. At the end, server will not send any ack/nack response. So to ensure the delivery, I have to wait for seconds for the confirm channel and when not receiving any response, re-publish the message with Publish() again.
This is what I've understood but every examples acts ack/nack packet is guaranteed after call Publish() (if there's no returning error)
Why is that? Does ack/nack response packet is guaranteed to be arrived when there's no returning error in Publish() ?

Design of Delivery tag

Since delivery tag is channel scoped, I know it's true the producer can't know the delivery tag immediately after publishing.
For one-by-one publishing, we can publish the next one after ack the previous one
while {
	// get next message
	msg = get_next_message()
	// publish the msg to the server
	channel.publish(msg)
	// block until getting the confirm
	result = channel.notice_confirm()
}

we can sure the result is the confirmation with the latest sent message regardless of the result.DeliveryTag if there is no other publishers with same channel within the process even there're multiple publishers over entire connected clients. So, it's good.
But if we publish multiple messages at once, Is there no way to recognize which confirmation is for which message? (with situations one with multiple publishers and one with single publisher itself)
Thanks

See heartbeats. There are confirms tests that demonstrate how timeout can be used but since acknowledgements are delivered using a Go channel, it should be no different from consuming from a channel with a timeout elsewhere.

What I want to know is can I know which message is sent and which is not when sending multiple messages.

private volatile SortedSet<Long> unconfirmedSet =
    Collections.synchronizedSortedSet(new TreeSet());

...

ch.setConfirmListener(new ConfirmListener() {
    public void handleAck(long seqNo, boolean multiple) {
        if (multiple) {
            unconfirmedSet.headSet(seqNo+1).clear();
        } else {
            unconfirmedSet.remove(seqNo);
        }
    }
    public void handleNack(long seqNo, boolean multiple) {
        // handle the lost messages somehow
    }
});
ch.confirmSelect();
for (long i = 0; i < MSG_COUNT; ++i) {
     unconfirmedSet.add(ch.getNextPublishSeqNo());
     ch.basicPublish("", QUEUE_NAME, MessageProperties.PERSISTENT_BASIC,
                       "nop".getBytes());
 }
while (unconfirmedSet.size() > 0)
     Thread.sleep(10);

When multiple messages are sent, we don't know a delivery tag of each messages.
But I know whether every messages are sent by checking the size of the arrived confirmations (like code above)
Since the publisher confirms order is not guaranteed, (https://www.rabbitmq.com/confirms.html, #Ordering Considerations for Publisher Confirms)
when failed to acks one or more of them, should I re-publish all of them although some of them are acked? (which is inefficient)
and while not batching, Is one-by-one publishing (publish -> wait for ack -> publish next, synchronously) the only way to guarantee the publish?
Thank you.

@orange4glace I believe this is exactly the same question as #279.

@michaelklishin
What a dumb. I had thought it was exchange or queue scope instead of channel even I mentioned about it =_= ;
Thanks!

@orange4glace no worries :)


Packaging, round 1

This PR is the first step in packaging PiWeatherRock as a Python package that can be installed from PyPI. See https://github.com/genebean/piweatherrock-planning for more details.
I have tested this code by pulling it down onto a device and running pip3 install -e . from the repository root. Both services work as does editing the config via the web and changing screens via a VNC connection.

@metaMMA - I'd love it if you could take a look at this. Not sure if you have time.

I'm a little late to the party, but most of the changes that were made here are beyond the scope of my understanding.


Update build configuration

The build configuration of this project is outdated and may no longer work.
This pull request will be merged automatically if there are no conflicts.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Dtls1.3 pr

This is a temporary "pre-feature" branch for dtls 1.3 development
List of PR's that are part of this branch:
https://github.com/openssl/openssl/pull/22259
https://github.com/openssl/openssl/pull/22260
https://github.com/openssl/openssl/pull/22261
https://github.com/openssl/openssl/pull/22273
https://github.com/openssl/openssl/pull/22275
https://github.com/openssl/openssl/pull/22360
https://github.com/openssl/openssl/pull/22362
https://github.com/openssl/openssl/pull/22363
https://github.com/openssl/openssl/pull/22364
https://github.com/openssl/openssl/pull/22366
https://github.com/openssl/openssl/pull/22376
https://github.com/openssl/openssl/pull/22378
https://github.com/openssl/openssl/pull/22379
https://github.com/openssl/openssl/pull/22380
https://github.com/openssl/openssl/pull/22400
https://github.com/openssl/openssl/pull/22401
https://github.com/openssl/openssl/pull/22402
https://github.com/openssl/openssl/pull/22416

I would like to see at least 2 fuzzers for this (client and server). The current quic_client fuzzer is probably the best example of what it should look like. Is this something you can add?

The current quic_client fuzzer is probably the best example of what it should look like.

Currently our QUIC implementation supports "fake" time which is something our DTLS implementation lacks. We use the fake time capability in the quic_client fuzzer to ensure we get good reproducible results. It would be good to have the same thing in DTLS although it goes a little beyond the scope of DTLSv1.3 specifically.

There are CI failures in this branch which might suggest some fixes in some of the constituent PRs.

I keep a list of TODO's for this feature and I'd like to add the fuzzers to it. But I agree with Matt that the DTLS "fake" time support is out of scope for this feature. I don't know if you can create a separate issue for that and fix it on master?

I created an issue for this in #22863.
Note that it is not strictly a requirement to have fake time support in order to do fuzzing in DTLS. It just improves the quality and reproducibility of the output

Note that it is not strictly a requirement to have fake time support in order to do fuzzing in DTLS. It just improves the quality and reproducibility of the output

Noted, I will add a work item to the backlog.

Regarding the pipeline failures: When we have the feature branch setup and is able to push to that it will be easier to make sure that a change does not introduce regressions.

@mattcaswell Do you have any updates on the feature branch setup?

And ofc it would be great if we could have the feature branch setup to commit the work on.

Right - I've been meaning to contact you about this. We now have a "Feature Branch Approval Policy" which describes how to get a new feature branch set up. You can read it here:
https://www.openssl.org/policies/general/feature-branch-approval-policy.html
So to request the feature branch you need to open an issue in the openssl/project repository (not openssl/openssl), and provide the requested information. Could you open that issue?

Perfect. I've created the request: https://github.com/openssl/project/issues/479
The estimate is not just for feature completion but also maturing with testing.

As the feature branch has been created, could you please retarget the individual PRs against the feature/dtls-1.3 branch?

As the feature branch has been created, could you please retarget the individual PRs against the feature/dtls-1.3 branch?

Exciting news! Yes I'll do that. I don't think you need to spend time closing the PR's. I think I can change the branch without creating a new PR. I'm currently abroad, but I'll do it when I get back in to office on thursday the latest.

Please also close & reopen the PRs when you retarget them, to get the CI re-run.

Sure I will!

Closing this since we have the feature branch setup.


--stdout

wip. needs to better consider usage when first running encrypt on .env.
it will currently modify still - because it needs to generate the DOTENV_PUBLIC_KEY. that seems unexpected when using, though it does make sense for it to be there. otherwise, we're left asking the user to pass a public key, which seems burdensome.
have to think on this one some more.

i think fixing this first - https://github.com/dotenvx/dotenvx/issues/297 - would make this simpler.
then additional public keys can be generated as part of the encryption output - whether stdout or writing to file.


Remove HAVE_FLOAT_H build var

Replace automake-style HAVE_INCLUDE_H compile flags with #if __has_include preprocessor directives.
This PR does so for float.h (which should always exist as a standard header, and thus all guards are removed).

Can you try to just remove including float.h? I don't think its necessary

src/iocore/cache/HttpTransactCache.cc and src/records/RecUtils.cc rely on float.h via include/tscore/ink_platform.h


Collect data from Vince

See https://kb.cert.org/vince/

VINCE also provides CSAF as output format.


Update language_ro-ro.properties

Make spelling/grammar adjustments and replace strings with a more native-like phrasing

Hi, I can.t see the pull request on my hacktoberfest page, i wonder if it.s because you added the labels before the 1st of Oct? It.s my 1st year participating so still trying to understand how this all works😬
Do you have any idea? thank you so much 🙆🏻♀

Hi, I can.t see the pull request on my hacktoberfest page, i wonder if it.s because you added the labels before the 1st of Oct? It.s my 1st year participating so still trying to understand how this all works😬
Do you have any idea? thank you so much 🙆🏻♀

HI, it is my first year participating too and I have no idea why you can't see it :( I will merge all PRs in a few days so maybe it will be helpfull

hmm, i see.. if you have a few mins to spare then can you please remove and after add the labels back?🙏🏻

i can try

Me again, sorry to bother. So looks like anything submitted before the 1st of Oct is not counted at all so one last request, would it be fine if you delete this merge request and I create a new one? Hope it doesn't clutter the project too much

Me again, sorry to bother. So looks like anything submitted before the 1st of Oct is not counted at all so one last request, would it be fine if you delete this merge request and I create a new one? Hope it doesn't clutter the project too much

Okay, no problem we can do it like that :D


[HELP WANTED] How can I prevent clearing the insert boxes on fail?

Hello,
I have read the issue #190  and was able to replicate it. I'm using the PageLoadingStrategy and want to prevent grid from clearing the insert boxes on fail. I have replaced the finishInsert function.

But even after return something clears the insert boxes. I want to keep input values there and allow user to fix them instead of the typing them again.
Thank you!

The same question regarding updating.
During updating I can return 400 result with the message inside (in case of the duplication validation failed). Currently grid cancels the edit mode and leaves the updated row inside (so for user it looks like a successful updating). And I have no way ON THE CLIENT SIDE to access the OLD value of the updated model to resolve it as promise and show it. Also I don't want to reload the whole page. I think that the good solution would be leave the edit mode active and this will notify user that updating is not finished.
I use the toast service for the notifications, But it's confusing when RED toast says: "Name should be unique" but the grid shows the updating row.

Use onItemInserting() and onItemUpdating() callbacks instead and use args.cancel to stop the flow.
onItemInserting: function (args) {
  args.cancel = // true if data valid, false otherwise
}
```

@tonisostrat
Thank you for the response.
As I remember events don't support the async callbacks. So I will not be able to make a server request. I don't want to get all the Names to make sure that the new one is unique on the client side. At least because this list will be outdated as soon as it will be received (it's a multi-user web app and someone can add new Customer with the same name during you input values).
So I'm expecting for something like:

I have checked your sample and args.cancel= true does the trick.
Also I have tried to do the same in the onItemInserted callback and it doesn't work.

@sguryev, did you check that you are getting inside finishInsert and what is the value of insertFailed (putting a break point or a debugger inside)?

@tabalinas yes sir! And return prevent the page reloading. But input boxes are cleared anyway

https://github.com/tabalinas/jsgrid/blob/3ca96b5d87a417e1a64ef04bfc689e90ef2b6d3a/src/fields/jsgrid.field.control.js#L182
Basically, it's not a load strategy that clear the insert row, but the control field (insert button handler). So you can redefine the handler of this button, or just reject deferred instead of resolving it in case of failure.

@tonisostrat as brilliant as simple. Thank you!

Hi @tabalinas can we do this for update also?
as you suggested i redefined insert and update button controller. For inserting when insert fails it prevents from clearing inputs. But i am not able to achieve this in case of update. When update fails if resolves previousItem but i want to do same as insert, don't want to clear the input.
UPDATE FUNCTION :
updateItem: function (updatingItem) {
var d = $.Deferred();
$.ajax({
url: url
type: "POST",
data: updatingItem,
}).done(function (response) {
display_notification(obj);
if (obj.flag)
{
grid.updateFailed = false;
d.resolve(response.data);
} else
{
grid.updateFailed = true;
d.resolve(previousItem);
}
}).fail(function () {
d.resolve(previousItem);
});
return d.promise();
EDIT CONTROL
}
function getCustomEditControls() {
return $("").addClass("jsgrid-button")
.addClass("jsgrid-update-button")
.attr({
type: "button",
title: "Save"
})
.on("click", function () {
grid2.updateItem().done(function () {
if (!grid.updateFailed)
{
grid2.clearInsert();
clear_errs();
}
else
{
grid.jsGrid("cancelEdit");  //???? nothing happens
}
}).fail(function () {
grid.jsGrid("cancelEdit"); //??? nothing happens
});
})
.add($("")
.addClass("jsgrid-button")
.addClass("jsgrid-cancel-edit-button")
.attr({
type: "button",
title: "Cancel"
})
.on("click", function () {
if (!grid2.insertings)
{
grid.jsGrid("cancelEdit");
}
}));
}
can you help me out here?


Add synced config support to Username plugin

This adds the enhancement request in #537. Synced settings take priority of the local settings, and will clear the username if the synced setting is disabled.

So I guess what is happening here is that the time the session is established is some unknown some after the plugins are all started, which can be after the plugin has already applied the username.
I also think it is possible for the client to finish init prior to the plugins loading (it looks like a race between the main thread and the swing thread, which is what the client inits on), so it could happen that the username is never applied as it stands. So there should also maybe be an additional change to set the username on plugin start too probably.
This change, at the very least, needs to check the gamestate prior to changing the username so we don't change the online username of clients if they manage to login prior to the session opening. It may be best to also figure out how to make it not update the username depending on the state of the login screen so that it doesn't update while someone is looking at the login prompt.

Fixed in de2ce71e694f41443e6ae1805148e2a818fff9c2


Added New in Course-en.md

What does this PR do?
Adds a New course by Cisco Networking Academy on Javascript.
For resources
Description
This course on Javascript is offered by Cisco Networking Academy for free and it allows the learner to algorithmically design, develop and write code on Javascript, and covering all the essentials and fundamentals for the same.
Why is this valuable (or not)?
This course helps is valuable because

Understand a programmer’s work in the software development process and the role of fundamental development tools.
Know how a program is interpreted and executed in an actual local and remote computer environment.

How do we know it's really free?
This course is actually offered for free to all by Cisco, to help them learn and program concepts on Javascript and also to encourage students, accelerate careers, and also to kickstart your technology talents.
For book lists, is it a book? For course lists, is it a course? etc.
This is a well structured Course offered by Cisco.
Checklist:

[☑] Read our contributing guidelines.
[☑] Search for duplicates.
[☑] Include author(s) and platform where appropriate.
[☑] Put lists in alphabetical order, correct spacing.
[☑] Add needed indications (PDF, access notes, under construction).
[☑] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Made changes as mentioned, Please check thank you.

you didn't like the parens around JSE?

Extremely Sorry, I didn't notice that change. I have added the parentheses now. Thanks for letting me know!

Thanks, and welcome to free-programming-books!


Update node 5 tests

Right now our integration tests does some symlinking voodoo that doesn't work with NPM 3. This needs to be fixed to get the tests passing on node 5. For now I'm removing node 5 from the Travis config.

Hello,
in NPM3 the dependencies are installed in the root of node_modules.
So, the tests passes by replacing in Makefile#11 by the commands below:
rm -rf node_modules/waterline;
ln -s "$(ROOT)" node_modules/waterline;

Should be a condition for comparing the node version  (NODE_VERSION=${shell node -v}), but I'm not comfortable to compare the (string) version in a Makefile for sending a PR.
Hoping to have helped.


Commit Composer - A GPT

https://chat.openai.com/g/g-EAGxnWIyW-commit-composer
Took a stab at creating a GPT based on the sk commit use case. Going to test this for comparison purposes.

The above were will the following instructions it generated for me:
Commit Composer is programmed to compose commit messages that are informative and succinct. It creates a summary line under 50 characters to encapsulate the changes, and a detailed explanation that outlines the rationale and context. It specifies the scope and type of change, and clearly indicates any breaking changes with migration paths. References to external resources are included when applicable. In cases where 'git diff' or 'git show' outputs lack context, Commit Composer will make a best effort to produce a coherent message, utilizing the information available while maintaining clarity and relevance.


Parsing: Version can contain major, minor, and revision numbers

The NIST identifiers can contain versions with major, minor, and revision numbers. For examples NIST.SP.800-63ver1.0.2.
This gem should handle such versions but it fails:
> Pubid::Nist::Document.parse("NIST.SP.800-63ver1.0.2")
Failed to match sequence (STAGE? (' ' / '.') REPORT_NUMBER parts:(PARTS{0, })) at line 1 char 8.
cause: Failed to match sequence (STAGE? (' ' / '.') REPORT_NUMBER parts:(PARTS{0, })) at line 1 char 8.
`- Extra input after last repetition at line 1 char 14.
   `- Expected one of [EDITION, REVISION, VERSION, VOLUME, PART, UPDATE, ADDENDUM, TRANSLATION, SUPPLEMENT, ERRATA, INDEX, INSERT, SECTION, APPENDIX] at line 1 char 14.
      |- Expected one of ['e' edition_year:YEAR_DIGITS, '-' edition_year:YEAR_DIGITS, 'e' edition:DIGITS] at line 1 char 14.
      |  |- Failed to match sequence ('e' edition_year:YEAR_DIGITS) at line 1 char 14.
      |  |  `- Expected "e", but got "." at line 1 char 14.
      |  |- Failed to match sequence ('-' edition_year:YEAR_DIGITS) at line 1 char 14.
      |  |  `- Expected "-", but got "." at line 1 char 14.
      |  `- Failed to match sequence ('e' edition:DIGITS) at line 1 char 14.
      |     `- Expected "e", but got "." at line 1 char 14.
      |- Expected one of [('rev' / 'r') revision:(DIGITS [a-z]?), '-' revision:DIGITS, 'r' revision:[a-z], 'r' revision:''] at line 1 char 14.
      |  |- Failed to match sequence (('rev' / 'r') revision:(DIGITS [a-z]?)) at line 1 char 14.
      |  |  `- Expected one of ['rev', 'r'] at line 1 char 14.
      |  |     |- Premature end of input at line 1 char 14.
      |  |     `- Expected "r", but got "." at line 1 char 14.
      |  |- Failed to match sequence ('-' revision:DIGITS) at line 1 char 14.
      |  |  `- Expected "-", but got "." at line 1 char 14.
      |  |- Failed to match sequence ('r' revision:[a-z]) at line 1 char 14.
      |  |  `- Expected "r", but got "." at line 1 char 14.
      |  `- Failed to match sequence ('r' revision:'') at line 1 char 14.
      |     `- Expected "r", but got "." at line 1 char 14.
      |- Expected one of ['ver' version:(DIGITS ('.' DIGITS)?), 'v' version:(\\d '.' \\d ('.' \\d)?)] at line 1 char 14.
      |  |- Failed to match sequence ('ver' version:(DIGITS ('.' DIGITS)?)) at line 1 char 14.
      |  |  `- Premature end of input at line 1 char 14.
      |  `- Failed to match sequence ('v' version:(\\d '.' \\d ('.' \\d)?)) at line 1 char 14.
      |     `- Expected "v", but got "." at line 1 char 14.
      |- Failed to match sequence ('v' volume:DIGITS) at line 1 char 14.
      |  `- Expected "v", but got "." at line 1 char 14.
      |- Failed to match sequence (PART_PREFIXES part:DIGITS) at line 1 char 14.
      |  `- Expected one of ['pt', 'p'] at line 1 char 14.
      |     |- Expected "pt", but got ".2" at line 1 char 14.
      |     `- Expected "p", but got "." at line 1 char 14.
      |- Failed to match sequence (('/Upd' / '/upd') update_number:DIGITS '-' update_year:DIGITS) at line 1 char 14.
      |  `- Expected one of ['/Upd', '/upd'] at line 1 char 14.
      |     |- Premature end of input at line 1 char 14.
      |     `- Premature end of input at line 1 char 14.
      |- Expected one of ['-add', '.add-1'] at line 1 char 14.
      |  |- Premature end of input at line 1 char 14.
      |  `- Premature end of input at line 1 char 14.
      |- Expected one of ['(' translation:(\\w{3, 3}) ')', '.' translation:(\\w{3, 3})] at line 1 char 14.
      |  |- Failed to match sequence ('(' translation:(\\w{3, 3}) ')') at line 1 char 14.
      |  |  `- Expected "(", but got "." at line 1 char 14.
      |  `- Failed to match sequence ('.' translation:(\\w{3, 3})) at line 1 char 15.
      |     `- Expected at least 3 of \\w at line 1 char 15.
      |        `- Premature end of input at line 1 char 16.
      |- Failed to match sequence (('supp' / 'sup') supplement:(\\d{0, })) at line 1 char 14.
      |  `- Expected one of ['supp', 'sup'] at line 1 char 14.
      |     |- Premature end of input at line 1 char 14.
      |     `- Premature end of input at line 1 char 14.
      |- Failed to match sequence ('-'? errata:'errata') at line 1 char 14.
      |  `- Premature end of input at line 1 char 14.
      |- Expected one of ['index', 'indx'] at line 1 char 14.
      |  |- Premature end of input at line 1 char 14.
      |  `- Premature end of input at line 1 char 14.
      |- Expected one of ['insert', 'ins'] at line 1 char 14.
      |  |- Premature end of input at line 1 char 14.
      |  `- Premature end of input at line 1 char 14.
      |- Failed to match sequence ('sec' section:DIGITS) at line 1 char 14.
      |  `- Premature end of input at line 1 char 14.
      `- Premature end of input at line 1 char 14.

The version should be parsed as "1.0.2"

@andrew2net where does this identifier type come from? DOI?

@ronaldtse the identifiers like "docidentifier": "SP 800-63 Ver. 1.0.2" come from https://csrc.nist.gov/CSRC/media/feeds/metanorma/pubs-export.zip


Update README.md

Small (but appreciated) changes in readme.md - thank you, Mathieu - please feel free to contact us directly if you want to talk about our project and the work we're doing

Small (but appreciated) changes in readme.md - thank you, Mathieu - please feel free to contact us directly if you want to talk about our project and the work we're doing


Comparison with https://www.phash.org/

First of all thanks for this library because C implementation is fully abandoned. I've been doing some tests (in our database we rely on phash dct u32 hashes) and it looks like theres a difference from what phash produces and img_hash. Hashes are completely different like<PHONE_NUMBER>3973741600 vs<PHONE_NUMBER>8080605850. I used to use ph_dct_imagehash function which produced the latter one. I just wonder is that because of different algo?

The implementation is probably not comparable. I haven't actually looked at the pHash source because its license isn't compatible anyway. This crate uses floating-point DCT so if pHash is doing an integer DCT that might explain it (though I have no idea how you'd go about implementing that).

@abonander thanks for explanation.


Add missing path in the Docker app.ini template

Some paths are missing in the Docker image's app.ini template, it will cause the gitea create files out of the /data directory. This PR added the missing paths.
Signed-off-by: Tao Wang<EMAIL_ADDRESS>

Updated with LFS_CONTENT_PATH = /data/git/lfs

There is one more thing I want to mention, as all missing paths are added, the /app/gitea/indexers will not be created, and gitea binary is the only file in the /app/gitea/ directory. Should we move the gitea binary to more standard place, such as /usr/local/bin/?
One benefit would be that, when user enter the container via docker exec -it xxxx bash, they can directly call gitea command, without full path /app/gitea/gitea.

Added another commit of moving gitea binary from /app/gitea/ to /usr/local/bin/

moving gitea binary from /app/gitea/ to /usr/local/bin/

maybe it's better to just symlink it?

@twang2218 why move gitea binary from /app/gitea/ to /usr/local/bin/

why move gitea binary from /app/gitea/ to /usr/local/bin/

@lunny because

gitea binary is the only file in the /app/gitea/ directory after this changes, there is not much reason to keep this directory anymore.
moving the gitea binary to more standard place, such as /usr/local/bin/, will make gitea command globally available, especially useful when docker exec -it gitea bash to enter the container and run gitea commands without using the full path, /app/gitea/gitea.

If there are any other parts using hardcoded /app/gitea/gitea path, I can make a symlink there to has better backward compatibility.

Rebased to resolve the conflict, and add symlink to /app/gitea/gitea for compatibility.
RUN chmod a+x /usr/local/bin/gitea \
  # For backward compatibility
  && mkdir -p /app/gitea/ \
  && ln -s /usr/local/bin/gitea /app/gitea/gitea

Codecov Report

Merging #2181 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2181      +/-   ##
==========================================
+ Coverage   26.85%   26.85%   +<.01%
==========================================
  Files          89       89
  Lines       17607    17600       -7
==========================================
- Hits         4728     4727       -1
+ Misses      12193    12187       -6
  Partials      686      686

Impacted Files
Coverage Δ

models/models.go
28.07% <0%> (-0.25%)
:arrow_down:

models/issue_comment.go
30.43% <0%> (-0.17%)
:arrow_down:

models/issue_tracked_time.go
83.05% <0%> (+9.91%)
: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 e22be08...611d184. Read the comment docs.

@twang2218 PR needs rebase to resolve conflicts.

Rebased now.

I will have to re-test this but doesn't actual docker image will put lfs content under /data/gitea/lfs ? Changing this default path will broke old install. This is not blocking but need to take in consideration and advertise.

I've just restarted Drone CI so hopefully it passes.


Less variables in URLs

Less specifies that you can use variables in url , this will be useful to setup a directory of images
Example:
http://lesscss.org/features/#variables-feature-urls

Less has an in-browser interpreter, so this makes sense. Carto doesn't, and the way that it's used doesn't open up much room to implement this - the raster tiles you make with TileMill are pre-baked. You can provide variables to the parser via the JavaScript API if you're integrating on the node level, but otherwise, this is a wont-fix because Carto has no guarantee of a URL being part of its workflow at all.


Help with log format

I cannot figure out the format for the httpd in this link
https://gerrit-review.googlesource.com/Documentation/logs.html
I am new to working with log format, is there any resource that can help me with figuring out how to write my own format?

Are you using the exact same format?
<IP_ADDRESS> [HTTP-4136374] - johndoe [28/Aug/2020:10:02:20 +0200] "GET /a/plugins/metrics-reporter-prometheus/metrics HTTP/1.1"<PHONE_NUMBER> 1900 - "Prometheus/2.13.1"

Are you using the exact same format?
<IP_ADDRESS> [HTTP-4136374] - johndoe [28/Aug/2020:10:02:20 +0200] "GET /a/plugins/metrics-reporter-prometheus/metrics HTTP/1.1"<PHONE_NUMBER> 1900 - "Prometheus/2.13.1"

Yes, except my time format is in iso format I believe (31227
), which i don't know how to handle.
example: <IP_ADDRESS> [HTTP-187] - somejenkins [2023-06-11T00:00:00.061+02:00] "GET /a/changes/?q=commit:178236786123ghjgd1e09a&o=ALL_REVISIONS HTTP/1.1" 202 1251 272 - "curl/7.82.1" 18 20 6641936 -

Sorry for taking a while to get back to you. This solution does the trick for me:
goaccess access.log --log-format='%h [%^] %^ %e [%dT%t.%^] "%r" %s %b %T %R "%u" %^' --date-format=%Y-%m-%d --time-format=%T

Closing this. Feel free to reopen it if needed.


Cannot connect device with Android Studio 3.3.2 and Android 8.1

After clicking Connect, android studio prompted "Unable to connect to device......Same network"
and on device, it prompted for permission.
After allowed on device, click "Connect" on android studio, looping the issue.
Please help. Thanks.

same to me its not working to latest android studio

same here with the latest android studio

Can confirm this issue with the latest update of AS.

Can you provide information related to the device model you are using the OS version and the AS version?

AS version: 3.3.2
Device model: OnePlus 6T
Device Android version: 9.0

@bogdanzurac what's your computer OS version?

Computer OS: MacOS Mojave
OS version: 10.14.3

Computer OS: Win7 x64 and Win10 x64

I'm also facing same problem.
Computer OS : Windows 10
Mobile device: oneplus3
Mobile OS: android 8.0.0, OxygenOS: 5.0.8
Even when both computer and mobile device are on same network. I'm getting the following message, "unable to connect to the device make sure both computer and mobile device are on same network."

This was the ONLY working solution till android studio updated the IDE. It doesn't work, sometimes when the disconnect button is clicked it "connects" but it doesn't really work.

Same problem here
Android Studio Version -  3.3.2
Computer OS : Windows 10
Mobile device: MI 3s
Mobile OS: android 6.0.1

Same problem here
Android studio version 3.3.2
adb version  28.0.2-5303910

Same here:
AS version: 3.3.2
Device model: Google Pixel 1
Device Android version: 8.1.0
Computer OS: macOS Mojave 10.14.4

Could you check if you can connect your device using the terminal? Right now I don't understand if the issue is related to Android Studio or the plugin. You have to plug in your device and run these commands from your terminal:
adb tcpip 5555
adb connect <YOUR DEVICE IP>:5555

@pedrovgs Here is what I got:
➜  ~ ~/Library/Android/sdk/platform-tools/adb tcpip 5555
* daemon not running; starting now at tcp:5037
* daemon started successfully
restarting in TCP mode port: 5555
➜  ~ ~/Library/Android/sdk/platform-tools/adb connect <IP_ADDRESS>:5555
connected to <IP_ADDRESS>:5555

Same here:
$./adb tcpip 5555
restarting in TCP mode port: 5555
$./adb connect <IP_ADDRESS>:5555
connected to <IP_ADDRESS>:5555

I've got the same problem.
i tried this suggest. but I got no answer.
'adb' is not recognized as an internal or external command,
operable program or batch file.

Could you check if you can connect your device using the terminal? Right now I don't understand if the issue is related to Android Studio or the plugin. You have to plug in your device and run these commands from your terminal:
adb tcpip 5555
adb connect <YOUR DEVICE IP>:5555

I got same issue here. I'm using Android Studio 3.4 and my phone is samsung s7 edge, it shows same error message(ask me to check same network connection).
However, same android studio version, same phone, my PC connect to my phone successfully.
Hope someone can solve this issue.


OADP-3598 Dest NS Skip waiting for dockercfg secret if default SA do not need it.

What: we were waiting for secret when it may never appears
How: ocp 4.14+ have ability to turn off imageregistry which can affect secret from appearing
Fix: check if secret is needed using same code used to determine if secret will be created
Test method:
install oadp
dpa with restic enabled for pod workload with ownerRefs (ie. Deployments) or lone pods  for restic off.
test workload
oc create ns test-new-ns
oc run --image fedora --tty -n test-new-ns -i --attach=false --command sh

backup
velero backup create testnsbackup --include-namespaces=test-new-ns

restore
velero restore create --from-backup=testnsbackup --namespace-mappings=test-new-ns:test-new-ns-mapping

With ImageRegistry capability disabled:
Install 4.15
Prepare aws account
Get openshift-install cli from console.redhat.com
❯ openshift-install version
openshift-install 4.15.0
built from commit e8c70b7db9e64cafa7fe3182c365257c3e53fbb6
release image quay.io/openshift-release-dev/ocp-release@sha256:0da6316466d60a3a4535d5fed3589feb0391989982fba59d47d4c729912d6363
release architecture amd64

Create install config with customizations
~/ocp-installer
❯ openshift-install create install-config --dir customized-install-dir

Adding the following to customized-install-dir/install-config.yaml
We're adding capabilities all except ImageRegistry
capabilities:
  baselineCapabilitySet: None
  additionalEnabledCapabilities:
  - baremetal
  - MachineAPI
  - marketplace
  - OperatorLifecycleManager
  - openshift-samples
  - Console
  - Insights
  - Storage
  - CSISnapshot
  - CloudCredential # added from error, not documented on docs.openshift.com for 4.15 bug: https://issues.redhat.com/browse/OCPBUGS-30610
  - NodeTuning
#   - ImageRegistry
  - Build
  - DeploymentConfig

unset SSH_AUTH_SOCK # potentially needed for macos issue https://github.com/openshift/installer/issues/2349#issuecomment-534690793
openshift-install create cluster --dir customized-install-dir-4 --log-level=info

monitor install logs in another terminal
tail -f customized-install-dir-3/.openshift_install.log

Pre-requisites check
Checking enabled capabilities
~/ocp-installer
❯ oc get clusterversion version -o yaml | yq .status.capabilities.enabledCapabilities | grep ImageRegistry
<empty>

Check sa for secret NOT referencing default-dockercfg-
❯ oc get sa default -n default -oyaml
apiVersion: v1
kind: ServiceAccount
metadata:
  creationTimestamp: "2024-03-08T03:09:50Z"
  name: default
  namespace: default
  resourceVersion: "602"
  uid: 0843a945-ce0e-4e82-9cfb-7d0f2bcd1abc

Restore log without fix (v1.3.0)
Restore stuck InProgress until PartiallyFailed with error
time="2024-03-08T20:23:05Z" level=error msg="Namespace test-new-ns-mapping, resource restore error: error preparing pods/test-new-ns-mapping/sh: rpc error: code = Unknown desc = Secret is not getting created" logSource="/remote-source/velero/app/pkg/controller/restore_controller.go:560" restore=openshift-adp/testnsbackup-20240308151805

Installing fix
Override plugin image used by changing oadp's CSV manager env to use 'ghcr.io/kaovilai/openshift-velero-plugin:[OADP-3598](https://issues.redhat.com//browse/OADP-3598)' (unsupportedOverrides do not work in v1.3.0)
                      - name: RELATED_IMAGE_OPENSHIFT_VELERO_PLUGIN
                        value: 'ghcr.io/kaovilai/openshift-velero-plugin:OADP-3598'

Double check velero pods now point to new ocp plugin container
retry restore
Expected: don't see error
Actual: TBD
Signed-off-by: Tiger Kaovilai<EMAIL_ADDRESS>

/cherry-pick oadp-1.3

Thanks for jumping on this :)

/hold
Testing with 4.15 cluster

Tested the PR on OCP 4.15 with cluster capability ImageRegistry disabled:

Looks like there are several now-unused funcs from earlier iterations of this that should probably be removed (around image registry capability and SA secrets). Also, I don't think we're currently checking OCP version -- we probably want to check this and only skip the waiting if are both missing image registry replicas and we're on 4.15 or later, since I suspect that these secrets still exist (and may still be required) in earlier OCP versions even if the registry is down.

@sseago added OCP version check and removed unused code, PTAL, Thanks !

/lgtm

/unhold

/cherry-pick oadp-1.3


https://github.com/raywenderlich/swift-algorithm-club/tree/master/Selection Sampling#selection-sampling

in Selection Sampling

why not write like below

Yep that makes sense! I'll add this as a TO-DO item.

Fixed in #631


[Test Explorer] Cannot see the added test item in the explorer when it's overflow the explorer height

Does this issue occur when all extensions are disabled?: Yes/No

Version: 1.58.0-insider (user setup)
Commit: 012b14606f75ec4fed90d7ab4154f63dffab9503
Date: 2021-06-11T05:14:11.473Z
Electron: 12.0.9
Chrome: 89.0.4389.128
Node.js: 14.16.0
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19043
Steps to Reproduce:

In the project test-provider-sample add a test child in the run() method of TestCase

if (actual === this.expected) {
   ...
} else {
    const child1 = vscode.test.createTestItem<TestCase>({
        id: `mktests/${this.item.uri!.toString()}/${this.item.label}#1`,
        label: this.item.label,
        uri: this.item.uri!,
    });
    child1.range = this.item.range;
    this.item.addChild(child1);
    const message = vscode.TestMessage.diff(`Expected ${this.item.label}`, String(this.expected), String(actual));
    ...
}

Add some more tests in the markdown file and shrink the height of the vs code window
Run a markdown file
The newly added test case will be overflow and cannot be seen in the test explorer
The scroll bar will get updated when the height of vs code is changed

https://user-images.githubusercontent.com/6193897/121801044-26487280-cbea-11eb-83a2-131925d356e2.mp4
//cc @connor4312 for awareness, but this might be an issue of explorer view

cc @joaomoreno it seems that adding a child via setChildren doesn't trigger the tree ti check scroll height. Resizing the window by 1px fixes it. Is there guidance on what should happen here?

Resizing the window by 1px fixes it.

This usually means we haven't called tree.layout() every time we should've.
This looks very suspicious: https://github.com/microsoft/vscode/blob/274cbd8e0541b02a71ddcd3a7f043e9291a47a69/src/vs/workbench/contrib/testing/browser/testingExplorerView.ts/#L432-L437
We should be forwarding those dimensions down to the tree here instead: https://github.com/microsoft/vscode/blob/274cbd8e0541b02a71ddcd3a7f043e9291a47a69/src/vs/workbench/contrib/testing/browser/testingExplorerView.ts/#L205-L212

Ah, nevermind, I found the issue 🙂 It's this message. Initially it's hidden, but then when we show it later we don't adjust the height of the tree to compensate for it.

/verified