Add support for quoted environment variables

Environment variables with spaces in them must be quoted, otherwise make run will report command not found:
$ grep DEYE_HA_PLUGIN_INVERTER_MODEL config.env
DEYE_HA_PLUGIN_INVERTER_MODEL=SUN300G3 EU 230

$ make run
config.env: line 49: EU: command not found
2024-06-10 21:13:44,180 - DeyeDaemon - INFO - Please help me build the list of compatible inverters. https://github.com/kbialek/deye-inverter-mqtt/issues/41
2024-06-10 21:13:44,190 - DeyePluginLoader - INFO - Loading plugin: 'deye_plugin_ha_discovery'
2024-06-10 21:13:44,191 - DeyeConnectorFactory - INFO - Creating Modbus/TCP Logger connector
[...]

With the quotation marks, the environment variables in Docker are slightly different:
Setup:
$ grep DEYE_HA_PLUGIN_INVERTER_MODEL config.env
DEYE_HA_PLUGIN_INVERTER_MODEL="SUN300G3 EU 230"

Shell and local Python
$ strings /proc/<pid>/environ | grep DEYE_HA_PLUGIN_INVERTER_MODEL
DEYE_HA_PLUGIN_INVERTER_MODEL=SUN300G3 EU 230

Docker
$ strings /proc/<pid>/environ | grep DEYE_HA_PLUGIN_INVERTER_MODEL
DEYE_HA_PLUGIN_INVERTER_MODEL="SUN300G3 EU 230"

This change addresses the different behavior of Docker compared to a Unix shell and removes double or single quotes only if they are the first and last character of the string.
The functionality was added to DeyeEnv.integer() and DeyeEnv.boolean() for the sake of convenience to avoid problems with quotes that may occur later.

hi @CarstenGrohmann
I cannot reproduce this issue. Here is my test. Am I doing something wrong?
❯ cat config.env -p
VAR_WITH_SPACES=A B C

❯ docker run --rm -ti --env-file config.env alpine env | grep VAR_WITH_SPACES
VAR_WITH_SPACES=A B C

Hi @kbialek,
your test is correct. We don't need the quotes for docker, but for "make run":
$ cat config.env
VAR_WITH_SPACES=A B C
$ bash -c "set -a; source config.env; python -c 'import os; os.getenv(\"VAR_WITH_SPACES\")'"
config.env: line 1: B: command not found

with quotes:
$ cat config.env
VAR_WITH_SPACES="A B C"

$ docker run --rm -ti --env-file config.env alpine env | grep VAR_WITH_SPACES
VAR_WITH_SPACES="A B C"

$ docker run --rm -ti --env-file config.env alpine /bin/sh
/ # apk add python
[...]
/ # python
Python 3.12.3 (main, Apr 18 2024, 07:52:31) [GCC 13.2.1 20240309] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> print(os.getenv("VAR_WITH_SPACES"))
"A B C"

$ bash -c "set -a; source config.env; python -c 'import os; print(os.getenv(\"VAR_WITH_SPACES\"))'"
A B C

hi @CarstenGrohmann
Now I understand. So the problem is in make run, and should be fixed exactly there, for example with this sed command, that will quote all vars values.
ENV_VARS=$(cat config.env | sed -E 's#=("?)([^"]*)("?)#="\2"#' | tr '\n' ' ') && bash -c "$ENV_VARS env | grep VAR"

or with python:
ENV_VARS=$(cat config.env | sed -E 's#=("?)([^"]*)("?)#="\2"#' | tr '\n' ' ') && bash -c "$ENV_VARS python -c 'import os; print([i for i in os.environ.items() if i[0].startswith(\"VAR\")])'"

WDYT?

I'm sorry for this late answer.
Personally, I would use the MR. This is a generic solution that works for both use cases.
The code of the proposed change for make run is correct, but hard to read.
But: I've read the Docker compose documentation:
VAR="VAL" -> VAL
VAR="some\tvalue" -> some value

It looks like docker compose solves our issue. Unfortunatelly none of the examples work with Docker CLI.
Would switching to docker compose also be an option for the Makefile?

I'm sorry for this late answer.

Likewise :slightly_smiling_face:
@CarstenGrohmann I'm reluctant to accept your PR, because it only mitigates the problem, but does not solve it. It adds unnecessary code to the app.
Thanks for the hint about using docker-compose. I think we do not need compose at all, but we can just use docker. Here is my proposal, where I use docker to run the app locally. https://github.com/kbialek/deye-inverter-mqtt/pull/180
WDYT?

The PR looks good. It solves the variables handling for make run.
Did you test bash execution path with spaces?
$ cat config.env
VAR_WITH_SPACES=A B C
$ source config.env
-bash: B: command not found

Did you test bash execution path with spaces?

Obviously it won't work for variables containing whitespaces, but I do not care about that much. This software is distributed as docker image and is supposed to be run as docker container. With this PR make run is becoming consistent with that model. If someone wants to run the app without docker then it's on them to configure the app properly.

Haha, sorry, I renamed and merged your PR by mistake


Authorization result: pending

Hi,
I am trying to renew (or issue) certificates on IIS. It worked earlier and nothing of the configuration changed (at least not knowingly). However, creation fails and I do not know why... 😞
Maybe someone can help? Attached the output.
Thx!
Andreas
wacs.txt

Hi Andreas, looks like the validation procedure timed out before the server actually got around to processing the request. You can increase the time the client will wait by editing settings.json under the "acme" section. The defaults are currently 15 retries with 5 second intervals, but it used to be much less. You can also try to run the program at another time of the day, some hours are more busy than others.

Hi @WouterTinus,
actually I was trying different domains at different times of the day with the real as well as staging server of Let's Encrypt but the result was always the same. It seems adjusting the RetryInterval (from 2 to 5) did the trick. I guess it is helpful to update settings.json with settings_default.json to catch all changes.
Thank you for your support!
Best Regards,
Andreas


Allow user to set policy and policy_arns in WebIdentityTokenCredentialsProvider builder

Related PR: https://github.com/smithy-lang/smithy-rs/pull/1892/
Motivation and Context
This change allows users to define inline IAM policies and/or set predefined policies (using their ARNs) with WebIdentityTokenCredentialsProvider
Description
Adds policy and policy_arns to WebIdentityTokenCredentialsProvider builder.
Testing
Checklist

[x] I have updated CHANGELOG.next.toml if I made changes to the smithy-rs codegen or runtime crates
[x] I have updated CHANGELOG.next.toml if I made changes to the AWS SDK, generated SDK code, or SDK runtime crates

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@jdisanti This is very similar to https://github.com/smithy-lang/smithy-rs/pull/1892, would you be able to have a look at this PR?

@ysaito1001 The PR is ready again.

@rcoh the ci failures don't seem, related to the change, are there any known issues?

#3543

@rcoh I have two points:

The PR seems to be not mentioned in the change log.
How can we get a new version of aws-config with the changes?


Update Dashboard to Match High Fidelity Mockups

User Story
Impacts
UI
UI Details
Need to update the look of the dashboard to match the mockup here: https://redhat.invisionapp.com/share/BJN9KGLTUD8#/screens
Acceptance Criteria

[ ] Dashboard cards match the high fedelity mockups.

I believe this can be closed as #78 was merged


⚠ Bofrost.fr has degraded performance

In 4bd77da, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1275 ms

Resolved: Bofrost.fr performance has improved in 35fbf29 after 6 minutes.


Discord link is expired

Trying to join the Discord to ask some questions, but the link has expired :)

I also got it expired, would love to have the new one.

+1

+1

+1

This one has expired too


Request utils: handle 204 and 205 HTTP response

As mentionned in this issue, the request utils fails when it receive a 204 or 205 HTTP response, as it is trying to parse an empty string (the body) into JSON.
This pull request allows request to handle those response by returning a null.

Coverage increased (+0.006%) to 99.248% when pulling c91aba28361dc17960d9e72ee9105454d1d2d55e on williamdclt:feat/handle-204-response into cfe0c7ce16e376bb32df1ac6b27ac715a6cf6c1f on react-boilerplate:dev.

Coverage increased (+0.006%) to 99.237% when pulling 9ee5496ac34b3a23cdac0fdaf5b630e49ce5fbae on williamdclt:feat/handle-204-response into a2173a26335cb63e9cb13707afafd12ced7cdfa5 on react-boilerplate:dev.

Coverage increased (+0.006%) to 99.237% when pulling 9210da9f7248f49a6a50330e007224dba92bd790 on williamdclt:feat/handle-204-response into 5ec8dd423a56be9a9ac1ef943e8779b4b8e9646d on react-boilerplate:dev.

Thank you, @williamdclt!
Would it be better to handle all of the json errors: return null or an empty object and print an error message in the dev mode, something like this:
  response.json().catch((error) => {
    if(process.env.NODE_ENV !== 'production') {
      console.error(error.message);
    }
    return null;
})

What do you think @williamdclt, @KarandikarMihir?

Though it shouldn't show any errors in the console for 204 status code so I'm going to approve this PR.


add functionality to generate KeyRefresher without specifying CA

I've been utilizing the KeyRefresher library and noticed that there is currently no approach to generate a KeyRefresher using the JVM's default keystore (cacerts) via the Utils.generateKeyRefresher. Moreover, I would prefer an alternative to use the KeyRefresher that does not necessitate specifying a CA. Consequently, I am proposing the addition of a new function, potentially termed generateKeyRefresherFromDefaultJVMCaCert.
I've verified that receiving the default KeyStore looks something like this:
import javax.net.ssl.TrustManager;
import javax.net.ssl.TrustManagerFactory;
import javax.net.ssl.X509TrustManager;
import java.security.cert.X509Certificate;
import java.security.KeyStore;

