Support cloudevent emiting

Changes
1. add base types for cloudevents notificatoins
2. addd user owned resource filter
3. inject cloudevent emiter into context

Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[ ] spec PR link included
[x] Follows the commit message standard
[x] Meets the contributing guidelines (including
functionality, content, code)
[x] Test cases with documentation and functionality works as expected using current and related github repos (MUST deploy and check)
[x] Release notes block below has been filled in or deleted (only if no user facing changes)

Release Notes

目前流水线不过是 缺少部分单测导致的， 会补全单测后，确保流水线通过

WithDeletedBy 实际上是无用的。根据 https://book.kubebuilder.io/reference/admission-webhook.html ，目前 仅支持  Create 和 Update。 所以我把 WithDeletedBy 删掉了。
后边 WithUpdateBy 和 WithCreateBy 和 WithTriggeredBy的 统一， 就还给 家杰了。 @NigelZHANG


Add sync timezone tests

Add more complex tests with respect to timezone handling and interpretation.

This is completed as part of moving to ical for Timeline implementation and other fixes.


When adding realm to the front of the params array do not replace any…

…thing in the array.
When using oauth with a realm I was losing one of the parameters we needed, changing 1 to 0 adds realm at the front with out removing anything from the array.

Right that definitely looks like a bug. I'll fix the tests tomorrow :+1:

Awesome thanks

@jhalickman can you pull https://github.com/simov/request/tree/oauth-realm-fix here? Then I'll merge it.

Sorry I am confused, what do you want me to do?
--
Joshua Halickman
On July 17, 2015 at 10:52:03 AM, simo<EMAIL_ADDRESS>wrote:
@jhalickman can you pull https://github.com/simov/request/tree/oauth-realm-fix here? Then I'll merge it.
—
Reply to this email directly or view it on GitHub.

Just git pull git@github.com:simov/request.git oauth-realm-fix into yours, and push again. If you have any difficulties I can figure out something on my end. You can apply the test fixes on your own too, we just need the tests passing here, in this PR, for the sake of completeness.

It looks like https://github.com/simov/request/commits/oauth-realm-fix already has my change in there, would I need to make any other changes?
--
Joshua Halickman
On July 17, 2015 at 11:31:46 AM, simo<EMAIL_ADDRESS>wrote:
Just git pull git@github.com:simov/request.git oauth-realm-fix into yours, and push again. If you have any difficulties I can figure out something on my end. You can apply the test fixes on your own too, we just need the tests passing here, in this PR, for the sake of completeness.
—
Reply to this email directly or view it on GitHub.

No, just execute the above command and push again, that's all.

Ahh I get it so you merge from my PR. Should be done.
--
Joshua Halickman
On July 17, 2015 at 11:49:22 AM, simo<EMAIL_ADDRESS>wrote:
No, just execute the above command and push again, that's all.
—
Reply to this email directly or view it on GitHub.

Yep I fetch'ed your branch and pushed to my repo.
Thanks :+1:

Just curious if this is going to get into NPM in the near future?

I think we should have a new release pretty soon. Probably on Monday. I'm going to wrap up the latest PR's during the weekend and publish.

Awesome thanks for all the help!
--
Joshua Halickman
On July 17, 2015 at 12:06:26 PM, simo<EMAIL_ADDRESS>wrote:
I think we should have a new release pretty soon. Probably on Monday. I'm going to wrap up the latest PR's during the weekend and publish.
—
Reply to this email directly or view it on GitHub.

Version 2.59 is published https://github.com/request/request/issues/1683


Typescript casting error

Hi,
as typescript added the as casting operator in 1.6 https://github.com/Microsoft/TypeScript/wiki/What's-new-in-TypeScript#jsx-support
linter is currently throwing
/home/alex/labs/movieRate/src/containers/ErrorManager/index.tsx
  64:28  error  Parsing error: Unexpected token, expected ","
  62 |
  63 | export default flow(
> 64 |   connect(mapStateToProps) as any
     |                            ^
  65 | )(ErrorManager)
  66 |

Is there anything known about that?
here my .eslintrc conf
{
  "env": {
    "jest": true
  },
  "parser": "babel-eslint",
  "extends": [
    "eslint:recommended",
    "plugin:react/recommended",
    "standard"
  ]
}

babel-eslint doesn't currently support TypeScript - see https://github.com/babel/babel-eslint/issues/505

Im using typescript atm and thats the only error i got from the linter with my config :disappointed: (without using decorators)


.NET 5 | Visual Studio "Trimming" Feature should be editable from project properties.

.NET 5 has a feature that is configurable via the Visual Studio .proj file called Trimming. This feature currently requires the developer to go into the .proj file and edit it manually. This should be configurable via the Project Settings UI Dialogs. A simple checkbox to turn it on or off would be best in my opinion. Any time you have to manually configure the project file, you open yourself up to additional problems. In addition, it is required to CLOSE the project, and RELOAD it every time you edit that .proj file manually.

Trimming apps is a publish feature, which has its own settings UI: https://docs.microsoft.com/en-us/dotnet/core/deploying/trim-self-contained#trim-your-app---visual-studio

cc @eerhardt since I know he ha worked with trimming before, in case he can provide additional help with this.


Amqp event publication is marked completed even when event externalization fails due to channel errors

When using Event Publication Registry in combination with Event externalization to RabbitMQ (AMQP), the entry in the registration for externalize listener is marked completed even when the message fails to be published to RabbitMQ.
Setup details
Event publication registry is enabled with spring-modulith-starter-jpa library. Event externalization is setup with RabbitMQ using spring-modulith-events-amqp library.
To simulate error scenario, misconfigure the target and use a non-existing exchange name.
Expected Behaviour
When trying to connect to a non-existing RabbitMQ exchange, the entry in the publication registry should remain incomplete.
Actual Behaviour
When an channel error occures see rabbitmq docs, an error log is generated (see below), but no exception is thrown, so the transaction is not rolled back.
If more information or source code is required, let me know and will add it.
Versions
Spring Modulith 1.2.5
Spring Boot 3.3.4
JDK 21
Logs
2024-11-04T09:34:25.544Z  ERROR - Shutdown Signal: channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no exchange 'non-existing-exchange' in vhost '/', class-id=60, method-id=40) - location=org.springframework.amqp.rabbit.connection.AbstractConnectionFactory$DefaultChannelCloseLogger.log(AbstractConnectionFactory.java:778) {}

Related Issues
Issue-395

I am not sure what we could do to prevent this on the Spring Modulith side. If the infrastructure does not throw an exception, we cannot react to it. In other words, I think this problem needs to be solved by setting up RabbitTemplate to properly signal such errors to clients. Unfortunately, the documentation you linked to is not particularly helpful, as it elaborates on channels being shut down but not about channels not existing in the first place. I'll make sure that someone from the Spring AMQP team will take a look, but I am afraid there's not much we can do, at least here in Spring Modulith.

A first round of investigation revealed that you should be able to get non-existing exchanges to cause messages to be rejected by both configuring RabbitTemplate.setMandatory(true) (you can set spring.rabbitmq.publisherReturns to true to achieve that) and registering a ReturnsCallback to produce an exception. That's essentially following how RabbitMQ works as described here and the corresponding Spring AMQP features described here.
We're currently looking into whether that could be made simpler, but from the context of Spring Modulith, we're interacting with the broker as expected, so I am inclined to close this as “works as designed”. We're not dealing with a “Modulith wrongly marks publications as completed” but rather “how do I configure my AMQP client to instruct the server not to simply drop the messages”.

Thank you for your effort, we will have a look at your suggestions.
It would be nice if Modulith would support some features to make the setup simpler

@odrotbohm I have verified your suggestion and it doesn't work unfortunately. ReturnsCallback is not called when exchange does not exist, however it is called when message is not routable. Even in that case (when exception is thrown in returns callback) publication is marked as complete.
I got it to work correclty using publisher confirm mechanism to mark returned completable future as complete or completedExceptionally. This handles cases when broker doesn't accept message e.g. non-existent exchange, but it still marks unroutable messages as published (which I believe is ok). Sample ugly code provided with spring.rabbitmq.publisher-confirm-type = correlated and org.springframework.modulith.events.amqp.RabbitEventExternalizerConfiguration excluded from auto configuration.
@Configuration
public class RabbitMQExternalizer {

    private final Map<CorrelationData, CompletableFuture<?>> cfs = new ConcurrentHashMap<>();

    @Bean
    RabbitTemplateCustomizer rabbitTemplateConfirmCallbackCustomizer() {
        return rabbitTemplate -> rabbitTemplate.setConfirmCallback(
                (correlationData, ack, cause) -> {
                    log.info("correlationData: {}, ack: {}, cause: {}", correlationData, ack, cause);
                    if (correlationData == null) return;
                    var cf = cfs.remove(correlationData);
                    if (cf == null) {
                        log.warn("Didn't find cf for correlationData: {}", correlationData);
                        return;
                    }
                    if (ack) {
                        log.info("Completed cf for correlationData: {}", correlationData);
                        cf.complete(null);
                        return;
                    }
                    log.info("Completed exceptionally cf for correlationData: {}", correlationData);
                    cf.completeExceptionally(new RuntimeException(cause));
                }
        );
    }

    @Bean
    DelegatingEventExternalizer rabbitAsyncEventExternalizer(EventExternalizationConfiguration configuration,
                                                        RabbitMessageOperations operations, BeanFactory factory) {

        log.debug("Registering domain event externalization to RabbitMQ…");

        var context = new StandardEvaluationContext();
        context.setBeanResolver(new BeanFactoryResolver(factory));

        return new DelegatingEventExternalizer(configuration, (target, payload) -> {

            var routing = BrokerRouting.of(target, context);
            var correlatedResult = getCorrelatedResult();

            operations.convertAndSend(routing.getTarget(), routing.getKey(payload), payload, Map.of(AmqpHeaders.PUBLISH_CONFIRM_CORRELATION, correlatedResult.getKey()));

            return correlatedResult.getValue().orTimeout(5L, TimeUnit.SECONDS);
        });
    }

    private Map.Entry<CorrelationData, CompletableFuture<?>> getCorrelatedResult() {
        CorrelationData correlationData;
        CompletableFuture<?> cf = new CompletableFuture<>();
        do {
            correlationData = new CorrelationData();
        } while (cfs.putIfAbsent(correlationData, cf) != null);
        return Map.entry(correlationData, cf);
    }

}

This solution would probably require some extra auto configuration. For example to handle cases where someone has already registered a confirm callback.

