build: move back to 999-SNAPSHOT

At this point, the release of Timefold Solver Community Edition is ready to be published.
Artifacts have been uploaded to a staging repository.
Release branch has been created.
To finish the release of Timefold Solver Community Edition,
please follow the steps below in the given order:

[x] Release the staging repository on OSSRH.
[x] Wait for the artifacts to reach Maven Central.
[x] Undraft the release on Github. This will cause the release tag to be published, enabling the downstream release scripts.
[ ] Check that a PR was created for upgrading Timefold Solver version on start.spring.io. This happens automatically when the release tag is published in previous step.
[x] Merge this PR. (Only do this after undrafting the release, otherwise the tag will point to the final SNAPSHOT commit.)
[ ] Delete the branch that this PR is based on. (Typically a button appears on this page once the PR is merged.)
[ ] Start release automation for Timefold Quickstarts.
[ ] Start release automation for Timefold Solver Enterprise Edition.

Note: If this is a dry run,
none of the above applies and this PR should not be merged.

The following will not be done for the hotfix release:

start.spring.io update,
quickstart update.


Why is this output 1 elem instead of 4 elems ?

    let y = tch::Tensor::of_slice(&[2_i64, 0, 1, 1]).view(&[4]);
    let y_pred1 =
        tch::Tensor::of_slice(&[0.1_f32, 0.2, 0.9, 1.1, 0.1, 0.2, 0.2, 2.1, 0.1, 1., 2., 3.])
            .view(&[4, 3]);
    let y_pred2 =
        tch::Tensor::of_slice(&[0.8_f32, 0.2, 0.3, 0.2, 0.3, 0.5, 0.2, 0.2, 0.5, 1., 2., 3.])
            .view(&[4, 3]);

    println!(
        "loss1: {:?}, loss2: {:?}",
        y_pred1.cross_entropy_for_logits(&y),
        y_pred2.cross_entropy_for_logits(&y),
    );

Is giving me output:
loss1: [0.7243779897689819], loss2: [1.281076192855835]

This surprises me, as I expect output of 4 elems, but only get 1 elem output.

Hmm, it looks like the reason is
    pub fn cross_entropy_for_logits(&self, targets: &Tensor) -> Tensor {
        self.log_softmax(-1).nll_loss(&targets)
    }

which "flattens" the original vector. This explains why the output is 1 instead of 4 elems -- but, how do we get a 4 elem output?

As you noted, this uses nll_loss which by default takes the element-wise mean of the loss.
Rather than using nll_loss you could do something like the following.
self.log_softmax(-1).g_nll_loss::<Tensor>(&targets, None, Reduction::None, -100)

Thanks for the quick response.

There's an even bigger screw up on my part, I didn't write the PyTorch code first:

loss = torch.nn.CrossEntropyLoss()
input = torch.randn(3, 5, requires_grad=True)
target = torch.empty(3, dtype=torch.long).random_(5)
output = loss(input, target)

print(output)

I incorrectly thought that PyTorch was outputting a 3-elem output, whereas the PyTorch code also only outputs 1 elem.
Closing issue as resolved.


Yolo3 make error

tried to build yolo3 model with the instructions of here. https://pjreddie.com/darknet/yolo/ . but when i change my make file for GPU configuration as follows and set all the paths in the makefile.
GPU=1
CUDNN=1
CUDNN_HALF=0
OPENCV=1
AVX=0
OPENMP=0
LIBSO=0
ZED_CAMERA=1
ZED_CAMERA_v2_8=0
But when I make it, the following error occurred. Can someone help me with this?
used versions
cuda 10
Opencv 4.4.0
chmod +x *.sh
nvcc -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=[sm_50,compute_50] -gencode arch=compute_52,code=[sm_52,compute_52] -gencode arch=compute_61,code=[sm_61,compute_61] -Iinclude/ -I3rdparty/stb/include -DOPENCV `pkg-config --cflags opencv4 2> /dev/null || pkg-config --cflags opencv` -DGPU -I/usr/lib/cuda/include -DCUDNN --compiler-options "-Wall -Wfatal-errors -Wno-unused-result -Wno-unknown-pragmas -fPIC -Ofast -DOPENCV -DGPU -DCUDNN -I/usr/local/cudnn/include -DZED_STEREO -I/usr/local/zed/include" -c ./src/convolutional_kernels.cu -o obj/convolutional_kernels.o
/usr/include/c++/8/utility(307): error: pack expansion does not make use of any argument packs

/usr/include/c++/8/utility(329): error: pack expansion does not make use of any argument packs

/usr/include/c++/8/utility(329): error: expected a ">"
          detected during instantiation of type "std::make_integer_sequence<std::size_t, _Num>"
(340): here

3 errors detected in the compilation of "/tmp/tmpxft_00008ad9_00000000-10_convolutional_kernels.compute_61.cpp1.ii".
make: *** [Makefile:180: obj/convolutional_kernels.o] Error 1

Hey @ShanakaRG,
Have you, by any chance, solved the issue. I have the exact same problem, but can't find anything that works.
PS. I know this thread is over a year old


Does not work in XHR requests if token passed in body

Currently I am unable to get edge-csrf working with server actions or regular ajax forms in Next.js 13.5.3.
It works only if I pass x-csrf-token in header, but it doesn't work if passed as csrf_token in form input. And while regular forms with XHR don't modify the input names, server actions also prefix the input names, so csrf_token becomes 1_csrf_token
Not sure if it is relevant, but I also upload files so the request is a POST with multipart body.
And I have set cookie httpOnly to false.

Sorry you're having problems. Have you looked at the "js-example" here? https://github.com/amorey/edge-csrf/tree/main/example-ts-appdir/app
Can you post code/snippets to show the problems you're running into?

@amorey here are the two cases where it fails with 403:
https://github.com/Janhouse/test-edge-csrf

Hi @Janhouse, sorry for the late reply (kids have been home sick). The problem is that the content-type of the request initiated by fetch() is "text/plain;charset=UTF-8" so edge-csrf doesn't know how to parse out the token from the body. If you add the token to the header then the requests should pass validation:
https://github.com/amorey/edge-csrf/blob/main/example-ts-appdir/app/js-example/page.tsx#L27
Let me know if that helps.

@amorey thanks for the reply!
There are two examples.
The server action one generates a request with content-type multipart/form-data, but has the csrf_token field prefixed with 1_

The Form example also creates a request with content-type multipart/form-data and has csrf_token  but it still does not work.

multipart/form-data is a standard for posting forms, it is not some random format I came up with. :roll_eyes:
While I understand that edge-csrf might not be ready for server components and the prefix 1_, the Form example should just work without passing additional headers.

Sorry, I forgot about the other examples...
In terms of file uploads using built-in html forms, I modified edge-csrf to accept content-type multipart/form-data and added an example that uses the browser's built-in html form submission here:
https://github.com/amorey/edge-csrf/blob/main/example-ts-appdir/app/html-example/page.tsx#L33-L52
The code is live on NPM under version v1.0.5-rc1:
https://www.npmjs.com/package/edge-csrf/v/1.0.5-rc1
Do you know where I can find the Server Action spec? Or do you know how to identify the prefix value from the request itself? Is it possible for it to have a value other than "1_"?
Let me know if v1.0.5-rc1 fixes the problem with html file uploads and I can bump it to stable.

@amorey great, just tried it, it fixes the multipart form. :+1:
I don't know where the server action spec is. Could try searching in next.js repos for $ACTION_ID since I see it adds those to every form with server action.
But seems like it always keeps the prefix at 1_. Having multiple forms on the same page still shows 1_. Having multiple pages and multiple actions also keep it as 1_ :shrug:

Great, thanks for checking. I added undocumented, experimental support for server actions by checking for 1_csrf_token so your code should work now. I'll keep an eye out for more details about server actions to make this support more robust in the future. Here's the new version (v1.0.5):
https://www.npmjs.com/package/edge-csrf/v/1.0.5
Thanks again for your help!


Update support to K8s V1.11 and CSI v0.3.0

What this PR does / why we need it:
Add support to K8s V1.11 and CSI v0.3.0
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
fixes : fixed the bug when creating volume, the 'CapacityBytes' of return type volumeinfo is wrong,,K8s v1.11 may check this value, that lead to create volume failed ,  'CapacityBytes' should multiply 1024^3
Special notes for your reviewer:
Release note:

file 'csi-configmap-opensdsplugin.yaml' is a vendor file?    it will be ok if  i delete the change of it ?  @xing-yang

I update vendor file by Go dep tools .
Env: Windows Server 2016 Standard
After run cmd 'dep ensure -v' in Git Bash , it's weird that lots of vendor files changed or delete .  I only commit the change of file 'csi.pb.go' and 'Gopkg.lock',  Is this work?

Do I need to remove the change of 'Gopkg.lock' except the content about CSI manually ?  because 'Gopkg.lock' changed a lot , corresponding, the change of vendor file did  not commit

I'd suggest using Ubuntu v16.04 or higher as that is what we've suggested in our docs.  Git Bash on Windows may produce different results.  You can take a look of this: https://github.com/opensds/nbp/pull/118.  Gopkg.lock should be submitted.  You also need to change k8s version.  Right now it is 1.8.2, not 1.11.