public class Example {
    public static void main(String[] args)  throws Exception {
        TrustManagerFactory tmf = TrustManagerFactory.getInstance(
            TrustManagerFactory.getDefaultAlgorithm());

        // The TrustManagerFactory requires an instance of the KeyStore class, but if it receives null, tmf is initialized with the default trust store.
        tmf.init((KeyStore) null);

        tmf.getTrustManagers();
    }
}

This is my proposed implementation strategy:

Create a DefaultJVMCaCertKeyStoreProvider class, which implements the KeyStoreProvider interface.
In Utils, introduce a new generateKeyRefresherFromDefaultJVMCaCert method.

Are there any considerations or implications to bear in mind concerning this proposed feature?

resolved by https://github.com/AthenZ/athenz/pull/2650


Add a new key system to the hardware spec

/packit test

Rebased and squashed, re-running tests.

/packit test

/packit test

/packit test

/packit test

Interesting failure: Test /tests/discover/dynamic-ref/fmf fails with:
/plans/fmf/dynamic-ref/no-context
    discover
        how: fmf
        directory: /var/ARTIFACTS/work-basicf5rplsqr/plans/features/basic/discover/default-0/tests
        ref: fedora
        path: tests/discover/data
warn: /tests/discover1:test - True is not of type 'string'
    finish
        summary: 0 tasks completed
Traceback (most recent call last):
  File "/usr/bin/tmt", line 20, in <module>
    tmt.cli.main()
  ...
  File "/usr/lib/python3.11/site-packages/tmt/base.py", line 674, in _normalize_test
    return ShellScript(value)
           ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/tmt/utils.py", line 309, in __init__
    self._script = textwrap.dedent(script)
                   ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/textwrap.py", line 435, in dedent
    text = _whitespace_only_re.sub('', text)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: expected string or bytes-like object, got 'bool'

Which is caused by an outdated fedora branch in @juk's repository:

https://github.com/juk/tmt/blob/fedora/tests/discover/data/tests.fmf

Because it contains test: true.
@thrix, I had to dig through the debug log because the default log does not contain the test output, not sure why.

/packit test

The only failure is /tests/discover/dynamic-ref/fmf which is caused by an outdated content of the fedora branch in the forked repository. Everything else is green. Merging.


Add support for Django 5 and Python 3.12

coverage: 98.864%. remained the same
when pulling 641f5f2a0d082ff1e54a655fba8b2c26c9da0cc7 on add_support_for_dj5_py312
into d0a3c25867cd067150780ce6a0fe0f2a52c9ed61 on main.


[Experimental] Add an EffectBuilder result builder

Hello,
This is an experiment following the idea pitched in #1018. An EffectBuilder result builder type is introduced. It leads to an interesting (but quite dangerous, see below) syntax. There are two entry points to the reducer:

An Effect initializer with a builder closure (two variants in reality, see below)
The main Reducer initializer!

A few notes/observations:

The builder is mostly an array builder of merged effects.
Each expression in the reducer generates an Effect! It generates .none most of the time for state changes or variable declarations. This is quite inefficient, but more permissive than SwiftUI's ViewBuilder.
I've added a isNone property to Effect in order to filter them out easily when merging them. This can maybe be used to optimize the current version of the library too.
The builder syntax doesn't pair well with static methods, as any static.xxx is often understood as a method call on the previous line.
Because of this, and to avoid redefining new types, the Effect initializer accepts an argument-less closure or a closure with an argument that is the type of the effect and upon which we can call static methods:

Effect {
  $0.fireAndForget { … } // $0 == Effect<Output, Failure>
}

I made Output/Action build Effect(value:) and Failure build Effect(error:), mostly to see how it would look.
I've added a new Counter-Builder CaseStudy that uses the EffectBuilder (opt-in by not using returns). The result is quite interesting, but we can generate effects by mistake too easily!
The builder was implemented as a subtype of Effect to share its generics, mostly by convenience. It probably interferes with type inference in some configurations.

In its current shape, the builder is maybe too permissive. We generate merged Effects very easily. Cases are also automatically promoted to .none by default. Static methods can't be called using inference most of the time. Introducting new top-level types instead is possible but would quickly clash with existing names like Future for example, and would furthermore prevent to use code completion for discovery.
It is very nice that both EffectBuilder and raw closure variants of the Reducer initializer can be used by coercion. Adding @Effect<>.Builder to the Reducer initializer didn't break a single line of existing code in tests and CaseStudies`.
This PR is only for experimental purposes. Feel free to provide any feedback!
@stephencelis, I'm doing a draft PR as it is easier to pinpoint lines of codes to discuss and evolve things. Please let me know if you prefer that I create discussions for this kind of thing instead.

Another observation is that using the result builder in Reducers blocks won't currently work with specializations like the ones being currently used in swift-parsing or proposed in #1018. Most statements will build Void as Effect.none. This will clutter the combinatoric, making the generation of specialized overloads effectively impossible. To make it work in Reducers, the new reducing methods of result builders would be required to coalesce/compactify all theses .none prefixes.
That being said, and since it was mostly an experiment, I'm closing this PR for now. Thanks for your attention!


Quest saves refactor

Description
Cleaned up and refactored various Quest and SaveHandler implementations.
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] This change requires a documentation update

How Has This Been Tested?
Completed various in game actions and saved/loaded in various configurations to ensure proper functionality.
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

Looks good. The quest system tracks player's progress well.


Remove Docker GitHub actions

Since we no longer provide an image for each hackweek, we can also retire the associated GitHub actions.

Fixed in #150


Core + Common tests with updated fixtures

What you should expect:
with "make test" first you should get first the core tests:

and then the common tests:

There are a few tests skipped because they are slow but they should be working if the flag is used.
I have also skipped 2 tests that I couldn't figure out - but I left them there if you want to have a look.

the test for load_sql fails to find the bag3d module.
the test_info_data works for the top10nl dataset but not for bgt.
I think that the issue is in the gml file and not in the code but I decided to skip it for now and let you decide how you want to handle it.  This is the error I get:

I will leave some extra comments below for clarifications about the changes.
Next steps:

Finish with the unit tests for the 2 remaining packages
Start using tox
Remover references to docker hub
start with the integration tests and the test region.

Looks good for me, the tests succeed as you described.
Leave the test_load_sql and test_info_data(bgt) for now. I'll fix them or remove them at some point later, before the end of the project.


Added a new space to the file

undo this please

What does this issue mean?

Working on an example Annie, where are you???

Ok looks good, ship it

just finished my interview haha, coming


Icon request: Real VNC

URL of the site or app: https://www.realvnc.com/en/
Logo resources for the icon: https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRv649xdplTLWgCxPpdSN5i-rYV-lyNul21Aw&usqp=CAU
https://pbs.twimg.com/profile_images/900384806080577537/JaiYsgq2.jpg

I just saw that another user did this icon. Closed this issue!


Strange padding when using flex and View

Describe the bug
When i'm using flex and stacked View, there is a strange padding on left (on screenshot, see the padding left of the "+")
To Reproduce
<View className="flex-col items-center justify-center flex-grow gap-2 bg-blue-400">
    <View className="flex-row justify-between w-1/2 gap-2 bg-red-400 ">
        <Text>+</Text>
        <Text>4</Text>
        <Text>-</Text>
    </View>
</View>

Screenshots

Additional context
Related to my post stackoverflow https://stackoverflow.com/questions/77438716/nativewind-view-with-padding-left

Is this version 2? If so, the gap property does not have native support and instead messes with the margins. Could be that?
Try this:
<View className="flex-col items-center justify-center flex-grow bg-blue-400" style={{ gap: 8 }}>
    <View className="flex-row justify-between w-1/2 bg-red-400 " style={{ gap: 8 }}>
        <Text>+</Text>
        <Text>4</Text>
        <Text>-</Text>
    </View>
</View>

This is a bug in v2 due to the gap- polyfill (flexbox gap was not available at the time) and the clashing margins. You read about the polyfill and its limitations here https://www.nativewind.dev/tailwind/flexbox/gap
I would recommend using an inline style adding gap or upgrade to v4 which removes the poly-fill


ERROR: modular/sticky.html.twig template not found

Hello, just a question.
On my site, after fixing Mundana, I wanted to activate the editorial theme. I had to change some settings and it worked fine without convincing me.
Then I activated Mundana and redid the desired settings. However, there's still one anomaly that I can't pinpoint as the cause, but everything else is working fine.
My home page is a modular with a sticky page linked to it. It only displays the content text and not the article declared sticky.
It's the same if I switch it to allstories or latestposts. No article displayed.
And yes, the files "----.html.twig" are presents in the "modular" directory.
Do you have any idea what I might have forgotten to correct, bearing in mind that if I ask to view the page in the admin, the following message appears:
 ERROR: modular/sticky.html.twig template not found for page: /test/_test1

I've rebuilt the site on a different folder, with the adapted virtualhost and Mundana v1.1.0.
And I still have the same symptom: the daughter pages of the modular page display nothing.
I'm still looking for the cause of this problem. I'll see later for the language file.

Do you have your site online?. If so, I could see it and test your issues. If your site is on localhost, you can put here the list of your files in modular home page, and their names (example, modular.md, sticky.md, etc with tree format)

https//blog.clapas.fr
Thanks

Sorry. I don't see the error in twig template in your home page. What is the structure of your site?.
You could start with the demo content of Mundana theme and make changes on it

Thanks very much !!!
cp -R and it works.


Fixed updated fields

Effect: Fields are now updated only immediately before submission of the create-articles form.
Code explanation:
Only file edited is submitarticle.js
In the function at the top of the file which runs once when the form is loaded, a new event listener is added to the form submission button:
  document.getElementById("submit").addEventListener("click", () => {
    updateFormFields();
  });

This means that the function updateFormFields() will run once the form is submitted.
Other than that, all other instances of updateFormFields() have been removed from this file, as there should be no need to update the fields one-by-one as they are filled out, especially when they can all be processed at once when the form is submitted.
Result:
Submitted fields:

Before ticket completion (note "body3" is blank, as fields are only updated when a new text element is added):