I can confirm @sfilipiak-inpost points.
I have an alternative solution using org.springframework.amqp.rabbit.connection.CorrelationData#CorrelationData(java.lang.String).
Which holds a `CompletableFuture with a Confirm.
Then you can either wait for it blocking, or set the value back to zero in the apply method
val c = correlationData.future.get(10, TimeUnit.SECONDS)
if (!c.isAck) {
    // Call DefaultEventPublicationRegistry and set completionDate to null
    logger.error { "Blocking: Message with id ${correlationData.id} was not acknowledged with reason '${c.reason}'. Message will be set to unprocessed" }
}

Or
correlationData.future.thenApply { c ->
    if (!c.isAck) {
    logger.error { "From thenApply: Message with id ${correlationData.id} was not acknowledged with reason '${c.reason}'. Message will be set to status='Progressing'" }
}
}.exceptionally {
    logger.error(it) { "Message with id ${correlationData.id} threw exception. Message will be set to status='Progressing'" }
}

Unfortunately exceptionally is not set, if a channel close error occurs  e.g. 403 Forbidden or 404 Exchange not foun

I am posting vastly improved code (thanks to a deleted suggestion that CorrelationData already holds a CompletableFuture<Confirm>. It only required spring.rabbitmq.publisher-confirm-type = correlated to be configured and doesn't clash with any user-defined confirm callbacks.
@Configuration
public class RabbitMQExternalizer {

    @Bean
    DelegatingEventExternalizer rabbitAsyncEventExternalizer(EventExternalizationConfiguration configuration,
                                                        RabbitMessageOperations operations, BeanFactory factory) {

        log.debug("Registering domain event externalization to RabbitMQ…");

        var context = new StandardEvaluationContext();
        context.setBeanResolver(new BeanFactoryResolver(factory));

        return new DelegatingEventExternalizer(configuration, (target, payload) -> {

            var routing = BrokerRouting.of(target, context);
            var correlationData = new CorrelationData();

            operations.convertAndSend(routing.getTarget(), routing.getKey(payload), payload, Map.of(AmqpHeaders.PUBLISH_CONFIRM_CORRELATION, correlationData));

            return correlationData.getFuture()
                    .orTimeout(5L, TimeUnit.SECONDS)
                    .thenCompose(this::handleConfirm);
        });
    }

    private CompletableFuture<?> handleConfirm(CorrelationData.Confirm confirm) {
        if (confirm.isAck()) {
            log.info("Completed cf");
            return CompletableFuture.completedFuture(null);
        }
        log.info("Completed exceptionally cf");
        return CompletableFuture.failedFuture(new RuntimeException(confirm.getReason()));
    }

}

@odrotbohm Hi, can we get some additional feedback on that issue?

My current stance is that Modulith already uses the APIs provided by Spring AMQP idiomatically. If a different, non-broker-default publication mode requires re-configuration of the AMQP client and that leads to the need to send out messages through a more specialized API in turn, I think you need to resort to implementing the externalization yourself, just like you do in the example above. Our externalization mechanism is intended to be a simple approach to publish events to brokers. I.e., DEE is not even considered public API. If it works for you this way, that's fine. I'm just not inclined to tweak it a lot to slightly improve the usage model in scenarios, that are not broker-idiomatic. If in doubt, you could even use RabbitOperations from a simple @Async @TransactionalEventListener directly.
That said, I still think it would make sense for you to work with the AMQP team to investigate whether they can tweak their APIs to make your scenario workable, without having to switch to a different message sending method. Then, there is probably a way to more easily flip to the mode of operation that you'd like to use, potentially hidden behind a simple switch in application.properties.


Add links to US and UK audio pronunciations

Currently, only the link to US pronunciation is displayed.
Explore Wordnik API for relevant options.

From Wordnik Developer - API Docs
Currently only audio pronunciations from the American Heritage Dictionary in mp3 format are supported.

Possible options are:

Macmillan Dictionary API
Oxford Dictionaries API

@kshitij10496 I am looking to use Merriam-Webster Collegiate Audio Pronunciation API for adding the relevant pronunciation. This would require adding my API key to config.json file. I am planning to change the *_api_key methods in utils.py. What is your opinion on this ?

I was thinking of labeling the API response from Wordnik as US or UK pronunciation.
Merriam-Webster API is not developer friendly due to the use of XML. Moreover, I don't see the distinction between pronunciation type in that API as well.
Since this is a low priority feature, we can skip it for now and work on the more demanding issues.


Vagrant base image update to latest Ubuntu LTS

Update Vagrant image to latest Ubuntu LTS release; adjust Docker tools accordingly

The version of Ubuntu being used was 14.04 (Trusty) which is EOL and 3+ years old

Updated to 16.04, Xenial, which is most current LTS
Moved from Ubuntu images to Chef Bento – Ubuntu's images after 14.04 started
breaking Vagrant convention by not creating a "vagrant" user. Chef Bento images
keep with Vagrant convention and obviate the need for extra "create user" scripts

Updated Ubuntu Tools Docker image accordingly

Updated to retrieve same version of Scala as project Gradle

was 2.11.6, updated to 2.11.11

I was getting the same error as @akrabat in his gist at https://gist.github.com/akrabat/bc0bcbfd78c4f78686bac1fbc41e3054 and unable to start the Vagrant image locally. The changes in this PR fixed that error and the image now provisions successfully.

As @bbrowning has noted, the current Vagrant box does not successfully provision.
I've tested this PR and it works.

Can we make a new set of instructions for Xenial, maybe under tools/setup/ubuntu-setup/xenial/* ?
We currently doesn't support Xenial but at the same time don't really care if docker works
I'm OK if the Vagrant scenario uses Xenial, I'm just worried about people using the current setup in ubuntu 14 and using the current scripts under tools/ubuntu-setup/docker.sh
then with this changes they will brake immediately.
Also scala is currently configured for 2.8.11 not 2.11.11 as stated here: https://github.com/apache/incubator-openwhisk/blob/master/settings.gradle#L25

@csantanapr Ah, for some reason I thought I saw 2.11.11 used in a bunch of places. We should update that to latest 2.11.x series, but that seems like a separate set of PRs to me.

@csantanapr I am fine with splitting things off into Xenial subfolder, but I'd suggest if we are going to do that we also create a sep. one for 14. If we leave a "default" folder without clear versioning info it may lead to more confusion. The current folder would become a parent with just a short README explaining the subfolders/versioning.
Thoughts?

bwmcadams
yes I like the splitting of the folders, main readme explaining the differences.
tools/ubuntu-setup/v14/
tools/ubuntu-setup/v16/
tools/ubuntu-setup/README.md

@markusthoemmes

Why? We're effectively on 2.11.11.

Then why do we have 2.11.8 in setttings.gradle?
Which version are we suppose to be using?
https://github.com/apache/incubator-openwhisk/blob/master/settings.gradle#L24-L26

Closing as PR #3133 going to take care of this by detecting ubuntu 16 or later and installing docker-ce, the rest stays the same.
Once PR #3133 is merged we can switch the Vagran VM to use ubuntu 16


Updated README and some Minor Fixes

If you wish to view the Template changes, kindly visit the Heroku app I did during the making of the README.md.
https://corsio.herokuapp.com

🥳


Generating media queries on server

Do something similar to https://github.com/reactjs/react-future/issues/8#issuecomment-62337520
Extract minWidth and maxWidth declarations in <Breakpoint> components and write media queries to <style> component in header when rendering on server.
Also could be injected on client.
Default to media queries but allow componentWidth as option.

https://github.com/MicheleBertoli/css-in-js

Or use free-style: https://github.com/blakeembrey/free-style


[Bug]<EMAIL_ADDRESS>decompress error

scoop update inno-setup fails for inno-setup 6.3.0 and 6.3.1 (see below for newer version):
Extracting innosetup-6.3.0.exe ... ERROR Exit code was 1!
Failed to extract files from C:\Users\Martin\scoop\apps\inno-setup\6.3.0\innosetup-6.3.0.exe.

Content of log file ~\scoop\apps\inno-setup\6.3.0\innounp.log
Signature detected: Inno Setup Setup Data (6.3.0)
This is not directly supported, but i'll try to unpack it as version 5602
; Version detected: 6300
Critical error: The setup files are corrupted. Please obtain a new copy of the program.
Signature detected: Inno Setup Setup Data (6.3.0)
This is not directly supported, but i'll try to unpack it as version 5602
; Version detected: 6300
Critical error: The setup files are corrupted. Please obtain a new copy of the program.
Signature detected: Inno Setup Setup Data (6.3.0)
This is not directly supported, but i'll try to unpack it as version 5602
; Version detected: 6300
Critical error: The setup files are corrupted. Please obtain a new copy of the program.

The same happens for<EMAIL_ADDRESS>The logfile:
Signature detected: Inno Setup Setup Data (6.3.0)
This is not directly supported, but i'll try to unpack it as version 5602
; Version detected: 6300
Critical error: The setup files are corrupted. Please obtain a new copy of the program.
Signature detected: Inno Setup Setup Data (6.3.0)
This is not directly supported, but i'll try to unpack it as version 5602
; Version detected: 6300
Critical error: The setup files are corrupted. Please obtain a new copy of the program.

A new version of innounp would be required, which supports the latest data format.

https://sourceforge.net/p/innounp/discussion/353235/thread/ef0e2c5c41/

innounp hasn't been updated since 202212

Do you think it has been abandoned ?
If so then what ?

There s a GUI tool Windows InnoUnpacker 1.9.2

is made by Jürgen Rathlev, is author of https://www.rathlev-home.de/index-e.html?home-e.html#unpack
has a patched fork/build of innounp to handle unicode

called innounp-16x
source/binary on website

https://www.rathlev-home.de/tools/download/innounp16x.zip
https://www.rathlev-home.de/sources/download/d10/innounp16xsrc.zip

innosetup

is made by Jordan Russel
has a BSD like attribution and disclaimer license
https://jrsoftware.org/isdl.php
has a administrative install that unpacks to user profile directory but also modifies registry keys.

As seen in Scoop v0.5.0:

Features
[...]

decompress: Use innounp-unicode as default Inno Setup Unpacker (https://github.com/ScoopInstaller/Scoop/pull/6028)

Uninstall innounp etc. and install innounp-unicode


SSDB new node in OUT_OF_SYNC / INIT state

The brand new node of the master-master replica sync almost all data, and then stops, in the OUT_OF_SYNC state - how I can get the nodes into a SYNC state?
Server with data:

tools/ssdb-cli -n info

version
        1.9.2
links
        9
total_calls
        147
dbsize
<PHONE_NUMBER>9
binlogs
            capacity : 20000000
            min_seq  : 470675797
            max_seq  : 490675798
replication
        client <IP_ADDRESS>:56799
            type     : mirror
            status   : SYNC
            last_seq : 490675798
replication
        slaveof <IP_ADDRESS>:8888
            id         : <IP_ADDRESS>|8888
            type       : mirror
            status     : INIT
            last_seq   : 490632888
            copy_count : 0
            sync_count : 0

New server

version
        1.9.2
links
        11
total_calls
        165
dbsize
<PHONE_NUMBER>
binlogs
            capacity : 20000000
            min_seq  : 1
            max_seq  : 5253935
replication
        client <IP_ADDRESS>:34747
            type     : mirror
            status   : OUT_OF_SYNC
            last_seq : 490632888
replication
        slaveof <IP_ADDRESS>:8888
            id         : <IP_ADDRESS>|8888
            type       : mirror
            status     : SYNC
            last_seq   : 490675798
            copy_count : 0
            sync_count : 0
serv_key_range

When a node get into the OUT_OF_SYNC state, you must:

stop it
remove it's data and meta folder
restart it

Since you set those node as a master-master architecture, instead, you must:

stop old-server, new-server
remove the old's data and meta folder
remove the new's meta
4 restart the old and new.

Just to sum-up the procedure, please be carefull where you remove the data from :)
First determine which node has correct/more recent data, we would call this node A.
Procedure for setting up replication:

make backup of both nodes (in case of failure, it may be helpful to recover data)
stop both nodes
delete data and meta folder on node B (example location of those folders is /data/ssdb/var)
delete meta folder on node A
start node A, and wait a moment till it rebuild meta folder
start node B
nodes are in sync when replication status read from command ssdb-cli -n info is SYNC (during synchronization state is COPY)
check log file for potential errors

Yes, making backups before any operation is a good practice.

There is a better sync procedure that does not involve downtime of the cluster as a whole, but you need to switch to the other master.
Node A is the one holding the most up to date data, node B is corrupt or simply a new node:

stop node B, remove its data and meta directories
start node B, let it sync with node A.
node A is now OUT_OF_SYNC wrt node B
switch your master service over to node B
stop node A, remove only it's meta folder
start node A, let it sync with node B
now both nodes will be SYNC again.
optional: switch master service back to node A

@geert-hendrickx-be your procedure seems good, however in usable scenarios in order to scale dynamically sometimes you want to add new nodes in existing clusters. In your example, if node B is a completely new node then node A still needs to be restarted in order to allow B to sync to it, because node A needs to know B in its configuration file and this requires a restart.


[BUG] app mode installation by default is not successful

Describe the bug

app mode installation by default is not successful with either using helm or from the catalog apps
To Reproduce
Steps to reproduce the behavior:

refer to the https://github.com/rancher/harvester/tree/master/deploy/charts/harvester to install the Harvester app
install the Harvester as Rancher Catalog Apps

Expected behavior

the app is installed successfully

Log

Environment:

Harvester ISO version:
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630):

Additional context
Add any other context about the problem here.

Same as #337
Validated


Prisma doesn't detect my distro.

I get this error message:
"prisma:warn Prisma failed to detect the Linux distro in use, and may not work as expected. Defaulting to "debian"."
OS: Artix Linux

Hi @alaidine, thanks for the report.
Does Prisma still run in your case? If so, then you can safely ignore this warning.

In the future, we might explicitly check for Artix Linux as well.
Can you please share the output of:

cat /etc/os-release

output of cat /etc/os-release:
NAME="Artix Linux"
PRETTY_NAME="Artix Linux"
ID=artix
BUILD_ID=rolling
ANSI_COLOR="0;36"
HOME_URL="https://www.artixlinux.org/"
DOCUMENTATION_URL="https://wiki.artixlinux.org/"
SUPPORT_URL="https://forum.artixlinux.org/"
BUG_REPORT_URL="https://bugs.artixlinux.org/"
PRIVACY_POLICY_URL="https://terms.artixlinux.org/docs/privacy-policy/"
LOGO=artixlinux-logo

I'll close this, as the fallback/default engine should work as expected, so only a report would be needed if there is an issue, let us know if that's the case.
Note that we changed the message, to make it informational only in https://github.com/prisma/prisma/pull/23243
The updated message will be part of the next release 5.11.0, next week.


Bug: Listeners fire on initialization with CollaborationPlugin

When the CollaborationPlugin handles changing documents by receiving a different id, the listeners fire.
Of course, listeners should not fire on document initialization/change.
I've noticed that this doesn't happen with the OnChangePlugin, because it checks that the previous editorState is not null, apparently to avoid this situation:
return editor.registerUpdateListener(
  ({ editorState, dirtyElements, dirtyLeaves, prevEditorState, tags }) => {
    if (prevEditorState.isEmpty()) return;
    // ...
  }
);

Ideally, this should be the default behavior. But the problem is that even if you wanted to, you couldn't imitate this trick with the other listeners, since updateListener is the only one that receives prevEditorState as callback.
Lexical version: 0.9.1
Steps To Reproduce

npm run dev
In another terminal, npm run collab-server
In the browser, click on the buttons to change the document, and you will see that content changed appears in the console.

Link to code example: https://github.com/EgonBolton/collab
The current behavior
The listeners are fired, as seen in the console.
The expected behavior
I think the listeners should not fire in this case.

Ok, I found that what was causing the error in my project and in the codesandbox were different reasons. In the codesandbox, it was due to the AutoFocusPlugin and in my project, a dynamic attribute on the CollaborationPlugin.
The AutoFocusPlugin thing shouldn't be a problem, as it only fires listeners that somehow listen to the selection, which makes sense. The problem is when CollaborationPlugin is passed a dynamic "id" attribute, every time the editor/document is changed, all the listeners are fired, including the text listener for example.
I've updated the codesandbox to replicate this error, but I couldn't get the y-websocket server to work. I think in order to replicate this bug, you would have to copy the code locally and run npx y-websocket-server in a terminal.

UPDATE: merged the two messages above, improved the problem explanation and got the repro to work (can't be codesandbox for collab server to work)


incorrect information

i tried to update the dns name lable as explained above and got the following error message:
81-237-187-233-no2330 xxxMrxxx$ az container create --resource-group myCTR --name myIMG --dns-name-label newDNSlabel
The updates on container group 'myIMG' are invalid. If you are going to update the os type, restart policy, network profile, CPU, memory or GPU resources for a container group, you must delete it first and then create a new one.

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

ID: df5263d2-e8da-ad3e-efcc-03c0a1088849
Version Independent ID: bbb97f05-ca9a-1558-a95e-bca1fe610752
Content: Update containers in Azure Container Instances
Content Source: articles/container-instances/container-instances-update.md
Service: container-instances
GitHub Login: @dlepow
Microsoft Alias: danlep

@qusp66 I tried reproducing the issue, I don't see any error message following the document for creating container group and updating DNS label as below.
Create container group:
az container create --resource-group test --name mycontainer --image nginx:alpine --dns-name-label myapplication-staging
Update container group DNS Label:
az container create --resource-group test --name mycontainer --image nginx:alpine --dns-name-label myapplication
From your question posted, I don't see the image name included in the command (assuming you followed the same document). All the parameters used for creating the container group should be used again when you are trying to update the DNS label name. Here it is not actually and update cli but it is a create again with changes you want to make.
Another way to update the label is to export the container group to yaml with az container export check this document and do the changes and use that yaml to deploy.
Example CLI : az container create -g MyResourceGroup -f containerGroup.yaml

@qusp66 Any update on the issue?
Just checking if you got a chance to check my previous reply.

@qusp66 Hope the provided information helped you solve your issue. I am closing the issue for now, if you have any further question you can reopen this issue to continue the discussion.

All the parameters used for creating the container group should be used again when you are trying to update the DNS label name

I think this should be in the body of the article as a "note", because I was scratching my head on this one also, because I was omitting the properties that are not valid for changing, but it must have been assuming defaults for the missing properties.

@t-l-k Thanks for the feedback. I have shared the feedback to document author to have this as document enhancement.

I get this error just now. Was there every any reproduction made? The exact commands I've tried:
az container create --resource-group  --name  --image image-name:tag-name

@LordTep  Any update on the issue?
Just checking if you got a chance to check my previous reply.

@LordTep Any update on the issue?
Just checking if you got a chance to check my previous reply.


[APIView] Java - Expose annotations on enums and upgrade dependencies

@praveenkuttappan This is ready to merge whenever you have time. No urgency though.

@JonathanGiles Praveen is OOF until July 6th.
FYI our next API View deployment will be on the week of July 11th. This change will be included then

Thanks @maririos


Added tos reminder might resolve (https://github.com/knights-of-academia/horace/issues/220)[#220]

And also @debashisbiswas you haven't merged the rest of the commits

When does the user get added to the database?

Sorry i forgot to add it 😂

Before I review, have you tested this code?

No i am doing it rn

Hey :) Please make sure you've tested the code before submitting it for review in the future.

i have tested the functions and the only thing left is the removeFromDatabase function because i am not sure how to setup the the tos channel channel in my test server but i am pretty sure it will work

Have these changes been tested on your end? Pulled your changes locally to test - got a few Sequelize errors and the embed doesn't look correct:

Sorry, I know I said the PR would be ready after the requested changes, but that was assuming they were tested. Let us know if you need help setting up a testing environment or with anything else related to the bot.

is this embed alright @debashisbiswas ?

@mukkuzzz that embed looks good but please make sure you've throughly tested of your code as well :) Make sure the whole user flow works from start to finish

I will make sure it wont happen again
😞

I am having issues setting up the channel for the user to accept the tos

@mukkuzzz Which part are you having trouble with?

The bot sending the tos message
can you send me an invite to the server you guys are testing when implementing a functionality

OK i will test everything thoroughly and let you know

I have tested the things, You can test it yourself if you wanted in my tests everything seems to go fine

I have a few more errors on my end - try deleting storageData.db and test again. There's no guarantee that your table will exist before it's accessed, particularly after this change is merged into production. You can use the sync function from Sequelize to handle this.

It is because the sync function only when a user joins the server. I think i will add the sync in the onEnable() method. Will that be fine?

Not sure which function you're referring to. You can put it in the tosRemind function for now. We're planning on refactoring the sync() functions soon.

Not sure which function you're referring to. You can put it in the tosRemind function for now. We're planning on refactoring the sync() functions soon.
Sorry i meant the client.on("ready") function and will add the sync in the tosRemind function

@debashisbiswas
I have tested this multiple time i deleted and tested the database file for me


[OBJECT UPLOADER] Delete an image by url

Update the cloud function to be able to remove an s3 object by passing a url
discuss new implementation with frontend devs so that they can implement a delete option to an image card

I am working on the frontend part of the Delete button and its functionality in this branch --> 414-s3-styling-update
I might be able to also work on adjusting the python script so it will implement the delete functionality in the backend/cloud.

I am working on the frontend part of the Delete button and its functionality in this branch --> 414-s3-styling-update I might be able to also work on adjusting the python script so it will implement the delete functionality in the backend/cloud.

Good. I will be updating the python env setup docs promptly.

@SuelaCark would you like to tackle this one as well? We should probably do the conversion png/jpeg/* -> webp within the service.

@SuelaCark have you done any relevant work here? I'm thinking of closing this one as the team is going to be migrating the service and I will be rewriting most of the tickets.

@SuelaCark have you done any relevant work here? I'm thinking of closing this one as the team is going to be migrating the service and I will be rewriting most of the tickets.

I didn't work on this since it was not a priority at the time and we had a few discussions about remaking the API and/or creating a whole new website. Hence, I didn't work on this ticket since it was not decided whether we will work on this code.

Since I didn't implement this when migrating the service, I'm leaving this ticket open. I suggest that either @DemonHashira or @savinadd try to tackle it. If you decide to do so and have any questions at all, don't hesitate to ask either me or @IvanObreshkov.


Preserve documentation on get methods.

It would be nice if documentation was preserved between fields and property methods.
#[derive(Property)]
#[property(get(public))]
/// A representation of a book.
struct Book {
  /// The title of the book.
  title: String,
}

In a perfect world, book.title() would have a docstring reading "The title of the book.":
impl Book {
  /// The title of the book.
  pub fn title(&self) -> String {
    self.title
  }
}

Sorry for the delayed response. I did see this issue until 3 minutes ago.
Thanks for your suggestion! This feature is really worth to implement. I will implement it as soon as possible.
But, I have lots of works before December. I don't have enough time for new features on this repository.
So I couldn't promise a better deadline, but January 2022, at the latest.

Each field has more than one method, so I think you example is not enough.
I will implement this feature like the follow example:
#[derive(Property)]
#[property(get(public), set(public))]
/// A representation of a book.
struct Book {
  #[property(
    get(comment = "The title of a book."),
    set(comment = "Set the title of a book."),
  )]
  title: String,
}

impl Book {
    /// The title of a book.
    pub fn title(&self) -> String {
        self.title
    }

    /// Set the title of a book.
    pub fn set_title(&mut self, input: String) {
        self.title = input;
    }
}

Do you have any better idea for that?

I have another idea: use templates to set documentations:

For getters: Get the value of field `${field_name}` in `${struct_name}`.
For setters: Set the value of field `${field_name}` in `${struct_name}`.

A simple example:
#[derive(Property)]
#[property(get(public), set(public))]
/// A representation of a book.
struct Book {
  title: String,
}

impl Book {
    /// Get the value of field `title` in `Book`.
    pub fn title(&self) -> String {
        self.title
    }

    /// Set the value of field `title` in `Book`.
    pub fn set_title(&mut self, input: String) {
        self.title = input;
    }
}

This will be the default behavior if no comment was provided.


ASAN reports 'stack-use-after-scope' at seemingly random places after switching to clang-15

running benchmarks: https://pastebin.com/raw/HQickcfU
running unittests: https://pastebin.com/raw/t1D05a9M
I'm pretty certain this is ASAN wrongdoings, leaving this issue here for reference mostly

This makes ASAN-testing userver unusable under clang-15, we should turn off ASAN in the false-positive function calls.

The thing is there is no "false-positive function calls" - shadow memory gets poisoned somewhere before swapcontext call and gets accessed somewhere after the call, and that booms.
However disabling stack-use-after-scope detection in asan fixes this; not great not terrible.

Retesting this once again with clang-15, fails reliably (although with different errors) somewhere in libbacktrace: https://pastebin.com/raw/fbVc2WkE
With this patch applied to clang-15.0.7 no errors are reported (actually asan reports about some direct leak in one allocation, but it's definitely unrelated)

Seems to be fixed in clang 16.0.2


fix: reuse gc name in GatewayClassObservedGenerationBump conformance

Signed-off-by: bitliu<EMAIL_ADDRESS>
What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Does this PR introduce a user-facing change?:

I've opened #1650 to cover updating the implementer's guide with some more info to clarify some of these issues.

this shouldn't be needed if https://github.com/kubernetes-sigs/gateway-api/pull/1655 is accepted

Closing this out now that #1655 has merged, feel free to reopen if I missed anything.
/close


Update devcontainer to Ubuntu 22.04.

This updates ubuntu from 20.04 LTS in Microsoft's devcontainer to 22.04 LTS.

I actually read the docker's devcontainer example file and it did state that you can use this version instead of having to use the static name instead.


[ISSUE - 146] Adding a FAQ Page for the website

Description
Added a comprehensive FAQ page to the project. I've ensured that the page is complete, responsive, and adheres to the project's theme.
Related Issue

Fixes #146

Checklist

[x] Responsive Design
[x] Relevant FAQ Question
[x] Themed Integration
[x] Routing of FAQ Page
[x] Feature Request

Screenshots
I have attached screenshots of the FAQ page to provide a visual representation of the changes. Feel free to review and provide feedback.

I have also ensured that the result of search box doesn't hide under FAQs

Additional Notes
I have thoroughly tested the functionality and appearance of the FAQ page to ensure a smooth user experience. If there are any specific areas that require attention or if you have additional feedback, please let me know.

@Spandan-Bhattacharya This pull request is ready for a merge. Could kindly review the Pull Request and share your feedback.

Amazing job!

Thankyou!


Sign up page alignment

Notion :
https://www.notion.so/saeloun/Bugs-When-the-signup-page-loads-658fed6d27444e2ba1144d4d7b207ff2?pvs=4
What :

Sign-up content is now aligned to the center, no need to scroll down to see the sign-up with the google option.
Navbar UI issues fixed.

Why :

The alignment of the page was not right. earlier scrolling was needed to view all the content.
Padding and border left was incorrect for logout and settings option

Preview :

Todos (for testing):

Tested on responsive screens as well as desktop screens with different height ports.

@Shruti-Apte Can we bring it a bit now so that it is centre aligned.


API for viewing files

I would like to propose an API for sending a VIEW intent such that, on Android at least, I may present files such as PDFs and images in the appropriate external application.
This is trivial for the Android case, since the intent is formed similarly to the e-mail intent, but I have no experience with iOS in this regard. Do you foresee any issues with this proposal?

Hi @bigdavedev, I see no reason why that shouldn't work on iOS. Feel free to contribute to the repository through a pull request if you add any new features.


Consistent request spec naming

Bare minimum changes required to get consistent spec naming, replaces #2376

Thanks for getting this over the line @klyonrad


feature: support relativePosition.radius in subscriptions and REST requests

This feature allows ws subscriptions to be based on the relative position of the vessel. This allows the client to to only get information about other vessels that are within a specific distance.

I think the only thing left here is the naming. One option for the subscription:
{
          context: {
              contexts: "vessels.*",
              radius: 10,
              position: {
                longitude: -76.4639314,
                latitude: 39.0700403
              }
            }
          },
          subscribe: [
            {
              path: '*'
            }
          ]
        }

Or just
{
  context: {
    radius: 1,
    position: {
      longitude: -76.4639314,
      latitude: 39.0700403
    }
  },
  subscribe: [
    {
      path: 'navigation.position'
    }
  ]
}


when I use integer number on terminal, compiler back "ld" (hex = 108 100).

I adapt the code to stm32. But when I use integer number for instance; 1+4, the code back "ld". Another example; first a=5 and then a, the code back "ld". How can I solve this. What is the source of this error? I try to find "ld" in the code but I can not find

I have no idea. I believe you need to add some debug/logging code to understand what is happening

I solved the problem ;

I changed BE_INTGER_TYPE 2 to 0.

It is not recommended to use 64-bit integers on STM32, as this can be very slow.


Slow plot_image for large datasets

Currently the plotly Heatmap plot is very slow for large (e.g. 1000 * 2000) datasets.
It would be ideal to limit the resolution for an image, and have it keep the resolution constant every time we zoom in.
It's currently unclear how to achieve this with plotly

I posted a question on the plotly forum and got an answer which might be a good solution. See https://community.plot.ly/t/heatmap-is-slow-for-large-data-arrays/21007

Fixed by #193, I think.


No such file or directory: '/tmp/celery_once/ using file based backend

My tasks crash and do not run anymore due to a no such file error.
I'm using the file based backend and this is my set up.
settings.py
CELERY_ONCE = {
'backend': 'celery_once.backends.File',
'settings': {
'location': '/tmp/celery_once/',
'default_timeout': 60 * 60
}
}
CELERY_BROKER_URL = 'pyamqp://rabbitmq:5672'
CELERY_RESULT_BACKEND = 'django-db'
CELERYD_HIJACK_ROOT_LOGGER = False
use json format for everything
CELERY_ACCEPT_CONTENT = ['json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_TIMEZONE = 'UTC'
CELERYBEAT_SCHEDULER = 'django_celery_beat.schedulers:DatabaseScheduler'
CELERY_ONCE = {
'backend': 'celery_once.backends.File',
'settings': {
'location': '/tmp/celery_once/',
'default_timeout': 60 * 60
}
}
celery.py
from future import absolute_import
import os
from celery import Celery
from django.conf import settings
set the default Django settings module for the 'celery' program.
all = [
'celery',
'QueueOnce',
]
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'autobets.settings')
os.environ.setdefault('DJANGO_CONFIGURATION', 'Development')
import configurations
configurations.setup()
app = Celery('autobets')
Using a string here means the worker will not have to
pickle the object when using Windows.
app.config_from_object('django.conf:settings', namespace='CELERY')
app.conf.ONCE = settings.CELERY_ONCE
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
tasks.py
@shared_task(bind=True,base=QueueOnce, once={'graceful': True})
def get_events(self):
do stuff bla bla bla
Before using celeryonce tasks would run as normal.
Do I need to create a tmp backend file first or does celery once create this?
stack trace.
[2020-02-13 20:11:43,505: INFO/MainProcess] mingle: searching for neighbors
[2020-02-13 20:11:44,810: INFO/MainProcess] mingle: all alone
[2020-02-13 20:11:44,865: WARNING/MainProcess] /usr/local/lib/python3.6/site-packages/celery/fixups/django.py:200: UserWarning: Using settings.DEBUG leads to a memory leak, never use this setting in production environments!
  warnings.warn('Using settings.DEBUG leads to a memory leak, never '
[2020-02-13 20:11:44,866: INFO/MainProcess] celery@9f2b7c337579 ready.
[2020-02-13 20:11:44,868: INFO/MainProcess] Received task: apimb.tasks.get_events[b423ad7e-cf2b-4137-8f2d-25bb934dc148]
[2020-02-13 20:11:44,872: INFO/MainProcess] Received task: apimb.tasks.get_balance[6af923d7-f1a1-451a-bc8d-e4f07f3b2f06]
[2020-02-13 20:11:44,876: INFO/MainProcess] Received task: apimb.tasks.get_orders[3c30ddee-22a2-4831-b256-0511ed1b8cc6]
[2020-02-13 20:11:45,416: WARNING/ForkPoolWorker-1] login has been calledAPIClient
[2020-02-13 20:11:45,502: WARNING/ForkPoolWorker-1] GET Balance task has been called now
[2020-02-13 20:11:45,586: WARNING/ForkPoolWorker-2] login has been calledAPIClient
[2020-02-13 20:11:45,637: INFO/ForkPoolWorker-1] Task apimb.tasks.get_balance[6af923d7-f1a1-451a-bc8d-e4f07f3b2f06] succeeded in 0.6551041000020632s: None
[2020-02-13 20:11:45,652: WARNING/ForkPoolWorker-2] GET EVENTS task has been called now
[2020-02-13 20:11:45,706: WARNING/ForkPoolWorker-1] /usr/local/lib/python3.6/site-packages/celery/app/trace.py:561: RuntimeWarning: Exception raised outside body: FileNotFoundError(2, 'No such file or directory'):
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/celery/app/trace.py", line 465, in trace_task
    state, retval, uuid, args, kwargs, None,
  File "/usr/local/lib/python3.6/site-packages/celery_once/tasks.py", line 141, in after_return
    self.once_backend.clear_lock(key)
  File "/usr/local/lib/python3.6/site-packages/celery_once/backends/file.py", line 76, in clear_lock
    os.remove(lock_path)
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/celery_once/qo_apimb.tasks.ge_52094e3196ca05f36eb013e2b749ce03'

  exc, exc_info.traceback)))
[2020-02-13 20:11:45,750: ERROR/ForkPoolWorker-1] Task apimb.tasks.get_balance[6af923d7-f1a1-451a-bc8d-e4f07f3b2f06] raised unexpected: FileNotFoundError(2, 'No such file or directory')
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/celery/app/trace.py", line 465, in trace_task
    state, retval, uuid, args, kwargs, None,
  File "/usr/local/lib/python3.6/site-packages/celery_once/tasks.py", line 141, in after_return
    self.once_backend.clear_lock(key)
  File "/usr/local/lib/python3.6/site-packages/celery_once/backends/file.py", line 76, in clear_lock
    os.remove(lock_path)
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/celery_once/qo_apimb.tasks.ge_52094e3196ca05f36eb013e2b749ce03'
[2020-02-13 20:11:45,813: WARNING/ForkPoolWorker-1] GET ORDERS task has been called now
[2020-02-13 20:11:45,860: INFO/ForkPoolWorker-1] Task apimb.tasks.get_orders[3c30ddee-22a2-4831-b256-0511ed1b8cc6] succeeded in 0.10413699999844539s: None
[2020-02-13 20:11:45,875: WARNING/ForkPoolWorker-1] /usr/local/lib/python3.6/site-packages/celery/app/trace.py:561: RuntimeWarning: Exception raised outside body: FileNotFoundError(2, 'No such file or directory'):
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/celery/app/trace.py", line 465, in trace_task
    state, retval, uuid, args, kwargs, None,
  File "/usr/local/lib/python3.6/site-packages/celery_once/tasks.py", line 141, in after_return
    self.once_backend.clear_lock(key)
  File "/usr/local/lib/python3.6/site-packages/celery_once/backends/file.py", line 76, in clear_lock
    os.remove(lock_path)
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/celery_once/qo_apimb.tasks.ge_55d76a4bebdad047aea38a8fd7e07c8e'

  exc, exc_info.traceback)))
[2020-02-13 20:11:45,937: ERROR/ForkPoolWorker-1] Task apimb.tasks.get_orders[3c30ddee-22a2-4831-b256-0511ed1b8cc6] raised unexpected: FileNotFoundError(2, 'No such file or directory')
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/celery/app/trace.py", line 465, in trace_task
    state, retval, uuid, args, kwargs, None,
  File "/usr/local/lib/python3.6/site-packages/celery_once/tasks.py", line 141, in after_return
    self.once_backend.clear_lock(key)
  File "/usr/local/lib/python3.6/site-packages/celery_once/backends/file.py", line 76, in clear_lock
    os.remove(lock_path)
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/celery_once/qo_apimb.tasks.ge_55d76a4bebdad047aea38a8fd7e07c8e'
[2020-02-13 20:11:48,857: INFO/ForkPoolWorker-2] Task apimb.tasks.get_events[b423ad7e-cf2b-4137-8f2d-25bb934dc148] succeeded in 3.861357500001759s: None
[2020-02-13 20:11:48,878: WARNING/ForkPoolWorker-2] /usr/local/lib/python3.6/site-packages/celery/app/trace.py:561: RuntimeWarning: Exception raised outside body: FileNotFoundError(2, 'No such file or directory'):
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/celery/app/trace.py", line 465, in trace_task
    state, retval, uuid, args, kwargs, None,
  File "/usr/local/lib/python3.6/site-packages/celery_once/tasks.py", line 141, in after_return
    self.once_backend.clear_lock(key)
  File "/usr/local/lib/python3.6/site-packages/celery_once/backends/file.py", line 76, in clear_lock
    os.remove(lock_path)
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/celery_once/qo_apimb.tasks.ge_f98116d19c287c5287360c9ef915d089'

  exc, exc_info.traceback)))
[2020-02-13 20:11:48,910: ERROR/ForkPoolWorker-2] Task apimb.tasks.get_events[b423ad7e-cf2b-4137-8f2d-25bb934dc148] raised unexpected: FileNotFoundError(2, 'No such file or directory')
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/celery/app/trace.py", line 465, in trace_task
    state, retval, uuid, args, kwargs, None,
  File "/usr/local/lib/python3.6/site-packages/celery_once/tasks.py", line 141, in after_return
    self.once_backend.clear_lock(key)
  File "/usr/local/lib/python3.6/site-packages/celery_once/backends/file.py", line 76, in clear_lock
    os.remove(lock_path)
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/celery_once/qo_apimb.tasks.ge_f98116d19c287c5287360c9ef915d089'```