i do dep in ubuntu and change All of K8s.io/**** to version 1.11.0 , i dont konw whether these files change is right . Is there a flag to judge whether it is done?


cant find /app/index.css after a fresh installation

i've installed using npm install, and gulp serve, and receive error 404 on index.css file

I had the same problem and in the logs there was a hint that "sass" was missing.
[16:00:24] gulp-ruby-sass: stderr: The command "sass" could not be found.
So you would have to install it via like described here: http://sass-lang.com/install

I had the same problem too. I think that in the README in "Required tools" we should to put Saas with Gulp, Bower and Node and npm.
Should I create a Pull Request with it?

Thanks guys!


Adding in script for auto updating sui node version when theres a new…

Description
Whenever Sui releases a new version, we must update the full node with the release. Currently this process is manually done by sshing into the compute instance and restarting the sui full node and restarting the analytics indexer.
Linear Ticket: (link to notion)
Type of change
This PR adds a script that would automatically update the SUI version and restart the services. It also adds a cron job that triggers the script which periodically polls the github releases and check for mainnet updates.
How Has This Been Tested?
This was tested in the sui-node-test gcp account. I was able to run terraform apply and run the sui node in the test account and also checked that the new script and cron were successfully created

Gonna merge and will open up a new pr for the slack integration


[D435] How to toggle Depth Emitter in real-time?

I'm using a D435 with the realsense2_camera ROS package (v.2.0.3).
I saw that dynamic reconfigure can access many camera parameters as well as enabling/disabling the IR Depth Emitter.
Is there a way to toggle it even from another running node (or launch file)? I could not find any external parameter for realsense2_camera node to be changed in real time...
Thanks

You're lucky, I did that just yesterday.
#include <dynamic_reconfigure/client.h>

// Global variable for the example
using realsense_dyn_reconfigure = dynamic_reconfigure::Client<realsense2_camera::rs435_paramsConfig>;
boost::shared_ptr<realsense_dyn_reconfigure> realsense_params;

bool enable_realsense_emitter(bool enable) {
    // Off (disabled) -> 0, On (enabled) -> 1
    int parameter_value = (enable)? 1 : 0;

    realsense2_camera::rs435_paramsConfig cfg;
    cfg.rs435_depth_emitter_enabled = parameter_value;
    if (!realsense_params->setConfiguration(cfg)) {
        ROS_ERROR("Unable to set realsense camera configuration");
        return false;
    }

    return true;
}

int main( ... ) {
    ...
    realsense_params = boost::make_shared<realsense_dyn_reconfigure>("/realsense/realsense2_camera_manager/");
    ...
    enable_realsense_emitter(false);
    ....

    return 0;
}

You also need the realsense2_camera/rs435_paramsConfig.h from the devel folder file which unfortunately isn't exported by the realsense2_camera package. I have made a PR to fix this (#377) but in the mean time you can copy it over to your own package.
You may also need to copy the rs435_paramsConfig.h file generated by the package to your own package and include it. I have just made a PR to update the CMakeLists.txt to solve this however.

See http://wiki.ros.org/dynamic_reconfigure. There's a python API, a C++ API, a GUI (rqt_reconfigure) and a command line API (rosrun dynamic_reconfigure dynparam set ...). You can use the latter in launch files.

Thank you very much to you both! :)

Thank you very much @comkieffer, I managed to do it following your suggestion and this useful article!


Documentation seems to be out of date

The Fabric client methods seem to be out of date. None of the Fabric client calls from the sample code compiles using ServiceFabric 6.4.638
I propose the following edits:
private async Task RunTestAsync(string clusterConnection, Uri applicationName, Uri serviceName)
{
    // Create FabricClient with connection and security information here.
    FabricClient fabricClient = new FabricClient(clusterConnection);
    // Maximum time to wait for a service to stabilize.
    TimeSpan maxServiceStabilizationTime = TimeSpan.FromSeconds(120);

    // How many loops of faults you want to execute.
    uint testLoopCount = 20;
    Random random = new Random();

    for (var i = 0; i < testLoopCount; ++i)
    {
        var workload = SelectRandomValue<ServiceWorkloads>(random);
        // Start the workload.
        var workloadTask = RunWorkloadAsync(workload);

        // While the task is running, induce faults into the service. They can be ungraceful faults like
        // RestartNode and RestartDeployedCodePackage or graceful faults like RemoveReplica or MovePrimary.
        var fault = SelectRandomValue<ServiceFabricFaults>(random);

        // Create a replica selector, which will select a primary replica from the given service to test.
        var replicaSelector = ReplicaSelector.PrimaryOf(PartitionSelector.RandomOf(serviceName));
        // Run the selected random fault.
        await RunFaultAsync(applicationName, fault, replicaSelector, fabricClient);
        // Validate the health and stability of the service.
        await fabricClient.TestManager.ValidateServiceAsync(serviceName, maxServiceStabilizationTime);

        // Wait for the workload to finish successfully.
        await workloadTask;
    }
}

private async Task RunFaultAsync(Uri applicationName, ServiceFabricFaults fault, ReplicaSelector selector, FabricClient client)
{
    switch (fault)
    {
        case ServiceFabricFaults.RestartNode:
            await client.FaultManager.RestartNodeAsync(selector, CompletionMode.Verify);
            break;
        case ServiceFabricFaults.RestartCodePackage:
            await client.FaultManager.RestartDeployedCodePackageAsync(applicationName, selector, CompletionMode.Verify);
            break;
        case ServiceFabricFaults.RemoveReplica:
            await client.FaultManager.RemoveReplicaAsync(selector, CompletionMode.Verify, false);
            break;
        case ServiceFabricFaults.MovePrimary:
            await client.FaultManager.MovePrimaryAsync(selector.PartitionSelector);
            break;
    }
}

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

ID: b8aafb6e-d024-5c2f-7d59-5fee2bf048ba
Version Independent ID: 80eb15cd-a54b-883b-1d63-2766edde4483
Content: Simulate faults in Azure Service Fabric apps
Content Source: articles/service-fabric/service-fabric-testability-workload-tests.md
Service: service-fabric
GitHub Login: @anmolah
Microsoft Alias: anmola

@icefire1 thanks for this. I have assigned this to the content authors to review. Also, if you have a proposed change you can submit a PR against the doc yourself and the authors can review it and merge the changes. This way you get credit for the changes as well.

@MicahMcKittrick-MSFT Sure np, I've created a pull requests at #30533 :)

@icefire1 thanks! Just fyi, the PR merging is offline until 5/6. So I would not expect to have it reviewed till that date or a couple days after.

@MicahMcKittrick-MSFT Okay, no worries. Thanks for the heads up

The documentation has been updated to reflect the edits proposed above.
#please-close


Can't find an annotation @MoshiAdapterFactory

auto-value-moshi:0.4.0-rc2

Need to add another line to the dependence
provided 'com.ryanharter.auto.value:auto-value-moshi:0.4.0-rc2'

Thanks, I've added it to the readme.

what about pure java modules that do not have the provided scope? compileOnly would do the trick?

yes
On Thu, Jul 21, 2016 at 4:37 PM Zak Taccardi<EMAIL_ADDRESS>wrote:

what about pure java modules that do not have the provided scope?
compileOnly would do the trick?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/rharter/auto-value-moshi/issues/48#issuecomment-234376481,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEEEegkqoHiNQ_kuHFVqlOq49H8Ed9Lks5qX9iigaJpZM4JQyVf
.


Add stack indices to be more clear about the example. Also fix CHAINID documentation

Closes #88

Perhaps we should move the top of the stack to be under Notes not above (as I guess, it is a note)

Perhaps we should move the top of the stack to be under Notes not above (as I guess, it is a note) the screenshots show it under the existing note but obviously could be the first note if you prefer it to be on top.

It is a note but a special kind, it's not a note about the opcode, it's a note about our representation, so I would rather keep them separate, otherwise I find it confusing.


CIP-0078? | Extended Local Chain Sync Protocol

(current CIP draft in branch)

I believe implementing this CIP would solve: https://github.com/input-output-hk/cardano-node/issues/3691

Remember that the node does not store old ledger states, nor ledger events. Thus it cannot provide information from the ledger state for chain sync clients that need to start at the beginning of the chain. In principle it could only provide such information for the recent parts of the chain (and could only do so at the cost of considerable complexity in the node).

A possible solution is to extend the ChainDB with a key-value db, where key is the block hash and value is a binary blob of the ledger events. A new pair will be inserted for each applied block and the extended chainsync server will query the db and append the events to the block. Rollbacks would cause a pair delete.
Maintaining the db would be optional, so it won't affect normal operation for SPOs/wallets. Of course it would add complexity in the code. I guess another challenge is to reach consensus on the exact content and format of events.

The content and format of ledger events is very much not stable. Such a table would need to be reconstructed on every node upgrade, whenever the ledger events change. Then there's the size of such a table. It'll be big.
Again this all adds complexity.
The alternative is that the Cardano API makes it convenient to manage the ledger state client side. For resource use, the solution is that the Cardano API eventually migrates to use the same on-disk ledger state storage scheme as the node itself uses (once that functionality is stable within the node).

The alternative is that the Cardano API makes it convenient to manage the ledger state client side.

The size of ledger state already makes it highly inconvenient and db-sync maintaining its own copy makes db-sync fragile,difficult to maintain and a complete pain in the neck for anyone operating db-sync.

Providing the events as they are produced, without storing them, could be a relatively simple first step: The events are already emitted by the ledger. This won't solve all the problems and would still require some mechanism to prime db-sync when it starts from scratch. To address this latter point I have suggested writing some tool, outside of db-sync, that could populate it from and existing stored ledger state. Then db-sync would be able to catch-up with the events stream from this point. Note that this could require restarting the node from that specific point in time to ensure events are correctly emitted.
Another snag to take care of are rollbacks: I don't know how ledger currently handle events, and whether or not those events are invertible. If this were the case then rollbacks could be handled very gracefully by any events client by un-applying the events. Otherwise, extra care would be needed within db-sync or any client.

The alternative is that the Cardano API makes it convenient to manage the ledger state client side. For resource use, the solution is that the Cardano API eventually migrates to use the same on-disk ledger state storage scheme as the node itself uses
That's definitely desirable, eg. to have some tool or family of tools able to work with the node's raw storage and particularly ledger state, and this would be useful as suggested in my previous comment as a way to prime db-sync or any other client.

The alternative is that the Cardano API makes it convenient to manage the ledger state client side. For resource use, the solution is that the Cardano API eventually migrates to use the same on-disk ledger state storage scheme as the node itself uses

Is this about reusing the same utxo db that the node uses by client processes through an extended api or about replicating the utxo-db for the client?

@kderme I mean the Cardano API reusing the same underlying library to manage the ledger state on disk.
It could not reuse the same instance of the on-disk state, simply because that state only corresponds to the end of the chain, but the chain sync protocol allows syncing from the beginning.

Yes, fundamentally the ledger state either has to be in memory or on disk, and the latter costs IOPS.
And given that you need to be able to sync from genesis, then that involves two copies of the ledger state somewhere (whether it's client or server side).
The idea to only use ledger events and never directly access the ledger state is interesting, but it's still quite unstable (so would require replaying the chain and ledger state on every upgrade) and we don't yet have any real idea of how big the ledger events will be. We know it's big because it at least includes all of the reward payouts for every stake address every epoch.

The Marconi indexer[1] would also benefit from having (parts of) ledger state available, and as outlined in the CIP it would be beneficial not to have two identical ledger states living in memory. Getting ledger state from the node would save any indexer needing to compute it on the client side.

From the comments above, an ideal situation would be what @abailly-iohk and @kderme said:

An alternative solution that won't solve the duplicate use of RAM but would solve the duplicate use of code would be to pack consensus + ledger into a "Slim node" that works in read-only mode with an existing ChainDB

What if db-sync maintained its own ChainDB, connected to peers itself, ran ouroboros etc? That way it doesn't need a separate trusted node process

I.e have db-sync, Marconi or any other blockchain indexer act as a passive node which could discover peers and synchronize similar to how the node does it now. To do this node would need to be a library that provided the code to implement it (the API being perhaps a stream of blocks and a fold function over it that would give ledger state at every block).
For now, the short term approach for Marconi for indexers that require info from ledger state is to reconstruct it on the client side -- much like dbsync does, and with the same downsides.
As an aside, the blockhain and folding over it into some desirable data structure sounds much like event sourcing, in event sourcing's terms ledger state would be called a "read model".
[1] Indexer is any program that picks out from the blockchain any info that a dApp developer might care about and filters, folds and/or stores it.

marked as Waiting for Author because only the first few comments & reviews have been engaged with so far (as per CIP meeting today)

Perhaps we can have a quick discussion with @scarmuega and @erikd to clarify potential solution(s) and see whether or not it would make sense to transform this CIP in a CPS? There's a relatively straightforward implementation path that implies making the existing LedgerEvents available through a mini-protocol in the existing consensus code, possibly both when node is synced and db-sync is just following the chain, and through an offline/CLI tool when priming a db-sync from scratch.

After going through the whole thread, I must say that I agree with the motivation of the CIP (or CPS) and with the overall theme of moving to a more event-driven architecture.
IMHO, client-side data integrations should be implemented exclusively using an event-sourcing pattern.
In the context of this pattern, the term "command" refers to a request or instruction to perform a specific action. In contrast, an "event" is a record of something that has already happened. Integration between components of this architecture happens by sharing "events" (not commands).
In Cardano, we have this tradition of building data integration clients by parsing and re-playing commands (blocks / txs), assuming that the end-result will match the correct view of the ledger. This is only possible given the deterministic nature of Cardano, but is very inefficient and prone to errors since it requires a re-implementing of a lot of domain logic.
I believe that downstream components should rely on a stream of structured domain events that convey the result of applying blocks to the ledger. AFAIK, this is what @abailly-iohk is proposing.
I know that Oura and Scrolls could be drastically simplified by using this approach, I assume that other tools such as DB-Sync, Carp, Ogmios, Kupo, etc would benefit in a similar fashion. Eager to learn, but I can't think of any specific client-side use case that benefits from having the raw cbor block as data-source (as opposed to a stream of structured domain events).
Regarding implementation strategies, there're many valid options with different levels of efforts attached to it. There's some overlap with the effort that TxPipe is doing for Dolos. This project is still on an early stage, we could revisit the scope and see how to align it with the goals described by this PR.
Happy to join a meeting for further discussion.

Please also consider what I wrote above as well. :)

@scarmuega This might sound very haskell-specific, but through local chain-sync you can easily get parsed blocks, not CBOR. For other languages, writing a parser is a problem though.
Regarding event-sourcing, the fundamental sequence of events you get are blocks/transactions. If there are other types of info a data integration client needs, then they can map and fold those into the events they need.
For resumption (when that is what "business" needs :)), the event-sourcing answer seems to be to occasionally snapshot the data structure that is being folded, and then compute onwards/backwards from them by the use of events (much like I and P frames work in video compression).

Thanks for chiming in @scarmuega. Yes, what you describe is exactly what I have in mind and I think a desirable future for the node: Have it be as lean as possible, and distribute information to whoever is interested in it, in both forms: The commands (blocks, txs) and the Events (change to UTxO set, to SD, rewards, ...).

@scarmuega This might sound very haskell-specific, but through local chain-sync you can easily get parsed blocks, not CBOR. For other languages, writing a parser is a problem though.

Agreed, we could consider the parsing issue as a nice-to-have, but given that we're talking about client-side integration, we should not be constrained by the hard networking requirements of the node-to-node protocol and maybe provide a developer-friendly interface. In fact, this is what Ogmios does, which IMO is what the node should provide by default.

Regarding event-sourcing, the fundamental sequence of events you get are blocks/transactions. If there are other types of info a data integration client needs, then they can map and fold those into the events they need.

This is the core of my argument. The folding is already happening at the node. The "data" available as a result of this folding is much richer than the Block / Tx in itself.
For example, a domain event representing an already folded Tx could:

provide the input UTxOs as part of the payload (IMO, huge win for dev experience)
explicitly show which inputs were consumed (either collateral or normal)
explicitly show which outputs where produced (either collateral return or normal)
embed reference scripts as part of the payload
de-reference Byron pointer addresses

Stake reward calculation is another topic that could be improved. AFAIK (happy to be corrected), the results from reward calculations at the epoch boundary could also be exposed as events, something that is not easily accesible at the moment.

For resumption (when that is what "business" needs :)), the event-sourcing answer seems to be to occasionally snapshot the data structure that is being folded, and then compute onwards/backwards from them by the use of events (much like I and P frames work in video compression).

Nice analogy (fun fact, my last job involved working with video compression for AI). My argument is that we're trying to improve the last mile integration (Node-to-Client). Following your analogy, I see it as the HDMI cable that transports decoded video ready for consumption.
Of course, all of the above can be computed from blocks / txs, but it adds an unnecessary burden on the client side.

@eyeinsky This is a heavily overloaded terminology but I think that @scarmuega is right: From the point of the view of the Ledger and its state, blocks are actually commands and events are whatever gets changed in the ledger from applying those commands. Of course, from the point of view of the consensus, blocks and txs are more events because they represent "past events" that happened (eg. there's been a consensus on them).
The determinism of Ledger rules implies the mapping between the stream of commands (blocks) and the stream of events (changes to state) is injective (It's not bijective because different ordering of blocks might still lead to the same state I think).
For most users, events in this sense are thus more important because they represent the changes to the state they care about (UTxO, rewards, Statkes, ...) that have been produced according to the Ledger rules. If all you have is the stream of commands, then you'd have to recreate the rules to compute the state, a process which is guaranteed to be error prone given the complexity of those rules.

If I understand correctly, only blocks can be streamed again from an arbitrary location. To start having a valid ledger state from the middle of the chain means that there needs to be some snapshot of it. Not sure how large a ledger state is to serialize and store, but if storing all of them is too much, then having a periodic snapshot is the way to go. I.e, for getting ledger state (or ledger events) for any given chain point, find the latest snapshot before that, apply blocks until reaching the desired point.
I think fold function that makes ledger essentially boils down to a type signature like this:  Block -> LedgerState -> f (LedgerState, LedgerEvents). (Don't know what the f is, but it should be something that allows for failure)
And another info point: both dbsync and foldBlocks (in cardano-api:Cardano.Api.LedgerState) don't actually reimplement the ledger rules but import that functionality from the ledger (e.g here). They do add at thin layer of code though, so mistakes are possible there.

only blocks can be streamed again from an arbitrary location.
If you also have the state before that the location.

having a periodic snapshot is the way to go
This is something the node does: It periodically snapshots (2 by default but that's configurable IIRC) the full ledger state so that in case of crashes, it does not have to rebuild the full state from scratch.

$ ls -l mainnet/db/ledger/
total 3981772
-rw-rw-r-- 1 curry curry<PHONE_NUMBER> Dec  8 15:49 78904636
-rw-rw-r-- 1 curry curry<PHONE_NUMBER> Dec  8 17:01 78909272

both dbsync and foldBlocks (in cardano-api:Cardano.Api.LedgerState) don't actually reimplement the ledger rules

Sure, but they need to maintain the full ledger state in memory (or serialise/deserialise it) to be able to foldBlocks

@abailly-iohk": If you also have the state before that the location.

Not sure what you mean by that? Blocks are stored in the immutableDB and can be fetched back at anytime, provided that clients can provide points on chain corresponding to those blocks. So in principle, there's no need to hold on the ledger state whatsoever to access blocks.

@abailly-iohk: This is something the node does: It periodically snapshots

Sounds like the way to go perhaps? Increasing the number of snapshots and enabling client applications to also query from those snapshots? In the end, applying blocks is relatively fast. Even ten thousands blocks take only a couple of seconds to process; so having frequent but sparse snapshots sounds interesting; especially if the snapshot frequency can be tweaked on startup (so that client applications connected to a local node can ask for more snapshots than block producers who probably care less).

@abailly-iohk: Sure, but they need to maintain the full ledger state in memory (or serialise/deserialise it) to be able to foldBlocks

Only if they seek to maintain implicit properties of the chain; like rewards (or really anything connected to rewards like stake distributions). Applications like kupo can maintain the entire UTxO-set without resorting to storing the ledger state at all (nor does it even maintain the UTxO set in plain memory). And, it can also maintain partial view of the UTxO set; and that is because everything in the UTxO set is the explicit consequence of a block application. There's no need to know what is the current ledger state in order to identify spent inputs or produced outputs.
It is however necessary to know that full ledger state to calculate the stake distribution at the end of an epoch and to know how much rewards should be given to each stakeholders. There's no explicit manifestation of a reward distribution in blocks. And this is the root of all problems described in this proposal.

Note that for a while, I've been considering doing something a bit silly which is to simply fork the cardano-node and add a little functionality to dump rewards distribution periodically (on each epoch snapshot) into a file on disk. While arguably inelegant, this would allow any application to consume this information without needing to maintain a full ledger state.
Anything else at this stage is fairly easy to obtain by processing blocks (including protocol parameters, pool registrations, assets etc..)

(I hate having discussions in GH PR  🙄 )

Not sure what you mean by that? Blocks are stored in the immutableDB and can be fetched back at anytime, provided that clients can provide points on chain corresponding to those blocks. So in principle, there's no need to hold on the ledger state whatsoever to access blocks.

Sure but blocks represent changes to the state of the ledger so to understand what's the result of applying a block you need a Ledger state. If you don't have one, you need to replay the entire chain of blocks from genesis.

Sounds like the way to go perhaps? Increasing the number of snapshots and enabling client applications to also query from those snapshots?

Yes, I agree. But snapshots are supposed to be "private", eg. the serialisation format is not standardised so it's only useful within the confines of the existing ledger haskell code. BTW, it's already possible to increase the frequency of snapshots through the --snapshot-interval. The number of snapshots is not exposed as a parameter but it should not be hard to change it from the default 2.

In the end, applying blocks is relatively fast. Even ten thousands blocks take only a couple of seconds to process; so having frequent but sparse snapshots sounds interesting;

Agreed.

Only if they seek to maintain implicit properties of the chain; like rewards (or really anything connected to rewards like the full stake distribution).

Not sure what you mean by implicit properties but if I look at the cardano-ledger specs, I can see (or could see if the link was still up...) there's quite a lot of rules that are defined which I definitely would not want to reimplement partially. Using raw blocks info works for UTxO but not for other stuff like rewards or stake distribution, and possibly other aspects of the ledger I am overlooking.

It is however necessary to know that full ledger state to calculate the stake distribution at the end of an epoch and to know how much rewards should be given to each stakeholders. There's no explicit manifestation of a reward distribution in blocks. And this is the root of all problems described in this proposal.

And why I and others are suggesting this problem should be solved using an Event sourced approach whic nicely complements the command sourced nature of the blockchain,

Note that for a while, I've been considering doing something a bit silly which is to simply fork the cardano-node and add a little functionality to dump rewards distribution periodically

That's the kind of things a standalone cardano-node-lib would make it easy to do.

(*) what I mean by 'implicit properties' are elements that can only determined by calculations that requires the full ledger state and for which there's no direct triggers in blocks. The best example being the distribution of rewards. There's absolutely nothing explicitly recorded on the chain that indicates what rewards were sent to what account because rewards aren't carried by transactions.
Rewards only exists because all ledgers agree on how to calculate them from a state. They aren't the direct consequence of a command, but rather an implicitly agreed-upon information which can only be derived from the entire ledger state.

In the end, applying blocks is relatively fast. Even ten thousands blocks take only a couple of seconds to process; so having frequent but sparse snapshots sounds interesting;

With ledger states snapshots the problem still remains though: parsing them means memory is duplicated, since node and clients need a copy. That's why my suggestion was to store ledger events in a dedicated db https://github.com/cardano-foundation/CIPs/pull/375#issuecomment-1315509421.
Ledger events, documented in https://github.com/input-output-hk/cardano-ledger/blob/master/docs/LedgerEvents.md, include things that are impossible (like historic rewards, stake distribution) or hard to calculate without the ledger state (epoch params, deposits, refunds). They are smaller than the whole ledger state, but still tell the full story.

(*) what I mean by 'implicit properties' are elements that can only determined by calculations that requires the full ledger state and for which there's no direct triggers in blocks.

That's exactly the definition of command sourcing: What the system persists is a list of commands and the state is constructed by applying the stream of commands on an initial state. This works iff the apply function is deterministic which fortunately (and intentionally) is the case for Cardano.

Implicit properties only exists because all ledgers agree on how to calculate them from a state. They aren't the direct
consequence of a command,

They are the direct consequence of interpreting a "command" in  certain ways. Note that the same stream of commands could lead to different states given different interpreters.

but rather an implicitly agreed-upon information which can only be derived from the entire ledger state.

It's perfectly possible a command works on part of a ledger state. To use your previous example, we could have a rewardsCalculator interpreter that would only care about "commands" insofar as they apply to rewards (I am not an expert on rewards calculation so I don't know how much state this represents but this is certainly not the full state).
Note this contrasts with the situation in event sourcing where, to keep running the same example, the event stored would include some events about how the rewards are changed so that there would not be any need to know the reward rules to compute those rewards.
To makes things more complicated, it's perfectly possible to view a stream of events as commands and run them through an interpreter that would for example, compute some "derived property" as you name it from the stream of events/commands, be it the number of bytes modified, or the distribution of time between 2 blocks, etc.

@erikd @abailly-iohk is this ever going to come through to completion?  The related bug @AndrewWestberg points out (https://github.com/cardano-foundation/CIPs/pull/375#issuecomment-1315224439) is still open so I'm assuming at least one reason why this solution might be adopted... unless it's been superseded somehow.
In any case we are running through the unattended bulk in the CIP PR queue & so marking this as practically Abandoned & it will close some time afterward if no further progress happens.  In the meantime I'm tagging other reviewers & commenters so we can get a better picture of this, and if necessary adjust that status (or close if indeed superseded).
cc @KtorZ @NetWalker108 @eyeinsky @papacarp @kderme @scarmuega

I would suggest closing this issue

thanks @abailly-iohk & I guess reasons for closing were originally posted in https://github.com/cardano-foundation/CIPs/pull/375#issuecomment-1344604772.  @erikd or others: this can be re-opened with any newly posted reason(s) why this requirement & solution are still valid.


Fix Multi-Process Logging

The migration to kubernetes has revealed a bug in the use of RotatingFileHandler. I am guessing since the write delays on nfs are higher than on the old file system, sometimes when a file is supposed to be rotated another process tries to write to it at the same time. Apparently RotatingFileHandler gets a new file descriptor when rotating, leaving all file descriptors except in the Handler that rotated the file, invalid.
I've disabled file logging completely as a quick fix (kubernetes will keep the stdout logs a little while for us) and turned on console logging for everything. Hopefully we can switch over to a log aggregation service soon so we don't need file logging at all.
I also noticed that we print some passwords to the logs, i've fixed that here as well.

Youre right! Probably best to do this in scse-infra or internally somewhere else since it just requires changes to the deployment config, not ixmp4.

https://github.com/iiasa/scse-infra/issues/63


remove lua support ?

We need simplify ledisdb now, some features we don't use will be removed, so that we can focus on more important thing, like cluster, performance, etc.

Unlike redis lua, ledisdb's will not guarantee atomic script because other goroutine can do writing too.


Removing duplicate custom-jekyll js

Re: #22044. After docsy theme got merged these scripts aren't needed anymore. Confirmed after removing it (and all <script> references to it) the tooltip functionality is still there.
Also removed the reference in config.toml to it, which may have stripped some dangling whitespace.

/approve
Thanks @thekad!


Missing Windows IoT Core instructions to Install certificates in the OS

Hi,
Instructions in "Install certificates in the OS" are for Ubuntu and Windows only.  There are no instructions for Windows IoT Core. The windows section mentions "You can also install certificates programmatically using .NET APIs, as shown in the .NET sample later in this article." but the code installs the certificate on on the Local User instead of Local Computer as specified in the "Windows" section "Certificates - Local Computer > Trusted Root Certification Authorities".
I was able to install the certificate on WIndows IoT Core with Power Shell:

Copy cert to C:\ on the device.
PS C:> Enter-PSSession -ComputerName  -Credential Administrator
[]: PS C:\Data\Users\Administrator\Documents> cd C:\
[]: PS C:> Set-Location -Path cert:\LocalMachine\Root
[]: PS Cert:\LocalMachine\Root> Import-Certificate -Filepath C:\azure-iot-test-only.root.ca.cert.pem

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

ID: 76665258-377d-33f0-2dea-061df101197f
Version Independent ID: 377ef094-b3c3-2597-0cdf-a94dbf7361bc
Content: Connect downstream devices - Azure IoT Edge
Content Source: articles/iot-edge/how-to-connect-downstream-device.md
Service: iot-edge
GitHub Login: @kgremban
Microsoft Alias: kgremban

@PatricioVidal Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

Thanks @PatricioVidal. I'm working on incorporating this feedback and will let you know when there are changes to the article available for you to review.

Hi @PatricioVidal. I'm sorry about the delay, but the articles have been updated with powershell commands for installing certificates at the OS level. I appreciate you pointing out this gap in the IoT Core story. Please take a look at the updated article and close this issue or let me know if you think there's more work to be done.

Looks good. Thanks Kelly!


result MMdetection

The output of the object detection model of an article using MM detection shows the average loss of all classes. How can I see the result of loss for each class from the output of this model?

@fatemehkh73 This operation is currently not supported. You may need to rewrite the loss function.


_1password: 2.16.0 -> 2.16.1

Description of changes
https://app-updates.agilebits.com/product_history/CLI2#v2160101

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

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

1 package built:

_1password


Mouse Scroll wheel event

Are mouse scroll wheel events sent to the viewport at all? I see in scenic_driver_glfw in input.ex starting on line 310
However it isn't clear how to capture this event?
def handle_port_message(
        <<
          @msg_mouse_scroll_id::unsigned-integer-size(32)-native,
          x_offset::float-native-size(32),
          y_offset::float-native-size(32),
          x_pos::float-native-size(32),
          y_pos::float-native-size(32)
        >>,
        state
      ) do
    debounce_input({:cursor_scroll, {{x_offset, y_offset}, {x_pos, y_pos}}}, state)

    {:noreply, state}
  end

Some events, especially mouse movement related events (scroll wheel counts) can generate a TON of messages very quickly. One of my goals was to use as little energy as possible, so these events are not sent unless the scene indicates that it wants them.
So... You need to request the scroll event from the viewport.
See ViewPort.capture_input
https://hexdocs.pm/scenic/Scenic.ViewPort.html#capture_input/2
When you are done with it and no longer want the flood of messages, you can release it with release_input
This api is being updated in the upcoming release, but the general idea is the same. The scene needs to ask for events other than mouse button events, which should be the only ones on by default.
If you dig into the built-in components, you'll see that they request and release input types as appropriate.

@boydm thanks for the response. If I have multiple scrollbars rendered, is it possible to release the captured input from outside of the component that currently has it captured? At the moment you must pass in a context to release_input. If The second scrollbar gains "focus" and must release_input from the first scrollbar, would I need to save the context of the first scrollbar elsewhere to be referenced within the second scrollbar? Is there any plans to have some form of a multi-capture input system, where many components can capture input events?

Depends on what you are going for.
If I was doing a scroll bar, I would do something like this...

Start with a "normal" state of only the mouse buttons captured.
When there is a mouse button down inside the scroll bar component, then I would capture mouse move (:cursor_pos) and drag around as appropriate.
When the the mouse button changes to unpressed, then I would release the :cursor_pos capture. This should then work with multiple scroll bars.

This behavior is somewhat similar to now the slider component works. You need to decide if you want the thumb to move around when the mouse is outside the original component or not. (The slider does...)
The slider could also capture key events and do key-based page_up / page_down sorts of things. Maybe home and end as well? That would get weird tho with multiple scoll bars showing simultaneously.
This is a relatively

The parent scene probably wants to capture the scroll wheel though and then send update messages down to the scroll bars so that they update state correctly.
This is doable in the current version (see the the radio group) but I think the API for it is confusing. That is another one that is being overhauled in the update. Sending messages to child components will be easier.
I'm getting close to having a first pass of the update that I can push into a branch. When I do, you should take a good look at this part of the API and give me some feedback on it to make sure it does what you want.

Oh. and to answer the original question, I don't remember if you can release the input from outside the component. I think so??? Would need to check tho.

@boydm I'm trying to capture the :cursor_scroll event when the component renders as I don't do any handle any inputs at the moment which is what generates a context to use in capture_input. How can I generate a context manually?

Yeah. This is part of why I'm changing that part of the API. You won't need a context in v.11

I don't do any handle any inputs in the component that renders the scroll bar.

In general tho, Scenic favors a model where the event handling and rendering happen in the same component. The component can then send messages up to it's parent to act on. This provides much better isolation and error recovery. Feels like maybe the scrollbar should handle it's own input and then send {:scroll, ...} messages to the parent to act on.

Yes, I can do that. However I still have the same issue in needing to capture the :cursor_scroll event before an handle_input is called. I think I might have to wait for the new version. It would be nice to handle the scenario where I could capture the :cursor_pos, and change the capture of the :cursor_scroll to the  scroll bar container the mouse is currently in. Much like how MacOS handles window scrolling.

Makes sense. I'm getting pretty close to being able to push up an alpha version of v.11 I think in the next week or two.
Has been a ton of work...

Awesome! Thank you for al the hard work you're doing in this space. I've been working on this decentralized control system project with scenic for just over a year, and have really enjoyed using scenic. The project is just about finished and ready to be used in the synthesis of Astatine for cancer treatment.

That project sounds awesome. I'd love t know more about it. You willing to do a call to chat?

Sure I can do a call. When works best for you?

Hmmm. How to do this. Wish Github allowed private DMs. Can you ping me on Twitter so we can DM there? Or maybe LinkedIn is easier...
twitter:@boydmulterer
or
https://www.linkedin.com/in/boydmulterer/

It seems you can't be messaged on twitter.

Sorry. Let me know your twitter handle. I'll follow you back and then you can. or @me in something so I know who you are.

twitter:@vacarsu1

This should now be fixed and functioning the way you want in the v0.11 branch. Please confirm, then close the issue if it works for you.

Yes, working in v0.11 now.


feat: Export last check and last update to prometheus

Reported in #187, this PR adds prometheus and creates two gauges, one for keeping track of last update (an actual refresh of feature toggles) as well as last call to upstream Unleash.
sidenote: moved to biome and copied Unleash/unleash config to fall more in line, should've been a separate PR, but once I got stuck into adding prometheus, I couldn't help myself, I had to boyscout
2nd sidenote: We really should boyscout this a bit more, we're still using node 16, our nvmrc was locked to node 14, and we should move to yarn v4 here as well. Separate PR for that at least.

F this. Will remake PR without the linting, and make a separate PR with those changes.


Restrict size of batch payloads to 256kb dynamically

This is logstash-plugins/logstash-output-sqs#4 rebased onto master and squashed (to fix merge issues).

This should fix #5

Hi, I wonder if there's a plan to merge this?
From the travis output It looks like dependency issues causing the fail and there aren't any changes to dependencies in the PR as far as I can tell.
Does the build work for master?
Cheers,
Joel

Any plans on merging this?

Closing this in favour of #20

Yep sounds good.


[SCP-2418] [SCP-2419]: Added blake2b builtin. Updated sha2/sha3 to point to cardano-base.

Added blake2b-256 hashing builtin. I also added the boilerplate for the cost model, but I the entry in builtinCostModel.json is stub. @kwxm Can you take a look? How can I generate the costs or are you going to do it yourself?
Updated sha2/sha3 to point to cardano-base instead of directly to cryptonite. Although cardano-base uses cryptonite as well under the hood, in the future they may switch to something else, e.g. libsodium.

Pre-submit checklist:

Branch

[x] Commit sequence broadly makes sense
[x] Key commits have useful messages
[x] Relevant tickets are mentioned in commit messages
[x] Formatting, materialized Nix files, PNG optimization, etc. are updated

PR

[x] Self-reviewed the diff
[x] Useful pull request description
[x] Reviewer requested

Pre-merge checklist:

[ ] Someone approved it
[ ] Commits have useful messages
[ ] Review clarifications made it into the code
[ ] History is moderately tidy; or going to squash-merge

Not strictly related to this PR, but I don't think we have any tests making sure that builtins do what they're supposed to.  Maybe we should?/

Not strictly related to this PR, but I don't think we have any tests making sure that builtins do what they're supposed to. Maybe we should?/

indeed, some regression testing may be handy here.

Tests fail. I don't think we should remove the serialization for the Nop until we get rid of them, it'll just make stuff like this randomly fail.

Would it be possible to also add a builtin for Blake2b_224? This is used for address hashes in the ledger (see https://github.com/input-output-hk/cardano-ledger-specs/blob/master/cardano-ledger-core/src/Cardano/Ledger/Crypto.hs#L44)

We currently have the function pubKeyHash in plutus-ledger-api. It uses the hashing builtin so that it can be used in on-chain code as well. But if this isn't the same hashing function that the ledger uses then it's pretty pointless.
Right now it's still sha2_256, so we'd have to change it either way. If adding the Blake2b_224 builtin can't be done now then we could also just say that  pubKeyHash can't be used on-chain. Which would probably be fine too.

I think the safest approach is for users to never construct ledger-hashes on-chain and expect them to match up, and only compare them. That way we're somewhat robust to the hashing scheme, but if you want to hash your own data, go wild. But maybe this is overly restrictive, I'm not really sure.

Good point. We'll make pubKeyHash off-chain only for now (with the long-term perspective of replacing it and the rest of the emulator with the real ledger code) and I withdraw my request :)

I'm taking this for now.


About page

Fixes #511
Fixes #524

Why are we creating a custom about window? Why not just use the native one? Seems like an easier solution to the focus issue would be to just close the cropper view when the about window is opened.

The about window should be slightly wider to exactly match the default macOS about window.

I think we should also include a Website link in there, on the left side of the Policy link.

The icon should not be draggable. Use pointer-event: none on it.

Is there a way to execute code when the about window is opened? It seemed like it was an accelerator so there was no way to close the croppers before opening it.

I didn't think of that. If it's an accelerator, then no.

The about window should not show until it's completely rendered. This is what I see in the built app (not dev):

Not sure why that happened. I called show on componentDidUpdate, but as you said I still noticed the flash. Awaiting delay(100) seems to solve it.


As an aside I note that the following happens if you switch focus away from Meerk40t and back whilst the cursor is in one of th position panel fields - selected items move by 0.000069mm in x direction and 0.000015mm in y direction each time. This is another (admittedly very minor) bug.
[10:13:25] resize 27.096849mm 6.000237mm 265.809638mm 208.000000mm
[10:13:27] resize 27.096918mm 6.000252mm 265.809638mm 208.000000mm
[10:13:32] resize 27.096987mm 6.000267mm 265.809638mm 208.000000mm
[10:13:45] resize 27.097056mm 6.000282mm 265.809638mm 208.000000mm
[10:17:19] resize 27.097125mm 6.000297mm 265.809638mm 208.000000mm
[10:17:39] resize 27.097194mm 6.000312mm 265.809638mm 208.000000mm

Ok I fixed the spurious resizes and cleaned up the code a little too.

I don't think the diffs are that drastic!!


Support Jest (--env jsdom) with styletron-legacy

We are using styletron-legacy v2.5.1
and when we run jest, and we create a component as follows:
export const View = styled('div', () => ({
  width: '100%',
  height: '100%'
}));

Then when we ran the jest file in jsdom env
it('renders View', () => {
  const wrapper = shallow(<View />);
  expect(View).toBeTruthy();
});

Throws an error
TypeError: Cannot read property 'querySelector' of undefined
    at existingStyleElement (node_modules/styletron-legacy/index.js:184:11)
    at injectStylesIntoHead (node_modules/styletron-legacy/index.js:128:17)
    at flushToStyleElement (node_modules/styletron-legacy/index.js:169:5)

In the index.js
https://github.com/rtsao/styletron/blob/v2.5.1/packages/styletron-legacy/index.js#L184
global.document is defined, but document is undefined
The test pass when we add this to the top of index.js
var document = global.document;

suggested fix, use npm package global
var document = require('global/document');

Thanks for the bug report, I've made a corresponding issue in the styletron-legacy repo: https://github.com/rtsao/styletron-legacy/issues/2.
Should be a straightforward fix.


Release Managed Solution Fails Solution Checker Validation

Currently the released managed solution fails the solution checker's validation (https://docs.microsoft.com/en-us/powerapps/maker/common-data-service/use-powerapps-checker). The reason for this is the control needs to be built in release mode (https://docs.microsoft.com/en-us/powerapps/developer/component-framework/import-custom-controls), when it's built in release mode it will prevent the eval js function from being used in the bundle.js file.

Good catch!
But, it was a managed solution, how could you run the Power Apps Checker against it?
I am updating the v0.9.53 right now with the Release mode.
Many thanks for this!

Good point ;P. We just tend to run the solution checker on all solutions as part of our CI process but yeah to be fair we don't really have to do that on managed solutions.

That's quite good actually. I thought you were using the PowerShell in order to run all these managed solutions but it is quite a nightmare to configure tbh :D
I will be closing this issue as I updated the new release with that configuration.
Many thanks for that!


Could we make the space bar being used for "go to next unread" as an config?

When I accidentally clicked the space bar one more time, I was positioned to the next article, but in fact I was just checking whether I had scrolled to the bottom.
This is very uncomfortable when I use it, and I am always worried that I will misuse it.
Can this operation be maked as a configuration? Let the space key only retain the ability to swipe within the article.
This at least avoids the problem.

+1

can anyone help? 🙏

🥲

I’ve labeled it as a feature request. We’ll consider it for the future (but can’t make promises as to if or when it might appear).

@brentsimmons thank you! looking forward to this feature~ 😁


Introduce a commit template

+1 for me
I think the link in the Contributing.md describes a good template.

Should the build also fail if the commit message doesn’t comply to the template?

a pre commit git hook for this would be cool :)

Pasting my comments fro #815 here:

Not really sure this is going to give us much benefit. As @vanniktech already mentioned just using "Squash and Merge" instead of simply merging PRs we will get one well-named commit with the title of the PR (which should have good, descriptive names and we can even rename them if necessary). This commit hook will add another tripwire for people trying to quickly contribute to detekt.
I think we shouldn't make it harder than necessary. GitHub can take care of squashing, merging and renaming the appropriate commit for us, let's not put that burden onto people trying to contribute.

I think it's useful. It's just one command to copy this file to .git/hooks. This can be packed into the build script for instance.


Add export/import operation to CLI

Expose InstallationExportAction#export and InstallationRestoreAction#restore via CLi operation prospero clone export --dir=server --path=output.zip prospero clone import --dir=server --path=output.zip
The import operation should support maven parameters as well:

--repositories
--ofline
--local-cache
--no-resolve-local-cache

should we close it with #202 merged ?

@gaol I'm marking the issues resolved on future branch with the future_branch label and will resolve them all when I can merge them into main


History shortcuts changed on italian layout.

I confirm (by marking "x" in the [ ] below: [x]):

[X] This is not a troubleshooting question. Troubleshooting questions go here: https://docs.mattermost.com/install/troubleshooting.html.
[X] This doesn't reproduce on web browsers (such as in Chrome). If it does, issue reports go to the Mattermost Server repository.
[X] I have read contributing guidelines.

Summary

Starting from version 5.1.0 the keyboard shortcuts for history have changed in a non consistent way.
Before 5.1.0 (up to 5.0.4) the shortcut was "CMD+[" and "CMD+]" which in an italian keyboard were consistent.
In version 5.1.0 the shortcut is mapped tp "CMD+ò" and "CMD+à" which, honestly does not make any sense. There is also no way to change that behaviour, to my knowledge
Environment

Operating System:
Mattermost Desktop App version: 5.1.0
Mattermost Server version: not relevant

Steps to reproduce
navigate throgh channels, trying to use the shortcuts you know, with an italian keyboard
Expected behavior
shortcuts work
Observed behavior
shortcuts are changed

Possible fixes

update: I guess the change happened in electron and not in mattermost, as also slack shows the same behaviour

reported issue here https://github.com/electron/electron/issues/34347

@superandrew Looks like the upstream issue was closed due to inactivity, is this still an issue for you?

no, the problem was fixed a few days later. Thanks


CM-436: Cleanup kube-rbac-proxy sidecar

Fixes https://github.com/openshift/cert-manager-operator-release/issues/95
Authorization & Authentication already exists in https://github.com/openshift/cert-manager-operator/blob/master/vendor/github.com/openshift/library-go/pkg/controller/controllercmd/builder.go#L312-L337.

/cc @TrilokGeer

/label px-approved
No ui/ux changes

/cherry-pick cert-manager-1.15

/cherry-pick cert-manager-1.14

nit: label app.kubernetes.io/component: kube-rbac-proxy exists in below manifests, could be cleaned up too.

config/rbac/auth_proxy_role.yaml
config/rbac/auth_proxy_client_clusterrole.yaml

/lgtm

/label docs-approved
We'll get it added in release notes for 1.15.0 and 1.14.2 (cc: @subhtk) that redundant kube-rbac-proxy sidecar have been removed.

/label qe-approved
In theory, QE already approves of this change: self-adding the label since @lunarwhite is OOO.

/lgtm


Guidance for a productive environment

Hello Sebo-b
Is there perhaps a tutorial on how I can set up WARP on my server and use it productively?
I have already read the README and found out that it doesn't go any further after the secret key.
Maybe there is a possibility that we contact each other by e-mail, and you explain to me how I can use WARP, or maybe you have a documentation or description that you can send me.
Thank you

Hi @DzeTro,
It all depends on how familiar you are with general Linux administration (namely Nginx, PostgreSQL, and docker). If you are then the description is quite straightforward:
- setup Postgresql
- setup Nginx as rev-proxy to Warp in a docker container

$ docker run --name warp-demo-wsgi \
> --env 'WARP_DATABASE=postgresql://postgres:postgres_password@db-addr:5432/postgres' \
> --env WARP_SECRET_KEY=mysecretkey \
> --env WARP_DATABASE_INIT_SCRIPT='["sql/schema.sql","sql/sample_data.sql"]' \
> -d warp:latest

If that doesn't ring a bell for you, then you can reach me out at sebastian (at) baberowski (dot) com However as you are talking abt the production environment I can basically offer you commercial help.


[WFLY-17580] Upgrade yasson to 3.0.2

https://issues.redhat.com/browse/WFLY-17580

Thanks @jamezp


ID for all autolinks probably broke whatwg/dom

See this validation log: https://travis-ci.org/whatwg/dom/builds/261805947.
Suspect this is 2a0b31ce6dc9f47aedca34c2b82e3e1df9dbd69b.

Fuck, I spotted this quickly and fixed it, but it looks like I didn't push the fix. >_< Super sorry about that.
Since the computer I did it on isn't at hand, I redid the fix (it's pushed now, 3bc09468). To reduce the incidence of dedup'd IDs colliding with existing ones that happen to end with a number, I switched to deduping by appending an integer using unicode circled digits instead.  Please let me know if there are any further issues!

(That is, if I generate a bunch of id="ref-for-foo" attributes on the various links, they'll dedup to id="ref-for-foo①", id="ref-for-foo②", etc).


chore(cargo): Update dependency

What this PR does 📖

Refactors RayGun::send into 2 functions RayGun::send and RayGun::edit (which should prevent possibly confusion when it comes to implementing editing functionality)
Added Tesseract::subscribe to get a stream to determine if the store been locked or unlocked (useful without needing to poll/call Tesseract::is_unlocked in a loop, though there is no performance impact if done)
Bug fixes related to profile picture and banner (discovered while helping @sdwoodbury in feat/profile)

Which issue(s) this PR fixes 🔨

N/A

Special notes for reviewers 🗒
Though should not be any difference (since the change is literally minor), test unlocking with both debug and release profile.
Additional comments 🎤

Looked good to me, made sure to focus a lot on unlocking per notes for review above 👍


950 hide sensitive data view capability page

Description
Hide sensitive data (environment variable value) in capability view page. Uses bootstrap eye icon for toggle.
Fixes #950
Review Time Estimate
Please give your idea of how soon this pull request needs to be reviewed by selecting one of the options below. This can be based on the criticality of the issue at hand and/or other relevant factors.

[ ] Immediately
[x] Within a week
[ ] When possible

Type of changes
Please select a relevant option:

[ ] Bug fix (non-breaking change which fixes an issue).
[x] New feature (non-breaking change which adds functionality).
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected).
[ ] Other (any another change that does not fall in one of the above categories.)

Checklist:
Please select all applicable options:

[ ] I have signed the Rokwire Contributor License Agreement (CLA). (Any contributor who is not an employee of the University of Illinois whose official duties include contributing to the Rokwire software, or who is not paid by the Rokwire project, needs to sign the CLA before their contribution can be accepted.)
[x] I have updated the CHANGELOG.
[ ] I have read the Contributor Guidelines.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[ ] My change requires updating the documentation.
[ ] I have made necessary changes to the documentation.
[ ] I have added tests related to my changes.
[ ] My changes generate no new warnings.
[ ] New and existing unit tests pass locally with my changes.
[ ] Any dependent changes have been merged and published in downstream modules.

@minump, please replace the env variable values with * when it's hidden (like how it appears when you add an env variable). Also, please add a space between the end of the env variable value and the eye icon so that the variable is more readable when displayed. Thanks.

@minump, please replace the env variable values with * when it's hidden (like how it appears when you add an env variable). Also, please add a space between the end of the env variable value and the eye icon so that the variable is more readable when displayed. Thanks.

updated

I'm merging this. Thanks.


feat: support mid tag wildcard for enabling logger

Example of a wildcard in the middle of a tag string: DEBUG=example:*:fxn will match tags like [example:tag1:fxn, example:tag2:fxn, example:anything:fxn, ...]

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
116

Relevant Lines:
116

💛  - Coveralls


Project in undefined state

Environment

Client OS (e.g., Linux, OSX, Windows): linux
Keptn Version (keptn version): 0.6.1
Kubernetes Cloud Provider (e.g., GKE, AKS): AKS
Kubernetes version (kubectl version): 1.14.8

Affected Component

[x] CLI

Describe the bug
I forgot to initialize the git repo while creating a new project with a upstream git repository.
keptn creatre project ...... failed with:
Starting to create project
ID of Keptn context: 9d1a30cd-e00b-4354-a308-03e50368bc40
Creating project sockshop failed. Could not commit changes.

The problem is: I now can neither delete the project, nor create a new one with the same name.
Creating it fails with "Project exists", deleting it fails with "Project doesn't exist",
To Reproduce

Create new project with empty git repo
Try to delete the project

Expected behavior
If git repository is empty, project creation is aborted.
OR
Project in failed state can be deleted.
Current behavior
Project is created but can't be deleted.
Screenshots

This also seems to have an impact on the bridge.
The bridge no longer shows any projects, even though there are other projects that are configured correctly:

Is there a way to manually remove the problematic project configuration so the bridge works again?

Hi Patrick,
can you connect to the configuration-service pod using: kubectl exec -it configuration-service-1234-xyz -n keptn -- /bin/sh
In the container you find the folder /data/config/. There remove your project (which is a git repo)

Thanks, that fixed the problem, bridge is working again.
Could be helpful to add that information on where the project repos are to the Troubleshooting section.

This also occured in #1625, we are going to fix this soon.

The root cause of this problem is the following:
When creating a keptn project with a Git upstream, the configuration service executes a git clone and afterwards a git pull. The git pull however fails when the repo is uninitialized:

Your configuration specifies to merge with the ref 'refs/heads/master'
from the remote, but no such ref was fetched.

Proposed solution:
When cloning the repo, we get a warning if the repo is not yet initialized:

Cloning into 'xxx'...
warning: You appear to have cloned an empty repository.

The configuration-service should check this warning and if this occurred, it must not make a git pull but directly make a git add, git commit and git push.
See https://github.com/keptn/keptn/blob/d0fd0423db7dc2b97c1b0336225bcdf16d996da1/configuration-service/handlers/project.go#L123
https://github.com/keptn/keptn/blob/d0fd0423db7dc2b97c1b0336225bcdf16d996da1/configuration-service/common/git.go#L110

Thanks for the investigation.
To keep this issue focuses on the root cause of the problem, which was a not-initialized Git repo, @agrimmer proposed solution avoids having Keptn projects in an undefined state. Let's prioritize this fix.
To delete a project that is in an undefined state (e.g., by adding a --force to keptn delete project xyz --force) a separate issue should be created.


Update stable version in repo from 0.6.3 to 0.6.4

Think about update stable version to 0.6.4
Version: stable=0.6.3 (74 days old) => latest=0.6.4 (15 days old)
Installs: stable=216 (65.06%), latest=36 (10.84%), total=332
Click to use developer portal
Click to edit
Do not close this issue manually as a new issue will be created if condition for update still exists.
Please drop a comment if any reason exists which blocks updating to version 0.6.4 at this time.
Note: This is an automatically generated message and not personally authored by bluefox!
@mcm1957 for evidence

done


(DIO-3162) Add support for disk_type in gce

Depends on https://github.com/puppetlabs/vmpooler-provider-gce/pull/10


How can I use this framework in Egret?  Can't find singles.js

Hi~
Thanks for developed this great framework.
I am using Egret html engine which is using Typescript, I tried to import colyseus.js into Egret as third library by importing the dist folders ( Colysues.js, Client.d.ts, Connection.d.ts, index.d.ts, Protocol.d.ts, Room.d.ts),  but I met the problems, typescript can't find ''signals.js' in Client.d.ts.
I am new to typescript, does that problem means that I have to import all the dependence js files' definitions?
Thank you ~

Hi @helloliuchen, can you share your project so I can reproduce your issue? Thanks

sorry for reply late.
Here is my repo
https://github.com/helloliuchen/colyseus_test_with_egret
just add colyseus as third part library

Hey @helloliuchen, thanks for sharing your project.
Currently there's no type definitions for the static dist/colyseus.js file. The type definitions are only for commonjs module system, which doesn't play nice with Egret's module system (global).
I'm afraid you'll have to use it without code-completion with Egret. You can remove the .d.ts you have for Colyseus and create colyseus.d.ts declaring it as type of any:
/// colyseus.d.ts
declare var Colyseus: any;

(Issue https://github.com/gamestdio/colyseus.js/issues/9 relates to the same thing)
Cheers!

It works!
Thank you very much!

Global type definitions are finally available on colyseus.d.ts.
Thanks a lot @AlexanderKolarov for his pull-request (https://github.com/gamestdio/colyseus.js/pull/27)


Mention new Organizations support

https://aws.amazon.com/about-aws/whats-new/2016/11/announcing-aws-organizations-now-in-preview/
In preview but we should mention its existence.

Mentioned; closing issue.


int32 changes

Resolving issues for int32 as related to: https://github.com/carpedm20/DCGAN-tensorflow/issues/108
Tested working for TF1.0RC2

Why don't we just "int"ize before returning value from conv_out_size_same? It seems like too many int there even though we can simplify it.


[Bug] Performance hit with MaxValue and MinValue of Axis based charts

Describe the bug
For each point that is drawn there are a couple places where it references MaxValue. Unfortunately, MaxValue has a linq statement that goes over every point to to determine the max value. For small datasets this is not noticeable, but for large data sets this becomes problematic fast.
Which platform and version is this for?
Latest codebase
To Reproduce
Steps to reproduce the behavior:

Create a chart with a large number of data points

Expected behavior
Move the calculation of MaxValue out of the loop so it the value can be cached per render
Additional information
I'm working on a PR for this: Working Branch

I'm almost done with this. I'll be making a PR shortly.


checks

[x] Note if command returns non-compliant
[x] Ensure all whatifs work
[x] Figure out algorithm names of commands
[x] everything wrapped in a try catch
[x] whatif and confirm docs for all that need it

done i think


R2S: 无法安装istore

R2S:
固件版本 OpenWrt 23.05.2 r23630-842932a63d
内核版本 6.1.63
安装istore时无法安装luci-lib-taskd 和 luci-lib-xterm 导致安装失败。
Installing luci-lib-taskd (git-24.310.56389-3018b1f) to root...
Installing luci-lib-xterm (git-24.310.56389-3018b1f) to root...
Collected errors:

opkg_download_pkg: Package luci-lib-taskd is not available from any configured src.
opkg_install_pkg: Failed to download luci-lib-taskd. Perhaps you need to run 'opkg update'?
opkg_install_cmd: Cannot install package luci-lib-taskd.
opkg_download_pkg: Package luci-lib-xterm is not available from any configured src.
opkg_install_pkg: Failed to download luci-lib-xterm. Perhaps you need to run 'opkg update'?
opkg_install_cmd: Cannot install package luci-lib-xterm.
No packages removed.
Installing luci-app-store (0.1.14-3) to root...
Downloading https://istore.linkease.com/repo/all/store/luci-app-store_0.1.14-3_all.ipk
Installing luci-lib-xterm (git-24.310.56389-3018b1f) to root...
Collected errors:
opkg_download_pkg: Package luci-lib-xterm is not available from any configured src.
opkg_install_pkg: Failed to download luci-lib-xterm. Perhaps you need to run 'opkg update'?
opkg_install_cmd: Cannot install package luci-app-store.

应该是之前用了第三方软件仓库，导致版本号错误无法降级了。恢复出厂设置算了。


Agenda: projection icon flickers

Description: A projected agenda item icon begins to flicker, if the user changes the item setting to 'done'. This also occurs, if the first agenda item is projected and another item is set to Done.
The projection icon is the blue one:

Reproduction:

open a meeting
open agenda > create an item
project the item
open the agenda menu > click on the three-dot-menu behind the item > mark check-box 'Done'
Icon flickers!

What should happen:
Changing the setting to 'Done' or back should not result in a flickering of the projection icon.

Tried this in chromium and Firefox, couldn't reproduce this behaviour.
@MSoeb Can you still replicate this? If not, please close this issue


Steam Punk Game Added

PR Description 📜
Please include summary related to the issue you have fixed and describe your PR in brief over here by specifying the issue number on which you were working below
Fixes #3994

Mark the task you have completed ✅

[X] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[X] I have performed a self-review of my own code or work.
[X] I have commented my code, particularly in hard-to-understand areas.
[X] My changes generates no new warnings.
[X] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[X] I have added screenshot for website preview in assets/images
[X] I have added entries for my game in main README.md
[X] I have added README.md in my folder
[X] I have added working video of the game in README.md (optional)
[X] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @Archiesachin ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

@kunjgit  @ishita-43  I have created the new PR with the same issue. This branch has no conflicts. So please merge it and add the gssoc and level labels. Thank You!

Your PR soon be merged by Admin. Till than you can explore other projects and work on issues.
Happy Contribution!!

@Archiesachin hey I just saw that your game is ready to merge in this repo. I have a pending PR for a game as well in this repo only. I need your help if you could please tell me how should I add my game in the main readme file.

Thank you  @Archiesachin , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


Display Bug: 'Render' Button Missing After Loading Prompts

I'm encountering a problem where the 'render' button doesn't appear after loading prompts. I've tried reinstalling the software 3-4 times, even with a fresh installation, but the issue persists. The prompts load successfully, so the core functionality works, but the 'render' button is missing from the UI.
PowerShell 7.4.5
Loading personal and system profiles took 550ms.
(base) PS V:\Omost Img\Omost> python gradio_app.py
V:\Omost Img\Omost\lib_omost\pipeline.py:64: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).
alphas_cumprod = torch.tensor(np.cumprod(alphas, axis=0), dtype=torch.float32)
Unload to CPU: CLIPTextModel
Unload to CPU: CLIPTextModel
Unload to CPU: UNet2DConditionModel
Unload to CPU: AutoencoderKL
Unused kwargs: ['_load_in_4bit', '_load_in_8bit', 'quant_method']. These kwargs are not used in <class 'transformers.utils.quantization_config.BitsAndBytesConfig'>.
Loading checkpoint shards: 100%|███████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:03<00:00,  1.60s/it]
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
You shouldn't move a model that is dispatched using accelerate hooks.
Unload to CPU: LlamaForCausalLM
Running on local URL:  http://<IP_ADDRESS>:7862
To create a public link, set share=True in launch().
You shouldn't move a model that is dispatched using accelerate hooks.
Load to GPU: LlamaForCausalLM
The attention mask and the pad token id were not set. As a consequence, you may observe unexpected behavior. Please pass your input's attention_mask to obtain reliable results.
Setting pad_token_id to eos_token_id:128001 for open-end generation.
C:\Users\Utilisateur\miniconda3\Lib\site-packages\transformers\models\llama\modeling_llama.py:649: UserWarning: 1Torch was not compiled with flash attention. (Triggered internally at ..\aten\src\ATen\native\transformers\cuda\sdp_utils.cpp:455.)
attn_output = torch.nn.functional.scaled_dot_product_attention(
User stopped generation
Last assistant response is not valid canvas: Response does not contain codes!
The attention mask and the pad token id were not set. As a consequence, you may observe unexpected behavior. Please pass your input's attention_mask to obtain reliable results.
Setting pad_token_id to eos_token_id:128001 for open-end generation.
Last assistant response is not valid canvas: unterminated string literal (detected at line 6) (, line 6)
Thank you for your help :) It would be appreciated. such a great tool!

With a gtx 3060

seems to be fine sorry for bothering... ill get a better cpu and gpu


corerad: 0.3.4 -> 1.0.0

Signed-off-by: Matt Layher<EMAIL_ADDRESS>
Motivation for this change
New (stable!) release.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Builds and runs, tests pass:
$ ./result/bin/corerad -h
CoreRAD v1.0.0 (2022-01-31)
flags:
  -c string
        path to configuration file (default "corerad.toml")
  -init
        write out a minimal configuration file to "corerad.toml" and exit

/cc @hugolgst @prusnak @SuperSandro2000 (thanks for reviews on my previous PRs!)

@GrahamcOfBorg test corerad

/marvin opt-in

/status needs_reviewer


download the course without enrollment

hi there,
can you please tell me about the script if we didn't enroll the course can we get using the same process as you shared just login & put the course link to download videos without enrollment.

no you can't, No matter if the course is free still you need to create an account and enroll the course.


swarm: clarify meaning of time related fields

Several fields in the RaftConfig and DispatcherConfig structures
lack clarification about their meaning in relation to time. While all
these fields describe a time-period, they have subtle yet important
differences in their meanings.
HeartbeatPeriod is an open time period, meaning the amount of time
between heartbeats for nodes communicating with the dispatcher. This
field has always been specified in nanoseconds and has been converted
directly to a time.Duration field. This will have impact except for a
slightly different type. The values used via the API will be identical,
so there is no impact.
HeartbeatTick and ElectionTick specify the period in units of ticks,
which are configured as one second in the manager. The role of these
fields is clarified and their relation with time is described
accordingly.
Signed-off-by: Stephen J Day<EMAIL_ADDRESS>Thanks to @aaronlehmann for the descriptions.

LGTM :cat2:
/cc @aaronlehmann @thaJeztah

LGTM, but ping @aaronlehmann for double checking the recommendations / technical side


Why remove the prepared statements from cache?

Maybe I am misunderstanding the logic here but I wonder why duckdb removes the statement from the cache instead of just getting it? I would expect a call to https://paritytech.github.io/try-runtime-cli/hashlink/lru_cache/struct.LruCache.html#method.get.
https://github.com/duckdb/duckdb-rs/blame/2bd811e7b1b7398c4f461de4de263e629572dc90/crates/duckdb/src/cache.rs#L142

I didn't write this code but from https://github.com/duckdb/duckdb-rs/commit/80f6f90c129a8ce882420680064b7e62f938122d it looks like the idea is that the statement is mutable while it's in use, perhaps at the DuckDB level. When you get the statement from the cache, the caller gets effectively exclusive use of it. But when the CachedStatement is dropped, it automatically puts itself back into the cache.
It seems a little strange compared to e.g. cloning when things are taken from the cache, or just keeping only immutable representations in the cache. But probably the C API constrains how things can be done.


Using/Sharing UIImage?

Thanks a lot for this library! Looks very promising.
I just tried: when using an UIKit UIImage (which I have) and converting it to a SwiftUI Image and adding it as image to the ActivityImageItem, the image is not displayed correctly (for some reason, it's moved 50% up and to the left, so we only see a quarter of the image in the top-left quarter). Am I doing something wrong or is there an internal problem?
Thanks a lot in advance Peter!
I'm using SwiftUI and this is the relevant code on share button click:
let img = Image(uiImage: theOriginalUiImage)
shareActivityItem = ActivityImageItem(image: img)

Hi Thomas,
thanks for raising this issue. I can reproduce it on iOS 15.2+, looks like Apple changed something along the way, since it still works on iOS 14.
Using an Image here isn't a good idea anyway since it gets transformed into an UIImage again internally. Also, an Image is not an image, rather a View displaying an image, so not the right data structure for this use case.
So I will try to change such that an UIImage is used in ActivityImageItem, which will be transferred to the internal logic unchanged.
Cheers,
Peter

Thank you very much for the really, really quick response and fix. Works like a charm. All the best, Thomas


relative links set to the right target

Closes

Why was this change made?
fix the bug

How was this change implemented?

How did you validate the change?
yarn start and reviewed we could navigate to the modified links without errors

Clicking the link "Cluster API Providers" at https://docs.gitops.weave.works/docs/installation/weave-gitops-enterprise/#2-install-a-capi-provider works just fine for me. What am I missing?

Clicking the link "Cluster API Providers" at https://docs.gitops.weave.works/docs/installation/weave-gitops-enterprise/#2-install-a-capi-provider works just fine for me. What am I missing?

@makkes looking into these errors https://github.com/weaveworks/weave-gitops/actions/runs/3873038528/jobs/6602588383


Add integration test prom-loki-traefik

Enhancement Proposal
We should have an integration test as described in this Prometheus PR:

Deploy prometheus, loki and traefik
Relate prometheus and loki

Check that loki scrape job in prometheus config use internal IP or a FQDN

Relate loki and traefik

Check that loki scrape job in prometheus config use external URL provided by traefik.

Remove the relation between loki and traefik

Check that loki scrape job in prometheus config use internal IP or a FQDN again

I used to have one in Traefik, but I reverted to using tester charms instead of the 'real upstreams' because the bundle was unstable back then. Still we might be able to dig up some code from the traefik repo

I think those itest in traefik are great and should continue there.
I'm thinking that since the bundle is stable now we should test these kind of features here with real charms too... perhaps it's a little bit redundant but it is not harmful ;-)

I was proposing to copy the 'old tests' I had in traefik (which are no longer there), the ones using the real bundle charms, and use them as starting point for some bundle-wide integration testing here.
I totally agree that we should do it :)

Oh! I thought the tests were still there (I'm still asleep today)... Yes, we agree!


Event by click

Hi everyone,
(Sorry for my bad english) I wanted first to thank you for this awesome calendar !
I saw that we have to feed manually the calendar (by function, array or url) but is it possible to create an event just by clicking on a (random) date and save it on a bdd ? I've tried a lot of time, but i think that i don't have enough skill in php to make it. Can someone help me or give a tip ?
In expectation of a positive response,
Kind regards.

Yeah, you can...
i have something like that (it's an option of calendar! )
onAfterViewLoad: function(view) {
				if(view == "month") {
				 	$("#calendar .cal-month-day").click(function(e) {
						var clicked_date = $(this).find('span').attr('data-cal-date');
						//Do whatever you want. probably, a $.post or something to add the record on your db

						}
					});
				}
			},

You can see how i implement that (i have more things on the function!). That's an example for month view ;)

Thank you so much, i'll try to make it work ;)
And thank you eleazan to be very active on the issue :)

I think all works, closing issue! ;)

Text translated in google. Good days, I could have realized it thus, in a new file .js attached to the page since on having changed sight JQuery it was not coming to the object.
$(document).on("click","#calendar .cal-month-day span",function() {
var clicked_date = $(this).attr('data-cal-date');
alert(clicked_date);
return false;
});
From here, this is super competitivly to do thousands of things, thank you very much for the contribution.


[BUG] Cannot lock/unlock the room as admin

Describe the bug
I'm unable to lock or unlock the room after entering admin credentials, the button in question is disabled (I double checked and I entered the admin credentials, they are the only creds that have been setup)
To Reproduce

Install neko as per docker-compose.yml (Firefox Version)
Try to unlock the room (button is disabled/non-functional)

Expected behavior
Clicking on the lock icon unlocks the room for others to use
Desktop (please complete the following information):

OS: Linux
Browser: Chromium/Firefox

when you are logged in do you see this

No, I don't see this;

This is what I see after logging in as administrator from a clean docker setup.

see my answer in #45


Is this repo still maintained?

linked to #69.
I guess it's history repeating itself - there are two PRs open - one is from 2016!

I use this repo, although my usage is limited to using the dialog with checkboxes and radio buttons. If there is a bug I bump into, I fix it and release, but I won't be developing any new features unless I need them. For example, I do not need the feature requested in https://github.com/aakashns/react-native-dialogs/issues/99 I am open to reviewing and merging a PR for that thing if you need it.

Hey @vonovak, good to hear, I just was a bit thrown off by the open PRs.
I actually monkeypatched the spot in source:
mBuilder.inputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
I would love to attempt a proper PR though - even with limited android/ java knowledge.
Any pointer as to how/ where I should begin?
Do you have any suggestions how many types I should support?
This list here? https://developer.android.com/reference/android/text/InputType
Thanks.

I'm not familiar with the Android config stuff. For instance in RN 0.57+ this module isn't playing so nicely, we need to make some changes. I figured out what changes made it work, but I'm not sure if it's the right changes, and I'm not sure why these changes fixed it. https://github.com/aakashns/react-native-dialogs/issues/98
If we had some Android experts it would help a lot.

@vonovak you mentioned that you use dialogs with radio buttons.
Are you using Dailog.showPicker? Because I'm getting this issue when running with RN-0.57.4:
#101


Access error

Hi, I'm running Devops Training and trying to create my project template; but it gives account does not have permission.
could you please check?
my allias<EMAIL_ADDRESS>thank you
AB#3658

Hi @esraer1 Thank you for reaching us.
We are not controlling access to create project. The access is restricted to your Azure DevOps Organization where you are trying to provision the project.
#319 might help you.
Let me know if you need anything.
Thanks!!


[FEA] Support parsing dates and timestamps with timezone IDs in the string

Is your feature request related to a problem? Please describe.
When parsing CSV or JSON, and when casting from a string to a timestamp or a date it is allowed to have a timezone id in the string itself.  Ideally we should be able to support this. It might take some custom kernel work to do it. But if we can have the names of all of the time zones cached on the GPU along with the offset tables similar to what is described in https://github.com/NVIDIA/spark-rapids/issues/6831 and https://github.com/NVIDIA/spark-rapids/issues/6840 then we could detect zones that are UTC+/- and GMT +/- along with the actual named zones. (There are also aliases for UTC/etc that we will need a way to express too).  But with that, then the parsing code can look up the corresponding timezone and adjust the result appropriately when parsing the data.  This is likely going to need more custom kernels to make this fully work.

Alfred is co-working on this.

To note: It's probably more relevant to support offsets in the string as opposed to full timezone IDs. Offsets are part of the toString output of OffsetDateTime in Java, and the ISO 8601 format (using the 'Z'). The ISO 8601 format is common enough that it should be the priority of support in this feature.

I'm not planing work on this for release 24.04
@sameerz can we move it to next release?


Fix for job dropping runspace close error

If a job process crashes the client session cannot close cleanly and will error with an operation timeout, but the job class error handling code does not detect this case and the job state becomes "Completed" instead of "Failed".  The fix to detect this error condition is a simple one line addition.
I didn't add a test for this because it is a very specific error condition that involves crashing a process and I am concerned about de-stabilizing running tests by invoking WER or rescue debuggers.

LGTM, cc @PowerShell/area-remoting