After ticket completion: (note the field "body3" is now present, as all fields are updated at once when the form is submitted):

The solution works. However, did you try adding the 'onsubmit' property to the actual form? It may be a more terse solution, and also limit the number of event listeners we have on the page. It would look something like this:
<form method="POST" onsubmit="updateFormFields()">
Because this is a built-in HTML feature. Still test if it works, and provide your cases.
Furthermore, the solution should also remove anywhere else updateFormFields() is called, because in reality, we only need to 'fix' everything right before submission, not continually as the user is completing the form.
Once we implement a 'save' button, all we need to do is call updateFormFields() once, again, so extending this functionality should not need continual updates either.
Good luck. I will await your changes.

Closes #79.


invalid Cors response

Prerequisites

[x] I am running the latest version. (up upgrade)
[x] I searched to see if the issue already exists.
[x] I inspected the verbose debug output with the -v, --verbose flag.
[ ] Are you an Up Pro subscriber? 😢  no

Description
can't seem to get cors working when Access-Control-Request-Method: POST is in the request
Steps to Reproduce
The same thing happens with up start and when it is deployed
given the program
package main

func main() {
  mux := http.NewServeMux()
  mux.HandleFunc("/", func(res http.ResponseWriter, req *http.Request) {
    res.Write([]byte("OK"))
  })
  addr := ":" + os.Getenv("PORT")
  http.ListenAndServe(addr, corsMiddleware(mux))
}

func corsMiddleware(next http.Handler) http.Handler {
	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		if r.Method == http.MethodOptions {
			w.Header().Set("Access-Control-Allow-Origin", "*")
			w.Header().Set("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE")
			w.Header().Set("Access-Control-Allow-Headers", "Accept, Content-Type, Content-Length, Accept-Encoding, Authorization, X-GRPC-Web")
		} else {
			next.ServeHTTP(w, r)
		}
	})
}

it all works fine until the client send a Access-Control-Request-Method: POST header and then my program doesn't get hit and the response headers are
Vary: Accept-Encoding
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Date: Fri, 20 Apr 2018 03:45:49 GMT
Content-Length: 0

up.json
{
  "name": "booking",
  "profile": "default",
  "regions": ["ap-southeast-2"],
  "cors": { "enable": true }
}

I'm not sure what todo
Love Up?
Please consider signing up for Up Pro (https://up.docs.apex.sh/#guides.subscribing_to_up_pro) or donating via https://opencollective.com/apex-up/donate.
Slack
Join us on Slack https://chat.apex.sh/

Ah thanks
It is complaining about my Content-Type header isn't allowed

np!


🧙 Adding PR template via script

Added the default team PR template.
Removed it from root folder if it exists.
Double check the PR before merging since its created automatically..

@nl-ria hey Nikita! Fancy seeing you here 👋. I just happened to be looking at this repo again and noticed you made 2 PRs to the upstream rather than the FT fork, you might want to close/delete them both 😅 (this and https://github.com/teralytics/prometheus-ecs-discovery/pull/50)

Huh, woops ! Its the script I was trialing to create automatic PRs via the CLI. Thanks for the notice ! Hope you are well @Limess :) :)


Wrong release name, tag OK (TAG : 1.1.0, Release name : v1.0.1)

Wrong release name :
-> TAG : 1.1.0 (OK)
-> Release name : v1.0.1 (Wrong)
=> https://github.com/apollographql/apollo-android/releases
I know it's not really a issue, but I didn't know where I had to post this 🙂

thx! :)


green linearizer asserts for ops

#2779

we probably cant do these one-at-a-time because one ALU can be the input to another ALU, that's what happened with HALF=1 gpt3, it was taking the sqrt of a binary op's result.

yeah i also had similar issue refactoring other dtypes changes that's deadlocking, it's quite a puzzle to linearize it and merge stuff.
i think binary is the missing piece and if you can figure it out you can make a combined pr

yeah same conclusion as well, started working on binary

status:

0 linearizer asserts failing!
test_ops passing in almost all backends, I think webgpu is broken because of cstyle hacks
openpilot works after this change in the promotion logic for images
i made a change in lazy to make CMPLT always be bool i think that broke interpreted backends
working on the accuracy issues in test/test_nn.py::TestNN::test_sparse_cat_cross_entropy kernel diff

fyi i did some dtype cleanup in #2817

now we need to start thinking about ALUs on images @chenyuxyz
I think we can refactor ops to treat images as floats, there shouldn't be an AST like:
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4,), strides=(1,), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ CAST (dtypes.float, False)
  2    ┗━┳ MAX
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.imagef((1, 4, 4)), st=ShapeTracker(views=(View(shape=(4,), strides=(4,), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4,), strides=(0,), offset=0, mask=None, contiguous=False),)))

everything at the ops layer should be float just like how the kernel will end up:
__kernel void E_4n3(__global float* data0, read_only image2d_t data1) {
const sampler_t smp = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST;
  int gidx0 = get_group_id(0); /* 4 */
  float4 val0 = read_imagef(data1, smp, (int2)(gidx0,0));
  float alu0 = max((val0).x,0.0f);
  data0[gidx0] = (float)(alu0);
}

webgou last red standing - there's no way we can go around the hack in casting CMPLT because this def @group(0) @binding(0) var<storage,read_write> data0: array<bool>; is invalid, even if your kernel returns a CMPLT's results you can't output them as bools.

webgou last red standing - there's no way we can go around the hack in casting CMPLT because this @group(0) @binding(0) var<storage,read_write> data0: array<bool>; is invalid, even if your kernel returns a CMPLT's results you can't output them as bools.

also, we need to update the worlds dataset, it has a bunch of wrong asts https://github.com/tinygrad/tinygrad/actions/runs/7252239549/job/19756283084?pr=2800

you can filter ast like https://github.com/tinygrad/tinygrad/blob/0723f26c80b3474dcb288c78df82dd586518a740/extra/optimization/helpers.py#L31
as long as something still runs it's fine. i will regenerate this after this pr is in

status

webgpu is the only backend failing because of the CMPLT hacks - I don't yet know how to solve that one e2e
Image dtype ALUs get interpreted as float on the linearizer layer but stay as image in ops

thanks for enabling the benchmarks I'll look into those

can you make the treating image as float part a separate pr?

llama having issues due to acc dtype changes, the acc has gone from float to int which means something in the reduceop info was wrong.
I'll figure that out and then cleanup a diff for a second round of reviews
https://gist.github.com/Qazalin/7f3171f249b427ec3d75ff971262210d#file-llama-diff-L273

i think tensor was a better layer to put the webgpu workaround, realize might work too but I think it's an overkill, the only op that could return a bool is cmplt
the AMD benchmark will pass with 6.0, I confirmed on a docker container
working on reproducing CUDA locally and fixing it

fyi some changes related to this
(1) reverted the acc cleanup pr, no dtype is  special behavior
(2) moved the mlops cast to tensor, so we can get backward cast for free
(3) dtype assert check in lazy, and many other related cleanup
i think what's left in this pr is to fix the acc dtype using vin[0], and add a rule to say sum acc needs to be at least int32 or float32 (this should be in tensor.py). and for matmul we cast back to input types

I think we could do an override for dot but we can't really control all ASTs from tensor, eg (x*w).sum() is still possible and will be uoped as MULACC, that's why I had to use the op dtype in linearizer.

i think this diff is everything linearizer should do.
changes:

no use of get_lazyop_info, the buffer dtypes should be enough
no casts and if dtype checks

we need to fix these ops on ints.

#2926 landed almost everything that was here except:

image cast fallback https://github.com/tinygrad/tinygrad/pull/2800/commits/a0aa1a5927b149498c4ff6a9a817f3ea9b0e4329
spec asserts

not exactly sure why gpt2 with BEAM failed (re-tried twice). the only thing has a an effect is the cast change? maybe that can be a separate pr with a test for behavior

the cast only impacts ImageDType though, i think it's from actions @chenyuxyz

i found a bug in PADTO, plan to disable it in #2931 so we can get this and CMPEQ in first

merged, thanks for your help on this one!


[Wayland] The initial value of the mouse pointer in warpd normal mode is the current mouse pointer position

Thanks for your cool project.
I think it would be easier to perform consecutive operations if the current mouse pointer position is the initial value of the warpd normal mode mouse pointer.
The current version, which starts operations from the center of the screen, would be fine by default, but in that case, it would be nice to have the above as an option.
I would appreciate your consideration.
Sorry if I am saying something strange.

@herrsimon Yes, I am using Wayland (sway).
Could it be that Wayland cannot get the mouse pointer position? Is this behavior inevitable?
https://user-images.githubusercontent.com/102382754/177054787-53d9a3aa-0f55-4e16-b4c1-29c8c9fba55f.mp4

I see, I will wait.
@rvaiya, I know it may be a lot of work, but if you feel up to it, please do.
@herrsimon Thanks for your kindness.

At the moment I don't believe this is possible. As far as I know, there isn't a way to obtain pointer coordinates, so warpd has to keep track of them internally. Having said that, I haven't plumbed the depths of some of the newer protocols, though I imagine this sort of thing might be considered a security risk by the wayland folks.
Getting warpd to its present state of functionality on wayland already required abusing some of the experimental protocols.

EDIT: this looks promising.

warpd doesn't have direct access to the input devices, so it can't make use of any libinput functionality.

Could a (very ugly) solution be to call warpd from a wrapper script with setuid root or any other sufficiently privileged user, which queries global pointer coordinates and passes them as options to the warpd call?

My understanding is that the compositor is the only component which keeps track of cursor position. Even if you had root access you would need some way to query the internal state of the compositor. X provides an API mechanism for this, I believe wayland does not (for security reasons).

That approach is a bit ham fisted and probably quite expensive. I don't know if the end result would be usable and it would require some non trivial changes to the wayland platform code. PRs are welcome if someone wants to invest the effort and is able to produce something usable.

After doing slurp -p, I did leftmouse with keyd and got the coordinates. How about this?