As per documentation there default path location does not work.
I created a file myself and copied the relative path to
'location' :'backend/project/celery_once'
Tasks are firing now:)
Please check if documentation needs to be updated or default tmp file is not being created.
By the way I'm using docker

celery-once should create all necessary parent directories and the lock file itself automatically. Yes, it may fail to do that due to permission problem or something else, but I think it's not what is happening in your case. The No such file or directory error in your log is thrown when celery-once tries to remove the lock file after the completion of the task. It's like the lock file has been removed already, and celery-once tries to remove it again.

@Cally99 Your /tmp/ will be cleared each time you start/stop the container. Hence, the locks will not be ensured as the directory, they are stored in does not persist between worker restarts.
I'm not sure if the FileNotFoundError is the best error to raise here, but there should be some sort of warning (or exception) to the user to indicate the lock has failed.

@cameronmaske But according to the provided traceback, the FileNotFoundError was thrown on the lock removal. Do you have any idea why this might happen? I'm seeing this in my setup too, albeit very rarely.

My theory is that it's due to the task still being in the broker (i.e. unprocessed) but the lock file is removed before the last is run. The lock is created before the task is sent into the broker.
If we break down the timeline a bit, the following happens in order:

Schedule task.
Lock file is checked, and created if needs be. If no lock, the task is now in brokers (RabbitMQ) waiting to be picked up.
Container restarts, or /tmp/ is cleared.
Lock file no longer exists, but the task is still in the broker.
Task get picked up by worker, taken out of the broker.
Task runs, goes to clean up lock file, but it no longer exists.

