Removing Infrastructure dependency from Presentation

Creating a separate class library which handles all DI could possible remove direct Infra dependency from WebUI. Share your thoughts

Totally agree. Just watched the NDC Sydney Conf 2019 video (great talk by the way, Jason) and thought exactly the same thing.
I suppose there are 2 obvious approaches to this:

the DI lib just calls the existing relevant .AddXyz() extension methods for each other layer; or
the DI lib does the heavy lifting and contains relevant registration logic that's in all the other .AddXyz() extension methods, stripping some/all logic out of there.

Both approaches involve the DI class library referencing the other necessary libs (except WebUI, as this can register its own services). Then, WebUI (and by extension, any other Presentation projects) just calls a setup method on the DI class library.
For me, I guess it's a mix of both approaches, as some setup is relevant to each library, and can be encapsulated as such; however, I think some bits might be able to be pulled out to the DI layer.
The reason I say this is the Infrastructure project relies on a connection string being named DefaultConnection in the config of the assembly running the code. I guess I'm splitting hairs, but perhaps this could be passed into the Infrastructure's .AddXyz() setup method, to ensure a bit of flexibility in future?
Another question (if Jason wanted to bring this up in his talks) would be how do we visually represent this "layering"? Is the DI lib a "sideways" segment of the layer at Infrastructure/Presentation level? Is it a thin layer between a Presentation and the rest of the architecture?
On balance, playing devil's advocate: is this splitting the DI into its own library even a good thing at all?
Just some ideas, throwing a few thought experiments around.
Feel free to critique/add your thoughts.

I particularly find this discussion quite interesting as the first thing that came to mind while watching the video when Jason mentioned that Presentation and Infrastructure layers should not depend on each other was "DI". I went on to look at the implementation and it became obvious that this separation may only be "wishful". So the question here is how do you achieve this separations in "Clean Architecture" while keeping in mind the "Entourage Anti-Pattern". I think the DI class was kept in the Infrastructure layer as a necessary evil.

This is something I've been struggling with as well: nobody seems to test their Startup or Program class; just taking for granted that if the application is running, that code must be correct and bug free?
This is wrong. We all make mistakes, registering singletons that depend on transient classes or letting some logic creep in to our startup code over the years. It seems clear that the root of the problem is that we have this component of our code that is fundamentally untestable because it depends on something we haven't defined in our model.
I would represent it as a Host or Environment layer outside of the existing layers.
I sorta think it is not appropriate for the presentation layer to contain the DI root but I don't know enough about the startup sequence of .net core to suggest how to fix it. Ideally Program and Startup are not in WebUI (at least not as they are now).  They are part of the environment that enables the presentation layer and not part of the presentation layer itself.

Apologies for the delay, I am trying to catch-up and stay on top of these issues so I can focus on adding new features! 😀
The reference from Presentation to Infrastructure exists only for the purposes of dependency injection. Therefore, Infrastructure should only be referenced within Startup (WebUI). If it appears anywhere else, we know this is a problem (managed using pull requests).
In addition, to help ensure that Startup doesn't become bloated with service registrations I've created IServiceCollection extensions methods within Application and Infrastructure (see DependencyInjection.cs).
I am relatively happy with this approach despite its apparent limitations. It is working well within my team. When that ceases to be the case, I will look for an alternative solution.
Regardless, I'd love to hear any recommendations for a simple and clean approach that manages service registration in a separate project. 😀


Add Netlify redirects to handle localised 404 pages

One more thing we could add to handle localised 404 pages would be a redirect in netlify.toml:
[[redirects]]
  from = "/:lang/*"
  to = "/:lang/404.html"
  status = 404

That would mean any language that included a 404 page could serve its own version. (Might look like this redirects everything to 404, but Netlify is clever.)
Originally posted by @delucis in https://github.com/withastro/docs/issues/175#issuecomment-1055928946
NB: We currently have an issue in Astro with 404 pages, so even if the redirects are successful, we might not see this correct behaviour until that's resolved. But, I still think this is a good addition to the docs site, and we can be prepared!

PR submitted for this! Thank you!


Add references to xxxExpression and schema docs

This page adequately explains how to make a very simple one, but it lacks references to figure out how to make a more complicated one.

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

ID: b45a275f-7b99-3611-589c-76774e23b35f
Version Independent ID: 5c85f403-d998-ff31-a08e-6bb9d3a8cdb9
Content: Create custom actions in Bot Framework Composer
Content Source: composer-docs/how-to-create-custom-actions.md
Service: bot-composer
GitHub Login: @emgrol
Microsoft Alias: v-eolshefski

Added a couple more links. Changes should be visible later today.

Thanks.
I have dug a bit more into this subject, and I still think this article is vastly lacking in resources to continue making more complex custom actions.

The demo class inherits from Dialog, but there is no reference to that anywhere, or any explanations what other alternatives are available. It is also really weird that the schema says it "$role": "implements(Microsoft.IDialog)",, but the Dialog class does not in fact inherit from anything.
Nor is the flow really explained to make the developer understand what is actually going on.
How to read and write User state?
How to read and write Dialog state?
There should be a note that setting runtimeSettings is only when doing it in an external library.
The magic incantation for storing the result should really be explained (dc.State.SetValue(this.ResultProperty.GetValue(dc.State), result);).
Default values (also for enums)?


Documentation Improvements

Documentation could be improved, I think:

Use Github Markdown with coloured syntax for code (it's makes it easier to read)
Router Configurations in the bootstrap file are in Config and not in Router; while that may make sense, it's not immediately obvious when looking for how to configure Router options
Perhaps moving all the docs in Github wiki or some platform where things can also be easily searched for.

Thanks and keep up the good work!

Its being ported to wiki right now.
But if you want to contribute/improve - you are welcome.


Zebra GK420D print upside down

We are moving from RHEL 6.9 CUPS 1.4.2 printing a label on a Zebra printer.  We are moving to SLES 15.2 CUPS 2.2.7, the same print job prints upside down on the SLES side.  We have pulled the zebra.ppd compiled for 2.1.3 and are using that as a driver in CUPS.  We have played with both the LandscapeOrientation and ParamCustomPageSize Orientation to have the image flip, but the image always comes out upside down.

This was an intentional change - the labels were upside down compared to the other label drivers.


Annotations - Adjust the font size in text field in considering the total width

it aims to fix #14502;
Acrobat and Pdfium do the same;
it'll avoid to have truncated data when printed;
change the factor to compute font size in using field height: lineHeight = 1.35*fontSize

this is the value used by Acrobat.

in order to not have truncated strings on the bottom, add few basic metrics for standard fonts.

I need to take into account how lines are broken.

/botio test

Before I attempt to review this, since it looks a bit complex, can we please run all tests to make sure there's no regressions?

Sure.
Likely there are few regressions from print tests because I changed the way to compute font size for auto-sized fields.
FYI, I created a form with different text fields in acrobat and let it decides the font size, I get field height+font size and ran a linear regression to guess the factor 1.35.
When the text field isn't large enough, the font size is reduced in order to exactly fit the field. I checked how it is done in pdfium:
https://pdfium.googlesource.com/pdfium/+/refs/heads/main/core/fpdfdoc/cpvt_variabletext.cpp#770
and the result isn't the same as in Acrobat.

/botio-windows test

/botio test

There is a failure with unittestcli at:
https://github.com/mozilla/pdf.js/blob/6b9cc24d49583c487d9267c98579fd4cd9db1704/test/unit/api_spec.js#L2013
and it's due to the fact that the font file is something and we don't enter in the then clause:
https://github.com/mozilla/pdf.js/blob/6b9cc24d49583c487d9267c98579fd4cd9db1704/src/core/fonts.js#L960
but with unittest, file is null here.
@Snuffleupagus do you have an idea why the behavior is different ?

do you have an idea why the behavior is different ?

Probably because the useSystemFonts option has different default values in browsers/Node.js, see https://github.com/mozilla/pdf.js/blob/6b9cc24d49583c487d9267c98579fd4cd9db1704/src/display/api.js#L163-L167
The solution is likely to update the expected values in the unit-test to something like this (and given that these changes are thus API-observable I'm also tagging the PR accordingly):
...
ascent: isNodeJS ? NaN : 0.683,
descent: isNodeJS ? NaN : -0.217,

do you have an idea why the behavior is different ?

Probably because the useSystemFonts option has different default values in browsers/Node.js, see https://github.com/mozilla/pdf.js/blob/6b9cc24d49583c487d9267c98579fd4cd9db1704/src/display/api.js#L163-L167
The solution is likely to update the expected values in the unit-test to something like this (and given that these changes are thus API-observable I'm also tagging the PR accordingly):
...
ascent: isNodeJS ? NaN : 0.683,
descent: isNodeJS ? NaN : -0.217,

/botio makeref

/botio-windows makeref

@Snuffleupagus do you know what's wrong here ?

/botio-windows makeref


Add skyreader[plots]

Turns out, we'd only save the meander install. That's not much added benefit for the added complexity


[WIP] Start with fastlane visuals

Migrated over from https://github.com/fastlane/ci/pull/273

This is annoying, but:
     Failure/Error: expect(content).to start_with("# `#{feature_directory.gsub('app/', '')}`")
       expected "This directory contains all code related to rendering and editing a `Fastfile`\n" to start with "# `features/fastfile_editor`"
     # ./spec/docs_spec.rb:11:in `block (4 levels) in <top (required)>'

fastlane.ci seems to be stuck on a branch or something so the wrong shas are getting tested

👎
2018-03-28 00:16:46 - NameError - undefined local variable or method fastfile_parser' for #<FastlaneCI::ProjectController:0x007fb1a2a70868> Did you mean?  fastfile_path: 	/Users/jliebowitz/dev/ci/app/features/project/views/project.erb:23:in block in singleton class'
/Users/jliebowitz/dev/ci/app/features/project/views/project.erb:-9:in instance_eval' 	/Users/jliebowitz/dev/ci/app/features/project/views/project.erb:-9:in singleton class'
/Users/jliebowitz/dev/ci/app/features/project/views/project.erb:-12:in __tilt_70200405793300' 	/Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/tilt-2.0.8/lib/tilt/template.rb:170:in call'
/Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/tilt-2.0.8/lib/tilt/template.rb:170:in evaluate' 	/Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/tilt-2.0.8/lib/tilt/template.rb:109:in render'
/Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:839:in render' 	/Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:682:in erb'
/Users/jliebowitz/dev/ci/app/features/project/project_controller.rb:193:in `block in class:ProjectController'

This is work in progress, haven't committed all the files yet

I'd be ok with merging this now - this will need to be updated slightly once https://github.com/fastlane/ci/pull/363 is ready & merged 👍


Remove mention of Mission Control in Helix.md

The /docs/Helix.md file in this repo mentions Mission Control and https://mc.dot.net URLs in a number of places. None of this is correct because the Helix infrastructure no longer relies on Mission Control. See dotnet/arcade#3578 for Arcade's similar cleanup.
/cc @MattGal

Is there any place where we can view entire test output logs other than Mission Control?

Is there any place where we can view entire test output logs like we had with Mission Control?

The URLs in the Helix build's console logs should work now that I got b9584d56d8b7 in. I haven't looked recently for a "don't show just failures" option but will later.


pre Auth0 Function vtl resolver has an error when comparing sort key between two values

How did you install the Amplify CLI?
npm
If applicable, what version of Node.js are you using?
v16.16.0
Amplify CLI Version
10.6.1
What operating system are you using?
Windows 10
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
No
Describe the bug
When creating a graphql model for DataStore that has an index in one or more attributes, it creates automatically a pipeline resolver for the sync operation written in vtl. The first function of this pipeline, that name ends with ...preAuth0Function, compares the pk and the sk and, as far as I could find, it does it in this way:
#if( !$util.isNull($ctx.args.get($sk)) && !$util.isNull($ctx.args.get($sk).between) )   #set( $modelQueryExpression.expression = "$modelQueryExpression.expression AND #sortKey BETWEEN :sortKey0 AND :sortKey1" )   $util.qr($modelQueryExpression.expressionNames.put("#sortKey", $sk))   $util.qr($modelQueryExpression.expressionValues.put(":sortKey", $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.get($sk).between[0]))))   $util.qr($modelQueryExpression.expressionValues.put(":sortKey", $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.get($sk).between[1])))) #end
Which is an error since the two ":sortkey" when adding the expression values should be ":sortkey0" and ":sortkey1" as in the expression to properly write the values into the query.
Expected behavior
The two ":sortkey" when adding the expression values should be ":sortkey0" and ":sortkey1" as in the expression to properly write the values into the query.
Reproduction steps
Create a graphql model for DataStore that has an index in one or more attributes and check in the Sync pipeline resolver, the first function ended with ...preAuth0Function. The comparison of the sk when in between two values has an error on the variables names.
Project Identifier
No response
Log output

# Put your logs below this line

Additional information
No response
Before submitting, please confirm:

[x] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

Hey @ritxweb , Thank you for raising this issue. we would recommend you to catch the errors on client side as shown is the below code sample as a workaround to resolve this issue.  This issue due to the this line of code in API.GraphQL module.
async function getTodos() {
  let result = {}
  try {
    result.data = await API.graphql({ query: queries.listTodos })
  } catch(error) {
    result.error = error
  }
  return result
}

Any news about this?

Hi @ritxweb, thanks for reporting this. I am able to reproduce this issue and it looks like a bug. I've used the below schema with DataStore enabled:
type MyModel @model {
  id: ID!
  name: String! @index(name: "byNameAndPhoneNumber", sortKeyFields: ["phoneNumber"], queryField: "myModelByNameAndPhone")
  phoneNumber: String!
}

The generated resolver for the QueryByNameAndPhoneNumber query looks correct:
#if( !$util.isNull($ctx.args.phoneNumber) && !$util.isNull($ctx.args.phoneNumber.between) )
  #set( $modelQueryExpression.expression = "$modelQueryExpression.expression AND #sortKey BETWEEN :sortKey0 AND :sortKey1" )
  $util.qr($modelQueryExpression.expressionNames.put("#sortKey", "phoneNumber"))
  $util.qr($modelQueryExpression.expressionValues.put(":sortKey0", { "S": "$ctx.args.phoneNumber.between[0]" }))
  $util.qr($modelQueryExpression.expressionValues.put(":sortKey1", { "S": "$ctx.args.phoneNumber.between[1]" }))
#end

But I see that the Sync Query however does not set the sortKey0 and sortKey1 variables:
#if( !$util.isNull($ctx.args.get($sk)) && !$util.isNull($ctx.args.get($sk).between) )
  #set( $modelQueryExpression.expression = "$modelQueryExpression.expression AND #sortKey BETWEEN :sortKey0 AND :sortKey1" )
  $util.qr($modelQueryExpression.expressionNames.put("#sortKey", $sk))
  $util.qr($modelQueryExpression.expressionValues.put(":sortKey", $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.get($sk).between[0]))))
  $util.qr($modelQueryExpression.expressionValues.put(":sortKey", $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.get($sk).between[1]))))
#end

Hello. Any news about this?

Hello. Any news about this?


How to use multiple gpus for pruner

Lottery Ticket pruner  running on one GPU  is OK, but when i used multi gpus was defeated.
import torch
import torch.nn as nn
import torch.nn.functional as F
import torch.utils.data
import torchvision.datasets as datasets
import torchvision.transforms as transforms
from nni.compression.torch import LotteryTicketPruner

class fc1(nn.Module):

    def __init__(self, num_classes=10):
        super(fc1, self).__init__()
        self.conv = nn.Sequential(
            nn.Conv2d(1, 32, kernel_size=3, stride=1, padding=1),
            nn.BatchNorm2d(32),
            nn.ReLU(inplace=True)
        )
        self.classifier = nn.Sequential(
            nn.Linear(32*28*28, 300),
            nn.ReLU(inplace=True),
            nn.Linear(300, 100),
            nn.ReLU(inplace=True),
            nn.Linear(100, num_classes),
        )

    def forward(self, x):
        x = self.conv(x)
        x = torch.flatten(x,1)
        #x = torch.flatten(x, 1)
        x = self.classifier(x)
        return x

def train(model, train_loader, optimizer, criterion):
    device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
    model.train()
    for imgs, targets in train_loader:
        optimizer.zero_grad()
        imgs, targets = imgs.to(device), targets.to(device)
        output = model(imgs)
        train_loss = criterion(output, targets)
        train_loss.backward()
        optimizer.step()
    return train_loss.item()

def test(model, test_loader, criterion):
    device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
    model.eval()
    test_loss = 0
    correct = 0
    with torch.no_grad():
        for data, target in test_loader:
            data, target = data.to(device), target.to(device)
            output = model(data)
            test_loss += F.nll_loss(output, target, reduction='sum').item()  # sum up batch loss
            pred = output.data.max(1, keepdim=True)[1]  # get the index of the max log-probability
            correct += pred.eq(target.data.view_as(pred)).sum().item()
        test_loss /= len(test_loader.dataset)
        accuracy = 100. * correct / len(test_loader.dataset)
    return accuracy

if __name__ == '__main__':
    transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.1307,), (0.3081,))])
    traindataset = datasets.MNIST('./data', train=True, download=True, transform=transform)
    testdataset = datasets.MNIST('./data', train=False, transform=transform)
    train_loader = torch.utils.data.DataLoader(traindataset, batch_size=60, shuffle=True, num_workers=10, drop_last=False)
    test_loader = torch.utils.data.DataLoader(testdataset, batch_size=60, shuffle=False, num_workers=10, drop_last=True)

    device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
    model = fc1()
    if torch.cuda.device_count()>1:
        model = nn.DataParallel(model)

    model.to(device)
    optimizer = torch.optim.Adam(model.parameters(), lr=1.2e-3)
    criterion = nn.CrossEntropyLoss()

    configure_list = [{
        'prune_iterations': 5,
        'sparsity': 0.86,
        'op_types': ['default']
    }]
    pruner = LotteryTicketPruner(model, configure_list, optimizer)
    pruner.compress()

    for i in pruner.get_prune_iterations():
        pruner.prune_iteration_start()
        loss = 0
        accuracy = 0
        for epoch in range(10):
            loss = train(model, train_loader, optimizer, criterion)
            accuracy = test(model, test_loader, criterion)
            print('current epoch: {0}, loss: {1}, accuracy: {2}'.format(epoch, loss, accuracy))
        print('prune iteration: {0}, loss: {1}, accuracy: {2}'.format(i, loss, accuracy))
    pruner.export_model('model.pth', 'mask.pth')

RuntimeError: weight__storage_saved.value().is_alias_of(weight_.storage()) ASSERT FAILED at /opt/conda/conda-bld/pytorch_1556653114079/work/torch/csrc/autograd/generated/VariableType_2.cpp:8492, please report a bug to PyTorch.

I have tested fpgm_torch_mnist.py on multi gpus also defeated.

thanks @xuezu29 for reporting this issue. Currently model compression does not support DataParallel. The support will be included in release v1.4. Now, we are also checking DistributedDataParallel, will update when we get result.

@QuanluZhang Thanks nni team !

@xuezu29  you can track the status of pr #1923 . Thanks for bringing up this issue!

@xuezu29  data parallel has been supported in v1.4, please refer to this example

@QuanluZhang Sorry but the example website is 404. So can we use DistributedDataParallel or DataParallel on the NAS model now? And how should we set the gpuNum? Thank you!

@QuanluZhang Sorry but the example website is 404. So can we use DistributedDataParallel or DataParallel on the NAS model now? And how should we set the gpuNum? Thank you!

The file has been renamed, you can find the update example here: https://github.com/microsoft/nni/blob/master/examples/model_compress/model_prune_torch.py

@xuezu29 data parallel has been supported in v1.4, please refer to this example
Hi, could you please provide the latest link to the tutorial of using nni.pruner in ddp training mode?


Pitch and roll are swapped

Should be resolved in 381d41e but may require doble checking. The best would be to check with a third person.


Feature Maya import asset from scene inventory

Closes PYPE-1399

+1 for removing the container.
Not sure the end goal of this feature is the same as what my studio have, so just my 2 cents :
For look type subset, maybe copy and re-path those published texture files into workspace is also desired ?

Not sure the end goal of this feature is the same as what my studio have, so just my 2 cents :

This was a simple request, to just be able to import references in the scene, but indeed it is directly related to your feature. You just got it further. I like your approach so let's maybe have a look if we can port it to us as and upgrade to this!


How do I call database insert operation using ants

I have a for loop, which inserts data into the 2 different tables. How can I use ants in this case.

for _, row := range rows {
 user := User{}
 user.Name = row.Name
 user.Email = row.Email
 err := dm.Insert(&user)
 if err != nil {
  panic(err)
 }
 address := Address{}
 address.Address1 = row.Address1
 address.Address2 = row.Address2
 address.PinCode = row.PinCode
 address.City = row.City
 err := dm.Insert(&address)
 if err != nil {
  panic(err)
 }
}

@kiranupadhyak Can you share more details about your use case, eg: why you want to use ant for db inserts ? In ant order of function invocation by worker is not deterministic. Can it cause problems if you are expecting some order during insert ?
May be you can use ants.NewPoolWithFunc

u can try this：
first u can declare a func() chan:

task:=make(chan func())

then use for range receive the task ：

go func() {
for t:=range task {
ants.Submit(t)
}
}

last：

for _, row := range rows {
f:=func() {
user := User{}
user.Name = row.Name
user.Email = row.Email
err := dm.Insert(&user)
if err != nil {
panic(err)
}
address := Address{}
address.Address1 = row.Address1
address.Address2 = row.Address2
address.PinCode = row.PinCode
address.City = row.City
err := dm.Insert(&address)
if err != nil {
panic(err)
}
}
task<- f
}


It should work nicely without Internet connection

It should work if it's only connected to a local network without external Internet connection. And the result should only be ONVIF cameras, because camera identification by MAC address won't work without Internet (It needs to send request to Evercam see it's a camera vendor or not).
But I couldn't test this, I am not sure how to simulate the network to be local only .. Any suggestions? @scandox @marcoherbst


reading API keys from .env file

I saw this function:
func New() (*LLM, error) {
	token := os.Getenv(tokenEnvVarName)
	if token == "" {
		return nil, ErrMissingToken
	}
	c, err := huggingfaceclient.New(token)
	return &LLM{
		client: c,
	}, err
}

And I know i can modify it to read the key from .env file, using godotenv like:
package main

import (
	"fmt"
	"log"
	"os"

	"github.com/joho/godotenv"
)

func main() {
	err := godotenv.Load() // will load the ".env" file
	if err != nil {
		log.Fatalf("Some error occured. Err: %s", err)
	}

	env := os.Getenv("HUGGINGFACEHUB_API_TOKEN")
	if "" == env {
             log.Fatalf("Can not find the API")
       }
}

Is there a way to modify the New() function through something like an extension instead of modifying the package code itself.
I know ths could be considered as a general golang question rather than directly related to this package, but though to ask you. Thanks

I solved it by creating a wrapper function around the New() function that loads the environment variables from the .env file using godotenv before calling the original New() function.
package main

import (
	"fmt"
	"log"

	"github.com/joho/godotenv"
	hf "github.com/tmc/langchaingo/llms/huggingface"
)

func NewWithDotEnv() (*hf.LLM, error) {
	err := godotenv.Load()
	if err != nil {
		return nil, err
	}
	return hf.New()
}

func main() {
	llm, err := NewWithDotEnv()
	if err != nil {
		log.Fatal(err)
	}
	completion, err := llm.Call("What would be a good company name for a company that makes colorful socks?")
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(completion)
}


Update scijava version to 30.0.0

Describe the bug
BoneJ is using scijava v. 29.2.1 but 30.0.0 is current
The updater script is complaining...

Tests fail, IIRC this is likely to be in the way the test data maker generates the data or the way the tests check the dimensions. In the past this was resolved only by removing tests.
[ERROR] Tests run: 18, Failures: 4, Errors: 0, Skipped: 0, Time elapsed: 0.978 s <<< FAILURE! - in org.bonej.wrapperPlugins.AnalyseSkeletonWrapperTest
[ERROR] testIntensityImageChannelsCancelPlugin(org.bonej.wrapperPlugins.AnalyseSkeletonWrapperTest)  Time elapsed: 0.043 s  <<< FAILURE!
org.junit.ComparisonFailure: expected:<[The intensity image can't have a channel dimension]> but was:<[An error occurred while opening the image]>
	at org.bonej.wrapperPlugins.AnalyseSkeletonWrapperTest.testIntensityImageChannelsCancelPlugin(AnalyseSkeletonWrapperTest.java:188)

[ERROR] testIntensityImageFramesCancelPlugin(org.bonej.wrapperPlugins.AnalyseSkeletonWrapperTest)  Time elapsed: 0.024 s  <<< FAILURE!
org.junit.ComparisonFailure: expected:<[The intensity image can't have a time dimension]> but was:<[An error occurred while opening the image]>
	at org.bonej.wrapperPlugins.AnalyseSkeletonWrapperTest.testIntensityImageFramesCancelPlugin(AnalyseSkeletonWrapperTest.java:206)

[ERROR] testIntensityImageMismatchingDimensionsCancelPlugin(org.bonej.wrapperPlugins.AnalyseSkeletonWrapperTest)  Time elapsed: 0.035 s  <<< FAILURE!
org.junit.ComparisonFailure: expected:<[The intensity image should match the dimensionality of the input] image> but was:<[An error occurred while opening the] image>
	at org.bonej.wrapperPlugins.AnalyseSkeletonWrapperTest.testIntensityImageMismatchingDimensionsCancelPlugin(AnalyseSkeletonWrapperTest.java:226)

[ERROR] testNot8BitIntensityImageCancelsPlugin(org.bonej.wrapperPlugins.AnalyseSkeletonWrapperTest)  Time elapsed: 0.018 s  <<< FAILURE!
org.junit.ComparisonFailure: expected:<[The intensity image needs to be 8-bit greyscal]e> but was:<[An error occurred while opening the imag]e>
	at org.bonej.wrapperPlugins.AnalyseSkeletonWrapperTest.testNot8BitIntensityImageCancelsPlugin(AnalyseSkeletonWrapperTest.java:293)

Agreed, it's the way the test data is created in the tests that causes these failures, similar to #275. One way forward that I'd be happy with would be to document these failures in #275 or a separate issue, and remove the tests for now?

Scijava was updated in #311 to 31.1.0


Add Persian Language Support

Hi. This PR adds initial support for the Persian language. (ISO compatible fa (farsi) is used for lang code)

👍 available from v0.9.4


init qp

Codecov Report

Merging #32 (2c3dc82) into master (8bd81c4) will decrease coverage by 0.15%.
The diff coverage is 39.75%.

@@            Coverage Diff             @@
##           master      #32      +/-   ##
==========================================
- Coverage   68.35%   68.20%   -0.16%
==========================================
  Files          15       15
  Lines        1754     1780      +26
==========================================
+ Hits         1199     1214      +15
- Misses        474      485      +11
  Partials       81       81

Impacted Files
Coverage Δ

pkg/activity/zwift/zwift.go
45.49% <3.44%> (-1.18%)
:arrow_down:

pkg/activity/cyclinganalytics/cyclinganalytics.go
67.14% <5.88%> (-1.75%)
:arrow_down:

pkg/activity/rwgps/rwgps.go
59.49% <81.25%> (+1.32%)
:arrow_up:

pkg/activity/strava/strava.go
86.57% <83.33%> (+0.17%)
:arrow_up:

pkg/activity/qp/qp.go
81.31% <100.00%> (+0.19%)
:arrow_up:

Continue to review full report at Codecov.

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


Provide jobIds behind model creation in run_results.json

In BigQuery, each time SQL is executed, a job is created and assigned a unique ID. (Example: job_9JVepH9O1bzemNfB6xZzxz_mfFkY) When DBT runs it checks for the results/status of these jobs.
We've found the run_results.json file extremely useful, and being able to tie these results (errors, compiled SQL, variables, tags, etc.) back to the specific job that executed in BigQuery for additional information and troubleshooting would make run_results.json even more useful.
Describe alternatives you've considered
You could try to look at a combination of DBT logs and BigQuery logs in Stackdriver Logging and try to approximate which exact job corresponded to the model creation by timestamp proximity or query (compiled SQL), but those methods are not deterministic.
Additional context
This is specific to BigQuery for now, but I am sure there are parallels in other databases (transaction ID? query ID?).
Another aspect to consider would be whether to provide multiple jobIds if there is a macro called in the model that executes additional queries against the database.
Who will this benefit?
Anyone that wants to tie run results back to specific jobs for additional debugging would benefit from this feature.

I also think this would be an interesting enhancement. Any plans to pick this up for a future release?

Another aspect to consider would be whether to provide multiple jobIds if there is a macro called in the model that executes additional queries against the database.

This would be our biggest challenge with implementing this today. In the meantime, we do include:

the invocation_id + node unique_id in a prepended query comment by default
the invocation_id as a job label (as of #2809)

Both of those should allow you to tie dbt's run_results.json back to BigQuery's INFORMATION_SCHEMA.JOBS_BY_*.

Thanks for the info @jtcohen6
This is indeed the primary goal to link to JOBS_BY_* views. Having the invocation_id in the job labels will solve this so there is no need for me to have the job_id in the logs or run_results.json file.
In what dbt release will the invocation_id label be included?


RFC: Nested groups in imports

This is an incremental improvement to syntax of imports.
With this RFC groups inside of braces {} in imports can be nested
use syntax::{
    tokenstream::TokenTree, // >1 segments
    ext::base::{ExtCtxt, MacResult, DummyResult, MacEager}, // nested braces
};

and globs * can be placed into groups as well
use syntax::ast::{self, *}; // * in braces

Closes https://github.com/rust-lang/rfcs/issues/1400
Closes https://github.com/rust-lang/rfcs/issues/1290
Rendered

Rendered: https://github.com/petrochenkov/rfcs/blob/use/text/0000-use-nested-groups.md

Thanks, @petrochenkov, for hopping on this! Somehow it hadn't been targeted as part of the ergonomics initiative previously. I'm very much in favor; I've wanted this syntax many, many times.
There's not really a lot to critique here, so I'm going to go ahead and propose FCP, which will ping the other members of the lang team to review.
@rfcbot fcp merge

I had no idea insta-FCP was even allowed, but this is a perfect RFC to do it on.

@Ixrec yeah my thoughts exactly. Note though that the lang team still has to sign off to go into FCP, which is part of why I wanted to get the ball rolling right away. With luck, we'll be merging this in two weeks time...

Would the following be legal under this RFC? (Without asking about if it would be desirable to use it this way although I think I like this :sweat_smile:)
// adopted from rand's lib.rs
use ::{
    chacha::ChaChaRng,
    isaac::{IsaacRng, Isaac64Rng},
    distributions::{
        range::SampleRange,
        Range,
        IndependentSample,
    },
    std::{
        cell::RefCell,
        io, marker, mem,
        num::Wrapping as w,
    },
};

And, if that was legal, would it also legal without the leading :: (e.g. use { /* *snip* */ })? Should it be?

@lukaramu
Yes, this should be legal, both with and without :: (unless https://github.com/rust-lang/rfcs/pull/2126 changes something in this area, I haven't read it yet).
This is a logical extension of use ::{a, b, c}; and use {a, b, c}; which are legal currently.
(Also, see the grammar in the RFC text, it accepts the example.)

Minor thing: It looks like the grammar allows
use std::mem::{*, copy};

At the grammar level that's reasonable, but should there be a lint about it?

@scottmcm Do we currently lint on use std::mem::*; use std::mem::copy;? If yes, that lint should apply to that example too. If no, then that lint would have to be proposed separately.

@scottmcm
It's assumed that code like this is reported by unused_imports lint.
https://play.rust-lang.org/?gist=eaeded63b68e2b63d84f173fce79c832&version=nightly
// use std::mem::{*, swap};
use std::mem::*; // WARN unused import: `std::mem::*;`
use std::mem::swap;

fn main() {
    let mut x = 0;
    let mut y = 0;
    swap(&mut x, &mut y);
}

https://play.rust-lang.org/?gist=5d9069fe10d07f8a3046d5a9bc82ecce&version=nightly
// use std::mem::{*, *};
use std::mem::*;
use std::mem::*; // WARN unused import: `std::mem::*;`

fn main() {
    let mut x = 0;
    let mut y = 0;
    swap(&mut x, &mut y);
}

IIRC how name resolution works, that's not even a useless thing to do, because if you have multiple glob imports, the explicit import of copy will shadow any other items called copy from the other globs, instead of causing an ambiguity error upon use?

@glaebhoerl

if you have multiple glob imports, the explicit import of copy will shadow any other items called copy from the other globs, instead of causing an ambiguity error upon use

Yep, that's a valid use case too.
In general, the "don't think, desugar" seems like a reasonable approach because If some imports look suspicious in "merged" form, then they should be reported in "unmerged" form as well.

I second @petrochenkov that simple desugarings help users form the intuition "it's just a shorthand", and while refactoring the transformation is simpler for both humans and tools.

I'm pretty strongly against importing from multiple crates with a single use statements and I'd like us to consider it unidiomatic. But it makes sense for it to be allowed technically.

The RFC is jolly good as it stands, but I am tempted to ask: are there obvious reasons not expand this to re-exports? As in
pub use module::this_here_fn;
pub use module::yonder::{Struct, Trait};
pub use module::yonder::window::*;

becoming
pub use module::{
    this_here_fn,
    yonder::{Struct, Trait, window::*},
};

Such "re-export lists" would work nicely with the façade pattern. Moreover, once nested imports land on stable, it would feel rather inconsistent to have use declarations nest in one direction, but not the other.

@tapeinosyne I don't see anything in this RFC that explicitly restricts this from working with visibility modifiers, so I don't see why your example wouldn't work when this RFC is eventually implemented.

@retep998 Explicitly restricts, no. Carefully avoids mentioning, yes. Imports and imports only are explicitly mentioned in the title, the examples, and the syntax section of the Reference-level explanation. (I am not aware of whether, in a strict technical sense, pub use is exactly an import made public and nothing more. Either way, as you say, it's worth clarifying.)
Besides, re-export lists look a bit like a little zombie hand sticking out of the grave of export lists long gone, which may unduly faze some…

@tapeinosyne It may be worth calling out explicitly, but I guarantee given the author that this was assumed to cover pub use.

@tapeinosyne

Carefully avoids mentioning, yes.

The grammar explicitly contains visibilities, but I should make it more prominent, yes.
This change is independent from pub, so it didn't occur to me to mention it specifically.

@petrochenkov The grammar explicitly contains visibilities

Oh, you are right. Apologies, I must have missed that.

:+1: from me.
It's not something that's used often, but there are some common patterns that it makes prettier / less painful to write, and (probably) doesn't add too much complexity to the import system.
One example that always annoys me is
use std::io;
use std::io::prelude::*;

which can now be simply
use std::io::{self, prelude::*};

This RFC has been merged! Tracking issue.
Thanks @petrochenkov!


#LUC065-109 Changed the header from X-Forwarded-For to NS-X-Forwarded-For

Made the change in ExportEventProcessor.getBaseParameters

Looks good based on Datashare DSpace 6 change.


Update model-binding.md

Addresses: https://github.com/dotnet/AspNetCore.Docs/issues/25448

Nice work, thanks.

@fiyazbinhasan  Addresses won't automatically close the issue. We use Fixes #1234. You can you any of the keywords listed here


Add icons to the items

Hello, my name is A.A.D.Sailaja. I am a Tech Enthusiastic and i'm looking forward to contribute in open source projects. Here in this project i would like to add icons to Items as you can see in the image
Can you please assign me this issue under gssoc'24

Hey @sailaja-adapa,
I would like to work upon this issue as a GSSOC'24 contributor. Could you please assign me this issue.
thankyou!!!

@priti200
This issue has already been identified & is currently being addressed in #202. You can follow the progress and participate in the discussion there. You can comment there to get assigned if the assignee gets inactive for 7+ days.
To keep our issue tracker organized, I will be closing this issue.


Support matrix transform methods

I could not find the syntax sugar api:
To take m-to-n vectors from Matrix
To remove m-to-n vectors from Matrix

f.e.
void main() {
  final matrix = Matrix.fromList([
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
  ]);

  final slice = matrix.slice(1, 3, 0, 2);
  final subMatrix=matrix.subMatrix(1,2,2);

  print(slice);
  // [[4.0, 5.0], [7.0, 8.0]]
   print(subMatrix);
     // [ [4, 5, 6],
   // [7, 8, 9],]
}

@II11II Hello! Again, thank you for your interest in the lib. Indeed, there is no such API. Though it looks valuable, I'll consider adding such functionality.

@II11II But you may use this method in Matrix class instead


New Feature: Force initial login as superuser (resubmission)

The user panel now looks for DEBUG_TOOLBAR_USER_PANEL_SECURE in the
settings module.  If set to True, the user panel will only function if
logged in initially as a superuser.  If the setting is not present, the
toolbar defaults to being enabled.
Added process_request method to panel which sets an 'enabled' flag on the session based
on whether the toolbar should be enabled or not.
Added conditional to content template to hide all forms and show a help
message if the panel is disabled.
Added logic to views to check if the toolbar should be disabled.  In
primary view, an enabled flag has been added to the template context.
In the login and login_form views, the django PermissionDenied
exception is raised.

Sorry, just found a bug I missed in testing.  Closing.


Prebatched dataset saving for particular tests

uses more disk but speeds up training initialization

Currently, we load a generic dataset and filter & process it on the fly. We could speed up modelling for 'popular' tasks by pre-building and pre-saving task specific datasets.


Improve event message when workload creation fails [pod groups]

What type of PR is this?
/kind cleanup

What this PR does / why we need it:
To make the message less confusing. Currently it says "group total count is less than the actual number of pods in the cluster" which can be misleading IMO, because it has nothing to do with the "actual number of pods in the cluster"
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?

NONE

/assign @tenzen-y

/assign @alculquicondor


Put documentation into proper repository

Add the documentation to this repo

i mean its not broken so why fix it

I mean it's not broken so why fix it
Why not keep it organised?

@Misly16 handle this please im not a frontend person

Too much effort, as you would have to build it and then transfer it all over

Too much effort, as you would have to build it and then transfer it all over

Why not build from that repo?

Because you would need the source and npm installed with the dependencies

Because you would need the source and npm installed with the dependencies

Yeah, ok


Rusqlite version 0.19

updating Rust to 1.36.0 leads to Indy not being able to build.
Upgrading rusqlite and deleting a dependency on libsqlite3-sys solves the problem.
libindy tests succeed

@AxelNennker thanks for catching that and the fix! I've tried to migrate to newer Rust but have no time to migrate to new rusqlite API
@mattraffel it may be interesting for you


DEPS.xwalk: Roll v8-crosswalk (8b62e72 -> 28a1ef3)

28a1ef3 Merge pull request #127 from chuan9/XWALK-6190
e417fa3 SIMD.js Resolve error on arm64 in building BUG=XWALK-6190

This finally allows M48 to build on ARM64 and unblocks our canary
builds.
BUG=XWALK-6190

rs=me


Setup travis to run tests on mssql

I have something ready for this in knex repo (even though IIRC even knex’s mssql test are not passing yet).

Hi, I've started working on this.  I'm assuming there's still interest in accepting a PR for this, but if not, please let me know.

I've configured the mssql server docker container, setup script, and integration test configurations in this branch: https://github.com/baumandm/objection.js/commit/f36993bbc11a0b9fbd94fa6fd9440da63dd74884
Currently it's connecting successfully, but running into what appear to be database-specific issues (e.g. inserting into identity columns when IDENTITY_INSERT is set to OFF).  Not sure I'll be able to sort out all of these issues.

@koskimas Considering that Travis is becoming less and less friendly towards open source community, wouldn't it be a better option to migrate to GitHub Actions or CircleCI instead?
We've recently completed transtition of knex to GitHub Actions, and it is so, so much faster than Travis ever was.
I can submit a PR to do the conversion of Objection repo as well.

I also second this. It seems GitHub actions or Circle CI will be a better choice


Update CircleCI to run on Ubuntu 14.04 LTS instead of Ubutnu 12.04 LTS

Noticed when working on a past PR that I had to manually setup CircleCI to use Ubutnu 12.04 LTS, which is no longer being supported (see link).
PR updates only change needed to get CircleCI builds functional on 14.04.

Also worth noting: Mbed OS moved to GCC 6 at version 5.6. We should consider splitting the CI based on GCC version so that we don't accidentally catch incompatibilities that are not bugs. That can be left to another PR.

@screamerbg Is there a reason that we need to keep Circle at 12.04?

@theotherjimmy none that I can think of. LGTM


Count errors by identifier

In phpstan 1.11 every error will get an error identifier.
Would be great this tool could count the number of errors per identifier

I'm affraid this would yield thousands of lines report. Not sure how it would be used in practice to make the change happen.
Goal of this package is to keep it simple and inspire to change, so if you can come up with some "top-10 identiefiers", we could give it a go = PR welcomed :+1:


Fix agent_changelog command

What does this PR do?
The requirements-agent-release.txt file we parse to generate the changelog has a weird git history and the generation command wasn't working correctly. This PR fixes the logic and adds a fair bunch of comments/docstrings so the process is better documented now.
Review checklist

[ ] PR has a meaningful title or PR has the no-changelog label attached
[ ] Feature or bugfix has tests
[ ] Git history is clean
[ ] If PR impacts documentation, docs team has been notified or an issue has been opened on the documentation repo
[ ] If PR adds a configuration option, it has been added to the configuration file.

Codecov Report

Merging #2808 into master will decrease coverage by 6.27%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master   #2808      +/-   ##
=========================================
- Coverage   84.88%   78.6%   -6.28%
=========================================
  Files         660      23     -637
  Lines       37572     776   -36796
  Branches     4504      80    -4424
=========================================
- Hits        31894     610   -31284
+ Misses       4363     138    -4225
+ Partials     1315      28    -1287


Add many content server tests

Changes:
A. We made TTL backwards time configurable, but not by env variable. We did this so that we can modify it in tests
B. We added a few tests:

When a server finds a new deployment with already known content, it can still deploy it successfully
When a user tries to fix an entity, it doesn't matter if there is already a newer entity deployed
When a pointer is denylisted, then the history is empty
When a pointer is not denylisted, then it reports the history correctly

You also packaged all the service validations inside a Validations class.


Add kulkarnigaurav38

There are 3 commits as for the earlier two, I didn't put my name in lexicographical order so had to revert it, now the latest one is the correct one, please Merge it.

Thanks for opening this PR :)
It's totally fine to revert commits :+1:


[WFLY-18040] Tests if deployments can share client context if static interceptors are used

Tests if deployments can share client context if static interceptors are used.
Test case for WFLY-18040

Hi @tadamski @dcihak , have the requested changes been resolved? Would like to get this PR merged as it's downstream dependent

I think we can merge it

Hi @bstansberry Can we merge this one?

Thanks @dcihak and @tadamski


samples: net: can: Readme file was missing

The socket CAN application was missing a README.rst file.
Signed-off-by: Jukka Rissanen<EMAIL_ADDRESS>

Codecov Report

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

@@            Coverage Diff             @@
##           master   #14304      +/-   ##
==========================================
+ Coverage   51.97%   51.97%   +<.01%
==========================================
  Files         308      308
  Lines       45512    45512
  Branches    10546    10546
==========================================
+ Hits        23656    23657       +1
  Misses      17055    17055
+ Partials     4801     4800       -1

Impacted Files
Coverage Δ

arch/posix/core/posix_core.c
91.91% <0%> (+1.01%)
:arrow_up:

Continue to review full report at Codecov.

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

Updated according to comments.


[Enhancement] Add a minimumHoldTimeBeforeTrigger property

It would be convenient to be able to set the minimum time that the user must hold it down in order for the pulltorefresh to be triggered. I say this because in my app, it always accidentally triggers when I scroll up to the top and the scrollview bounces.

https://github.com/LawrenceHan/SVPullToRefresh


BVN Consent Screen

Story: https://app.shortcut.com/smileid/story/9096/add-bvn-custom-consent-screens-to-the-v10-android-sdk
Summary
Verifies the NIBSS BVN  via OTP sent to users directly by NIBSS
Known Issues
I had a few ideas on how to convert the map to a data class. Since we can have more than one key on the backend, using moshi to serialize the map to sealed class was not going to be viable since they keys can be duplicate. So I opted to do a manual map (inside utils) but we need to have a else since we are mapping strings ideally (not sure what we need to put on the else block)
I have not found an easy modifier to fix the spacing issue on the otp textfield (make the 6 digits fit the width). We could however use individual boxes to represent the OTP, so create 6 textfields and display them in the same way the design looks like
Test Instructions
Concise test instructions on how to verify that your feature works as intended. This should include
changes to the development environment (if applicable) and all commands needed to run your work.
Screenshot
If applicable (e.g. UI changes), add screenshots to help explain your work.

Some UI Notes after testing:

On the Select Contact Method screen, it lets you click Continue before you've made a selection (This might mean you have to revert the change I had previously suggested about coupling the loading and enabled states)

If so, then on the first page for BVN entry, we should disable the Continue button until 11 digits have been entered.

On the OTP Verification page, the keyboard hides the Continue button. You should look into Modifier.imePadding() and Modifier.imeNestedScroll() to change the location of the button depending on whether the keyboard is shown
On the OTP Verification page, clicking the "Enter" button the keyboard currently doesn't do anything. It should submit the BVN
Entering an incorrect OTP fails silently. We should display some sort of message (toast or snackbar or error on the input field)
The OTP Verification header top margin does not match the top margin of header from the previous screen


get_batch_stock_quotes stopped working

Hi!
I was using get_batch_stock_quotes on regular basis and suddenly it stopped working (without updating av or any other python libraries). Calling the function for some list of stocks produces the error:
File ".../site-packages/alpha_vantage/alphavantage.py", line 292, in _handle_api_call
raise ValueError(json_response["Error Message"])
ValueError: This API function (BATCH_STOCK_QUOTES) does not exist.
I used simple code:
ts = TimeSeries(key='myPremiumKey',
output_format='pandas',
indexing_type='date')
ts.get_batch_stock_quotes(['AAPL','MSFT','AMZN','GOOG'])
Do you have any idea what might be a problem?

Closing since the patch is currently in the develop branch

Which function should one use instead? Thanks!

Hi @hydroo, you could run multiple API calls asynchronously or multithreaded instead. Take a look here for some more information on the multithreading approach: https://medium.com/alpha-vantage/data-is-taking-to-long-to-get-back-d48e3bf8f59b
and here for the async approach (currently in the develop branch): https://github.com/RomelTorres/alpha_vantage/pull/191

@PatrickAlphaVantage I specifically used this API because of the 5 API calls per minute limit on the free plan. I just want to fetch a few prices a few times every few months. Nothing fancy.
So AlphaVantage is replacing a bulk query call with lots of single calls? That seems wasteful and counter-intuitive to me. Is there no alternative, except multi-threading?

At the moment, there is no bulk call replacement. It had been an undocumented and unsupported endpoint for quite some time, and only recently finally removed.


MRTK's Appx Build Options tab on the build menu doesn't list "ARM64" as a choice

Ported to github, reference 20430683

The Architecture enum does have ARM as an option:
https://github.com/microsoft/MixedRealityToolkit-Unity/blob/e1c20568f7b39d17b9ccde8376b5328cc0314834/Assets/MixedRealityToolkit/Utilities/BuildAndDeploy/BuildDeployWindow.cs#L41
so I'm repurposing this issue to track ARM64 support in Unity 2019


no package for oracle/oci v6.11.0

Thank you for reporting an issue.
I'm unable to run tofu init anymore. The same configuration worked yesterday.
This is the error:
tofu init
...
╷
│ Error: Incompatible provider version
│
│ Provider registry.opentofu.org/hashicorp/oci v6.11.0 does not have a package available for your current platform, darwin_arm64.
│
│ Provider releases are separate from OpenTofu CLI releases, so not all providers are available for all platforms. Other versions of this provider may have different platforms supported.
╵

╷
│ Error: Incompatible provider version
│
│ Provider registry.opentofu.org/oracle/oci v6.11.0 does not have a package available for your current platform, darwin_arm64.
│
│ Provider releases are separate from OpenTofu CLI releases, so not all providers are available for all platforms. Other versions of this provider may have different platforms supported.

I have to specify version 6.10 in the terraform file to get things done.
OpenTofu Version
OpenTofu v1.6.2
on darwin_arm64

OpenTofu Configuration Files
provider "oci" {
  auth   = var.auth == "" ? null : "${var.auth}"
  region = var.region
}

terraform {
  required_providers {
    oci = {
      source = "oracle/oci"
    }
  }
}

% TF_LOG=trace tofu init --upgrade
2024-09-26T10:05:51.327+0200 [INFO]  OpenTofu version: 1.6.2
2024-09-26T10:05:51.327+0200 [DEBUG] using github.com/hashicorp/go-tfe v1.36.0
2024-09-26T10:05:51.327+0200 [DEBUG] using github.com/hashicorp/hcl/v2 v2.19.1
2024-09-26T10:05:51.327+0200 [DEBUG] using github.com/hashicorp/terraform-svchost v0.1.1
2024-09-26T10:05:51.327+0200 [DEBUG] using github.com/zclconf/go-cty v1.14.1
2024-09-26T10:05:51.327+0200 [INFO]  Go runtime version: go1.22.0
2024-09-26T10:05:51.327+0200 [INFO]  CLI args: []string{"tofu", "-chdir=/Users/pheimlic/ol8image/simservice/src/ocisim", "init", "--upgrade"}
2024-09-26T10:05:51.327+0200 [TRACE] Stdout is a terminal of width 202
2024-09-26T10:05:51.327+0200 [TRACE] Stderr is a terminal of width 202
2024-09-26T10:05:51.327+0200 [TRACE] Stdin is a terminal
2024-09-26T10:05:51.327+0200 [DEBUG] Attempting to open CLI config file: /Users/pheimlic/.tofurc
2024-09-26T10:05:51.327+0200 [DEBUG] File doesn't exist, but doesn't need to. Ignoring.
2024-09-26T10:05:51.327+0200 [DEBUG] checking for credentials in "/Users/pheimlic/.terraform.d/plugins"
2024-09-26T10:05:51.327+0200 [DEBUG] ignoring non-existing provider search directory terraform.d/plugins
2024-09-26T10:05:51.327+0200 [DEBUG] will search for provider plugins in /Users/pheimlic/.terraform.d/plugins
2024-09-26T10:05:51.327+0200 [DEBUG] ignoring non-existing provider search directory /Users/pheimlic/Library/Application Support/io.terraform/plugins
2024-09-26T10:05:51.327+0200 [DEBUG] ignoring non-existing provider search directory /Library/Application Support/io.terraform/plugins
2024-09-26T10:05:51.327+0200 [DEBUG] Found the config directory: /Users/pheimlic/.terraform.d
2024-09-26T10:05:51.327+0200 [INFO]  CLI command args: []string{"init", "--upgrade"}

Initializing the backend...
2024-09-26T10:05:51.338+0200 [TRACE] Meta.Backend: no config given or present on disk, so returning nil config
2024-09-26T10:05:51.338+0200 [TRACE] Meta.Backend: backend has not previously been initialized in this working directory
2024-09-26T10:05:51.338+0200 [DEBUG] New state was assigned lineage "ce7c7be8-5fa5-ed74-b341-fbab509bcc93"
2024-09-26T10:05:51.338+0200 [TRACE] Meta.Backend: using default local state only (no backend configuration, and no existing initialized backend)
2024-09-26T10:05:51.338+0200 [TRACE] Meta.Backend: instantiated backend of type <nil>
2024-09-26T10:05:51.338+0200 [DEBUG] checking for provisioner in "."
2024-09-26T10:05:51.339+0200 [DEBUG] checking for provisioner in "/opt/homebrew/bin"
2024-09-26T10:05:51.339+0200 [DEBUG] checking for provisioner in "/Users/pheimlic/.terraform.d/plugins"
2024-09-26T10:05:51.339+0200 [TRACE] Meta.Backend: backend <nil> does not support operations, so wrapping it in a local backend
2024-09-26T10:05:51.339+0200 [TRACE] backend/local: state manager for workspace "default" will:
 - read initial snapshot from terraform.tfstate
 - write new snapshots to terraform.tfstate
 - create any backup at terraform.tfstate.backup
2024-09-26T10:05:51.339+0200 [TRACE] statemgr.Filesystem: reading initial snapshot from terraform.tfstate
2024-09-26T10:05:51.339+0200 [TRACE] statemgr.Filesystem: snapshot file has nil snapshot, but that's okay
2024-09-26T10:05:51.339+0200 [TRACE] statemgr.Filesystem: read nil snapshot
Upgrading modules...
2024-09-26T10:05:51.339+0200 [TRACE] ModuleInstaller: installing child modules for . into .terraform/modules
2024-09-26T10:05:51.340+0200 [DEBUG] Module installer: begin patching371
2024-09-26T10:05:51.340+0200 [TRACE] ModuleInstaller: discarding previous record of patching371 prior to reinstall
2024-09-26T10:05:51.340+0200 [TRACE] ModuleInstaller: cleaning directory .terraform/modules/patching371 prior to install of patching371
2024-09-26T10:05:51.340+0200 [TRACE] ModuleInstaller: patching371 has local path "./patching/3.7.1"
2024-09-26T10:05:51.340+0200 [TRACE] ModuleInstaller: patching371 uses directory from parent: patching/3.7.1
2024-09-26T10:05:51.340+0200 [DEBUG] Module installer: patching371 installed at patching/3.7.1
- patching371 in patching/3.7.1
2024-09-26T10:05:51.340+0200 [DEBUG] Module installer: begin patching38
2024-09-26T10:05:51.340+0200 [TRACE] ModuleInstaller: discarding previous record of patching38 prior to reinstall
2024-09-26T10:05:51.340+0200 [TRACE] ModuleInstaller: cleaning directory .terraform/modules/patching38 prior to install of patching38
2024-09-26T10:05:51.340+0200 [TRACE] ModuleInstaller: patching38 has local path "./patching/3.8"
2024-09-26T10:05:51.340+0200 [TRACE] ModuleInstaller: patching38 uses directory from parent: patching/3.8
2024-09-26T10:05:51.341+0200 [DEBUG] Module installer: patching38 installed at patching/3.8
- patching38 in patching/3.8
2024-09-26T10:05:51.341+0200 [DEBUG] Module installer: begin patching39
2024-09-26T10:05:51.341+0200 [TRACE] ModuleInstaller: discarding previous record of patching39 prior to reinstall
2024-09-26T10:05:51.341+0200 [TRACE] ModuleInstaller: cleaning directory .terraform/modules/patching39 prior to install of patching39
2024-09-26T10:05:51.341+0200 [TRACE] ModuleInstaller: patching39 has local path "./patching/3.9"
2024-09-26T10:05:51.341+0200 [TRACE] ModuleInstaller: patching39 uses directory from parent: patching/3.9
2024-09-26T10:05:51.341+0200 [DEBUG] Module installer: patching39 installed at patching/3.9
- patching39 in patching/3.9
2024-09-26T10:05:51.341+0200 [DEBUG] Module installer: begin patchingOL8
2024-09-26T10:05:51.341+0200 [TRACE] ModuleInstaller: discarding previous record of patchingOL8 prior to reinstall
2024-09-26T10:05:51.341+0200 [TRACE] ModuleInstaller: cleaning directory .terraform/modules/patchingOL8 prior to install of patchingOL8
2024-09-26T10:05:51.341+0200 [TRACE] ModuleInstaller: patchingOL8 has local path "./patching/OL8"
2024-09-26T10:05:51.341+0200 [TRACE] ModuleInstaller: patchingOL8 uses directory from parent: patching/OL8
2024-09-26T10:05:51.341+0200 [DEBUG] Module installer: patchingOL8 installed at patching/OL8
- patchingOL8 in patching/OL8
2024-09-26T10:05:51.341+0200 [DEBUG] Module installer: begin patchingmaster
2024-09-26T10:05:51.341+0200 [TRACE] ModuleInstaller: discarding previous record of patchingmaster prior to reinstall
2024-09-26T10:05:51.341+0200 [TRACE] ModuleInstaller: cleaning directory .terraform/modules/patchingmaster prior to install of patchingmaster
2024-09-26T10:05:51.341+0200 [TRACE] ModuleInstaller: patchingmaster has local path "./patching/master"
2024-09-26T10:05:51.341+0200 [TRACE] ModuleInstaller: patchingmaster uses directory from parent: patching/master
2024-09-26T10:05:51.341+0200 [DEBUG] Module installer: patchingmaster installed at patching/master
- patchingmaster in patching/master
2024-09-26T10:05:51.341+0200 [TRACE] modsdir: writing modules manifest to .terraform/modules/modules.json

Initializing provider plugins...
- Finding latest version of hashicorp/null...
2024-09-26T10:05:51.343+0200 [DEBUG] Service discovery for registry.opentofu.org at https://registry.opentofu.org/.well-known/terraform.json
2024-09-26T10:05:51.343+0200 [TRACE] HTTP client GET request to https://registry.opentofu.org/.well-known/terraform.json
2024-09-26T10:05:51.742+0200 [DEBUG] GET https://registry.opentofu.org/v1/providers/hashicorp/null/versions
2024-09-26T10:05:51.742+0200 [TRACE] HTTP client GET request to https://registry.opentofu.org/v1/providers/hashicorp/null/versions
- Finding latest version of hashicorp/oci...
2024-09-26T10:05:51.996+0200 [DEBUG] GET https://registry.opentofu.org/v1/providers/hashicorp/oci/versions
2024-09-26T10:05:51.996+0200 [TRACE] HTTP client GET request to https://registry.opentofu.org/v1/providers/hashicorp/oci/versions
- Finding latest version of oracle/oci...
2024-09-26T10:05:52.496+0200 [DEBUG] GET https://registry.opentofu.org/v1/providers/oracle/oci/versions
2024-09-26T10:05:52.497+0200 [TRACE] HTTP client GET request to https://registry.opentofu.org/v1/providers/oracle/oci/versions
2024-09-26T10:05:53.016+0200 [TRACE] providercache.fillMetaCache: scanning directory .terraform/providers
2024-09-26T10:05:53.018+0200 [TRACE] getproviders.SearchLocalDirectory: found registry.opentofu.org/hashicorp/null v3.2.3 for darwin_arm64 at .terraform/providers/registry.opentofu.org/hashicorp/null/3.2.3/darwin_arm64
2024-09-26T10:05:53.018+0200 [TRACE] providercache.fillMetaCache: including .terraform/providers/registry.opentofu.org/hashicorp/null/3.2.3/darwin_arm64 as a candidate package for registry.opentofu.org/hashicorp/null 3.2.3
2024-09-26T10:05:53.018+0200 [DEBUG] GET https://registry.opentofu.org/v1/providers/hashicorp/null/3.2.3/download/darwin/arm64
2024-09-26T10:05:53.018+0200 [TRACE] HTTP client GET request to https://registry.opentofu.org/v1/providers/hashicorp/null/3.2.3/download/darwin/arm64
2024-09-26T10:05:53.335+0200 [DEBUG] GET https://github.com/opentofu/terraform-provider-null/releases/download/v3.2.3/terraform-provider-null_3.2.3_SHA256SUMS
2024-09-26T10:05:53.335+0200 [TRACE] HTTP client GET request to https://github.com/opentofu/terraform-provider-null/releases/download/v3.2.3/terraform-provider-null_3.2.3_SHA256SUMS
2024-09-26T10:05:53.721+0200 [TRACE] HTTP client GET request to https://objects.githubusercontent.com/github-production-release-asset-2e65be/691499464/4dff927f-60be-4de7-8ba5-65e9e24ea54d?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240926%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240926T080553Z&X-Amz-Expires=300&X-Amz-Signature=23d0781da244b6b95ca9cc98063e658e1d5f94b8c8caf2161db9a441babff849&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3Dterraform-provider-null_3.2.3_SHA256SUMS&response-content-type=application%2Foctet-stream
2024-09-26T10:05:54.341+0200 [DEBUG] GET https://github.com/opentofu/terraform-provider-null/releases/download/v3.2.3/terraform-provider-null_3.2.3_SHA256SUMS.sig
2024-09-26T10:05:54.341+0200 [TRACE] HTTP client GET request to https://github.com/opentofu/terraform-provider-null/releases/download/v3.2.3/terraform-provider-null_3.2.3_SHA256SUMS.sig
2024-09-26T10:05:54.545+0200 [TRACE] HTTP client GET request to https://objects.githubusercontent.com/github-production-release-asset-2e65be/691499464/556dfc44-5040-4cf3-b34d-654bb3e453a2?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240926%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240926T080554Z&X-Amz-Expires=300&X-Amz-Signature=d728ef3662070e8627897beac56117d189fdad821a53b6d155ff49e4805c860b&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3Dterraform-provider-null_3.2.3_SHA256SUMS.sig&response-content-type=application%2Foctet-stream
- Installing hashicorp/null v3.2.3...
2024-09-26T10:05:54.994+0200 [TRACE] providercache.Dir.InstallPackage: installing registry.opentofu.org/hashicorp/null v3.2.3 from https://github.com/opentofu/terraform-provider-null/releases/download/v3.2.3/terraform-provider-null_3.2.3_darwin_arm64.zip
2024-09-26T10:05:54.994+0200 [TRACE] HTTP client GET request to https://github.com/opentofu/terraform-provider-null/releases/download/v3.2.3/terraform-provider-null_3.2.3_darwin_arm64.zip
2024-09-26T10:05:55.414+0200 [TRACE] HTTP client GET request to https://objects.githubusercontent.com/github-production-release-asset-2e65be/691499464/672cedda-f288-4ab5-9b8d-dcc75d029b41?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240926%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240926T080555Z&X-Amz-Expires=300&X-Amz-Signature=111291c73c1f4972ab6a5f146f6485e4fdcac6b0764e6d72e8c44d5814cdf8a5&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3Dterraform-provider-null_3.2.3_darwin_arm64.zip&response-content-type=application%2Foctet-stream
2024-09-26T10:05:58.302+0200 [DEBUG] Validating GPG signature of provider package /var/folders/x9/g20ncbn943qb2zp3ypzdbs9h0000gn/T/terraform-provider214887950
2024-09-26T10:05:58.305+0200 [DEBUG] Provider signed by 0C0AF313E5FD9F80 OpenTofu (This key is used to sign opentofu providers<EMAIL_ADDRESS>2024-09-26T10:05:58.412+0200 [TRACE] providercache.fillMetaCache: scanning directory .terraform/providers
2024-09-26T10:05:58.412+0200 [TRACE] getproviders.SearchLocalDirectory: found registry.opentofu.org/hashicorp/null v3.2.3 for darwin_arm64 at .terraform/providers/registry.opentofu.org/hashicorp/null/3.2.3/darwin_arm64
2024-09-26T10:05:58.412+0200 [TRACE] providercache.fillMetaCache: including .terraform/providers/registry.opentofu.org/hashicorp/null/3.2.3/darwin_arm64 as a candidate package for registry.opentofu.org/hashicorp/null 3.2.3
- Installed hashicorp/null v3.2.3 (signed, key ID 0C0AF313E5FD9F80)
2024-09-26T10:05:58.420+0200 [TRACE] providercache.fillMetaCache: using cached result from previous scan of .terraform/providers
2024-09-26T10:05:58.420+0200 [DEBUG] GET https://registry.opentofu.org/v1/providers/hashicorp/oci/6.11.0/download/darwin/arm64
2024-09-26T10:05:58.420+0200 [TRACE] HTTP client GET request to https://registry.opentofu.org/v1/providers/hashicorp/oci/6.11.0/download/darwin/arm64
2024-09-26T10:05:58.706+0200 [TRACE] providercache.fillMetaCache: using cached result from previous scan of .terraform/providers
2024-09-26T10:05:58.707+0200 [DEBUG] GET https://registry.opentofu.org/v1/providers/oracle/oci/6.11.0/download/darwin/arm64
2024-09-26T10:05:58.707+0200 [TRACE] HTTP client GET request to https://registry.opentofu.org/v1/providers/oracle/oci/6.11.0/download/darwin/arm64

Providers are signed by their developers.
If you'd like to know more about provider signing, you can read about it here:
https://opentofu.org/docs/cli/plugins/signing/
╷
│ Error: Incompatible provider version
│
│ Provider registry.opentofu.org/hashicorp/oci v6.11.0 does not have a package available for your current platform, darwin_arm64.
│
│ Provider releases are separate from OpenTofu CLI releases, so not all providers are available for all platforms. Other versions of this provider may have different platforms supported.
╵

╷
│ Error: Incompatible provider version
│
│ Provider registry.opentofu.org/oracle/oci v6.11.0 does not have a package available for your current platform, darwin_arm64.
│
│ Provider releases are separate from OpenTofu CLI releases, so not all providers are available for all platforms. Other versions of this provider may have different platforms supported.

Thanks for raising this, We'll investigate this now.

https://github.com/opentofu/registry/commit/d8a4b4cbefd170ae3ecf2b09047f5e16693bb32d
The provider version has been indexed, I'll ensure that it's synced up to the API soon.
Should hopefully be there in the next 15 minutes. Sorry for the inconvenience

This should now be fully resolved @tropikhajma :) Thanks for reporting this


[BEAM-974] Add PubSub attributes support to PubsubIO.

Introduces a new PubsubMessage class, that allows separate management of payload and attributes from PubSub. Allows the user to register functions on PubsubIO to parse  and format these objects in order to interact with attributes.

Thanks @reuvenlax.
Looks like a few test breakages here. Perhaps you can ping us when ready for review.
R: @davorbonaci @dhalperi

Test breakages are fixed. Remaining failure is a known issue, unrelated to my PR.

There's actually an unused import causing it to fail fast on checkstyle.

Everything now passes.

@kennknowles do you have any comments?

Looks like this needs a rebase; I'm not sure what the conflicts might be but maybe I can take a look afterwards?
R: @kennknowles

@dhalperi Should we try and get this in?

No
On Tue, Dec 20, 2016 at 11:39 AM, reuvenlax<EMAIL_ADDRESS>wrote:

@dhalperi https://github.com/dhalperi Should we try and get this in?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/incubator-beam/pull/1358#issuecomment-268337793,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAgIT332X2j_Hs88qbzOvgPUBSws8ZJyks5rKC7ugaJpZM4KxwJP
.

Put better, the 0.4.0-incubating release candidate is already cut and the vote is in progress. I'd encourage you to join the discussion on the dev mailing list. I'm sure you're not talking about anything else, because this would not be an appropriate venue for such a discussion.
As for the feature itself -- wonderful, but this code review for gcp-io is not likely to come to the top of my priority stack this week given the other Google-specific commitments we have. The Beam project is drawing lots of our resources in other parts of the stack -- I'm deprioritizing the Google-specific parts of Beam for now.

You need to merge master in and fix up some conflicts. Looks like this PR is missing some improvements from Sam and to TestPipeline.
But looking pretty dang good.

LGTM. Assuming the next Jenkins run passes, happy to fixup minor spacing issues in merge.

Ugh, build failed with Javadoc broken links:
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to
execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.10.3:jar
(javadoc) on project beam-sdks-java-core: MavenReportException: Error
while generating Javadoc:
Exit code: 1 - /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall/sdks/java/core/src/main/java/org/apache/beam/sdk/io/PubsubIO.java:474:
warning - Tag @link: can't find maxNumRecords(int) in
org.apache.beam.sdk.io.Read
/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall/sdks/java/core/src/main/java/org/apache/beam/sdk/io/PubsubIO.java:474:
warning - Tag @link: can't find maxReadTime(Duration) in
org.apache.beam.sdk.io.Read
/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall/sdks/java/core/src/main/java/org/apache/beam/sdk/io/PubsubIO.java:1060:
error: unknown tag: linkValueProvider
* Returns the {@linkValueProvider} for the topic being read from.
On Thu, Jan 19, 2017 at 9:27 PM, Daniel Halperin<EMAIL_ADDRESS>wrote:

LGTM. Assuming the next Jenkins run passes, happy to fixup minor spacing
issues in merge.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/apache/beam/pull/1358#issuecomment-273981046, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAgIT2ppLVDDOC0c7uTnn9pYfCxItpRIks5rUEXQgaJpZM4KxwJP
.

Here was my patch to fix it up. Don't you need a Coder in your example changes?
diff --git a/examples/java8/src/main/java/org/apache/beam/examples/complete/game/GameStats.java b/examples/java8/src/main/java/org/apache/beam/examples/complete/game/GameStats.java
index 74f1b304d..0ad09dbfa 100644
--- a/examples/java8/src/main/java/org/apache/beam/examples/complete/game/GameStats.java
+++ b/examples/java8/src/main/java/org/apache/beam/examples/complete/game/GameStats.java
@@ -24,6 +24,7 @@ import org.apache.beam.examples.common.ExampleUtils;
 import org.apache.beam.examples.complete.game.utils.WriteWindowedToBigQuery;
 import org.apache.beam.sdk.Pipeline;
 import org.apache.beam.sdk.PipelineResult;
+import org.apache.beam.sdk.coders.StringUtf8Coder;
 import org.apache.beam.sdk.io.PubsubIO;
 import org.apache.beam.sdk.options.Default;
 import org.apache.beam.sdk.options.Description;
@@ -252,7 +253,10 @@ public class GameStats extends LeaderBoard {

     // Read Events from Pub/Sub using custom timestamps
     PCollection<GameActionInfo> rawEvents = pipeline
-        .apply(PubsubIO.Read.timestampLabel(TIMESTAMP_ATTRIBUTE).topic(options.getTopic()))
+        .apply(PubsubIO.<String>read()
+            .timestampLabel(TIMESTAMP_ATTRIBUTE)
+            .topic(options.getTopic())
+            .withCoder(StringUtf8Coder.of()))
         .apply("ParseGameEvent", ParDo.of(new ParseEventFn()));

     // Extract username/score pairs from the event stream
diff --git a/examples/java8/src/main/java/org/apache/beam/examples/complete/game/LeaderBoard.java b/examples/java8/src/main/java/org/apache/beam/examples/complete/game/LeaderBoard.java
index 519bd5f53..253a80e6e 100644
--- a/examples/java8/src/main/java/org/apache/beam/examples/complete/game/LeaderBoard.java
+++ b/examples/java8/src/main/java/org/apache/beam/examples/complete/game/LeaderBoard.java
@@ -27,6 +27,7 @@ import org.apache.beam.examples.complete.game.utils.WriteToBigQuery;
 import org.apache.beam.examples.complete.game.utils.WriteWindowedToBigQuery;
 import org.apache.beam.sdk.Pipeline;
 import org.apache.beam.sdk.PipelineResult;
+import org.apache.beam.sdk.coders.StringUtf8Coder;
 import org.apache.beam.sdk.io.PubsubIO;
 import org.apache.beam.sdk.options.Default;
 import org.apache.beam.sdk.options.Description;
@@ -190,7 +191,10 @@ public class LeaderBoard extends HourlyTeamScore {
     // Read game events from Pub/Sub using custom timestamps, which are extracted from the pubsub
     // data elements, and parse the data.
     PCollection<GameActionInfo> gameEvents = pipeline
-        .apply(PubsubIO.Read.timestampLabel(TIMESTAMP_ATTRIBUTE).topic(options.getTopic()))
+        .apply(PubsubIO.<String>read()
+            .timestampLabel(TIMESTAMP_ATTRIBUTE)
+            .topic(options.getTopic())
+            .withCoder(StringUtf8Coder.of()))
         .apply("ParseGameEvent", ParDo.of(new ParseEventFn()));

     gameEvents.apply("CalculateTeamScores",
diff --git a/sdks/java/core/src/test/java/org/apache/beam/sdk/io/PubsubUnboundedSinkTest.java b/sdks/java/core/src/test/java/org/apache/beam/sdk/io/PubsubUnboundedSinkTest.java
index 30521e31c..24588d4ee 100644
--- a/sdks/java/core/src/test/java/org/apache/beam/sdk/io/PubsubUnboundedSinkTest.java
+++ b/sdks/java/core/src/test/java/org/apache/beam/sdk/io/PubsubUnboundedSinkTest.java
@@ -28,6 +28,7 @@ import java.util.List;
 import java.util.Map;

 import org.apache.beam.sdk.coders.StringUtf8Coder;
+import org.apache.beam.sdk.io.PubsubIO.PubsubMessage;
 import org.apache.beam.sdk.io.PubsubUnboundedSink.RecordIdMethod;
 import org.apache.beam.sdk.options.ValueProvider.StaticValueProvider;
 import org.apache.beam.sdk.testing.CoderProperties;
@@ -86,6 +87,13 @@ public class PubsubUnboundedSinkTest implements Serializable {
     CoderProperties.coderSerializable(PubsubUnboundedSink.CODER);
   }

+  private static class AttributeFn extends SimpleFunction<String, PubsubMessage> {
+    @Override
+    public PubsubMessage apply(String input) {
+      return new PubsubMessage(input.getBytes(), ATTRIBUTES);
+    }
+  }
+
   @Test
   @Category(NeedsRunner.class)
   public void sendOneMessage() throws IOException {
@@ -103,12 +111,7 @@ public class PubsubUnboundedSinkTest implements Serializable {
           new PubsubUnboundedSink<>(factory, StaticValueProvider.of(TOPIC), StringUtf8Coder.of(),
               TIMESTAMP_LABEL, ID_LABEL, NUM_SHARDS, batchSize, batchBytes,
               Duration.standardSeconds(2),
-              new SimpleFunction<String, PubsubIO.PubsubMessage>() {
-                @Override
-                public PubsubIO.PubsubMessage apply(String input) {
-                  return new PubsubIO.PubsubMessage(input.getBytes(), ATTRIBUTES);
-                }
-              },
+              new AttributeFn(),
               RecordIdMethod.DETERMINISTIC);
       p.apply(Create.of(ImmutableList.of(DATA)))
        .apply(ParDo.of(new Stamp()))

Coverage decreased (-0.05%) to 69.796% when pulling b19fb0adbf9887094e68a9cb865498cbab9387ed on reuvenlax:pubsub_attributes into<PHONE_NUMBER>69bc5643dfc4866a82e4c3967d0a07 on apache:master.

Coverage decreased (-0.05%) to 69.793% when pulling c971eb6cf94961ea165efb705ad14ee299156b66 on reuvenlax:pubsub_attributes into<PHONE_NUMBER>69bc5643dfc4866a82e4c3967d0a07 on apache:master.


Add Beta 1 changelog.

Should the edgedb-js version tick to the next one? I mean, it's been at 0.11.0 since alpha 6 and we do mention some improvements in this changelog.

I've also updated the migration example to include the help the interactive tool will display for all the options.


Update README.md

Allows users to cut and paste. I found that I needed it and thought to save others some time. All the standard routes.

I actually intentionally put only routes for actions that users are performing when not logged in. I was imagining that the layout would be similar to what GitHub uses when logging in (and for resetting password as well IIRC). I see now that the route for resending account verification email should probably also be in that list, so I would accept that change.
If all authentication routes should have the same layout, it doesn't really make sense that it's different from the main layout.

I see. I had leaped them all together with slightly separate styling for rodauth.


📃: Want to add Rock-Paper-Scissor Game in Front-end

:red_circle: Rock-Paper-Scissor-Game :
:red_circle: Front-End :
Screenshots 📷
N/A

:white_check_mark: To be Mentioned while taking the issue :

Full name : Mansi Sharma
What is your participant role? GSSOC

Kindly assign me @Avdhesh-Varshney

Happy Contributing 🚀
All the best. Enjoy your open source journey ahead. 😎

#108


always center on highlight

Always center in tracing mode.

[ ] fix center API.  The centering from blackly has bugs... but it is definitely the way to go for tracing.
Also centerOnScreen should return a promise so that we can wait till the animation is done.


feat: extracting index data

@atkissoncj, would you mind giving a bit more detail about what falls under this issue?

After the crosswalks get all data on a common scale, the dataset that is fed to the index creation algorithm needs to be created.

Thank you!


Fatal Python error: none_dealloc: deallocating None: bug likely caused by a refcount error in a C extension

Dear Bjodah, Hello! Thanks a lot for usefull software!
I would like to share my problem that I encountered while using the cvode module. If You have the opportunity to give any advice, I will be very grateful.
The problem I'm facing is this: when I do a large number of iterations of integration using, for example, integrate_predefined or integrate_adaptive methods - the code throws an error:
Fatal Python error: none_dealloc: deallocating None: bug likely caused by a refcount error in a C extension
 Python runtime state: initialized
 Current thread 0x00007fc8bac2e440 (most recent call first):
  File "<name>.py", line <number> in <module>
  Aborted (core dumped)

For example, I prepared a simple non-physical example based on Your example with the classic van der Pol oscillator, where we perform the integration operation many times. (For example, when we need to calculate this task locally at different points in space, at different time steps).
from pycvodes import integrate_adaptive
mu = 1.0
def f(t, y, dydt):
    dydt[0] = y[1]
    dydt[1] = -y[0] + mu*y[1]*(1 - y[0]**2)

def j(t, y, Jmat, dfdt=None, fy=None):
    Jmat[0, 0] = 0
    Jmat[0, 1] = 1
    Jmat[1, 0] = -1 - mu*2*y[1]*y[0]
    Jmat[1, 1] = mu*(1 - y[0]**2)
    if dfdt is not None:
        dfdt[:] = 0

atol=1e-4; rtol=1e-20
for iter in range(1000):
    k = 0
    for jiter in range(1000):
        t0 = k
        tend = k + 1 # so let the step to be 1 second
        k+=1
        if t0==0:
            y0 = [1, 0]
        else:
            y0 = [y_prev1, y_prev2]

        tout, yout, info = integrate_adaptive(f, j, y0, t0, tend, atol, rtol,
                                           method='bdf')

        y_prev1 = yout.T[0][-1]
        y_prev2 = yout.T[1][-1]

        print(iter, jiter)

Output:
Fatal Python error: none_dealloc: deallocating None: bug likely caused by a refcount error in a C extension
 Python runtime state: initialized
 Current thread 0x00007fc8bac2e440 (most recent call first):
  File "<name>.py", line 27 in <module>
  Aborted (core dumped)

My Ubuntu 22.04 x64 machine with Python 3.9, conda 23.1.0, pycvodes '0.14.1', pyodesys '0.14.2', sundials '6.5.1' returns this deallocating None error after 6824 iterations of this code.
And my another Ubuntu 22.04 x64 machine with Python 3.11, conda 23.7.4, pycvodes '0.14.2', pyodesys '0.14.2', sundials '6.5.1'  returns this deallocating None error after 5075 iterations of this code.
But the iteration number in the week itself depends on the task. So, for a chemical kinetics problem, 114800 iterations of integration pass before an error occurs.
I also looked at similar issues that people have linked to, for example: https://github.com/ajakubek/python-llist/issues/11. And I looked at Your cython and C code, but couldn’t find anything resembling these errors in Your code.
If You have the opportunity to give any advice on how to correct the situation, I would be very grateful.
Have a nice time!

@Bltzmn thank you for reporting this. pycvodes uses the "anyode" submodule which has some manual refcounting (which I probably messed up somewhere). You can find the relevant file here:
https://github.com/bjodah/anyode/blob/c06c0dd1f50b6e7bca8db4d0e9d017d026b05936/include/anyode/anyode_numpy.hpp
If I search for Py_None in that file, I see that I have tried to construct it with refcounting in mind. Perhaps the destructor ~PyOdeSys is out of sync. (I can't determine by quickly glancing over it).
Given this issue, I probably shouldn't have done this manually (or have been more careful), and left this to e.g. cython instead, but at the time I wrote it, the cython version was rather slow compared to the hand-rolled code you see there.
I don't know if a debug build of CPython perhaps contains asserts to help with deubbing this. It might be worth looking into. Hopefully, I will eventually find the time to hunt this down. But it might be a while (months), but if you or someone else want to try to fix this in the mean time, I'll find the time to review and publish a bugfixed version.
Some links to the relevant parts of the CPython API-docs for anyone looking into this:

https://docs.python.org/3/c-api/refcounting.html#c.Py_XDECREF  (and Py_DECREF)
https://docs.python.org/3/c-api/refcounting.html#c.Py_XINCREF (and Py_INCREF)
https://docs.python.org/3.11/c-api/none.html?highlight=py_none#c.Py_None
https://docs.python.org/3/c-api/arg.html#c.Py_BuildValue ("If the format string is empty, it returns None;")
https://docs.python.org/3/extending/extending.html?highlight=py_none

I notice that the lifetime handling of None has changed in  CPython 3.12, so bonus points (for me or anyone else looking into this) for making sure it works on CPython 3.12+ also.

So I found some time to look into this. I can reproduce your error, and I this is the culprit:
https://github.com/bjodah/anyode/blob/c06c0dd1f50b6e7bca8db4d0e9d017d026b05936/include/anyode/anyode_numpy.hpp#L42
I should not be decreasing the reference count there. Adding print(sys.getrefcount(None)) to the example you provided confirms this analysis. I will be releasing an updated version with that line removed shortly. Thank you for your patience.

This should be fixed in 0.14.3:
https://pypi.org/project/pycvodes/0.14.3/
Thank you for reporting this!


E2E test failures

There are many tinylicious and odsp e2e testing failing: https://dev.azure.com/fluidframework/internal/_build/results?buildId=56170&view=ms.vss-test-web.build-test-results-tab
ODSP Test Failures:
Timeout of 2000ms exceeded
https://dev.azure.com/fluidframework/internal/_build/results?buildId=56170&view=ms.vss-test-web.build-test-results-tab&runId=1174906&resultId=100621&paneView=debug

Events
loads from snapshot

Not found default
https://dev.azure.com/fluidframework/internal/_build/results?buildId=56170&view=ms.vss-test-web.build-test-results-tab&runId=1174906&resultId=101634&paneView=debug

should return the unreferenced flag correctly in snapshot for deleted data stores
should fetch from cache when second client loads the container
should fetch from cache when second client loads the container in offline mode

summary count should be 1
https://dev.azure.com/fluidframework/internal/_build/results?buildId=56170&view=ms.vss-test-web.build-test-results-tab&runId=1174700&resultId=100126&paneView=debug

should generate correct container load stats with two summarizer containers

0x202
https://dev.azure.com/fluidframework/internal/_build/results?buildId=56170&view=ms.vss-test-web.build-test-results-tab&runId=1174700&resultId=100083&paneView=debug

redirect table saved in snapshot
works in detached container
serialize/rehydrate multiple times then attach
serialize/rehydrate then attach

Tinylicious Test Failures:
Timeout of 2000ms exceeded
https://dev.azure.com/fluidframework/internal/_build/results?buildId=56170&view=ms.vss-test-web.build-test-results-tab&runId=1195854&resultId=101704&paneView=debug

handles container with pending ops not to be sent out

R11s fetch error
https://dev.azure.com/fluidframework/internal/_build/results?buildId=56170&view=ms.vss-test-web.build-test-results-tab&runId=1195854&resultId=102483&paneView=debug

can create DDS in detached container and attach / update it

0x204
https://dev.azure.com/fluidframework/internal/_build/results?buildId=56170&view=ms.vss-test-web.build-test-results-tab&runId=1195854&resultId=101292&paneView=debug

serialize/rehydrate multiple times then attach
works in detached container
redirect table saved in snapshot
serialize/rehydrate then attach

malformedDataStoreAliasMessage errors
https://dev.azure.com/fluidframework/internal/_build/results?buildId=56170&view=ms.vss-test-web.build-test-results-tab&runId=1174698&resultId=104671&paneView=debug

Receiving a bad alias message breaks the container

Duplicate DataStore created with existing id errors
https://dev.azure.com/fluidframework/internal/_build/results?buildId=56170&view=ms.vss-test-web.build-test-results-tab&runId=1174698&resultId=104669&paneView=debug

Creating a root data store with an existing alias as an id breaks the container

FYI: @markfields @ssimic2

@nmsimons - About triage - This issue is extremely important and urgent from an eng health standpoint, we need to get it attention ASAP.

This list needs to be split into multiple issues and assigned to the feature owners. Otherwise, I fail to see how someone can take on this task and debug all those tests.
Also, I see some issues there which have been fixed. For example, the last 2 have been fixed with https://github.com/microsoft/FluidFramework/issues/9371 and I haven't seen any new errors from those..

That's fine to split this up - We were trying to strike a balance between effort to get this logged and not overdoing it with busy-work.  Now that it's written down, happy to see next OCE or others on the team iterate to get the work done.

Splitting this issue in multiple parts.

adding good first issue here as it shouldn't be to hard to grab individual issue above to work on for those new to the code base. at minimum there is a test that can be debugged and worked through.

Added ADO bugs for these here and linked each of the bugs to these issues, please file additional bugs there. I also tagged the ADO feature with "good first issue."


[iOS]  Signing certifiate expiration date time does not supercede the expiration date time of the green certificate

Describe the bug
In order to check, that when the signing certificate expiration datetime supersedes the expiration datetime in the Green certificate, the app returns INVALID we have created the following QR-Code with chronologically valid certificate but with an expired DSC Certificate.
Attached JSON file and QR Code.
Nevertheless, scanning this QR Code with the Verifier app returns VALID.

Expected behaviour
Expected is a RED screen saying the Certificate is INVALID.
Steps to reproduce the issue

Technical details
Verifier 1.1.5-tst

iPhone 8 plus v. Lutz, iOS 14.4
Possible Fix

Additional context

@RalicaY could you please check expiration time of the certificate, it's 2022-07-05T06:42:53Z. Year is - 2022. Probably that's the issue. Certificate is not expired. It expires next year.
FYI @alexchornyi @Hendrik-Schmidt-Schierhorn-TSI

The idea is that the Certificate is indeed chronologically valid but the signer's certificate is already expired so that the certificate's epiration time eventually supercedes  (is valid longer than ) the signer's.

So as @RalicaY  said the Health Certificate is still valid. The missing data is that the Signing Certificate (DSC) is not valid anymore. The Signing certificate has the kid "9T3aGXtSul0=" and is only valid until "2021-07-07 06:14:17".
So the hcert is valid but the Signing Certificate is not.
I have uploaded the PEM encoded certificate which is also in the TST environment.
dsc.txt

@RalicaY App work as expected. We received this certificate from BE side. Here is the list of valid certificates we are received from server
["0+tvAJnJsPQ=","0C6apRBXqu8=","0NSBDWlaTng=","110WCQIlRgY=","19qvyYakWNI=","1vxpTLgc6ws=","2Ga7nn3++CU=","2Rk3X8HntrI=","2pwTzcIIZUo=","428FOlUxNRM=","6EjzyhNlGDQ=","6jqyJk80bUU=","7JQ83GRvK3A=","8cj7hP1PFt8=","91jyttjJXuQ=","9T3aGXtSul0=","9rayS4z8BBs=","BWANBUcVq6M=","BkMNTz/RKb8=","DEsVUSvpFAE=","DhspllZjSVY=","GZ2cfMLwyK8=","Gt532plhCms=","IAPAel6V04Y=","Jvur7gP5KB8=","KFP4Rwxlab8=","MAOnQ1AiTeM=","MZmKdKXodNA=","NSbroRZKHVQ=","OTAXaM3aBRM=","OTDtSL6sHfA=","OvQ6q5jQ6ys=","Pl2tK5b5Ubs=","RCLmunqODLU=","SnQA8f0kXUs=","Sr45aGku6g4=","TdAfEdSpTWg=","TfwLMHDXIws=","U59MpT2oM1M=","X3SRAZXFzss=","Yd1kEA/PdIs=","arNFjwTIlBs=","d1ZunoZIq1g=","dZl5Qc0tmyE=","drYeMLDIJ08=","ejprUkT1iiw=","f1sfUVIx8CA=","gj24nghwc+g=","jd4FUVxAJjY=","jrN5lgS8Vjo=","k9Bla6IJw9M=","kwL2uX0ViAA=","m6so0I2uIyw=","mkooSvJQkZ0=","mmrfzpMU6xc=","nAj5VPXn/t4=","onphe00laog=","p2yABmeC8Bg=","pgM4dDtABSg=","q16CfHxK02k=","qXRLozKN0lM=","ri1AFZuP96k=","sLgjDFuTktM=","t4pdJoYfDjY=","uTWhkSj2GAo=","v58a8hf49kE=","wDOFD1gh/so=","xAE9ugovQD4=","xKOXcpzMVb0=","y3g27v8r51I=","yLHLNvSl428="]
as you see this key present in this list and we don't removed this key from app.
I think this issue should be fixed on BE side to remove invalid keys from response.
Please look and close this issue.

same info analog issue #142

Successfully retested with Error Notification "Verification Failed".


feat(instrumenter/mutators): Implement missing AssignmentOperatorMutator

This pull request contains the missing AssignmentOperatorMutator implemented for:
'+=' = '-=',
'-=' = '+=',
'=' = '/=',
'/=' = '=',
'%=' = '*=',
'<<=' = '>>=',
'>>=' = '<<=',
'&=' = '|=',
'|=' = '&=',
'&&=' = '||=',
'||=' = '&&=',
'??=' = '&&=',
This list also contains the   '??=' which is not present in the Stryker-js documentation. We are not sure how the documentation should be updated to reflect this change, given that the operator might be specific to JavaScript.
@nicojs
Breaks :
instrumenter integration
should not place disabled mutants:
  AssertionError: expected value to match snapshot instrumenter integration should not place disabled mutants 1
  + expected - actual

  at arrangeAndActAssert (test/integration/instrumenter.it.spec.ts:126:41)
  at Context.<anonymous> (test/integration/instrumenter.it.spec.ts:52:5)

Great to see such a complete PR. Great job. Got some small remarks.
Fix the build:

✖ 1 problem (1 error, 0 warnings)
  1 error and 0 warnings potentially fixable with the `--fix` option.

This is a formatting check, you can use npm run lint:fix from the root. That should fix it.

  AssertionError: expected value to match snapshot instrumenter integration should not place disabled mutants 1
  + expected - actual

  at arrangeAndActAssert (test/integration/instrumenter.it.spec.ts:126:41)
  at Context.<anonymous> (test/integration/instrumenter.it.spec.ts:52:5)

To fix that, you can update the snapshots. Use CHAI_JEST_SNAPSHOT_UPDATE_ALL=true npm run test from the instrumenter package. That updates the snapshots. Probably this mutator added a mutation.

This feature just released in Stryker 5.5, see https://twitter.com/stryker_mutator/status/1463193759726948358


[move-prover] Modeled hash.move native library.

This PR is a model for hash.move, which is a native library.
src/prelude.bpl
sha2 and sha3 are modeled  abstractly in boogie as a function that takes an arbitrary vector and returns a 32-byte (256-bit) vector. The return value is arbitrary, except that there is an axiom requiring hash to be injective: if v1 != v2, then hash(v1) != hash(v2).  This axiom is actually false and even unsound, because there are infinitely many possible input vectors and only 2^256 possible outputs, so there MUST be collisions.  Fortunately, Boogie, Z3, and CVC4 are not smart enough to detect this, and the prover can use this convenient fiction without proving other things that aren't true.
Trying to reason about a bit-accurate implementation of hash with an SMT solver would be terrible, and I believe that the model is sufficient for almost all uses of sha2 and sha3 in practice.  On the other hand, lots of code depends on the fact that there is negligible probability of ever seeing a hash collision, so we want to be able to specify and verify conditions as though hash collisions were impossible.
There are two test cases:
tests/sources/hash_model.move, and
tests/sources/hash_model_invalid.move
The first tests that hash(v1) == hash(v2) iff v1 == v2 in several ways,
that the result is of length 32 and it's elements are u8s.
The second checks some invalid properties.

Motivation
We want to verify Move modules that use sha2 and sha3.
Have you read the Contributing Guidelines on pull requests?
yes
Test Plan
See test cases.
Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/libra/website, and link to your PR here.)

@bors-libra r=shazqadeer

:pushpin: Commit 62610f5 has been approved by shazqadeer

:hourglass: Testing commit 62610f5bd8411f1498df270d4c3580acfb233dd4 with merge 0aabd89856ecdbf0771a9c4692e9d95a1c5bc0bf...

:broken_heart: Test failed - checks-circle_commit_workflow

@bors-libra retry

:hourglass: Testing commit 62610f5bd8411f1498df270d4c3580acfb233dd4 with merge 1c1edd9bdf28cf6b091b2cbef604ca2cc947cd0b...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: shazqadeer
Pushing 1c1edd9bdf28cf6b091b2cbef604ca2cc947cd0b to master...


Change key for saving pango version

Summary:

What: Pangolin had a major version upgrade (3 -> 4), and now internally defaults to using usher instead of pangolearn. To keep compatibility, we needed to change the key used to access version information in our save.py script. This should fix broken pangolin runs for now; the release notes indicate other major changes in the future.
Ticket: sc<fill_in_issue_number>
Env: <rdev link>

Demos:

Notes:
Checklist:

[x] I merged latest <base branch>
[x] I manually verified the change
[x] I added labels to my PR
[x] I tested in multiple browsers
[x] I added relevant unit tests
[x] I have notified others of changes they need to make locally (migrations, jobs, package updates, etc)

Lightening speed! Thanks Lucia! Looks good to me. Only thing is do we need to update the testing (I saw it while searching for the old column header)? https://github.com/chanzuckerberg/czgenepi/search?q="pangoLEARN_version"

Like sending the change to staging and see whether the scheduled rerun of all samples will work? With the testing Lucia did, I think the only thing that will break this is if any samples are weird enough to choke Pango.

I updated the tests (and found something else, the assignment hash wording changed - fixed it).