https://man.archlinux.org/man/slurp.1
https://github.com/emersion/slurp

https://user-images.githubusercontent.com/102382754/177866267-a66a0084-95c3-45cc-a3d1-489cf6723bdd.mp4

Thanks.
A cursory look at the code would suggest slurp is using a similar trick to the one you described. Namely creating a large transparent surface and then extracting coordinates (using API calls rather than image analysis).
It should be possible to employ a similar technique in warpd, but I don't have time at the moment. There are a number of other issues with the wayland implementation of warpd that I hope to remedy in my keyd port, and to which I am more inclined to direct effort. PRs are welcome in the meantime.

It seems that ydotool can manipulate the mouse pointer in relative coordinates
https://github.com/ReimuNotMoe/ydotool
# Relatively move mouse pointer to -100,100:

ydotool mousemove -- -100 100

Maybe there is a way to figure out the current coordinates of the mouse pointer or a way to directly move the relative position of the mouse pointer. Sorry if I am missing the point.
Commands executed
# ydotoold &

/etc/keyd/test.conf
[ids]
*

[main]
tab = overload(TAB, tab)

[TAB]
j = command(ydotool mousemove --  0 -10)
k = command(ydotool mousemove --  0  10)
h = command(ydotool mousemove -- -10  0)
l = command(ydotool mousemove --  10  0)

https://user-images.githubusercontent.com/102382754/186562742-0f79dd59-7afb-44ae-9378-9772744a0dde.mp4

The internal platform API (and many core features) is designed around being able to query cursor position.  Relative movement is insufficient, the correct way to achieve this is probably to take the slurp approach. I just don't have time at the moment.

@rvaiya is this somehow helpful? https://github.com/flatpak/xdg-desktop-portal/pull/711

@roland-rollo
I don't believe that is relevant. As I understand it, that is a new dbus protocol to allow for things like global key bindings that isn't universally supported. As I mentioned in my last post, this should be possible to achieve using native wayland protocols, I just haven't had the time to implement it.

 The latest commit should include a fix. I would appreciate it if someone with multiple screens could test this, as I don't have a multi head setup at the moment.

I checked in a multi-display environment.
The pointer's starting point in normal mode appears to be fine!
thanks!
$ paru -Q warpd-wayland-git
warpd-wayland-git r205.731f533-1
$

https://user-images.githubusercontent.com/102382754/194062826-04c72bea-8179-4627-9f6d-e9a9d06d4f15.mp4

Thanks for the confirmation.


Email interacts strangely with purple cards

Email's second dogma effect will sometimes fail to execute purple cards or execute a different card instead.
https://studio.boardgamearena.com/gamereview?table=412005 (moves 6+)
https://studio.boardgamearena.com/gamereview?table=411994 (moves 189+)

It looks like the nested execution doesn't execute a card (or its echo effects) if it has a demand effect.  I can look more into this later.

From the code :
            // "Execute all non-demand dogma effects on your lowest non-green top card. Do not share them."
            // TODO(ECHOES): There's multiple bugs here. Battleship Yamato's faceup age is 11, which breaks an
            // assumption that this code currently has. Also, purple is being exlcuded in the for loop. I propose
            // rewriting this using the countCardsInLocationKeyedByColor function and using an if statement instead
            // of a for loop.

Interestingly, we don't want to execute Yamato so probably excluding it would work just fine for this card.

Yamato is also a red card, not green. So yeah, I agree, we don't need to worry about that there.


Config build defaults overrides

@ianmiell I closed your original PR and push this one. Let me know...

Variables can be set based on the following examples:
  "openshift_builddefaults_git_http_proxy": "http://USER:PASSWORD@HOST:PORT",
  "openshift_builddefaults_git_https_proxy": "https://USER:PASSWORD@HOST:PORT",
  "openshift_builddefaults_git_no_proxy": "mycorp.com",
  "openshift_builddefaults_env": [
    {
      "http_proxy": "http://proxy.example.com.redhat.com:3128"
    },
    {
      "NO_PROXY": "ose3-master.example.com"
    }
  ],
  "openshift_builddefaults_image_labels": [
    {
      "name": "imagelabelname1",
      "value": "imagelabelvalue1"
    }
  ],
  "openshift_builddefaults_nodeselectors": {
    "nodelabel1": "nodelabelvalue1",
    "nodelabel2": "nodelabelvalue2"
  },
  "openshift_builddefaults_annotations": {
    "annotationkey1": "annotationvalue1"
  },
  "openshift_buildoverrides_force_pull": "true",
  "openshift_buildoverrides_image_labels": [
    {
      "name": "imagelabelname1",
      "value": "imagelabelvalue1"
    }
  ],
  "openshift_buildoverrides_nodeselectors": {
    "nodelabel1": "nodelabelvalue1"
  },
  "openshift_buildoverrides_annotations": {
    "annotationkey1": "annotationvalue1"
  }

Tests pass.

Shall we then merge?

Fine by me.
Did you have a chance to look at the separate cert server?
On Wed, Jul 19, 2017 at 8:55 AM, William Burton<EMAIL_ADDRESS>wrote:

Shall we then merge?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/IshentRas/cookbook-openshift3/pull/145#issuecomment-316303252,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGrczdJLy71TlL-2fWxf6UPnAO_N08iLks5sPbaEgaJpZM4OcB43
.

--
My book on Docker in Practice: Get 39% off with the code 39miell
http://manning.com/miell/?a_aid=zwischenzugs&a_bid=e0d48f62


Add Gramps

First of all, thank you for your contribution! 😄
☑ Self Check before Merge

[ ] I have tested the template using the method described in README.md thoroughly
[ ] I have ensured that I put as much default values as possible (except passwords) to ensure minimum effort required for end users to get started.
[ ] I have ensured that I am not using the "latest" tag as this tag is dynamically changing and might break the one-click app. Use a fixed version.
[ ] I have made sure that instructions.start and instructions.end are clear and self-explanatory.
[ ] Icon is added as a png file to the logos directory.

İf u want you can send pr on caprover github, i want to keep my repo clean.

Hello,

İf u want you can send pr on caprover github,

The caprover github repo only accept popular app. As your repo is the second most complete, I see it as an good compromise for sharing other app that do not fit the main repo. And it gives to user a second repo with less popular apps (https://github.com/caprover/one-click-apps/pull/905). I can create my own repo but, well, if people need to add one repo per apps it kills the idea of caprover app store.

i want to keep my repo clean.

What does that mean?
Cheers

i want to keep my repo clean.

What does that mean?
Cheers

it means that i accept apps that i only like

Why you dislike this app?

i dont dislike it, if its not usefull for me, then i wont add it.


Transition animations fail to complete when popping a Route and then a PageRoute

Steps to Reproduce

Execute flutter run on the code sample.
Click the button to push SecondScreen onto the navigation stack as a page route.
Click the button to push AlertDialog onto the navigation stack as a pageless route.
Click the Exit button in the dialog to pop AlertDialog and then SecondScreen.

Expected results:
AlertDialog should pop with a transition animation, and then SecondScreen should pop with a transition animation.
Actual results:
The AlertDialog pop animation begins but stops abruptly when AlertDialog and SecondScreen disappear suddenly.
More Details
The DefaultTransitionDelegate calls markForComplete rather than markForPop on the PageRoute for SecondScreen here:
        final bool hasPagelessRoute = pageRouteToPagelessRoutes.containsKey(exitingPageRoute);
        final bool isLastExitingPageRoute = isLast && !locationToExitingPageRoute.containsKey(exitingPageRoute);
        if (isLastExitingPageRoute && !hasPagelessRoute) {
          exitingPageRoute.markForPop(exitingPageRoute.route.currentResult);
        } else {
          exitingPageRoute.markForComplete(exitingPageRoute.route.currentResult);
        }

Perhaps there are reasons for this, but in my case this behavior is unexpected. Shouldn't the default behavior be to wait for existing pop transition animations to complete? There does not appear to be an easy solution for me. I can add a delay between the pop of the dialog and the pop of the page, but that is not ideal. There does not appear to be a way to await the transition animation between popping the dialog and the page. I could write my own transition delegate, but that seems over-complicated to achieve what in my case should be default behavior.

Code sample
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      builder: (context, child) {
        return Builder(
          builder: (context) {
            return const CustomNavigator();
          },
        );
      },
    );
  }
}

class CustomNavigator extends StatefulWidget {
  const CustomNavigator({super.key});

  @override
  State<CustomNavigator> createState() => _CustomNavigatorState();
}

class _CustomNavigatorState extends State<CustomNavigator> {
  List<MaterialPage> pages = <MaterialPage>[];

  void push(Widget x) {
    pages.add(MaterialPage(child: x));
    if (mounted) setState(() {});
  }

  void pop() {
    pages.removeLast();
    if (mounted) setState(() {});
  }

  @override
  void initState() {
    super.initState();
    push(FirstScreen(push: push, pop: pop));
  }

  @override
  Widget build(BuildContext context) {
    return Navigator(
      onPopPage: (route, result) => false,
      pages: List.of(pages),
    );
  }
}

class FirstScreen extends StatelessWidget {
  const FirstScreen({
    super.key,
    required this.push,
    required this.pop,
  });

  final ValueChanged<Widget> push;
  final VoidCallback pop;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        automaticallyImplyLeading: false,
        title: const Text('FirstScreen'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () => push(SecondScreen(pop: pop)),
          child: const Text('SecondScreen'),
        ),
      ),
    );
  }
}

class SecondScreen extends StatelessWidget {
  const SecondScreen({
    super.key,
    required this.pop,
  });