Yeah, that makes sense. Redis ignores the missing keys when DEL command is executed. So I think we should do that same with the file backend.

I have a nearly identical setup and also getting the same traceback.  I think @cameronmaske 's diagnosis is right on.


feat: support stats option "source"

close #3665
Summary

Test Plan

What should be our strategy for webpack tests for these kind of things?
@suxin2017 It is recommended to fill in the test plan so we know the exact things you did for testing.
<!-- Can you please describe how you tested the changes you made to the code? -->


Make ChannelContext.process a suspend function

The first commit touches many files but there are no functional changes. Making process() a suspend function opens the way for the channel FSM to itself call suspend functions, but for now we don't call any.
In the next two commits we leverage the suspend function by adding a touch of asynchronicity for blockchain-related data: feerates and block height. The goal is to make the Peer much less dependent on blockchain data:

Getting feerates asynchronously is straightforward and doesn't seem to have many side effects. Feerates are used at closing (mutual or force close). Instead of waiting for feerates to be available before processing any channel command, we just pass the StateFlow to the ChannelContext and will attempt to get feerates only when needed. If feerates are not available, the ChannelState.process function will hang. Previously, the hanging would have happened in the Peer.

We then do the same for the blockheight (and also simplify by removing the unused BlockHeader). There are more side effects because we call currentTipFlow.filterNotNull().first() from several places in Peer. Some are addressed as PR comments  below.

It feels a bit dangerous to allow ChannelState.process() to suspend, because it could be abused to do a bunch of slow suspending operations which is something we wanted to avoid, but as long as we don't abuse it it should be ok.

Since processEvent() was already a suspend function that is only called in the run() loop, I don't think this would introduce weird concurrency issues, so concept ACK.

Agree, in fact it's such a significant change that it deserves its own PR (#653). Closing this one and splitting it in two.


Minor Update: Fix Demo Page Rendering Issue

There is currently a selection component that is causing the demo page to fail to render. Remove it and the demo page should render correctly again.

Ended up fixing this one with the confetti.


Implement migration integration test

Currently fails with
thread 'migration::world::test::test_migration' panicked at 'Problem declaring Executor class: JSON-RPC error: code=-32602, message="invalid type: map, expected variant identifier at line 1 column 1"', crates/dojo-world/src/migration/mod.rs:188:17
stack backtrace:
   0: rust_begin_unwind
             at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:579:5
   1: core::panicking::panic_fmt
             at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panicking.rs:64:14
   2: dojo_world::migration::declare::{{closure}}
             at ./src/migration/mod.rs:188:17
   3: <dojo_world::migration::ContractMigration as dojo_world::migration::Declarable>::declare::{{closure}}
             at ./src/migration/mod.rs:159:74
   4: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/future/future.rs:125:9
   5: <dojo_world::migration::ContractMigration as dojo_world::migration::Deployable>::deploy::{{closure}}
             at ./src/migration/mod.rs:201:30