  final VoidCallback pop;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        automaticallyImplyLeading: false,
        title: const Text('SecondScreen'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () async {
            final exit = await showDialog(
              context: context,
              builder: (context) {
                return AlertDialog(
                  title: const Text('Pop SecondScreen?'),
                  actions: [
                    ElevatedButton(
                      onPressed: () => Navigator.pop(context, true),
                      child: const Text('Yes'),
                    ),
                    ElevatedButton(
                      onPressed: () => Navigator.pop(context, false),
                      child: const Text('No'),
                    ),
                  ],
                );
              },
            );
            if (exit ?? false) pop();
          },
          child: const Text('AlertDialog'),
        ),
      ),
    );
  }
}

Hi @swch01
From my point of view, it works as intended when popping from Dialog into FirstScreen.
It's quite unusual when waiting for animation from popping a Dialog, then popping SecondScreen. If you can provide a few examples (several apps are doing the same thing), that would be better and we can discuss further.

Demo
https://user-images.githubusercontent.com/104349824/189099990-6fadf673-a7a3-4820-aaa3-5242686d9d06.mp4

I can add a delay between the pop of the dialog and the pop of the page, but that is not ideal.

In case you want to have customization, this is a workaround/solution.

I could write my own transition delegate, but that seems over-complicated to achieve what in my case should be default behavior.

This could be a proposal than a bug.

Hi @huycozy,
Thanks for the quick reply. I tried your suggestion of popping from AlertDialog to FirstScreen. I accomplished this by popping the PageRoute for SecondScreen in the callback for the dialog Yes button. When this happens, SecondScreen disappears without a transition behind AlertDialog while the dialog transition is completing. This is better than before, but it still looks like something is wrong.
I compared this behavior to the behavior of the Navigator using only the imperative API. In that case, popping from AlertDialog directly to FirstScreen and popping AlertDialog and then conditionally popping SecondScreen both exhibit the same behavior: the transitions for SecondScreen and AlertDialog complete simultaneously.
Regarding my approach being unusual, I hadn't considered that. Dialogs can return values, so the approach to dialogs you see in the example, awaiting the result and acting on it, is the approach that seemed natural to me and the one I have been using since I started with Flutter. It seemed natural to me in part because of the stack-based nature of the imperative Navigator API; pop the top route, then pop the top again. Popping two screens at once in a dialog with the imperative API is not as clear an approach in my mind.
In either case, the behavior is inconsistent between the imperative and declarative Navigator APIs, and that has caused some loss in productivity for me as I have tried to figure out why. I do think they should behave the same.

@swch01, thanks for responding. Keeping this open for further insights/opinions from the team.

@swch01, thanks for responding. Keeping this open for further insights/opinions from the team.

flutter doctor -v
[✓] Flutter (Channel stable, 3.3.1, on macOS 12.5.1 21G83 darwin-x64, locale en-VN)
    • Flutter version 3.3.1 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 4f9d92fbbd (31 hours ago), 2022-09-06 17:54:53 -0700
    • Engine revision 3efdf03e73
    • Dart version 2.18.0
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13E113
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.71.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.48.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 12.5.1 21G83 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 105.0.5195.102

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel master, 3.4.0-19.0.pre.153, on macOS 12.5.1 21G83 darwin-x64, locale en-VN)
    • Flutter version 3.4.0-19.0.pre.153 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d2434a2b60 (4 hours ago), 2022-09-08 15:39:07 -0700
    • Engine revision 4096e133ef
    • Dart version 2.19.0 (build 2.19.0-177.0.dev)
    • DevTools version 2.17.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13E113
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.71.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.48.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 12.5.1 21G83 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 105.0.5195.102

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

cc @chunhtai


NormalizeTags:normalize_case=False does not work for .resource files

In my project we manage the keywords in .resource files and in the .robot the scenarios with their tags, when --transform NormalizeTags:normalize_case=False is applied in the .robot, it makes the correct formatting, but when it is applied in the .resource for formatting it does not work.

Hello I show you a screenshot of the execution of robotidy with --transform NormalizeTags:normalize_case=False, which does not make any improvement in the spaces e.g. @bhirsz