we happy to merge this @kariy @tarrencev ?

Closing in favor of #381


test: add PLONK test for public input mapping

Description
Example test for PLONK proof aggregation which adds one circuit for mapping the per-inner circuit public input to a single outer-circuit public input
Checklist:

[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works
[x] I did not modify files generated from templates
[x] golangci-lint does not output errors locally
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

Btw, the commented out parts https://github.com/Consensys/gnark/pull/1123/files#diff-b970d4d186da46d7ac01fe8e9090b259b0b1d299bfe8523408abbf0962b4bc29R635-R650 and https://github.com/Consensys/gnark/pull/1123/files#diff-b970d4d186da46d7ac01fe8e9090b259b0b1d299bfe8523408abbf0962b4bc29R662-R675 allow for alternative approachs where we batch kzv.BatchVerifyMultiPoint for execution/compression and interconnection verification. But the diff is approx 56k constraints less, but makes the circuit a bit less readable.


Get shapefiles for subset locations

I think these are roughly in order of priority:

[x] Pima Co, AZ https://pimamaps.pima.gov/
[x] USFS

[x] USFS National Forests
[x] National Grasslands

[x] California (CARB program) – key cutout = state of CA
[x] Arizona – agricultural, urban, natural vegetation.
[x] NEON sites (all of them, not just #15)]

[x] Flight Boundaries
[x] Borders
[x] Tower locations

[ ] Ameriflux sites
[ ] Fluxnet sites

That looks correct.
I would put CA ahead of AZ ag/urban/nature
Dave
Sent from my iPhone
On Feb 12, 2024, at 3:07 PM, Eric R. Scott @.***> wrote:

External Email
I think these are roughly in order of priority:

Pima Co, AZ https://pimamaps.pima.gov/
USFShttps://data.fs.usda.gov/geodata/edw/datasets.php?dsetCategory=boundaries
*    USFS National Forests
*    National Grasslands
Arizona – agricultural, urban, natural vegetation.
California (CARB program) – key cutout = state of CA
NEON sites (all of them, not just #15https://github.com/cct-datascience/SW_Biomass/issues/15)]
Ameriflux siteshttps://github.com/CharlieDevine/AMF_BADM/blob/main/Code/AMF_BADM.R
Fluxnet siteshttps://fluxnet.org/sites/site-list-and-pages/

—
Reply to this email directly, view it on GitHubhttps://github.com/cct-datascience/SW_Biomass/issues/19, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABO2T2EEMPW4HCB4AANBEATYTJBJ3AVCNFSM6AAAAABDFBOSEKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGEZTANJTGQYTKMY.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

NEON data including borders, flight boundaries (green), and tower locations (points):


detecting that the app's physical path has changed

Resolves #142 and part of #143

:+1: Thank you!


Update some descriptions.

Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[x] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[x] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[x] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

Can one of the admins verify this patch?

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-python

Automation for azure-sdk-for-java

@matthchr @darylmsft Could you review my PR?

Automation for azure-sdk-for-js

Automation for azure-sdk-for-node

Automation for azure-sdk-for-go

@xingwu1 if you'd like to view how the updates show in the documentation you can access this preview link available from the Documentation section at your work branch page in OpenAPIHub.
If you're good with that, let me know and I'll merge this change.


Can't catch error using mutate()

Bug report
Description / Observed Behavior
If using mutate without parameters, mutate() always return data even if network has been shut down, the error can not be catch.
This is a pseudo-code example below. In this case, If refresh data when pull down, I can't display an error message to user.
const { mutate } = useSWR('foo', ()=>fetch('my link'))

return <List onPullRefresh={()=>{
    mutate().then((data)=>{
        console.log(data);
    }).catch((e)=>{
        toast.show(e.message);
    });
} />

Expected Behavior
I hope to get the error which was thrown while fetching in catch.

you can use the error from swr result or using config callback
const { mutate, error } = useSWR('foo', ()=>fetch('my link'), { onError: (error) => { console.log(error) } })

see: https://codesandbox.io/s/get-from-result-or-callback-02bxw1

I think generally, we need to think again about our error APIs of mutate(): should it throw right away or set the error state, or both? I'd like to keep this issue open for tracking.

Good time of day! Facing the same issue.
It sounds like it makes sense for mutate to be able to bypass mutation callback error to handle it via catch individually. The reason is that you are not always using mutate in conjunction with useSWR. It will be annoying to track mutation error only via state hook.
To keep mutate backwards compatibility, new option, like bypassError could be introduced, that is false by default. So the current behavior will stay the same.
Thank you!

Oh, btw, I was speaking about unbounded mutate function...


Buildings serializers + Questions Serializer + dependent serializers

[ ] Question serializer class

has many relevant options as options: do this through the Question model or serializer

question attributes

[ ] Buildings serializer class

has many questions

building attributes

Did you want a serializer for BuildingType instead of Building? BuildingType is the one that has many questions. Also, should I only include the relations listed here or all the other ones as well? (like questions also have many answers, not just options)


Staging env var that pulls prerelease specs

Add an environment variable for staging that causes the API to pull pre-release specs.
Can use https://api.github.com/repos/kbase/relation_engine_spec/releases to find the latest prerelease.

An alternative approach is to have both pre-release and release specs available in any environment, and to be able to use pre-release views when you set a flag in the query


Make wholesale-api persist new batches

Description

See the most interesting code organization updates here:

References

#33

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@ebab982). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Current head 429d8f9 differs from pull request most recent head b6e53a6. Consider uploading reports for the commit b6e53a6 to get more accurate results

@@           Coverage Diff           @@
##             main      #46   +/-   ##
=======================================
  Coverage        ?   87.09%
=======================================
  Files           ?       21
  Lines           ?      248
  Branches        ?        9
=======================================
  Hits            ?      216
  Misses          ?       28
  Partials        ?        4

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Test conda environments for Linux and macOS

This pull request aims to test all three platforms' install scripts for the conda environments.

Testing the install script works for Linux and macOS if I edit the ml4bio command that launches the GUI and replace it with a command to check that the ml4bio package exists.
Windows still has problems.  The version of sed from Chocolately does not behave the same as in Linux.  In addition, the attempt to activate the environment and create it if it does not exist fails.  AppVeyor seems to fail on that error instead of letting the batch file continue to run.

The scope of this pull request has been reduced to only cover Linux and macOS.  #39 can track Windows testing issues.

@csmagnano @fmu2 I plan to merge this soon if there are no objections

Sounds good.

@fmu2 thanks for fixing that error.  That will address #37.


Updated Request#download for Guzzle 6

Much shorter!

Also, I fixed an error that was seen when you tried to get backups and there were none and added a test for that scenario.

:+1:


problem in migrationCommad.php

fire function should be change to handle function in order to work in laravel 5.5 in migration in migrationCommand.php

if you need of another package compatible with 5.5 you can use this: https://github.com/yajra/laravel-acl/

Closed since #840 was merged


Wrong colors in alacritty terminal?

Is there any known reason why in alacritty colors are rendered differently? It's pre weird. Fresh install of alacritty btw (alacritty on the left, xfce4terminal on the right)

are you enabled the env section in alacritty???
# Any items in the `env` entry below will be added as
# environment variables. Some entries may override variables
# set by alacritty itself.
env:
  # TERM variable
  #
  # This value is used to set the `$TERM` environment variable for
  # each instance of Alacritty. If it is not present, alacritty will
  # check the local terminfo database and use `alacritty` if it is
  # available, otherwise `xterm-256color` is used.
  TERM: xterm-256color

Yep, that was it! Thank you!


404 at /registry/spec/manifest-v2-1/

I found a broken link : https://docs.docker.com/registry/spec/manifest-v2-1/
I arrived on this page through: https://www.google.com/

Thanks for reporting! Looks like this was a temporary glitch; we published the docs again on docs.docker.com, and the URL now works


[API] Show SRI data

Closes #190
Adds a key sri to assets, if the parameter includeSri=true is added to a library listing

@agathver almost done 👍 Do you mind to update the doc about this part in file templates/api.html? So I can merge it 😄

@agathver any chance you'd still like to update this PR? Thank you.

Let me know if you'd need help, thanks!

Closing as duplicate (#246).


[Crash] Create Steam n' Rails [BUG]

What were you doing when the crash occured?
I was trying to start my game with Create Steam n' Rails, and it crashes.
Did the crash occur client-side or server-side?
Client
Version
sync-mc1.19.1-4.3
Minecraft Version
1.19.2
Fabric API Version
fabric-api-0.76.1+1.19.2
Installation Source
Modrinth
Logs
https://mclo.gs/Hng9Uhn

Other Mods
Create, Sodium, Indium, Create Steam n Rails (the issue.)

Additional Information
Using PrismLauncher
The issue says its standalone Create, but when SNR is not loaded, it starts with this log.

org.spongepowered.asm.mixin.injection.throwables.InjectionError: Critical injection failure: Redirector getFocusedEntity(Lnet/minecraft/class_4184;)Lnet/minecraft/class_1297; in sync.mixins.json:WorldRendererMixin from mod sync failed injection check, (0/1) succeeded. Scanned 1 target(s). Using refmap sync-mc1.19.1-refmap.json

Yeah, that's kinda on me. This is the conflicting mixin:
https://github.com/Kir-Antipov/sync-fabric/blob/e821350f37576909751053ec39fba3f15b852689/src/main/java/dev/kir/sync/mixin/WorldRendererMixin.java#L30-L40
Basically, we should never use Redirects and other intrusive mixins, but this the only way I could make a shell to be rendered whenever the camera leaves player's body.
I will think about how I can fix that.

org.spongepowered.asm.mixin.injection.throwables.InjectionError: Critical injection failure: Redirector getFocusedEntity(Lnet/minecraft/class_4184;)Lnet/minecraft/class_1297; in sync.mixins.json:WorldRendererMixin from mod sync failed injection check, (0/1) succeeded. Scanned 1 target(s). Using refmap sync-mc1.19.1-refmap.json

Yeah, that's kinda on me. This is the conflicting mixin:
https://github.com/Kir-Antipov/sync-fabric/blob/e821350f37576909751053ec39fba3f15b852689/src/main/java/dev/kir/sync/mixin/WorldRendererMixin.java#L30-L40
Basically, we should never use Redirects and other intrusive mixins, but this the only way I could make a shell to be rendered whenever the camera leaves player's body.
I will think about how I can fix that.

Use https://github.com/LlamaLad7/MixinExtras/wiki/WrapOperation

Yep, thankfully this is the solution now, since MixinExtras are bundled with Fabric, Quilt, and NeoForge. However, this issue was opened long before this became a reality ;)

Yep, thankfully this is the solution now, since MixinExtras are bundled with Fabric, Quilt, and NeoForge. However, this issue was opened long before this became a reality ;)

You were always able to JiJ Mixin extras.

Not really. Please, never use third-party mixins unless they are widely accepted by the community as a whole. Even if they seem super-duper cool and make your life easier, for somebody else this will turn out as a huge headache and a wasted weekend spent trying to catch an esoteric problem that had nothing to do with this particular someone's code in the first place.


[3.x] Add max_render_size ProjectSettings

The size at which a game is rendered plays a huge part in the game's performance. However, before this there was no way to set a maximum render size: setting the stretch mode to Viewportwould work to set the render size to the viewport size, but there are often cases where the viewport's internal size is large but the render size has to be smaller, e.g. a 4k game giving a high performance option for players who have a large screen size.
This adds a Project Setting "max_render_size" which is applied when the stretch mode is 2D. This will help the performance of a lot of games with high viewport size.

Is this change not relevant for 4.x?

It is, and I will make the PR for Godot 4. I had to make the fix for my game which is in production and made in Godot 3, so I did it in 3 first.

I'm not sure about the way this is implemented for two reasons:

If no bilinear filtering is applied, then the result will feature uneven pixel scaling
It encourages hardcoding a maximum resolution, which is bad for future-proofing games. I don't want to be prevented from rendering a game internally at 8K if I want to :slightly_smiling_face:

Instead, a resolution scale multiplier should be preferred. 4.x already exposes this with the Scaling 3D project settings, which only affects 3D rendering without affecting 2D. This already has a 3.x implementation in https://github.com/godotengine/godot/pull/74935.

* If no bilinear filtering is applied (nearest-neighbor is the default when using the `viewport` stretch mode), then the result will feature uneven pixel scaling unless `max_render_size` is exactly half the window size (or any other integer divisor).

The maximum render size is only applied in the 2d stretch mode, so I'm not sure this is relevant? I may have missed your point.

* It encourages hardcoding a maximum resolution, which is bad for future-proofing games. I've seen too many old games have hard caps on the resolution they can internally render at, [and it still happens today sometimes](https://github.com/Lyall/MGSHDFix). I don't want to be prevented from rendering a game internally at 8K if I want to[1](#user-content-fn-1-e2de57130e6216d951f63ca554014a65). It may not be viable now, but it may be viable in 5 years from now 🙂

This is true. We could make it only accessible from code, and not from the project settings so that it is clearer it is intended for quality/performance options. But it could make it too hidden to be found.
I don't really get how a scale multiplier changes your second point? I am open to a scale multiplier instead of a fixed resolution, but if the intention is to limit the render resolution below the screen resolution (it is at least my intention), then it will limit the resolution. The game dev will have to add a "high quality" option that sets max_render_size to (0, 0) in order to be future proof. That is how I used it in my game.

The maximum render size is only applied in the 2d stretch mode, so I'm not sure this is relevant? I may have missed your point.

My point is more generally that by default, Godot uses nearest-neighbor filtering when the viewport size doesn't match the window size. I believe this issue trickles down to your implementation as well, but I haven't tested it locally.

I don't really get how a scale multiplier brings a solution to your second point? I am open to a scale multiplier instead of a fixed resolution, but if the intention is to limit the render resolution below the screen resolution (it is at least my intention), then it will limit the resolution. The game dev will have to add a "high quality" option that sets max_render_size to (0, 0) in order to be future proof. That is how I used it in my game.

There's also the concern that low-end devices may need an even lower resolution to run smoothly either way. A multiplier handles this automatically, assuming low-end mobile devices have 720p displays, mid-range devices have 1080p displays and flagships have 1440p displays. On the contrary, if you set a fixed maximum resolution of 720p, the low-end devices will keep rendering at native resolution which is probably too much for them (480p would be more suited).


wireguardctrl: treat UNIX epoch as zero time.Time

I think this makes more sense than asking the caller to check for time.Unix(0, 0) for "last handshake never occurred".
Fixes #24.
/r @cespare

LGTM!


fix: c3, use latest types for @cloudflare/workers-types

We have some code that looks for the latest compat date generated in a workers-types dist, but that's been frozen for 202307-01 forever. We have upcoming work that'll replace this with generated types based on compat date/flags, but till then let's generate new projects with the default types.
What this PR solves / how to test
Fixes #000
Author has addressed the following

Tests

[ ] TODO (before merge)
[x] Tests included
[ ] Tests not necessary because:

E2E Tests CI Job required? (Use "e2e" label or ask maintainer to run separately)

[ ] I don't know
[x] Required
[ ] Not required because:

Changeset (Changeset guidelines)

[ ] TODO (before merge)
[x] Changeset included
[ ] Changeset not necessary because:

Public documentation

[ ] TODO (before merge)
[ ] Cloudflare docs PR(s):
[x] Documentation not necessary because: no functional change

good catch, yes

Hi @IgorMinar,
I don't really see a problem with the current setup in main - it looks up the date correctly, and finds 2023-07-01, which, despite being over a year ago, is the current newest types entrypoint. A new entrypoint in workers-types is only needed if there is a compat flag with an enable date that influences types.
I am fairly confident that the last time I checked (early September) this was still the same as 2023-07-01, this is something I check regularly - we use experimental in our projects for a number of reasons but hopefully that can be replaced by the proper type generation (especially if it includes types for nodejs_compat).
Is there something I'm missing here, or perhaps this would break the upcoming work mentioned?

@DaniFoldi - this was my take on this too. I think the problem was that the current "latest" compat date seemed very old which made it look like it was wrong.
That being said we actually did land a new compat date in 2024-09-23, which causes nodejs_compat to infer nodejs_compat_v2. I am not sure if this should have a new workers-types directory, in which case there is a bug in our types generation, or not, since this compat date change is a bit unusual and new.
I would actually go further and say that changing the entry-point to something "generic" like @cloudflare/workers-types/latest could cause future problems since the user might then update @cloudflare/workers-types and pull in new types without updating their compat date.
The most effective solution I believe is to move away from @cloudflare/workers-types altogether and use the new automated type generation added in https://github.com/cloudflare/workers-sdk/pull/6295. This makes the compat date in wrangler.toml the source of truth and avoids unexpected skew.

Hi @petebacondarwin,
Thanks for the Sunday response! I've looked at the flags again, and maaaybe

2023-12-01 should have been one, although it looks like the generated types don't change between experimental and 2023-07-01 in that area (RSA publicExponent).
vectorize should have gotten a new entrypoint for the metadata change, although I seem to recall discussing that with the team and they argued that it was in beta at the time, so no flag needed.

We've actually discussed this with @mrbbot in quite a lot of detail back when this system was introduced, and we both agreed that it's suboptimal due to the separate "source of truth" for date, and no way to configure the exact flags used.
This was before nodejs_compat was introduced, and the differences were minor, so most people, just using a date were fine. After the original nodejs_compat was introduced, I was hopeful that there would be a +nodejs_compat variant of the entrypoints, especially when the date system was introduced with v4. Unfortunately, that day never came and @types/node is still needed for nodejs_compat-enabled workers to typecheck successfully, even though that introduces more types than the workerd runtime supports, providing a false sense of "so it will work on Workers" when using node APIs.
This is why 2024-09-26 does not require a new entrypoint, because other than the nodejs stuff, native runtime types are identical.
My original idea for solving the entrypoint problem (to a degree) was to generate an entrypoint for every combination that was different. Then, exports in package.json could be used to route to the correct one, like @cloudflare/workers-types/2024-10-01+nodejs_compat for a recent worker. This could then be used with an export pattern like "2024-10-*+nodejs_compat": "maybe-a-hash-or-the-earliest-date.d.ts". With patterns, I believe the number of files wouldn't grow too quickly, as in quite a few months, nothing changes and only one entry would be needed, with no added file.

Now, with the type generation system that can maybe replace workers-types and improve this experience, perhaps it would be useful to actually support nodejs_compat and nodejs_compat_v2 (my idea there is to mark shims as deprecated so developers know they won't actually do useful work at runtime) so @types/node isn't needed either.

Now, with the type generation system that can maybe replace workers-types and improve this experience, perhaps it would be useful to actually support nodejs_compat and nodejs_compat_v2 (my idea there is to mark shims as deprecated so developers know they won't actually do useful work at runtime) so @types/node isn't needed either.

We are actually close to solving that problem with generated types to!
See https://github.com/cloudflare/workerd/pull/2708 and https://github.com/cloudflare/workers-sdk/pull/6723

Closing in favour of https://github.com/cloudflare/workers-sdk/issues/6883


[Event Hubs (EPH)] Standardize samples and use published package

For Service Bus, we used https://github.com/Azure/azure-service-bus-node/issues/43 to standardize the samples. We should do the same for EPH samples
Mainly

Use published package and not source code, so that users can simply copy the sample and don't have to clone the entire repo
Polish the samples using the service bus samples as a reference
Update README for samples

Completed with #2709


Don't override project type php by detected app, fixes #4403

The Issue

#4403
DDEV's config command will override project type "php" if any app like WordPress or Drupal is detected.

How This PR Solves The Issue
As suggested in #4403 it applies the detected app type only if there is no type specified yet.
Manual Testing Instructions
–
Automated Testing Overview
TestConfigMaintainProjectTypePhp creates a common DDEV project with type "php" and creates a {DOC_ROOT}/wp-settings.php file to mimic a WordPress installation. Then it runs a ddev config command to change an arbitrary value (the PHP version in this case) and finally verifies that the project type is still set to "php".
Related Issue Link(s)

#1919
#4403

Release/Deployment Notes
–

I'm sorry I was a bit too optimistic here. Since app.Type is set to "php" by default, we cannot distinct between "php" as the default value or the value that was read from config.yaml in handleMainConfigArgs(). By just removing the app.Type == "php" condition from this statement we will circumvent the app detection entirely.
case (app.Type == "" || app.Type == nodeps.AppTypePHP) && (projectTypeArg == "" || projectTypeArg == detectedApptype):

I think what still should solve the mentioned issues and pass the existing tests would be the distinction between "php" being the default value or the one from the config.yaml. This could either be implemented in handleMainConfigArgs() or by introducing another parameter app.IsDefaultType which would be set in DdevApp.readConfig() for example.

Thanks for taking the time to explore this and create a PR!
Yes, there have been a variety of problems with this ambiguity over the years. The project type may be default (nothing detected) or it may be from the config.yaml, or it may be from the command line. And all of them have to work... It's complex territory.
Can you speak to the problem you specifically are trying to solve? Why does this give you trouble?
(Most people use disable_settings_management: true in the case where they don't want DDEV managing settings files)

The issue I have is that I do want to use the project type "php" when working with a customized WordPress installation but every time I run ddev config ... to change a value that is not "project-type" it switches the project type to "wordpress" (described more detailed in #443 and also for Drupal in #1919.
I do want to use ddev config over editing config.yaml manually to keep this file up to date (inline documentation, new config keys and so on). I'm not sure if disable_settings_management: true would circumvent this issue. But in general I'd like to have DDEV managing configuration files and only use the command line API.
Maybe another config parameter disable_project_type_detection would be the most straightforward solution to maintain backward compatibility without increasing the complexity even more?

Thanks, @dnaber-de - But why do you care about whether it's project type 'wordpress' or 'php' if settings management is disabled? What is the difference then? (Docs: https://ddev.readthedocs.io/en/latest/users/usage/cms-settings/)

I don't care much about the value of the project-type beside that it might be a bit confusing when a different value does not imply any different behavior. The configuration parameter disable_settings_management is new to me and if it only affects the CMS settings file management I'm fine with it. However, this PR originated from our short discussion in #4403 where you suggested to try the change this PR provides.
I'm fairly new to Go but if you want to move that forward (in whatever direction) I'd be happy to help. Otherwise just close the PR. I'll add a hint to the tickets how to avoid it using disable_settings_management.

I didn't understand the very minor reference to #4403, thanks for bringing that up. I'd love to see a solution if you can figure it out. It looked to me like this came out of nowhere, and you were just trying to solve your own problem, but it sounds like that's easier.

Sure, I'll give it another try.

Hoping you can make it work the way we all want it to! Otherwise let me know and we'll close this one for now.

I really appreciate you stepping up with this contribution, but no response for a month and a half, so closing for now. Happy to continue the conversation here or elsewhere, and happy to reopen this when you're ready.


TextField adornments should be aligned with the text, when requested.

The adornments are always vertically centered, but when variant is "filled" and we have a label, this is bad looking.

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
The adornment is always vertically centered.

Expected Behavior 🤔
We should have the possibility to choose to align the adornment with the typed text or the adornments must be always vertically aligned (read: same baseline) with the text (it can be a feature request or a bug, depending on the point of view).

Steps to Reproduce 🕹
You can see the bad effect at the following link: https://codesandbox.io/s/material-ui-issue-forked-s708w.

Context 🔦
I need a text field with a unit of measure, but when the variant is filled and I have a label, it's misaligned and my boss complains (I have to override Material-UI's internal classes to overcome the problem, but this is a bad thing to do, you know).

Your Environment 🌎

Tech
Version

Material-UI
v4.11.1 and v5.0.0-alpha-17

React
17.0.1

Browser
Chrome 86.0

TypeScript

etc.

Duplicate of #19792

They can be, the adornment position though called "start" and "end" appears to be about vertical position.
I have put a full answer on the duplicate, with code sandbox etc.


(Sysinternals) Add start menu entries for GUI apps

Description
Add start menu entries for the Gui-App of Sysinternals. They are added to a Sysinternals Suite folder.
By passing /NoStartMenu no entries are created.
They folder is removed upon uninstalling.
Motivation and Context
This will allow starting the apps from the start menu, as well as ease starting them using Windows-Key+Typing
How Has this Been Tested?
Installed and uninstalled.
Types of changes

[ ] 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 change)
[ ] Migrated package (a package has been migrated from another repository)

Checklist:

[x] My code follows the code style of this repository.
[x] My change requires a change to documentation (this usually means the notes in the description of a package).
[x] I have updated the documentation accordingly (this usually means the notes in the description of a package).
[ ] All files are up to date with the latest Contributing Guidelines
[x] The added/modified package passed install/uninstall in the chocolatey test environment.
[x] The changes only affect a single package (not including meta package).

:white_check_mark: Package verification completed without issues. PR is now pending human review

@cmorty
FYI: Spelling of creating is wrong on line 35 of chocolateyinstall.ps1

@RedBaron2 Thanks -> Fixed

:white_check_mark: Package verification completed without issues. PR is now pending human review

as well as ease starting them using Windows-Key+Typing

FYI, this already works if you specify some other directory then default, as executables are added on path (that also makes installation finish in few seconds rather then in few minutes that is required to create all shims).

Should we also break compatibility here and finally move to ToolsLocation as default ? Creating 200 or so shims is really not nice, for such a frequently updated package.
@AdmiringWorm

@majkinetor not sure why I completely missed your comment, anyhow.
Generally I would say yes on moving it to the Get-ToolsLocation, unfortunately I know making that change will most likely end up with many users (relatively) sending emails complaining the executable no longer working after installation (due to them not running refreshenv).
And I honestly do not want to deal with those emails.

This has been open for 6 months with no updates. Any reason not to close it?


the chatwoot_action.g.dart file is either missing or not generated correctly.

The package is not used without generated g.dart files. Therefore I think it solve uploading with your generated files.

Try using this fork:
chatwoot_sdk:
git:
url: git@github.com:hungryemon/chatwoot-flutter-sdk.git
branch: emon
ref: 3c3e88a0401955e0308853edc86b9c5ac7a33ccf

@hungryemon are you interested in contributing these changes upstream ?

@hungryemon are you interested in contributing these changes upstream ?

Sure


(take 2) SR-0140: Bridge Optionals to nonnull ObjC objects by bridging their payload, or using a sentinel.

id-as-Any lets you pass Optional to an ObjC API that takes nonnull id, and also lets you bridge containers of Optional to NSArray etc. When this occurs, we can unwrap the value and bridge it so that inhabited optionals still pass into ObjC in the expected way, but we need something to represent none other than the nil pointer. Cocoa provides NSNull as the canonical "null for containers" object, which is the least bad of many possible answers. If we happen to have the rare nested optional T??, there is no precedented analog for these in Cocoa, so just generate a unique sentinel object to preserve the nil-ness depth so we at least don't lose information round-tripping across the ObjC-Swift bridge.
Making Optional conform to _ObjectiveCBridgeable is more or less enough to make this all work, though there are a few additional edge case things that need to be fixed up. We don't want to accept AnyObject?? as an @objc-compatible type, so special-case Optional in getForeignRepresentable.
Implements SR-0140 (rdar://problem/27905315).

@swift-ci Please test

@jrose-apple Do you mind reviewing this for inclusion in 3.0.1?

Some comments made, but mostly seems fine to me…except that someone else should take a look at the lib/SIL/ changes.

lib/SIL looks superficially ok to me. Question: Does SILGenBridging implicitly assume that the return value can't be reabstracted? If so, a comment would be helpful.

@atrick Yeah, it looks like SILGenBridging doesn't handle reabstraction (or address-only types, or indirect arguments, which @shajrawi is fixing). I can add that as a comment.

@swift-ci Please test

@jrose-apple @phausler @atrick Thanks for the review comments! I've revised the patch in response, if you all don't mind taking another look.

@swift-ci Please test

LGTM

@swift-ci Please test

@swift-ci Please test


Add CONTRIBUTING file

Hi there, thanks so much for this project, I love these toasts.
I noticed that there isn't a CONTRIBUTING file. If contributors are welcomed to suggest changes via PRs, can you please add a CONTRIBUTING file? This file might even be useful if contributions are not welcome!
Thanks!

This is a great suggestion and while it isn't one that is necessarily a priority, it certainly would add value to the project.  This is something I will try to get to.

Hello @Stabzs, any progression on it ? 🤗


fix (Bug 1002:createMongoDbLikeId): microsecond float to big integer …

…before binary conversion
microseconds were omitted when using pack with format 'N',
causing timestamp to be reduced to "seconds",
causing high chances of equal IDs on import processes
Rel: Issue #1002

Thanks 👍


replace ldap with openid

The with operator is looking at the same value the strategy is suppose to be. If ".Values.kiali.dashboard.auth.strategy" equals ldap it should look under ".Values.kiali.dashboard.auth.ldap"
[ ] Configuration Infrastructure
[ ] Docs
[X ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

Hi @rramirz. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

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

/ok-to-test

Hey @rramirz, can you please sign CLA.

I sign the CLA on May 28, 2020 19:49 PDT

@googlebot I signed it!

@rramirz: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

analyze-tests_istio
14586dbd006b4922e0da34f728365074ec13a79c
link
/test analyze-tests_istio

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

That looks good to me. Just realize the addons are going away from istioctl very soon (1.7 I believe?). In addition, the ldap auth strategy has been deprecated within Kiali itself and will be removed soon (replaced with the OAuth auth strategy such that OID can be used in front of the ldap provider).

Yea, I did see that ldap is getting deprecated soon. I updated the template to include an option for openid as well.

@rramirz: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

analyze-tests_istio
14586dbd006b4922e0da34f728365074ec13a79c
link
/test analyze-tests_istio

unit-tests_istio
adab736d55dbcbce979cb91f8f21928dfd793fa8
link
/test unit-tests_istio

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

I actually just went ahead and replaced the ldap options with openid since the ldap option no longer supported in the later versions.

@rramirz thanks for the efforts in this area. We have decided to change our approach for addons, and as a result this code is no longer part of the repo so I don't think this PR is still required. See https://istio.io/latest/blog/2020/addon-rework/ for more info. Thanks!