Ah, I did type down your screenshot and I have tried it (and it works) but now I realized where the problem lies: in the use of --transform.
Transform is used to selected transformers for formatting. It works the same as --include in Robot Framework - only transformers with --transform will be executed. In your case only NormalizeTags will be run. NormalizeTags is enabled by default so no need to select it, but if it were the disabled by default transformer (for example RenameVariables you can enable it on top of default ones using enabled parameter:
robotidy --configure RenameVariables:enabled=False src

In you case, if you want to configure normalize_case to False you can:
robotidy --configure NormalizeTags:normalize_case=False <src>

It can be later added to configuration file (which is loaded by default if placed in the parent directory):
[tool.robotidy]
configure = [
    "NormalizeTags:normalize_case=False"
]

great, it worked perfectly for me, thank you very much @bhirsz


Increase development ruby version to 2.3.0

Why you made the change:
I did this so that development wise we would be using and testing it against the
latest ruby version primarily.

Should we add the # frozen_string_literal: true comment to the files with this version bump?

No, not in this. We should do that in a sep pr.

:+1:


Update Catch to 2.13.7

Coverage remained the same at 59.226% when pulling 9c89cd64478cf4ae1e737584b84c1f0c4f79b333 on feature/bump-catch2 into 9c6233a5941b13fc5608b9a731feabc44ff2ace5 on master.


Coverage by package

In addition to the the function level coverage information, these commands will now also append a section called Package coverage:

make coverage-unit
make coverage-integration
make coverage-all

Here's an example output (only the new portion of it):
Package coverage:
github.com/almighty/almighty-core                                                18.00%
github.com/almighty/almighty-core/app                                               n/a
github.com/almighty/almighty-core/app/test                                          n/a
github.com/almighty/almighty-core/client                                            n/a
github.com/almighty/almighty-core/criteria                                       52.40%
github.com/almighty/almighty-core/design                                            n/a
github.com/almighty/almighty-core/migration                                         n/a
github.com/almighty/almighty-core/models                                         30.70%
github.com/almighty/almighty-core/query/simple                                      n/a
github.com/almighty/almighty-core/remoteworkitem                                  4.80%
github.com/almighty/almighty-core/resource                                          n/a
github.com/almighty/almighty-core/test                                              n/a
github.com/almighty/almighty-core/tool/alm-cli                                      n/a
github.com/almighty/almighty-core/tool/cli                                          n/a
github.com/almighty/almighty-core/transaction                                       n/a

@tsmaeder I hope this is what you were looking for. The code looks awfully complicated, I know, but I did it this way to avoid the use of find which caused problems on Windows.

This change is

[test]


Downgrade to 0.30.0

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Upgrading on main an then downgrading is not a great strategy TBH. You can open several PRs to see which version works, but then merge them sequentially (or just skip the intervening versions). You can still do it, but then please make sure that main returns to the maximum version soon after.


record app should handle not-found case properly

Currently, it throws a terminal error..
In this case, it should be "Record Not Found".. The detail message should tell user that the record indicated doesn't exist or no longer exist.  It should also give an option for the user to go to the recordset or the search page.
I think there is a config that allows you to figure out whether to go to the search or recordset page.
Is this correct, @jrchudy ?

I think there is a config that allows you to figure out whether to go to the search or recordset page.

We have an annotation defined for this case:
https://github.com/informatics-isi-edu/ermrest/blob/master/user-doc/annotation.md#2016-app-links
This is handled by the function, appTagToUrl in chaise, which is registered with ermrestJS at the beginning of each app. How this function is used is by contextualizing a reference into the context of the app you want to navigate to and then call appLink which will generate a proper url to that application.
So in this case, we should have something like:
reference.contextualize.compact.appLink

Another thing @hongsudt wanted me to check was what the "view more" link uses. It's actually using the appLink right now and should NOT be.

Here is a snap of the message box with error details. Show Error Details will open a span with technical error details.

With details:

Updated message box:

This is merged. Assigning to @hongsudt for verifying and closing this issue.


conflicting crate name

for better or worse https://crates.io/crates/google-cloud-auth has the same name as the auth/ member of this workspace.
Not expressing an opinion about whether having 'official' or 'community' crates is better, but you won't be able to publish or have people consume this effort with a conflicting name.

Thanks for the heads up.  We are renaming all our crates to gcp-sdk-*, and have created placeholder crates on crates.io.
We will rename the *-auth crate too.  We want to clean up some stale dependencies first (see #245).


feat(pci): display region with quota overflow disabled

MANAGER-3007

CDS Report pci#3646.0 ✘

Stage 1

Build CA ✘
Build EU ✘
Build US ✘

CDS Report freefax#3646.0 ✘

Stage 1

Build CA ✘
Build EU ✘
Build US ✘

CDS Report telecom-dashboard#3646.0 ✘

Stage 1

Build CA ✘
Build EU ✘
Build US ✘

CDS Report overthebox#3788.0 ✘

Stage 1

Build CA ✔
Build EU ✔
Build US ✘


6.0 Feedback: Available/Unavailable robot accordions should have a bigger clickable area

Overview
Right now the clickable area to expand/collapse the available and unavailable robot accordions is just the + and - button (highlighted in red). Instead, the entire area (highlighted in green) should be the hit area.

Current Behavior
No response
Expected Behavior
No response
Steps To Reproduce
No response
Operating system
No response
Robot setup or anything else?
No response

This will be fixed by #10809


Run in AWS Lambda

The https://github.com/alixaxel/chrome-aws-lambda documents what is required to run chromium in AWS Lambda. It should be pretty easy to use this as a starting point
https://github.com/RecordReplay/gecko-dev/issues/571

This ticket has been moved to RUN-151

Reopening this for public interest.

We have internally closed this as a limitation (for now). If anyone is seriously affected by this, please feel free to reach out.


new endpoint for getting the latest measurements for external usage

WHAT DOES THIS PR DO?

[x] new endpoint for getting the latest measurements for external usage. To be used by NBS (NEXT MEDIA) dev

WHAT ISSUES ARE RELATED TO THIS PR?

[x] get events latest

Thanks @Baalmart This LGTM I notice the changes are only for API v1. I assumed it does not affect v2.

Yeah, V2 updates will come up in another BIG PR that is a work in progress.


[All Hosts] (browsers) clarify tables and perpetual license support

A new relevant variable has been discovered: Whether the Office perpetual is "consumer" or "commercial". The table was already pretty complex and I found that trying to add this additional variable made it unreadably complex, so I've split it into 3 distinct tables in separate sections. This, in turn, required the IMPORTANT note about IE near the end be converted into a section.

Docs Build status updates of commit 461dd8c:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/concepts/browsers-used-by-office-web-add-ins.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 8dd7ec0:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/concepts/browsers-used-by-office-web-add-ins.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 991dabb:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/testing/test-debug-office-add-ins.md
:warning:Warning
View
Details

docs/testing/troubleshoot-development-errors.md
:warning:Warning
View
Details

docs/concepts/browsers-used-by-office-web-add-ins.md
:white_check_mark:Succeeded
View

docs/testing/test-debug-office-add-ins.md

Line 22, Column 481: [Warning: bookmark-not-found] Cannot find bookmark '#troubleshooting-microsoft-edge-issues' in 'concepts/browsers-used-by-office-web-add-ins.md', did you mean '#troubleshoot-microsoft-edge-issues'?

docs/testing/troubleshoot-development-errors.md

Line 70, Column 5: [Warning: bookmark-not-found] Cannot find bookmark '#troubleshooting-microsoft-edge-issues' in 'concepts/browsers-used-by-office-web-add-ins.md', did you mean '#troubleshoot-microsoft-edge-issues'?

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@Rick-Kirkham Ooops I broke your bookmark! Let me see if I can fix it before this is merged.

Docs Build status updates of commit 1d81985:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/concepts/browsers-used-by-office-web-add-ins.md
:white_check_mark:Succeeded
View

docs/testing/test-debug-office-add-ins.md
:white_check_mark:Succeeded
View

docs/testing/troubleshoot-development-errors.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 18fdb40:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/concepts/browsers-used-by-office-web-add-ins.md
:white_check_mark:Succeeded
View

docs/testing/test-debug-office-add-ins.md
:white_check_mark:Succeeded
View

docs/testing/troubleshoot-development-errors.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 11704f4:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/concepts/browsers-used-by-office-web-add-ins.md
:white_check_mark:Succeeded
View

docs/testing/test-debug-office-add-ins.md
:white_check_mark:Succeeded
View

docs/testing/troubleshoot-development-errors.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 4e424f3:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/concepts/browsers-used-by-office-web-add-ins.md
:white_check_mark:Succeeded
View

docs/testing/test-debug-office-add-ins.md
:white_check_mark:Succeeded
View

docs/testing/troubleshoot-development-errors.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 13c244b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/concepts/browsers-used-by-office-web-add-ins.md
:white_check_mark:Succeeded
View

docs/testing/test-debug-office-add-ins.md
:white_check_mark:Succeeded
View

docs/testing/troubleshoot-development-errors.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Fix spotless check style failed for generated triple sources

What is the purpose of the change
Follow https://github.com/apache/dubbo/pull/13416
Brief changelog
Verifying this change

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Add some description to dubbo-website project if you are requesting to add a feature.
[ ] GitHub Actions works fine on your own branch.
[ ] If this contribution is large, please follow the Software Donation Guide.

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

Comparison is base (8ac2eaa) 69.47% compared to head (5b0964d) 69.47%.

Additional details and impacted files
@@             Coverage Diff              @@
##                3.2   #13440      +/-   ##
============================================
- Coverage     69.47%   69.47%   -0.01%
  Complexity        2        2
============================================
  Files          1653     1653
  Lines         71634    71634
  Branches      10270    10270
============================================
- Hits          49768    49765       -3
- Misses        17157    17163       +6
+ Partials       4709     4706       -3

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


STAR-1242 Add support for compaction pick txn ids

This patch allows to set the transaction UUID directly when a
compaction pick is created, which means that in CNDB we can use it as a
key for compaction tasks, making debugging of compactions much easier
(since we can grep the same UUID). Currently, we're using the name of
one of the sstables as the unique key of compaction tasks, but this is
problematic when analyzing the logs, especially after a restart.
Also, the transaction UUID was already a property of the compaction
pick, but it was nullable and volatile. It is now final, which is an
improvement, and a boolean now signals whether the pick has been
submitted or not.
Port of CNDB-2291 and of minor part from CNDB-3376
Co-authored-by: Stefania Alborghetti

Q: Do you plan on a cndb PR to make any needed adjustments (e.g. ssstables()->sstables()) or should that be another ticket?

@djatnieks It's already covered in this PR. Or what do you mean?

Q: Do you plan on a cndb PR to make any needed adjustments (e.g. ssstables()->sstables()) or should that be another ticket?

@djatnieks It's already covered in this PR. Or what do you mean?

I meant in the cndb repo for the places currently using ssstables().

I meant in the cndb repo for the places currently using ssstables().

It will be a PR in CNDB repo, which will adjust CNDB for the result of this patch. I started to work on it.

The code changes look okay, but there are unit test failures that need to be checked.

The unit tests are fixed now. I needed to update a mock for CompactionRealm to reflect changes in its API.


[MODEL] Fix import when preprocess returns empty collection

Closes #719 and also fixes existing test on preprocess which had no effect.

Great work!
I have been using 5.x version on production environment with a similar patch.
I'm wondering when this will be merged into all the elasticsearch-rails versions.

@timbleck , @aeroastro , sorry for the long silence here! As I've mentioned on other tickets, we're scheduling a significant effort to give attention to the elassticsearch-rails groups of libraries again in couple of weeks, so I'd rather not merge the PR now, but wait a bit, until we have more capacity and focus to be more organized with that...

thanks @timbleck !


preprocessing uses last column as target, rather than specified column

https://github.com/dumip/solar-production-forecast/tree/main
cc @dumip

fixed


CBL-3609 : Fix pending conflicts are not being called to resolve

Changed the conflict detection and conflict revision to be the same as the logic in the other platforms so that the code doesn’t use inaccurate revision flags and revID from the DocumentEnded (CBL-3610).

With the new logic, no needs to pass revID from DocumentEnded to ConflictResolver class so removing _revID from the class.

Fixed a bug in ConflictResolver::runNow() that doesn’t reset inConflict to false when resolving is successful.

Fixed bugs in CBLDocument that doesn’t use revID and sequence from selected revision (e.g. when conflicting revision is selected).

Can't tell what cx and cy are by looking at the diff.

cx and cy are the pair collection vectors from two dbs. Here are their elements.
cx.push_back(CreateCollection(db.ref(), "colA", "scopeA"));
cx.push_back(CreateCollection(db.ref(), "colB", "scopeA"));
cx.push_back(CreateCollection(db.ref(), "colC", "scopeA"));

cy.push_back(CreateCollection(db2.ref(), "colA", "scopeA"));
cy.push_back(CreateCollection(db2.ref(), "colB", "scopeA"));
cy.push_back(CreateCollection(db2.ref(), "colC", "scopeA"));

How is this creating a "pending conflict"? I thought it wasn't possible to do so from the CBL API.

Even though the tests are using C API but the tests are written in C++ so throwing a run-time exception in the conflict resolver is used for making the conflict pending.


Index only a prefix of string attributes

That avoids the problem described in issue #1133
The changes should not lead to any observable change in behavior, except that when ordering by a string field, entries with very long values (> 2k characters) are only ordered by their prefix, not their full value.

Any redeploy will generate the new index, so that's alright.

Ready to merge? 😄

Something's up with the go-ipfs server. All tests ran in the push build and passed.


Build requires login to docker hub

On push of a dev branch to a managed fork (which is up to date with main branch) the build that is triggered apparently needs to log into dockerhub but does not have credentials.

See build yaml in .github/workflows/node-build.yml
The intent was that this step should not execute on a fork
- name: Login to DockerHub
        uses: docker/login-action@v1
        with:
          username: ${{ secrets.DOCKER_HUB_USERNAME }}
          password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
        if: ${{ github.event_name == 'push' }}
        ```

But this conditional actually only fixes the PR (not merge) build

Need to add an extra conditional...?

if: github.repository != ‘odpi/egeria-react-ui’

See build yaml in .github/workflows/node-build.yml
The intent was that this step should not execute on a fork
- name: Login to DockerHub
        uses: docker/login-action@v1
        with:
          username: ${{ secrets.DOCKER_HUB_USERNAME }}
          password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
        if: ${{ github.event_name == 'push' }}
        ```

But this conditional actually only fixes the PR (not merge) build

Need to add an extra conditional...?

if: github.repository != ‘odpi/egeria-react-ui’

I thought I'd tested I didn't get errors on my repo. The new check should be correct for now.
I do need to look at versioning & tags, now that we've agreed we'll sync with main egeria -- then the latest tag should only be used for 'main', in addition to a release specific tag. That's more involved so will leave to #43

I thought I'd tested I didn't get errors on my repo. The new check should be correct for now.
I do need to look at versioning & tags, now that we've agreed we'll sync with main egeria -- then the latest tag should only be used for 'main', in addition to a release specific tag. That's more involved so will leave to #43

I think this is now fixed - the initial fix had the additional condition inverted.

I think this is now fixed - the initial fix had the additional condition inverted.

Thanks @planetf1

Thanks @planetf1


The button of sideview is missing in vscode  how to configure it?

I followed all the steps to install Manim as shown by this video
https://www.youtube.com/watch?v=ib-I3ayqFaw&t=3s
Unfortunately, the button of sideview is missing in vscode.
I can launch Manim programs, but the animation is done on an external media player (media player of windows)

Hey, can you please provide a screenshot of your vscode when you expect the button?

Please find as attached the requested screenshot

I see. When you press F1 and type in Manim Run, can you see the command?
On top of that, I would recommend saving your file to a folder and opening that folder on vscode.

Sorry can you send me a screenshot?

Right click on the group of buttons and make sure that manim sideview's run is selected.


Any Documentation on showBarcodeScanner property?

There is no details on how to use the showBarcodeScanner and which fields will the scan search for. This would help us on implementing this feature for customers who are asking for such feature.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 5ec38d57-dbf5-8547-fe4d-2f05351f728e
Version Independent ID: 474145c5-988a-2422-343c-ecea727c4404
Content: lookupObjects (Client API reference) in model-driven apps - Power Apps
Content Source: powerapps-docs/developer/model-driven-apps/clientapi/reference/Xrm-Utility/lookupObjects.md
Service: powerapps
Sub-service: mda-developer
GitHub Login: @adrianorth
Microsoft Alias: jdaly

Thanks for your comment, @irah2008. This issue has been assigned to the doc author for review.


Fotema is missing in the list

Fotema - Fotema is a free and open-source Linux photo gallery application
Gnome, Rust, GTK4(?)
https://fotema.app/

Closed with #217.


Login/signup tweaks

[ ] Padding between fields
[ ] Move the left text on CompleteSignup up
[ ] Signup map reloads page when pressing enter

Last one needs an ugly workaround - split the <form> into two, each side of the map (so the map isn't included). It will still function correctly because react-hook-form doesn't use this element, except for submitting on  presses.

Also underline under subtitle is missing:


Cosmos db insert never completes

My apologies if this question should be posted on stackoverflow instead. Let me know and I will move it there.
I am using warp and trying to use azure_sdk_cosmos for inserting. The example found in AzureSDKForRust readme works fine for inserting in the same database (without warp), with the same struct I am using, but inside warp execute_with_document never completes.
I have made a fairly minimum reproducible case below. The code hangs after the println!("HANGS HERE"); statement, and no document is inserted into cosmos db.
Cargo.toml dependencies:
tokio = { version = "0.2", features = ["macros"] }
warp = "0.2"
serde = { version = "1.0", features = ["derive"] }
azure_sdk_cosmos = "0.100.1"
futures = "0.3"

main.rs:
use azure_sdk_cosmos::prelude::*;
use futures::executor::block_on;
use serde::{Deserialize, Serialize};
use warp::{reject, Filter};

#[derive(Serialize, Deserialize, Debug)]
struct MySampleStruct {
    id: String,
    name: String,
}

const COSMOS_MASTER_KEY: &str =
    "<my token is placed here>";
const COSMOS_ACCOUNT: &str = "<my account name is placed here>";
const COSMOS_DATABASE: &str = "<my database name is placed here>";

#[tokio::main]
async fn main() {
    let mincase = warp::path("mincase")
        .and(warp::path::end())
        .and(warp::get())
        .and_then(mincase);
    warp::serve(mincase).run(([127, 0, 0, 1], 3030)).await
}

pub async fn mincase() -> Result<impl warp::Reply, warp::Rejection> {
    let u = MySampleStruct {
        id: String::from("test"),
        name: String::from("test"),
    };

    // Create cosmos partition key.
    let mut pk = PartitionKeys::new();
    let pk = match pk.push(&u.name) {
        Ok(pk) => pk,
        Err(_) => {
            return Err(reject::reject());
        }
    };

    // Prepare document for inserting.
    let document_to_insert = Document::new(&u);

    let collection_name = "<my collection name is placed here>";

    let authorization_token = match AuthorizationToken::new_master(COSMOS_MASTER_KEY) {
        Ok(t) => t,
        Err(_) => {
            return Err(reject::reject());
        }
    };

    let client = match ClientBuilder::new(COSMOS_ACCOUNT, authorization_token) {
        Ok(c) => c,
        Err(_) => {
            return Err(reject::reject());
        }
    };

    let database_client = client.with_database_client(COSMOS_DATABASE);
    let collection_client = database_client.with_collection_client(collection_name);
    let c = collection_client
        .create_document()
        .with_partition_keys(pk)
        .with_is_upsert(true);

    let f = c.execute_with_document(&document_to_insert);

    println!("HANGS HERE");

    match block_on(f) {
        Ok(_) => {
            println!("ALPHA");
        }
        Err(error) => {
            println!("BRAVO {}.", error);
        }
    }

    Ok(warp::reply::json(&u))
}

I am hoping someone can tell me if I am doing something wrong, or if the sdk is.

No worries, I tested your code and indeed does not proceed. My guess is the error is in the use of block_on(f). You should await the future instead.
This is the slightly modified code:
use azure_sdk_cosmos::prelude::*;
use serde::{Deserialize, Serialize};
use warp::{reject, Filter};

#[derive(Serialize, Deserialize, Debug)]
struct MySampleStruct {
    id: String,
    name: String,
}

#[tokio::main]
async fn main() {
    let mincase = warp::path("mincase")
        .and(warp::path::end())
        .and(warp::get())
        .and_then(mincase);
    warp::serve(mincase).run(([127, 0, 0, 1], 3030)).await
}

pub async fn mincase() -> Result<impl warp::Reply, warp::Rejection> {
    let master_key =
        std::env::var("COSMOS_MASTER_KEY").expect("Set env variable COSMOS_MASTER_KEY first!");
    let account = std::env::var("COSMOS_ACCOUNT").expect("Set env variable COSMOS_ACCOUNT first!");
    let database =
        std::env::var("COSMOS_DATABASE").expect("Set env variable COSMOS_DATABASE first!");
    let collection_name =
        std::env::var("COSMOS_COLLECTION").expect("Set env variable COSMOS_COLLECTION first!");

    let u = MySampleStruct {
        id: String::from("test"),
        name: String::from("test"),
    };

    // Create cosmos partition key.
    let mut pk = PartitionKeys::new();
    let pk = match pk.push(&u.name) {
        Ok(pk) => pk,
        Err(_) => {
            return Err(reject::reject());
        }
    };

    // Prepare document for inserting.
    let document_to_insert = Document::new(&u);

    let authorization_token = match AuthorizationToken::new_master(&master_key) {
        Ok(t) => t,
        Err(_) => {
            return Err(reject::reject());
        }
    };

    let client = match ClientBuilder::new(account, authorization_token) {
        Ok(c) => c,
        Err(_) => {
            return Err(reject::reject());
        }
    };

    let database_client = client.with_database_client(database);
    let collection_client = database_client.with_collection_client(collection_name);
    let c = collection_client
        .create_document()
        .with_partition_keys(pk)
        .with_is_upsert(true);

    let f = c.execute_with_document(&document_to_insert).await;

    match f {
        Ok(_) => {
            println!("ALPHA");
        }
        Err(error) => {
            println!("BRAVO {}.", error);
        }
    }

    Ok(warp::reply::json(&u))
}

Notice how I replaced block_on with await. You can test the example in the issue/291/cosmos_warp_does_not_complete branch (see examples/warp.rs execute with cargo run --example warp) (I will leave it there for a bit even if I don't plan to merge it).

Thank you! Running your example works great.
The block_on  was an attempt to get around a compile error I got, and I actually got what I think was the same error when I updated my code ("future returned by ... is not Send"), but upgrading to 0.100.2 fixed it. Thank you so much for your help!

To be fair, the error you were getting was my fault (issue #294, fixed in 0.100.2).
Sorry for the mess!! :pray:

Perfect timing, then :) Thank you so much for the great work you do with this library!  Without it I would not be able to use Rust in production on Azure (this is my first project for a customer where I will use Rust).
If you have time I do have one more question, to get .get_document() to work.
I get the following error:
error: implementation of `azure_sdk_cosmos::traits::DatabaseClient` is not general enough
  --> src/main.rs:20:10
   |
20 |           .and_then(mincase);
   |            ^^^^^^^^ implementation of `azure_sdk_cosmos::traits::DatabaseClient` is not general enough
   |
  ::: /home/yngling/.cargo/registry/src/github.com-1ecc6299db9ec823/azure_sdk_cosmos-0.100.2/src/traits.rs:32:1
   |
32 | / pub trait DatabaseClient<C>: HasCosmosClient<C>
33 | | where
34 | |     C: CosmosClient,
35 | | {
...  |
54 | |     }
55 | | }
   | |_- trait `azure_sdk_cosmos::traits::DatabaseClient` defined here
   |
   = note: `azure_sdk_cosmos::clients::database_struct::DatabaseStruct<'_, azure_sdk_cosmos::clients::cosmos_struct::CosmosStruct<'0, azure_sdk_cosmos::clients::cosmos_struct::DefaultCosmosUri>>` must implement `azure_sdk_cosmos::traits::DatabaseClient<azure_sdk_cosmos::clients::cosmos_struct::CosmosStruct<'1, azure_sdk_cosmos::clients::cosmos_struct::DefaultCosmosUri>>`, for any two lifetimes `'0` and `'1`...
   = note: ...but `azure_sdk_cosmos::traits::DatabaseClient<azure_sdk_cosmos::clients::cosmos_struct::CosmosStruct<'_, azure_sdk_cosmos::clients::cosmos_struct::DefaultCosmosUri>>` is actually implemented for the type `azure_sdk_cosmos::clients::database_struct::DatabaseStruct<'_, azure_sdk_cosmos::clients::cosmos_struct::CosmosStruct<'_, azure_sdk_cosmos::clients::cosmos_struct::DefaultCosmosUri>>`

error: aborting due to previous error

error: could not compile `mincase`.

I tried posting it here: https://users.rust-lang.org/t/implementation-of-azure-sdk-cosmos-databaseclient-is-not-general-enough/44650
But so far nobody has been able to help me. I realize this error is not about the library, but if you have encountered it before and know how to fix it, any help would be much appreciated.

Well that's strange. For what I can see if instead of returning warp::Reply you return something else (I've tried with String) it compiles. Of course you need it for warp so it's a pickle :disappointed: .
It's also very strange that it works with Database_Client's and Collection_Client's functions but not with the async functions of DocumentClient (the non async ones are ok).
My uneducated guess is there is something amiss in the Higher-ranked trait bounds handling by Rust + Warp (maybe a compiler error/limitation). I will try to investigate further and get back to you if I find something else!

Thank you so much for looking into this! This is indeed an important part of the puzzle for Cosmos to work with Warp, yes (if you have any workarounds I'd love to hear about them, you mentioned something about non-async ones).
I really, really appreciate any help you can give! I want to move my entire agency (we build bespoke apps and backends) over from Go/C# to Rust, and this is the first project where I finally convinced everyone that we should change to Rust. (Everyone is loving it so far.)

FWIW I just found out that the old, struct-based crate works with your example (tag cosmos_0.43.1). This supports my conjecture about traits lifetimes messing with the async code. I could revert back to using structs only but this would make supporting multiple endpoints much less ergonomic.

I see! Good find!

I've started a new branch (see https://github.com/MindFlavor/AzureSDKForRust/pull/296) to test the feasibility of the aforementioned solution. I'll implement the minimal functions to test your code.

Awesome! Thank you so much.


WRP-8571: Investigate errors with enact bootstrap on node 18

Enact-DCO-1.0-Signed-off-by: Adrian Cocoara<EMAIL_ADDRESS>Checklist

[x] I have read and understand the contribution guide
[ ] A CHANGELOG entry is included
[ ] At least one test case is included for this feature or bug fix
[x] Documentation was added or is not needed
[x] Documentation was verified or is not changed
[x] UI test was passed or is not needed
[x] Screenshot test was verified or is not needed
[ ] This is an API breaking change

Issue Resolved / Feature Added
Running enact  bootstrap or npm run serve in samples/sampler with node18 fails.
Resolution
Added react-dom: ^18.2.0 as a dependency in samples/sampler
Additional Considerations
Links
WRP-8571
Comments

@adrian-cocoara-lgp Would you please add more detailed information in the description section so that we can see the root cause and the history in the future?
cc: @daniel-stoian-lgp


retire bad auto blocks

Retiring

quick-action-card
app-store-blade
app-store-highlight
plans-comparison

Resolves: MWPW-139058
Test URLs:

Before: https://main--express--adobecom.hlx.page/drafts/qiyundai/create/christmas-autumn?martech=off
After: https://retire-old-auto-blocks--express--adobecom.hlx.page/drafts/qiyundai/create/christmas-autumn?martech=off

Codecov Report

Merging #444 (3f1cd25) into stage (de0b3f6) will increase coverage by 0.94%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##            stage     #444      +/-   ##
==========================================
+ Coverage   29.85%   30.80%   +0.94%
==========================================
  Files         124      120       -4
  Lines       23738    22682    -1056
==========================================
- Hits         7088     6988     -100
+ Misses      16650    15694     -956

Files
Coverage Δ

express/scripts/utils.js
33.01% <ø> (+0.06%)
:arrow_up:

... and 1 file with indirect coverage changes
:mega: Codecov offers a browser extension for seamless coverage viewing on GitHub. Try it in Chrome or Firefox today!

looks awesome!
how's the status of the PM's approval?

Thanks! We only have confirmation from Ernest that they are not being actively used anymore but Pete has blocked this request saying we should wait for the library process to finish.
I personally think either way these blocks need to go 😅.

looks awesome!
how's the status of the PM's approval?

Thanks! We only have confirmation from Ernest that they are not being actively used anymore but Pete has blocked this request saying we should wait for the library process to finish.
I personally think either way these blocks need to go 😅.

@qiyundai I think you're right. Can you ping Pete in the express dev core channel asking for an update?

Asked for update today:  https://adobe-mwp.slack.com/archives/C04UH0M1CRG/p1699548316203019

pinged again.

sent a ping again

just realized btw, don't forget to look for all cases of "app-store-blade" & "app-store-highlight". I'm sure you'll find a little more to remove :)

Nice catch good sir


update ut

Codecov Report

Merging #72 (608ff03) into main (1733498) will decrease coverage by 1.64%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #72      +/-   ##
==========================================
- Coverage   93.75%   92.10%   -1.65%
==========================================
  Files           3        6       +3
  Lines          48       76      +28
==========================================
+ Hits           45       70      +25
- Misses          3        6       +3

Impacted Files
Coverage Δ

test_app.py
95.23% <0.00%> (-0.92%)
:arrow_down:

test_invalid_login.py
88.88% <0.00%> (ø)

test_login_validation.py
91.66% <0.00%> (ø)

test_signup_validation.py
91.66% <0.00%> (ø)

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 6440878...608ff03. Read the comment docs.


data link on website has broken https://eicu-crd.mit.edu/

The "data" link on the front page is now resolving to http://eicu-crd.mit.edu:8081/gettingstarted/access/. This may be related to some recent network changes that were made.

@elfeto

Fixed by adding port_in_redirect off; to the nginx config file.


Add the --cache option, allows caching more information into the database

This allows trading a bit of the memory footprint of Madara for better response time (specifically in the RPC client implementation).
Pull Request type
This is a new feature.
What is the current behavior?
Nothing is cached and transaction hashes are re-computed every time they are needed.
Resolves: none
What is the new behavior?
Transaction hashes are not stored along with block data in the database under the column STARKNET_TRANSACTION_HASHES_CACHE.
Does this introduce a breaking change?
No.
Other information
Currently, the flag is introduce as a simple boolean flag.
    #[clap(long, action)]
    cache: bool,

In the future, it might be good to make this a vector of flags, which could optionally enable caching for only some parts of the database. Right now it's only for transaction hashes.

I had to pass the cache boolean around, not sure if there's a better way to pass this kind of configuration around.
If the way I did it is the intended way, we probably need an intermediate structure named something like an Arc<RuntimeConfig> to pass around instead of a bool. That would be more clear, and way easier to extend later if more options are added.


Do you think to add Prettier to the project in the future?

example
package.json
"scripts": {
  "prettier": "prettier --write 'src/**/*.js'",
},
"devDependencies": {
  "eslint-config-prettier": "^2.9.0",
  "eslint-plugin-prettier": "^2.4.0",
  "prettier": "1.9.2",
}

.eslintrc
"plugins": ["prettier"],

"extends": ["eslint:recommended", "prettier"],

"rules": {
  "prettier/prettier": "error"
}

.prettierrc
{
  "singleQuote": true
}

There are many conflicts between ESLint Airbnb and Prettier, but Prettier is friendly to ESLint Standard.

I removed eslint-airbnb and it worked seamlessly

Maybe I will build prettier-airbnb.


Can't import FrameworkSQLiteOpenHelperFactory

I've imported sqlbrite 3.0 and I'm trying to use it based on the sample code given. However android studio can't find FrameworkSQLiteOpenHelperFactory specifically. Is there something else I should be importing?
https://github.com/square/sqlbrite/blob/9de0c83830413bbc05734ebd15da8c587ffd23ff/sample/src/main/java/com/example/sqlbrite/todo/db/DbModule.java

Do you have a dependency on the db-framework artifact?

See here: https://github.com/square/sqlbrite/blob/9de0c83830413bbc05734ebd15da8c587ffd23ff/sample/build.gradle#L22
whose variable is: https://github.com/square/sqlbrite/blob/d6ae8b549330a298cbb9d0a3a59a402591e3f013/build.gradle#L37

Thanks! I had tried 'com.android.arch.persistence:db-framework:1.0.0'  instead of 'android.arch.persistence:db-framework:1.0.0'


Weights and dataset not available

Hello @alexivaner!
I was trying to reproduce the code, but unfortunately, the links provided to download the weights and the dataset are not available anymore. May I ask if it would be possible to restore them?
Thanks!

+1

+1

same issue!!
any resoltion till now?


Azure Storage Advanced Threat Protection or Detection?

Shouldn't this be Advanced Threat Detection? The first line of this doc states: "Azure Storage Advanced Threat Protection detects anomalies"

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 2b92c195-c670-2e27-2422-fd131586bdd7
Version Independent ID: 75ad901d-8064-bfbe-67f5-de507bede1bc
Content: Monitoring Threats in Azure Storage
Content Source: articles/storage/common/storage-advanced-threat-protection.md
Service: storage
GitHub Login: @rmatchoro
Microsoft Alias: ronmat

@BartVanBerkel Thanks for your question. We are checking on this and will respond to you soon.

@BartVanBerkel Yes, the common name across MS detection services is Advanced Threat Detection, Office Advanced Threat Detection, Windows Defender Advanced Threat Detection, SQL Advanced Threat Detection, Storage Advanced Threat Detection.
The service does detection which is another layer of protection

@SumanthMarigowda-MSFT To me Detection and Protection are different things.. so the name of the feature suggests that it will protect you from threats... which is not the case, as it will only detect. If you want to protect, you probably have to automate this yourself based on the outcome of the detection.. That's not very advanced. For marketing reasons I understand why this is called Protection. ;-)

@BartVanBerkel Thanks for the feedback!
If you wish you may leave your feedback here All the feedback you share in these forums will be monitored and reviewed by the Microsoft engineering teams responsible for building Azure.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


e2e: do not remove the member we connect to

Fix https://github.com/coreos/etcd/issues/7187
If we remove the member we connect to, we might see member is stopped before the response arrives.

Current coverage is 63.81% (diff: 100%)

No coverage report found for master at 3351a71.

Powered by Codecov. Last update 3351a71...78540c5

LGTM. /cc @heyitsanthony

LGTM


show open in editor option in condition under taskrun

Fix: #306

Codecov Report

Merging #307 into master will increase coverage by 0.02%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #307      +/-   ##
==========================================
+ Coverage   73.45%   73.48%   +0.02%
==========================================
  Files          44       44
  Lines        3225     3224       -1
  Branches      586      586
==========================================
  Hits         2369     2369
+ Misses        856      855       -1

Impacted Files
Coverage Δ

src/tkn.ts
65.16% <100.00%> (+0.09%)
: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 5fe2fd6...8fac192. Read the comment docs.