New package mode fails to generate proper mock for type alias for interface with type params

Actual behavior A clear and concise description of what the bug is.
With the upgrade from v0.4.0 to v0.5.0 we had to manually specify type parameters for mocks that have been generated for type aliases that refer a generic interface with concrete types. Our type alias:
type InboundGRPCToOutboundHTTPStream = grpc.ServerStreamingServer[HttpResponse]

... the grpc.ServerStreamingServer is a generic interface.
The mock produced with v0.5.0 is:
// MockInboundGRPCToOutboundHTTPStream is a mock of InboundGRPCToOutboundHTTPStream interface.
type MockInboundGRPCToOutboundHTTPStream[Res any] struct {
	ctrl     *gomock.Controller
	recorder *MockInboundGRPCToOutboundHTTPStreamMockRecorder[Res]
	isgomock struct{}
}

while for v0.4.0 it was:
// MockInboundGRPCToOutboundHTTPStream is a mock of InboundGRPCToOutboundHTTPStream interface.
type MockInboundGRPCToOutboundHTTPStream struct {
	ctrl     *gomock.Controller
	recorder *MockInboundGRPCToOutboundHTTPStreamMockRecorder
}

The mockgen command used is:
//go:generate mockgen.sh -destination "grpctool.go" -package "mock_rpc" "gitlab.com/gitlab-org/cluster-integration/gitlab-agent/v17/internal/tool/grpctool" "InboundGRPCToOutboundHTTPStream,PoolConn,PoolInterface,ServerErrorReporter"

Expected behavior A clear and concise description of what you expected to
happen.
I would expect the mock struct to not need any type parameters and not to be generic.
To Reproduce Steps to reproduce the behavior
Here is the MR where we've done the upgrade: https://gitlab.com/gitlab-org/cluster-integration/gitlab-agent/-/merge_requests/1910
And here the commit that takes care of the breaking changes: https://gitlab.com/gitlab-org/cluster-integration/gitlab-agent/-/merge_requests/1910/diffs?commit_id=e513812928d97762306f8d83a280bbcf681fa94c
Additional Information

gomock mode (reflect or source): package?
gomock version or git ref: v0.4.0
golang version: 1.23

Triage Notes for the Maintainers

we are also facing this issue, surprise to see no text added about this in the release note! whats the solution? is this just safe to just accept these changes and merge or any other solution.?


Is removal of SQL_DIALECT property also planned for this Virtual schema?

Yes. It's no longer required.
I created a ticket for removing it from the doc:
https://github.com/exasol/s3-document-files-virtual-schema/issues/new

However, there is no need to remove it. You can still specify it.
Can we close this ticket?

Thanks, @jakobbraun.
Yes, the ticket can be closed.


Readme links result in 404

While looking over the ux repo I noticed two links that don't work in the readme:

@stacks/ui: Blockstack's internal design system and React component library
(full URL: https://github.com/blockstack/ux/blob/master/packages/ui)
ui-docs: A documentation site for @blockstack/ui.
(full URL: https://github.com/blockstack/ux/blob/master/packages/ui-docs)

I think the issue is related to #592 (thanks @agraebe for that link) - but I wasn't sure if these links just need to be removed or replaced with a new destination.
The old blockstack/ui repo references the same broken link as the first one for the "new location" as well.
Edit: those relative links did funny things in the issue, so removed them

This is no longer relevant to this repo as those projects are now in their own repo. Closing :)


Add screenshots to Readme

Let's add a handful of LCW screenshots to the Readme -- it's super helpful for new developers or prospects.

Hey @dmitrizagidulin I want to work on this issue

@Shruti3004 that would be wonderful!

Shruti,
Thanks for your contributions. I'm the product manager for the Learner
Credential Wallet.
A couple suggestions before you get started:

Make a list of screenshots you think would be helpful
Presumably use dark mode

A couple requirements, for while this is a cross platform app, our primary
development focuses on iOS:

Take the screenshots on an iPhone or via Simulator
Set the device time to 9:41 so all screenshots--current and
future--appear to have been taken at the same time
Follow the Apple App Store guidelines for screenshot sizes,
https://help.apple.com/app-store-connect/#/devd274dd925
(Note if I were doing this I'd do it from my iPhone 13 Pro so I'd end
up with one of the 5.8" dimension images, I'd connect my iPhone to
Quicktime to set the clock to 9:41, take the screenshot on my iPhone and
upload it with alt text and a descriptive caption.)
(I ask for the above so we have consistency between new and old
screenshots if we end up mixing and matching across different releases)

Also, you may want to consider whether it would be best to match the
existing style and tone of the documentation when suggesting changes to the
documentation.
Also note that if you build the app from main you'll have all the current
features and that's more than the app store versions. We'll release new app
store versions hopefully by the end of the year.
Brandon
On Thu, Nov 24, 2022 at 8:26 AM Dmitri Zagidulin @.***>
wrote:

@Shruti3004 https://github.com/Shruti3004 that would be wonderful!
—
Reply to this email directly, view it on GitHub
https://github.com/digitalcredentials/learner-credential-wallet/issues/267#issuecomment-1326522887,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFXVRWQKVW2EU4QPGCCB2LWJ53JLANCNFSM6AAAAAAR44HFQM
.
You are receiving this because you are subscribed to this thread.Message
ID: <digitalcredentials/learner-credential-wallet/issues/267/1326522887@
github.com>

@fields37 - would you like to give this a shot?

4 screenshots that can be posted to the code library.

Thanks Brandon, am I missing something or are these just going into the readme file?

Correct, please add to the Readme.
I think it's odd to add the screenshots here as this is the source code and
we run a separate website for the app and having to keep these up to date
also is additional maintenance burden... but nonetheless here are 3
screenshots. I'd place them above the Goals line, and make them relatively
small images on a single line so as not to take up too much space. Thanks.
On Mon, Apr 17, 2023 at 4:28 PM fields37 @.***> wrote:

Thanks Brandon, am I missing something or are these just going into the readme
file
https://github.com/digitalcredentials/learner-credential-wallet/blob/main/README.md
?
—
Reply to this email directly, view it on GitHub
https://github.com/digitalcredentials/learner-credential-wallet/issues/267#issuecomment-1512040678,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFXVRVK33WAWGA7NYUBBPDXBWRV3ANCNFSM6AAAAAAR44HFQM
.
You are receiving this because you commented.Message ID:
@.***
.com>

Screenshots added, closing ticket


Question about docs.

There currently seem to be two places for documentation:
http://pybuilder.github.io/
and
http://pythonhosted.org/pybuilder/
What is "official"?

pythonhosted is the sphinx documentation branch (which is in the same repo as the code crucially).
I started this because I felt like the github pages documentation on http://pybuilder.github.io/ did not address many of the problems user were having.
For instance if you want to install a file to /opt/ then you will search the internet for "pybuilder install file" and not for pybuilder setuptools plugin. So the new documentation is more oriented towards achieving something concrete, as opposed to simply documenting the nooks and crannies of every plugin (the approach from http://pybuilder.github.io/ which really just dumps everything each plugin can do in front of the user).
So I would say the new sphinx documentation is definitely better, and I would recommend both using and extending that. But it's lacking quite a bit of content, and some things are outdated again.

The main problem I see is that people will be unsure as to what documentation should be consulted.
If you look at PyPi you will be even more confused, as PyPi seems to have recently decided to show pythonhosted based documentation on the project landing page:
https://pypi.python.org/pypi/pybuilder/0.11.11.dev20170316102956
It's a tough call.

Is it possible to choose only one way and remove another one?

I believe this issue is no longer of relevance.

I believe this issue is no longer of relevance.


E2507 (IAM Policy statement key Fn::If isn't valid) errors if an IAM policies uses !If as a statement

cfn-lint version: (cfn-lint --version)
cfn-lint 0.4.2
Description of issue.
cfn-lint generates E2507 errors if an IAM policies uses !If as a statement
The following template is valid CloudFormation (and generates a valid policy, even if PipelineApprovalStage is set to No)
AWSTemplateFormatVersion: '2010-09-09'

Parameters:
  PipelineApprovalStage:
    AllowedValues:
      - 'Yes'
      - 'No'
    Default: 'No'
    Type: String
  PipelineApprovalEmail:
    Type: String

Conditions:
  IsPipelineApprovalStageCondition: !Equals [!Ref PipelineApprovalStage, 'Yes']

Resources:
  PipelineApprovalTopic:
    Type: AWS::SNS::Topic
    Condition: IsPipelineApprovalStageCondition
    Properties:
      Subscription:
      - Endpoint: !Ref PipelineApprovalEmail
        Protocol: email
  PipelineRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Effect: "Allow"
            Principal:
              Service:
                - "codepipeline.amazonaws.com"
            Action:
              - "sts:AssumeRole"
      Policies:
        - PolicyName: "CodePipeline-Policy"
          PolicyDocument:
            Version: "2012-10-17"
            Statement:
              - !If
                - IsPipelineApprovalStageCondition
                - Effect: "Allow"
                  Action:
                    - "sns:Publish"
                  Resource: !Ref PipelineApprovalTopic
                - !Ref AWS::NoValue

However, cfn-lint flags the !If as a problem
cfn-lint template.yaml
E2507 IAM Policy statement key Fn::If isn't valid
template.yaml:40:13

E2507 IAM Policy statement missing Effect
template.yaml:40:13

E2507 IAM Policy statement missing Action or NotAction
template.yaml:40:13

E2507 IAM Policy statement missing Resource or NotResource
template.yaml:40:13

Can you upgrade to 0.7.1?  This is fixed in that version.   There was some rewriting of rule E2507 since the version you have to handle conditions better.
➜  cfn-lint --version
cfn-lint 0.7.1
➜  cfn-lint test.yaml
➜  echo $?
0

My apologies, this is indeed fixed. Version 0.7.1 works!
Thanks,
Ben


Forge not working  in Ubuntu 16.04

Component
Forge
Have you ensured that all of these are up to date?

[ ] Foundry
[X] Foundryup

What version of Foundry are you on?
0.2.0
What command(s) is the bug in?
forge init hello_foundry
Operating System
Linux
Describe the bug
I couldn't run forge command after installing foundry. When running forge init hello_foundry it shows
ZOE ERROR (from forge): zoeOpenFile failed to open file (hello_foundry) ZOE library version 2013-02-16
cast command doesn't seem to have this issue.

this looks weird, can you check that you're actually executing forge.
what does forge --version print?

it's the same error for forge commands
ZOE ERROR (from forge): zoeParseOptions: unknown option (--version) ZOE library version 2013-02-16

I suspect you're executing something else,
what does which forge print?

/usr/bin/forge

I don't think that's right,
it should be in ~/.foundry/bin/forge
/usr/bin/forge is something else I believe

Interestingly, this error comes up here https://groups.google.com/g/snap-user/c/PSgHdMliPXc

Error while running forge (ZOE error ), SNAP version 2013-02-16

not sure what /usr/bin/forge is though

This is not related to Foundry as outlined by @mattsse. I read somewhere that a potential fix is sudo apt-get install snapd, but I'm not sure. Please make sure your Ubuntu is up to date and that you do not have any conflicting packages. You could potentially try: sudo apt-file search /usr/bin/forge to figure out what package that Forge binary is from
I'm closing this since there's not really much we can do. Feel free to join https://t.me/foundry_support


frontend: add default actions to ResourceListView

Now the actions can be used from the list views (by clicking the action ... to bring up a menu) as well as on the detail view.

I also noticed that the menu options partially outside the view. Not sure if you can e.g. render the menu with the anchor being the top right to avoid this.

i used the inhouse method to render the menu.

@joaquimrocha I updated a lot of thinks. What do you think?

@joaquimrocha @illume Would you like to review?

@farodin91 Another great PR! Thanks a lot, and keep those coming.
About this one, I think it's great as it is, but if we could hide the view button when the edit button is enabled (as its done through the AuthVisible comp in the details view), that would be more consistent.


Add a context.Context field to v8go.Context for idiomatic Go embedder data

Problem
We would like to use an isolate to perform multiple isolated tasks in parallel, with each task being independently cancellable, having its own deadline and having its own metadata associated with it.  However, when a FunctionTemplate that is re-used across these tasks is called, then we get a v8go.Context without a clear way of getting the associated task information.
There are a number of workarounds that seem awkward, not obvious and add unnecessary overhead:

Storing a key in a v8 value stored on the global object to use for looking up the associated task
Using a new FunctionTemplate per-task (the "template" in its name effectively becomes a misnomer)
Using the v8go.Context itself as a key to lookup the task from a map

V8 has the concept of Embedder Data that can be associated with a context for this purpose, so it seems like v8go should expose this sort of capability.  Although, using the v8 embedder data capability itself would be awkward, since we want to be able to store arbitrary Go values instead of C++ values.
Solution
The solution is quite simple, we just expose a field on the v8go.Context that can be set by the code using the library (the embedder) then easily retrieved in a function callback.
Theoretically, this field could be an EmbedderData interface{} field, which would then need to be cast to the concrete type before using.  However, there may be different packages that provide different APIs (e.g. a generic polyfill library and an application specific APIs) that could all need to share the context's embedder data.
As such, this PR adds a EmbedderContext context.Context field to the v8go.Context, which would allows different packages to provide APIs that would better interoperate, with a common API for deadlines and cancellation as well as having a common object that isolated state can be attached to in a non-conflicting way using context.WithValue (e.g. could be done using each package's InjectToContext function).
If an application really only needs an interface{} field, then they could always leverage the fact that context.Context is just an interface to treat EmbedderContext almost like it is an interface{} type.  This just requires adding a context.Context field to the application's struct, which could be initialized with Context: context.Background() for this fields value.  However, it seems quite likely that they will actually want to use it as a context.Context.

The idea was that v8go wouldn't be using this EmbedderContext at all, not even for the Key/Value part of it.  It is for the embedders (i.e. library users) and I would expect the EmbedderContext to often be used to pass in any IO operation so the Deadline/Done channel can be used to interrupt IO.  I was hoping the name EmbedderContext would make this clear enough, but if you found this confusing, then perhaps users would as well.  Maybe an EmbedderData interface{} field would be more appropriate after all to avoid confusion.
Anyways, hard timeouts / deadlines are already possible with v8go.Isolate.TerminateExecution, so we don't really need this for that purpose.
The approach I'm going to instead go with instead is to just manage this outside of v8go but setting a current task around JS execution on a worker struct that wraps the v8go.Isolate, where the worker struct is already accessible through the function template closure.  Not only does it not feel like a hack, but it also allows for tasks to be executed in parallel within the same V8 context.
So I'm going to close this PR since it doesn't seem necessary now.


Can I install docker with https config?

Hi
I want install docker of the package with ssl. How can I do this?

You can:

Add "-p 8081:443" to the command to expose the 443 port
config nginx or caddy as the reverse proxy, provide the TLS certificate


[BUG] Template variables not processed?

Maybe I m doing something wrong here (new to the plugin).
I created a "Template" Quick add and selected the template from the list (using the Obsidian core plugin, NOT templater).
However, template variables like {{title}} are not being processed.
When I run the Obisidian command to add the template to the current note, it works fine
To Reproduce
Steps to reproduce the behavior:

Create a template (with core plugin) using variable {{title}} somewhere in the template
Create Quick Add Choice of type "Template"
Select the template created in 1.
Run the Quick Add command

Expected behavior
New note gets created using the specified template. {{title}} variable gets replaced with actual value.
Actual behavior
New note gets created, however {{title}} does not get replaced.

Just wanted to add that this also doesn't work with the other template variables: {{date}} {{time}}.

This is happening to me too.

I have this problem, too. {{title}} stays as {{title}}

Confirm, it does not work for me too. I installed latest version.

Just wanted to add that this also doesn't work with the other template variables: {{date}} {{time}}.

I got it working with {{DATE:YYYY/MM/DD}} at {{DATE:HH:mm}}. Looks like this uses a different style: Format syntax | QuickAdd; bit annoying that this plugin doesn't at least convert for the built-in variable defaults.

Hi everyone, thank you for contributing to the discussion here!
This isn't a bug. It is intended.
I can see, however, that this is something which could contribute to the experience of using QA.
There are two reasons why I haven't implemented this already:

Obsidian is closed-source, so it isn't as simple as just invoking the core plugin (as it is with Templater) and having it do it.
The title is an issue. The reason it works with <% tp.file.title %> (Templater) is because that is done after creating the note. QuickAdd tries to do things before actually creating the note.

As a compromise, I have allowed all format syntax to be lowercase as of #326, or v0.7.0. Meaning, {{DATE}} is now equivalent to {{date}}.
That leaves {{time}} and {{title}}.
As @Amparose mentions, you can use {{DATE:YYYY/MM/DD}} and {{DATE:HH:mm}} (or lowercase now) for {{date}} and {{time}}, respectively. This was the indented use from the start.
I may implement {{title}} at some later date. Please track #327 for this.
Again, thank you everyone for contributing! It is very much appreciated.

I'm currently experiencing this issue, even with e.g. {{date}}
Is there a more recent open issue?


Issue #24:  Tweak appveyor for git lfs.

This is not going anywhere.  OSRM library is too many file and big for git lfs.


Create merge tool

We need a tool allowing us to merge data sets. The main use case is to update existing data sets automatically.
The tool must:

be written in Python (or Go would also be a good candidate) using only the standard library in order to avoid dependencies to perform this simple tasks. A simple script with a minimal CLI will do.
located in the /tools directory
keep entries without an update intact
replace old data with new one (i.e., merge the 2 entries together, with the most recent overwriting the old one)
be idempotent
work in a fully unattended fashion

scrapd-merger.py wouls be a good name for the tool.
Example:
Old data:
{
    "Age": 22,
    "Case": "17-0780309",
    "DOB": "11-8-94",
    "Date": "Sunday, March 19, 2017",
    "Ethnicity": "Black",
    "Fatal crashes this year": "15",
    "First Name": "Lamar",
    "Gender": "male",
    "Last Name": "Jackson",
    "Link": "http://austintexas.gov/news/traffic-fatality-15-2",
    "Location": "11600 block of Burnet Rd.",
    "Time": "2:30 a.m."
  },
  {
    "Age": 59,
    "Case": "17-0710136",
    "DOB": "12-21-57)",
    "Date": "March 12, 2017",
    "Ethnicity": "Hispanic",
    "Fatal crashes this year": "14",
    "First Name": "Tomas",
    "Gender": "male",
    "Last Name": "Garcia-Servin",
    "Link": "http://austintexas.gov/news/traffic-fatality-14-3",
    "Location": "10010 N. Lamar Blvd.",
    "Time": "1:21 a.m."
  },
  {
    "Case": "17-0770668",
    "Date": "March 18, 2017",
    "Fatal crashes this year": "13",
    "Link": "http://austintexas.gov/news/traffic-fatality-13-2",
    "Location": "4200 block of Southwest Parkway",
    "Time": "8:07 a.m."
}

New data:
{
    "Age": 22,
    "Case": "17-0780309",
    "DOB": "11/08/1994",
    "Date": "03/19/2017",
    "Ethnicity": "Black",
    "Fatal crashes this year": "15",
    "First Name": "Lamar",
    "Gender": "male",
    "Last Name": "Jackson",
    "Link": "http://austintexas.gov/news/traffic-fatality-15-2",
    "Location": "11600 block of Burnet Rd.",
    "Notes": "This case is still being investigated. Anyone with information regarding this incident is asked to call the APD Vehicular Homicide Unit Detectives at<PHONE_NUMBER>. You can also submit tips by downloading APD\u2019s mobile app, Austin PD, for free on iPhone and Android. This is Austin\u2019s 15th fatal traffic crash of 2017. At this time in 2016, there were 14 fatal traffic crashes and 14 traffic fatalities.",
    "Time": "2:30 a.m."
  },
  {
    "Age": 59,
    "Case": "17-0710136",
    "DOB": "12/21/1957",
    "Date": "03/12/2017",
    "Ethnicity": "Hispanic",
    "Fatal crashes this year": "14",
    "First Name": "Tomas",
    "Gender": "male",
    "Last Name": "Garcia-Servin",
    "Link": "http://austintexas.gov/news/traffic-fatality-14-3",
    "Location": "10010 N. Lamar Blvd.",
    "Notes": "The preliminary investigation shows that a white 2015 Ford Focus was traveling southbound in the inside lane of the 10010 block of N. Lamar Blvd. A pedestrian was crossing mid-block westbound when he was struck by the Ford\u2019s left front side. The pedestrian was transported to University Medical Center at Brackenridge Hospital with critical injuries. He died as a result of his injuries on Monday, March 20, 2017.",
    "Time": "1:21 a.m."
  }

Result:
scrapd-merger.py -v old-data.json new-data.json

{
    "Age": 22,
    "Case": "17-0780309",
    "DOB": "11/08/1994",
    "Date": "03/19/2017",
    "Ethnicity": "Black",
    "Fatal crashes this year": "15",
    "First Name": "Lamar",
    "Gender": "male",
    "Last Name": "Jackson",
    "Link": "http://austintexas.gov/news/traffic-fatality-15-2",
    "Location": "11600 block of Burnet Rd.",
    "Notes": "This case is still being investigated. Anyone with information regarding this incident is asked to call the APD Vehicular Homicide Unit Detectives at<PHONE_NUMBER>. You can also submit tips by downloading APD\u2019s mobile app, Austin PD, for free on iPhone and Android. This is Austin\u2019s 15th fatal traffic crash of 2017. At this time in 2016, there were 14 fatal traffic crashes and 14 traffic fatalities.",
    "Time": "2:30 a.m."
  },
  {
    "Age": 59,
    "Case": "17-0710136",
    "DOB": "12/21/1957",
    "Date": "03/12/2017",
    "Ethnicity": "Hispanic",
    "Fatal crashes this year": "14",
    "First Name": "Tomas",
    "Gender": "male",
    "Last Name": "Garcia-Servin",
    "Link": "http://austintexas.gov/news/traffic-fatality-14-3",
    "Location": "10010 N. Lamar Blvd.",
    "Notes": "The preliminary investigation shows that a white 2015 Ford Focus was traveling southbound in the inside lane of the 10010 block of N. Lamar Blvd. A pedestrian was crossing mid-block westbound when he was struck by the Ford\u2019s left front side. The pedestrian was transported to University Medical Center at Brackenridge Hospital with critical injuries. He died as a result of his injuries on Monday, March 20, 2017.",
    "Time": "1:21 a.m."
  },
 {
    "Case": "17-0770668",
    "Date": "March 18, 2017",
    "Fatal crashes this year": "13",
    "Link": "http://austintexas.gov/news/traffic-fatality-13-2",
    "Location": "4200 block of Southwest Parkway",
    "Time": "8:07 a.m."
}

It looks like jq would do a great job actually: https://stackoverflow.com/questions/19529688/how-to-merge-2-json-file-using-jq


Report offending table name when metadata invalid

A query like
SELECT table_schema, table_name, column_name
FROM information_schema.columns

may fail with something like the following:
java.lang.IllegalArgumentException: Row type must have at least one parameter
    at com.google.common.base.Preconditions.checkArgument(Preconditions.java:135)
    at com.facebook.presto.type.RowParametricType.createType(RowParametricType.java:51)
    at com.facebook.presto.type.TypeRegistry.instantiateParametricType(TypeRegistry.java:207)
    at com.google.common.cache.CacheLoader$FunctionToCacheLoader.load(CacheLoader.java:165)
    at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524)
    at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2273)
    at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2156)
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2046)
    at com.google.common.cache.LocalCache.get(LocalCache.java:3943)
    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3967)
    at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4952)
    at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4958)
    at com.facebook.presto.type.TypeRegistry.getType(TypeRegistry.java:177)
    at com.facebook.presto.hive.HiveMetadata.lambda$columnMetadataGetter$47(HiveMetadata.java:2137)
    at com.facebook.presto.hive.HiveMetadata.getTableMetadata(HiveMetadata.java:447)
    at com.facebook.presto.hive.HiveMetadata.listTableColumns(HiveMetadata.java:595)

here, there is no clue which table caused the problem.
This commit includes table name to the exception message when there is
an exception in getTableMetadata call.

I'm not sure this is the right approach. One problem is that it will eat any PrestoException, transforming it into an uncategorized error.
I think we should handle invalid types directly, like we do for other invalid metadata. We could wrap the typeManager.getType() call and catch IllegalArgumentException, transforming it to HIVE_INVALID_METADATA.
However, this feels like covering up a deeper problem: how did we get an invalid TypeSignature in HiveColumnHandle in the first place? We have code that transforms Hive types into Presto types and somehow it is coming out invalid.

@electrum i don't view this as a solution to a problem of metadata handling that let the invalid data sneak in.
Later we may add PrestoException(HIVE_INVALID_METADATA) where necessary to report the problem to the user in an appropriate way. When doing this, we need to make sure user gets enough information to be able to fix this. Ideally this should include table name and column name besides problem details.
However, even if we pin-point a particular problem, we still may not catch everything. Having a catch-all approach that is not intendent as end-user error reporting but instead, it's intended as some error reporting, seems necessary.
This is also why i am not throwing PrestoException -- this is not meant to be proper end-user error reporting solution.

Any further comments? Can i merge this?


Would be nice for teachers to see who submitted what and at exactly what time.

Students should maybe also see at what time they submitted something.

Done.


Can't be imported in Deno

Hi,
When I import it in the Deno, it seems some dependencies don't work with ES module.
I understand that most libraries don't work with Deno right now, but it would be better to support Deno.
Thank you!
--
import 'https://unpkg.com/@worker-tools/parsed-html-rewriter?module';
...
Download https://unpkg.com/htmlparser2@^6.0.0?module
Download https://unpkg.com/linkedom@0.5.6/commonjs/canvas.cjs?module
Download https://unpkg.com/css-select@^3.1.2?module
Download https://unpkg.com/htmlparser2@6.0.1?module
Download https://unpkg.com/css-select@3.1.2?module
error: Import 'https://unpkg.com/css-select@3.1.2?module' failed: 404 Not Found
    at https://unpkg.com/linkedom@0.5.6/esm/shared/matches.js?module:1:0

This is not something I can fix, as it's internal to one of the dependencies.
Use skypack instead: https://cdn.skypack.dev/@worker-tools/parsed-html-rewriter

Thank you for the reply.
Yeah, I know that's because of some indirect dependencies.
But if one day we want to put this HTMLRewriter on this page: https://worker-tools.github.io/#tools
Maybe we have better to support it. So that:

Most have no dependencies beyond what is provided by a Worker Environment. For those that have dependencies, only such that provide ES module exports are used.

Thank you so much, I learned a lot from the worker-tools.

Yep fully agree.
Unfortunately I'm not sure this module will ever live up to that standard. Unlike the other tools, this one has some pretty complex dependencies and maintaining de-node-ified forks of them seems overkill. I might look into it at some point anyway.
I hope that lol-html will provide a WASM interface at some point (I think there's an open issue) which should be self-contained and make this module obsolete.

Anyway, nice to see you've poked around the tools  a bit 👍

FYI: It's now possible to use this module directly in deno by providing the following import map:
{
  "imports": {
    "linkedom": "https://esm.sh/linkedom?alias=perf_hooks:universal-perf-hooks",
    "whatwg-stream-to-async-iter": "https://esm.sh/whatwg-stream-to-async-iter",
    "tslib": "https://esm.sh/tslib"
  }
}

Exampel usage:
#!/usr/bin/env -S deno run --import-map=./import-map.json --allow-net --no-check
import { ParsedHTMLRewriter } from<EMAIL_ADDRESS>
Mind the --no-check option to prevent typescript errors relating to missing DOM types...


dxScrollViews height-property is broken

Though one can set the height property to a number. This means that [height]=200  and [height]="200" will work but [height]="200px" will throw an error.
I encountered this problem because I wanted to assign a relative height-property to it, meaning something like: [height]="100%". I am not sure if this will work, because I can also set these styles with inline-css  and something like sytles="display: block; height: 100%;  does not do the trick.
I will look further into this.
Maybe you can also help me out with it. I basically want a dxPopUp with relative height showing scrollable content.
Thank you!

Have you tried [height]="'100%'"?

Yes, did it work for you?

Hello,
If the approach above did not yet help you, I suggest that you try out this example.

Thank you,
#168 turned out to solve my specific problem


Removed repeated tool uiverse.io

Related Issue
Closes #1518

Description
Removed the repeated tool.

Screenshots

Checklist

[X] My code adheres to the established style guidelines of the project.
[] I have included comments in areas that may be difficult to understand.
[X] My changes have not introduced any new warnings.
[X] I have conducted a self-review of my code.

The PR title format you are using is causing an error in the workflow. Please follow the instructions in the CONTRIBUTING.md and change it accordingly.


haskell.compiler.*: use wrapped install_name_tool on aarch64

On aarch64-darwin we have an additional wrapper for install_name_tool to
deal with codesigning requirements. Using the unwrapped variant like on
x86_64-darwin would lead to the Setup binary getting killed by the
kernel in builds of haskell packages.
Testing the build of at least haskellPackages.th-abstraction would be required.

Motivation for this change
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

@ofborg build ghc

@ofborg build ghc

@NixOS/darwin-maintainers could someone test this on aarch64-darwin?

@fendor has, seems to fix the regression for th-abstraction.

Gonna squash the commits and then merge, sound good?


feature: known information about a package in visualizer.

This PR adds UI to get more information about a package, answering questions such as: given a vulnerability ID, which packages of mine are affected? what vulnerabilities are in this package version? does this current package have an sbom associated with it? is there a SLSA attestation associated with it?
Certify vulns in version:

Query vuln ID:

SBOM download location:

Get SLSA info from artifacts:

Completed via https://github.com/guacsec/guac-visualizer/pull/94


Linter fixes and go version bump

Small changes:

Upgrade to latest go and golint version, to ease development
Explicitely ask for watch bookmarks where possible
Filter out managedFields (k8s 1.19 noise) as this severely bloat archives, and has little value being backuped

Not sure if we should keep the mispell linter (which just broke
travis tests on master), as they are of low value.

Coverage remained the same at 85.164% when pulling ad486d89b1ba120bb593f8cf31c817b2f347d6ce on lintfixes into d76ec88442c2e8978b651891d1bda85bb99b6c26 on master.


Use @storybook/testing-library for Storybook play functions

this -> #1991
This official storybook library should allow us to use the full testing-library query suite in play functions, particularly userEvent which errors out when imported from @testing-library/react.

Can we use user-event directly?

Can we use the testing library user-event package directly?

I tried it out and it seems we cannot, doing so makes play functions not execute in Chromatic.

@rogermparent Storybook actually looks broken.


Autocomplete of "Name on card" with hosted fields Card Number and Expiration

General information

SDK version: 3.53.0 and 3.55.0
Environment: Sandbox
Browser and OS : 78.0.3904.108-1 and Ubuntu Linux

Issue description
Not sure really where to ask if this is even possible, given that hosted fields only know about each other and does not know about non-hosted fields, but here it goes anyway:
Does braintree-web support auto-completing "Name on card" when auto-completion was initiated from either Card Number or Expiration hosted fields?
At the moment, when auto-completing from either card number and expiration hosted fields, the suggested payment method by Chrome does not even suggest to auto-complete the name on card.

See attached braintree-test.html and replace the 'sandbox_XXXXXX' token with a valid sandbox authorisation token.

Notice that the "Name on card" has the correct "name" attribute and "autocomplete" attribute as per suggestion at :
https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill
https://developers.google.com/web/fundamentals/design-and-ux/input/forms#recommended_input_name_and_autocomplete_attribute_values

Host the attached braintree-test.html in a web server and make sure it is served via HTTPS and that Chrome recognises that entire certificate chain.
Ensure you have stored credit card numbers in Chrome.
Auto-populate from either card number hosted field or expiration date hosted field using the card number suggested by Chrome.
Notice that Chrome does not even suggest or know about the "Name on card" ( because it is in a different HTML form than the HTML form within the IFRAME of the hosted field ).

braintree-test.zip

There's no way for us to populate the iframes when the autocomplete occurs from an external cardholder name field. (there's no "autofill" event we can listen for that will give us the credit card number)
The only way to do it would be to insert hidden inputs on the parent page to collect the card details, but then that would compromise the PCI compliance that Hosted Fields gives, because raw card details would be on your website.
We can go the other way, and emit the cardholder name from the number field, since that's not PCI sensitive data. However, since the cardholder name is often going to be the first field someone enters, I think that's not too useful.
I think the only real solution to this is for us to add support for cardholder name being an iframe in hosted fields. That will allow it to interact with the other iframes and populate the autofilled credit card data. I've added this to our backlog.

Any idea when "Name on Card" will be added to the hosted fields?

No timeline on this right now. It is in our backlog.

I know there wasn't a good workaround in Dec. of 2019, but any recommendations for a workaround now?
My issue is with Google Pay wanting to autofill for the Name on Card field and only filling the Name on Card field, then it gives me autofill options again for the credit card, this is not a very good user experience.

This is in our backlog, but we don't have a set timeline yet.

Is this fixed?

Fixed here would mean adding cardholder name as a supported field within hosted fields. This is in our backlog, but still no set timeline for when it will be addressed.

Fixed in v3.66.0 (note that npm is currently having issues publishing packages ), so this is available via our CDN, but may take a while to be available on npm.


Browser Item missing edit after save and refresh

Description
After saving browser, the currentItem edit missing, cannot click to edit item
Steps to reproduce
Select Item from browser, save and refresh
Expected result
Clickable Item go to edit page

Actual result
After saving and refresh, item missing edit, cannot click

Versions

2.8.0

Hi @thingasd, how are you saving and retrieving this browser data? You either need to specify a routePrefix when doing so with the route group your browser module is in, or implement getAdminEditUrlAttribute() on your browsed model.

Hi @thingasd, how are you saving and retrieving this browser data? You either need to specify a routePrefix when doing so with the route group your browser module is in, or implement getAdminEditUrlAttribute() on your browsed model.

Thanks Quentin, implementing getAdminEditUrlAttribute() works perfectly. But I am curious about the difference in the way of retrieving edit url in these methods. If I don't need a custom admin edit url, is this better to use moduleRoute instead of adminEditUrl?
https://github.com/area17/twill/blob/2.x/src/Repositories/Behaviors/HandleBrowsers.php#L159
https://github.com/area17/twill/blob/2.x/src/Http/Controllers/Admin/ModuleController.php#L1391
'edit' => moduleRoute($moduleName ?? $relation, $routePrefix ?? '', 'edit', $relatedElement->id)
https://github.com/area17/twill/blob/2.x/src/Repositories/Behaviors/HandleBrowsers.php#L183
'edit' => $relatedElement->adminEditUrl


Migrations on deployment

When deploying v1.0.6-beta, we get:
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration data_products.0001_initial is applied before its dependency virtual_labs.0005_virtuallabinstance on database 'default'.

This is because we didn’t commit migration files, as recommended in the django doc:

The migration files for each app live in a “migrations” directory inside of that app, and are designed to be committed to, and distributed as part of, its codebase. You should be making them once on your development machine and then running the same migrations on your colleagues’ machines, your staging machines, and eventually your production machines.

As such, we should remove the makemigrations commands from the docker images, and run them locally so that they can be committed.


check this and add

html file for my github bio

Your pull request needs further work because of the following reason(s):

Your file must be Friends/IsharaDeSilva.html

Once you have resolved the issues, comment on this request to be re-judged
This is an automated response, beep boop.
if you think there is a mistake, contact a maintainer

b004aeed2373dfaa7764f96a12657b0550808d86

This PR has been idle for more than 24 hours, and will now be closed. Feel free to re-open.
This is an automated response, beep boop.
if you think there is a mistake, contact a maintainer

b004aeed2373dfaa7764f96a12657b0550808d86


Video: record simple video for feedback from Steve

Ran demo in person instead.
Brief notes:

Enumerate social use cases for annotations

Pros and cons of single file, centralized/distributed

Spatial context

Can we get annotations in the file vs in webview?

Refactoring operations

Either manual or with a language model
We can track where the change came from

Annotations on the whole file?
Notebook as component


Identify which types of schema modifications are currently performed by yq

This task is to catalog the uses of yq in the submission schema build process. Once we have that list we should decide on how we can codify those into new sheets_and_friends functionality. The output of this task should be issues in the sheets_and_friends repo detailing the new features to add. The eventual goal is to have all schema modifications managed by sheets_and_friends and not have any dependence on yq.
See also:

https://github.com/microbiomedata/submission-schema/issues/39
https://github.com/microbiomedata/submission-schema/issues/178
https://github.com/microbiomedata/submission-schema/issues/199

src/nmdc_submission_schema/schema/nmdc_submission_schema.yaml is a good example of a schema that needs modifications

grep yq project.Makefile | grep -v _yq | sort | sed 's/^[[:space:]]*//'

# use yq for global modifications
# use yq to add examples when the examples themselves include the packed value separator |
# use yq to add patterns with a secondary condition like mutivalued
# # using | cat > because yq fails to write to STDOUT (permissions error?!)
yq eval-all \
yq eval-all \
#	yq eval-all \
#	yq -i '(.classes.[].slot_usage.[] | select(has("range") | not  ) | .range ) = "string"' $@
yq -i '(.classes.[].slot_usage.[] | select(.name=="chem_administration") | .examples) = [{"value": "agar [CHEBI:2509];2018-05-11|agar [CHEBI:2509];2018-05-22"}, {"value": "agar [CHEBI:2509];2018-05"}]' $@
#	yq -i '(.classes.[].slot_usage.[] | select(.name == "dna_dnase") | .range) = "boolean"' $@
yq -i '(.classes.[].slot_usage.[] | select(.name == "dna_dnase") | .range) = "YesNoEnum"' $@
yq -i '(.classes.[].slot_usage.[] | select(.name == "dnase_rna") | .range) = "YesNoEnum"' $@
yq -i '(.classes.[].slot_usage.[] | select(.name == "oxy_stat_samp") | .range) = "OxyStatSampEnum"' $@
yq -i '(.classes.[].slot_usage.[] | select(.range == "GeolocationValue")  | .pattern) = "^[-+]?([1-8]?\d(\.\d{1,8})?|90(\.0{1,8})?)\s[-+]?(180(\.0{1,8})?|((1[0-7]\d)|([1-9]?\d))(\.\d{1,8})?)$$"' $@
yq -i '(.classes.[].slot_usage.[] | select(.range == "GeolocationValue")  | .range) = "string"' $@
yq -i '(.classes.[].slot_usage.[] | select(.range == "QuantityValue" and .multivalued == true)  | .pattern) = "^([-+]?[0-9]*\.?[0-9]+ +\S.*\|)*([-+]?[0-9]*\.?[0-9]+ +\S.*)$$"' $@
yq -i '(.classes.[].slot_usage.[] | select(.range == "QuantityValue") | .pattern) = "^[-+]?[0-9]*\.?[0-9]+ +\S.*$$"' $@
yq -i '(.classes.[].slot_usage.[] | select(.range=="string") | .multivalued) = false' $@
#yq -i '(.classes.[].slot_usage.[] | select(.string_serialization=="{termLabel} {[termID]}") | .range) = "string"' $@
yq -i '(.classes.[].slot_usage.[] | select(.string_serialization=="{text};{float} {unit}" and .multivalued == true ) | .pattern) = "^([^;\t\r\x0A]+;[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)? [^;\t\r\x0A]+\|)*([^;\t\r\x0A]+;[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)? [^;\t\r\x0A]+)$$"' $@
yq -i '(.classes.[].slot_usage.[] | select(.string_serialization=="{text};{float} {unit}") | .pattern) = "^[^;\t\r\x0A\|]+;[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)? [^;\t\r\x0A\|]+$$"' $@
yq -i 'del(.classes.Activity)'  $@
yq -i 'del(.classes.Agent)'  $@
yq -i 'del(.classes.AttributeValue)'  $@
yq -i 'del(.classes.ControlledIdentifiedTermValue)'  $@
yq -i 'del(.classes.ControlledTermValue)'  $@
yq -i 'del(.classes.GeolocationValue)'  $@
yq -i 'del(.classes.JgiMgInterface.rules.[] | select(.title == "rna*"))'<EMAIL_ADDRESS>yq -i 'del(.classes.JgiMtInterface.rules.[] | select(.title == "dna*"))'<EMAIL_ADDRESS>yq -i 'del(.classes.OntologyClass)'  $@
yq -i 'del(.classes.QuantityValue)'  $@
yq -i 'del(.classes.[].slot_usage.[] | select(.multivalued == "false").inlined)' $@
yq -i 'del(.classes.[].slot_usage.[] | select(.multivalued == "false").inlined_as_list)' $@
yq -i 'del(.classes.TextValue)'  $@
yq -i 'del(.classes.TimestampValue)'  $@
yq -i 'del(.slots.[] | select(.multivalued == "false").inlined)' $@
yq -i 'del(.slots.[] | select(.multivalued == "false").inlined_as_list)' $@
yq -i 'del(.slots.[] | select(.name == "acted_on_behalf_of"))' $@
yq -i 'del(.slots.[] | select(.name == "ended_at_time"))' $@
yq -i 'del(.slots.[] | select(.name == "has_maximum_numeric_value"))' $@
yq -i 'del(.slots.[] | select(.name == "has_minimum_numeric_value"))' $@
yq -i 'del(.slots.[] | select(.name == "has_numeric_value"))' $@
yq -i 'del(.slots.[] | select(.name == "has_raw_value"))' $@
yq -i 'del(.slots.[] | select(.name == "has_unit"))' $@
yq -i 'del(.slots.[] | select(.name == "latitude"))' $@
yq -i 'del(.slots.[] | select(.name == "longitude"))' $@
yq -i 'del(.slots.[] | select(.name == "started_at_time"))' $@
yq -i 'del(.slots.[] | select(.name == "term"))' $@
yq -i 'del(.slots.[] | select(.name == "used"))' $@
yq -i 'del(.slots.[] | select(.name == "was_associated_with"))' $@
yq -i 'del(.slots.[] | select(.name == "was_generated_by"))' $@
yq -i 'del(.slots.[] | select(.name == "was_informed_by"))' $@
yq -i 'del(.slots.[] | select(.name == "was_informed_by"))' $@
yq -i '(.slots.[] | select(.domain == "Activity") | .domain ) = "NamedThing"' $@
yq -i '(.slots.[] | select(.domain == "Agent") | .domain ) = "NamedThing"' $@
yq -i '(.slots.[] | select(.domain == "AttributeValue") | .domain ) = "NamedThing"' $@
yq -i '(.slots.[] | select(.domain == "AttributeValue") | .domain ) = "NamedThing"' $@
yq -i '(.slots.[] | select(.domain == "ControlledTermValue") | .domain ) = "NamedThing"' $@
yq -i '(.slots.[] | select(.domain == "GeolocationValue") | .domain ) = "NamedThing"' $@
#	yq -i '(.slots.[] | select(has("range") | not  ) | .range ) = "string"' $@
#	yq -i '(.slots.[] | select(.name == "dna_dnase") | .range) = "boolean"' $@
yq -i '(.slots.[] | select(.name == "dna_dnase") | .range) = "YesNoEnum"' $@
yq -i '(.slots.[] | select(.name == "dnase_rna") | .range) = "YesNoEnum"' $@
yq -i '(.slots.[] | select(.name == "oxy_stat_samp") | .range) = "OxyStatSampEnum"' $@
yq -i '(.slots.[] | select(.name == "oxy_stat_samp") | .range) = "rel_to_oxygen_enum"' $@
yq -i '(.slots.[] | select(.name == "rel_to_oxygen") | .range) = "rel_to_oxygen_enum"' $@
yq -i '(.slots.[] | select(.name == "sample_link") | .range ) = "string"' $@
yq -i '(.slots.[] | select(.range == "ControlledIdentifiedTermValue") | .range) = "string"' $@
yq -i '(.slots.[] | select(.range == "ControlledTermValue") | .range) = "string"' $@
yq -i '(.slots.[] | select(.range == "GeolocationValue") | .range) = "string"' $@
yq -i '(.slots.[] | select(.range == "OntologyClass") | .range) = "string"' $@
yq -i '(.slots.[] | select(.range == "QuantityValue") | .range) = "string"' $@
yq -i '(.slots.[] | select(.range == "string") | .multivalued ) = false' $@
yq -i '(.slots.[] | select(.range == "TextValue") | .range) = "string"' $@
yq -i '(.slots.[] | select(.range == "TimestampValue") | .range) = "string"' $@

broadly speaking, we might want to

change attributes of a slot, a slot usage, or both, based on some criteria
delete slots or slot usages based on some criteria
change attributes of a class or delete classes based on some criteria
change attributes of an enum or delete enums based on some criteria
change attributes of a permissible value or delete permissible values based on some criteria

Or do any of those in the absence of any criteria, like removing the name attribute from any element that has one, with a schema slimming goal

what is the best specification format?

TSV (tabular)
YAML (or JSON for arbitrary docs with no explicit schema)
:LinkML YAML or JSON

Are there cases where we would want to require satisfying multiple criteria before doing an operation?
Are there cases where we would want to batch operations together in a more succinct form, like setting the range of slots to string if their range had been ControlledTermValue or GeolocationValue or QuantityValue etc.?


fastrtps: update source version to sync with release version.

Use v1.8.0 for fastrtps source to get recent interface breaking changes.

@nuclearsandwich Ping. 😄

Good catch. Thanks @seanyen!


Add support for nested

Nested fields are typically such a bad idea and a pain to manage. I'm on the fence about whether to bother with it. Nothing is preventing the use of nested field types through the query interface (meaning if your mapping has nested fields you could still query them), there's just no baked-in support for Stretchy::Record or a specialized attribute type.

Added :nested attribute type in #74


Add source.encode and decode for text

Add .decodeUtf8 to Source[Chunk[Byte]] to convert it to a Source[String]
Add .encodeUtf8 to Source[String] to convert it to a Source[Byte] or Source[Chunk[Byte]]
In fs2 the default encoding produces Source[Byte], and a supplementary encodeC produces a source of chunks. Not sure which approach we should take as the default.
Add _.chunk and _.unchunk for conversions between Source[Chunk[A]] and Source[A]

Doesn't fs2 use chunking behind the scenes, so even a Source[Byte] is chunked?
For us, I'm not sure if working with a Source[Byte] would have any utility.

Right, we can indeed keep Chunk[Byte] for now.
When researching the decoding subject, I ran into some nuances: a Chunk[Byte] may not represent a full set of UTF characters. A special algorithm may be needed to detect and handle incomplete codes at the edge of a chunk, here are examples in fs2 and ZIO, not to mention detecting BOM bytes, but this is a simple matter.
fs2 seems to have two implementations: one for utf-8, and generic one for others, but the utf-8 one is still nontrivial and deals with mentioned issues. I started to implement something similar, but just wanted to check with you @adamw that we should go this way.

That's for the .decodeUtf8 function? Let's do utf-8 only for now. Maybe we can copy some of fs2's code? With proper attribution, of course.


Update deps

bors r+

bors r+

Can someone (@nefrathenrici, or @valeriabarra, or @juliasloan25) review the results in here to make sure the physical results still look okay?

There are some differences in Covariance w qt and Covariance wT plots for the no lim ARS held suarez (ρe) equilmoist hightop sponge job. I am not sure if those are significant. Probably @szy21 knows better.

Baroclinc wave and aquaplanet jobs look identical to main


Microsoft-Teams-Samples\samples\tab-personal Package extraction failed

Microsoft-Teams-Samples\samples\tab-personal

'{
"$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.12/MicrosoftTeams.schema.json",
"manifestVersion": "1.12",
"id": "1aaaaaaa-2bbb-3333-4ccc-5ddddddddddd",
"version": "1.0.0",
"packageName": "com.custom.tab",
"developer": {
"name": "Contoso",
"websiteUrl": "https://teams.xxxx.cn",
"privacyUrl": "https://teams.xxxx.cn/privacy",
"termsOfUseUrl": "https://teams.xxxx.cn/",
"mpnId": ""
},
"name": {
"short": "Tab",
"full": "PersonalTab"
},
"description": {
"short": "short description here",
"full": "full description here"
},
"icons": {
"outline": "icon-outline.png",
"color": "icon-color.png"
},
"accentColor": "#D85028",
"configurableTabs": [],
"staticTabs": [],
"bots": [],
"connectors": [],
"composeExtensions": [],
"permissions": [
"identity",
"messageTeamMembers"
],
"validDomains": [
"toDo.ngrok.io"
]
}'
the package : tab.zip

@chenzuo -We are looking into this I will get back to you soon.

@chenzuo -We are unable to repro the scenario.It's working fine from our end. Looks like issue with packages.
Could you please try with the following manifest json?
manifest.zip

@chenzuo - Did you get chance to check with the above manifest json?

copy that, i will redo follow the document.if have any questions i'll push the issues on here,please wait while. thanks lot .

It works perfectly,thank you very much.
I would suggest you modify the source and replace it use correct json as well...
I am very surprised that this project is still supported, very very unexpected. :)


Add flex technology installed capacities chart to front-end including slide and text

This chart shows the flexibility need in capacities as lines: these are the yearly minimum and maximum values of the residual load curves. Additionally, this chart shows how much capacity of flex technologies is installed. This comparison allows users to receive feedback on whether they have sufficient capacity for their surpluses and shortages.
We need to find a good location for this chart in the front-end!
@mabijkerk and I discussed two options:

We could add it underneath the "The need for flexibility: capacity"-slide:

We could divide the "Flexibility -> Overview" section into two separate sections, just like the "Excess electricity" section. Then we could place the first four charts underneath "Need for flexibility" and this chart underneath "Deployment of flexiblity".

What would you prefer @ChaelKruip @antw @michieldenhaan @AlexanderWirtz and other @quintel/core ?

I think this is option 1: add this chart in a 'Installed flexibility capacities' slide.

Are there more opinions about the location of this new chart or is this it? Please share them here :)


CLIP Weights are stored as float16

Dear the Scenic team,
I wanted to point out that the original torch CLIP Weights are stored in float16. But when used in Scenic, the Flax Module is defined with float32 weights. This doesn't cause problems during forward pass, but when I tried to fine-tune  CLIP this caused unexpected errors on a TPU.
This could be overflow/underflow issues or the TPU isn't meant for float16 - this is the message I received.
jaxlib.xla_extension.XlaRuntimeError: INTERNAL: during context [post-optimization]: Bitcast cannot have different shape sizes of output (8192) and operand (6144).
To fix my error, I had to cast CLIP weights back to float32.

Hi @moabarar
Thank for figuring this out. Would you like to propose a PR for your fix?
~ Alexey


pull request for e2e test at 12/30/2016 08:45:09

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Add an option to comma delimit urls to block

https://github.com/GoogleChrome/lighthouse/blob/master/docs/configuration.md#options-1
For blocking GTM tags for UTM testing

Done in b0df1b7036dab76d67dc788902fca6c8fa3a099a


NT Make compilation less talkative

This PR has no function changes, but generally makes compilation quieter and better behaved:

Eliminated a number of compiler warnings, caused by unnecessary unsafe operations.
Disabled loggers when running unit tests.
Removed verbose printing, which was left in by mistake.

Great. I was thinking about this when I was running the unit tests on Friday!


Pomodoro Synchronization

I noticed the following issue with the toggl-button Pomodoro synchronization.
Say, I forget to start the timer on a task. I go to the web page, start the timer and adjust the start time of the task (I don't stop the timer though). Now, assuming the elapsed time is less than the length of a Pomodoro interval, I would expect

the button extension to sync up to the timer on the web page and
to stop the timer at the end of the Pomodoro interval.

This doesn't seem to be the case. In fact the moment the start time is adjusted on the web page,
the 'white ring' around the toggl-button completely disappears (the button stays red though indicating the timer is running).

At some point we had the syncing work with pomodoro. This created another issue. If user was not using Toggl Button, but their computer was on then the timer would be stopped at pomodoro end. it would appear very odd when timer on the mobile app would mysteriously be stopped. We actually have thought about adding start time or duration editing to Toggl Button that would work in your described case.

Is it possible to return previous behavior via checkbox? I would like to stop all timers on the pomodoro end even if I start time entry from mobile or web.

@ihodev I created an issue for this request #732. We'll evaluate if this is something that should be added. Thank you for your feedback.


Testing the Q attitude estimator in coordinated turns

I have observed on both a 250 and 450 quad that flying in a circle with bank angle and yaw rate to approximate a fixed-wing "coordinated turn" results in error in the attitude estimate. When roll and pitch are returned to neutral, the copter is noticeably tilted. The tilt is noticeable after 3 or 4 circuits.
After circling, I hold the copter level (very little wind during the test), so roll and pitch should be near zero if the attitude estimate is correct.
Q estimator log: https://copy.com/3RS92YD4mlih7EyF
I was unable to demonstrate a similar attitude error using the EKF attitude estimator.
EKF estimator log: https://copy.com/AhVSyBftYqx6iX9e

@kd0aij Very interesting! Could you use the level horizon option in QGC on a level surface, fly the manoeuvre again and after that put it on the level surface one more and observe the attitude.

@tumbili This is a well-understood dynamic error in the complementary filter, caused by the centripetal acceleration in a coordinated turn. You can see that the attitude error decays to zero over about 20 seconds in this snapshot, but looking at the magnitude of the pitch correction I'm using to maintain a level attitude:

Bill Premerlani implemented compensation for this error in the MatrixPilot IMU.
Bill's algorithm originally relied on 3D velocity from GPS, but after seeing what Horizon Hobby was doing with their non-GPS "SAFE" system he looked at the problem again: http://diydrones.com/forum/topics/centrifugal-compensation-with-only-gyros-and-accelerometers?xg_source=activity

The filter is so short it might make sense to sift through it. It does compensate using GPS, there is probably something not quite right in how GPS is read out.

Verified that ATT_ACC_COMP parameter is > 0 in the log, but it looks like gpos.eph was too high, so accel comp was not applied.

I'll have to repeat this test with GPS. I thought I waited for a green LED before arming each time, but the Q test was the first session, so maybe I forgot the first time.

Repeat of Q test with GPS fix eliminated the attitude error accumulation during coordinated turns.


Interface props isn't exported.

Description of the bug
When using the vue3-popper in a library that's going to be type defined with vue-tsc then errors occur because vue3-popper uses prop definition that isn't exported.
To Reproduce
Steps to reproduce the behavior:

npm i vue-tsc -D
npx vue-tsc --declaration --emitDeclarationOnly
See error

Expected behavior
Vue3-popper should inline or export Props interface.
Screenshots
This fixes it:

So the fix to the component should be something like this:

Links
https://bytemeta.vip/repo/vuejs/docs/issues/1678
https://vuejs.org/api/sfc-script-setup.html#default-props-values-when-using-type-declaration

`src/components/PopupMenu/PopupMenu.vue:40:1 - error TS4082: Default export of the module has or is using private name 'Props'.
40 export default defineComponent({
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~`

I am also looking for a way to import the Props from the vue3-tooltip.

Any updates on this?


fix: override provisioning script

Issue #, if available:
Description of changes:
Fix override provisioning script to add provisioning script only with qemu
Testing done:
Local Testing

[ ] I've reviewed the guidance in CONTRIBUTING.md

License Acceptance
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

qemu user mode emulation binaries should still be configurable when using Virtualization.framework. There may be workloads which do not work under Rosetta emulation, but do work under qemu's emulation (which is why they have separate toggles in finch.yaml).
If both Rosetta and qemu-binfmt binaries are configured, Rosetta should be the one used due to Linux implementation details (I don't think its documented).


Visual bug after resizing interactive Python shell with VS Code 1.40

Bug: Notebook Editor, Interactive Window, Python Editor cells

Steps to cause the bug to occur

Launch an interactive Python shell.
Print a list using the shell's input box.
Dead space is added beneath the input box.

Actual & Expected behavior
After resizing the interactive Python shell and printing a list from the shell, there is dead space beneath the shell's input box (please refer to the lower right side of the screenshot). This bug is not present in VS Code 1.39.2.

Your Jupyter and/or Python environment
Please provide as much info as you readily know

Jupyter server running:                       Local
Extension version:                               2019.10.44104
VS Code version:                                1.40
Setting python.jediEnabled:               true
Python and/or Anaconda version:     3.7.5
OS:                                                     Windows
Virtual environment:                          N/A

Developer Tools Console Output

Hey @siddharthbakshi . Thanks for reporting this to us. That's a strange looking visual glitch. Currently I'm not able to repro it on either our master bits or our last release. If you don't mind, I had a question or two to help narrow this down.

After a restart of VSCode are you still seeing the issue? And is it always the same process to create that empty block of space? (printing a list from the input box)
If you open up the command palette there is a command -> "Developer: Open WebView Developer Tools." Could you do the following sequence?

Open Interactive Window (don't create the bug yet)
Open the WebView developer tools window
Repro the bug
Post back here the contents of the Console portion of the WebView developer tools window

Here is an example of the webview developer window:

Hi, I am having similar problem and it's driven me crazy. I am also in 1.40, here what's shown in my interactive window. The input prompt is pushed all the way to the top.

I found that this bug mainly appear when a long documentation is shown, e.g. those from numpy.

This may be the same bug:
https://github.com/microsoft/vscode/issues/84712

Dupe of https://github.com/microsoft/vscode-python/issues/8489


Tracking the initial render of Index.tsx

It seems like the documentation in the README file for tracking router changes does not track the request to the initial rendering of Index.tsx.  What is the best way to handle that?

I have the same issue... noticed that it does not register the entry point at all...
So basically if you use the browser URL bar and navigate to a different page it does not record that ... any ideas?

Good catch. react-appinsights relies on history to track page changes. Unfortunately, by design, the history.listen callback is not fired on the first page load (see this  comment).
So the workaround would be recording the page view manually, by using react-appinsights's internal instance of AppInsights. Here's an example excerpt of the index.tsx (using the react-appinsights v3.x ):

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import { Router } from 'react-router-dom';
import { ReactAI } from 'react-appinsights';
import { createBrowserHistory } from "history"

const history = createBrowserHistory()
ReactAI.initialize({ instrumentationKey: "InstrumentationKey", history: history, debug: true });

const pageViewTelemetry = { uri: history.location.pathname };
ReactAI.rootInstance.trackPageView(pageViewTelemetry);
console.log("Recording initial page view.", `uri: ${history.location.pathname}`);

ReactDOM.render((
    <Router history={history}>
        <App />
    </Router>),
    document.getElementById('root'));

(I'll keep this open to remember to write a test and document this behaviour)

This should be solved in version 3.0.0-beta.5, just released. To install it, issue npm install --save react-appinsights@beta (docs and code are in the typescript-rewrite branch). As soon as AppInsights releases their new SDK, this will become the new stable version.

I can confirm that the latest beta does indeed track the initial request using the following initialization:
const history = createBrowserHistory();
ReactAI.initialize({
  instrumentationKey: appInsightsInstrumentationKey,
  history: history,
  initialContext: { ... }
});


Inefficient and Confusing Use of StyleX for Color Scheme Handling

Describe the feature request
It is heavily used throughout the entire document.
const DARK = '@media (prefers-color-scheme: dark)';
const LIGHT = '@media (prefers-color-scheme: light)';

If you use dynamic color scheme switching, in this case, using StyleX is a complete disaster.
The entire project is full of this garbage code:

<div
{...stylex.props(s.box, scheme === 'dark' ? [bg.darkBgColor1, bd.dark2] : [bg.lightBgColor1, bd.light2]
/>

Besides using @media (prefers-color-scheme: dark), are there more viable use cases, such as supporting external variables and do not generate css segments as StyleX way:

box:{
 backgroundColor: 'var(--mantine-color-1)', // from mantine
}

:root
:root[data-mantine-color-scheme=light]
:root[data-mantine-color-scheme=dark]

Everywhere else it's visually pleasing, but when it comes to backgroundColor and color, it's simply maddening.

So many errors, making it difficult to move forward.
TypeError: Cannot read properties of undefined (reading 'watcher')
I strongly do not recommend StyleX at this moment.

I don't understand the question.

@nmn
One common method involves using media queries to adapt the theme to the system's color scheme settings. For instance:
const DARK = '@media (prefers-color-scheme: dark)';
const LIGHT = '@media (prefers-color-scheme: light)';

This approach allows the page to automatically switch between dark and light modes according to the user's system settings.
However, many websites prefer to manage themes through custom solutions using local storage mechanisms such as cookies or localStorage. For example, the Mantine library employs a data attribute on the  tag to store and apply the user's chosen color scheme:
<html data-mantine-color-scheme={getStoredColorScheme()} >

In this setup, theme-specific styles are defined as follows:
:root[data-mantine-color-scheme=light] {
  /* Light theme styles */
}

:root[data-mantine-color-scheme=dark] {
  /* Dark theme styles */
}

On the other hand, with StyleX, applying themes requires a more manual approach. You need to explicitly define styles based on the user's chosen color scheme. For example:
<div
  {...stylex.props(s.box, scheme === 'dark' ? [bg.darkBgColor1, bd.dark2] : [bg.lightBgColor1, bd.light2])}
/>

In this case,StyleX necessitates specifying the styles directly for each theme variant, which can result in more verbose code compared to libraries that use data attributes or media queries for theme management.
Is there a better way to avoid redundant color scheme logic checks, or i missed something.

Is there a better way to avoid redundant color scheme logic checks, or i missed something.

The modern solution to this problem is to use the light-dark() function. This greatly simplifies defining light and dark themes and controlling them manually using the color-scheme style property.
export const colors = stylex.defineVars({
  primaryText: 'light-dark(black, white)',
  secondaryText: 'light-dark(#333, #ccc)',
  accent: 'light-dark(blue, lightblue)',
  background: 'light-dark(white, black)',
  lineColor: 'light-dark(gray, lightgray)',
});

Now on your html element, you can simply set the color-scheme value to control which colors are used.
:root {
  /* System Theme */
  color-scheme: light dark;
}
:root.light-theme {
  color-scheme: light;
}
:root.dark-theme {
  color-scheme: dark;
}


Custom Event does not Appear in Editor

The problem
Describe the bug
I have created a custom event, and it appears on the timeline's toolbar. But when I clicked on it, the output instead returns this message:
res://addons/dialogic/Editor/TimelineEditor/VisualEditor/timeline_editor_visual.gd:687 - Invalid call. Nonexistent function '_load_custom_defaults' in base 'Resource ()'.

To Reproduce
Creating new extension:

On Dialogic workspace tab, go to Settings > General > Extensions
Enter in the extension folder
Click "Create New Extension"
Restart Godot
On index.gd, override _get_events() and _get_subsystems() and save.
On the folder index.gd, add new script extending DialogicEvent. Override the following methods: _init(), _execute(), build_event_editor() and get_shortcode(). Save the new script.
Go to Dialogic (workspace tab) > Timeline. The custom event should appear the bottom of the right toolbar. If not, restart Godot.
Click on the custom event in an attempt of creating the new one.

Expected behavior
At least a header of the event should appear when I click on the custom event.
Screenshots

Pic above is probably related. Can't remember when it first appeared.

System (please complete the following information):

OS: Windows 10
Godot v4.0.2.stable.official [7a0977ce2]
Dialogic 2.0 Alpha 8

Solutions
Workaround
None, so far.
Possible fixes
I could look into res://addons/dialogic/Editor/TimelineEditor/VisualEditor/timeline_editor_visual.gd:687 to see whether there's anything to fix.
My current project also has other errors. I may fix them as the next resort in case they are the cause of this issue.

Looking up the script in the error message, _load_custom_defaults() seems to be called from event_resource: DialogicEvent. The only script I've made that extends from DialogicEvent is event_warp.gd. I've checked DialogicEvent in event.gd1 and it has _load_custom_defaults` as a method.


Have plugin include K8SPhysicalHostName in the hold message

At some hosts, the "EP name" is meaningless (it is the randomly-generated pod name) but the machine's K8SPhysicalHostName attribute records the "real" hostname.
We should add this name to the metadata we include in the hold message for the plugin.  It should be recorded, if present, as the hostname attribute); if K8SPhysicalHostName is not present, then no hostname should be put in the error message (as it would be duplicative of other parts of the error message.
So, example:
Attempt #1: from osg-kansas-city-stashcache.nrp.internet2.edu:8443: transfer error: \
   Unable to read /path-facility/data/foo; network dropped connection on reset (5m47.8s since start) \
   (Version: 7.9.2; Site: UNL-PATH)

would become:
Attempt #1: from osg-kansas-city-stashcache.nrp.internet2.edu:8443: transfer error: \
   Unable to read /path-facility/data/foo; network dropped connection on reset (5m47.8s since start) \
   (Version: 7.9.2; Site: UNL-PATH; Hostname: foo.unl.edu)

You want to look for the file via the _CONDOR_MACHINE_AD environment variable.  See this documentation section: https://htcondor.readthedocs.io/en/latest/users-manual/env-of-job.html#extra-environment-variables-htcondor-sets-for-jobs


can one control the encoding used by writeText ?

Issue description
I've been working on a home-manager module to generate email MUA/MTA/MRA configs (since I like to use several).
I seem to have a problem with the encoding of the generated file (us-ascii) and I would like home-manager to write an unicode one instead of us-ascii one:
https://github.com/pazz/alot/issues/1238
The pseudocode is
let
configFile =mailAccounts:  pkgs.writeText "alot.conf" ("my conf");
in
{
...
xdg.configFile."alot/config".source = configFile config.mail.accounts;
}

How can I specify the encoding ?
Technical details
nixos-unstable

You can't ATM.  I recommend writing a simple runCommand derivation that uses a command-line utility to do the conversion, or perhaps abstracting that into a nix function.

Nix strings are just byte strings (except \0) with no specific encoding attached. So just writing UTF-8 text in string literals should just work, no?

is there any way to change the default then ? Is it influenced by some config locale ? unicode >> us-ascii.
Any suggestion for a "command-line utility to do the conversion" ?
@dezgeg are you suggesting to run '' cat $myString > .config/alot/config'' instead ? I would rather have writeText work but your suggestion might do the trick.

You can probably write that "my conf" part in the other encoding, but I expect that would be an editor mess :-)

I mean that I can just write this in a .nix file and save it in vim with UTF-8 encoding (which is the default):
with import <nixpkgs> {}; writeText "foo" "äöä €"

So it looks like this on the disk:
$ hexdump -C test.nix
00000000  77 69 74 68 20 69 6d 70  6f 72 74 20 3c 6e 69 78  |with import <nix|
00000010  70 6b 67 73 3e 20 7b 7d  3b 20 77 72 69 74 65 54  |pkgs> {}; writeT|
00000020  65 78 74 20 22 66 6f 6f  22 20 22 c3 a4 c3 b6 c3  |ext "foo" ".....|
00000030  a4 20 e2 82 ac 22 0a                              |. ...".|

and building that with nix-build test.nix results in:
$ cat result
äöä €

$ hexdump -C
00000000  c3 a4 c3 b6 c3 a4 20 e2  82 ac                    |...... ...|

No configuration necessary.

Well did you put any non-ASCII characters there? UTF-8 is a strict superset of ASCII.

Well did you put any non-ASCII characters there ?

is that relevant ? I would like it to always be in Unicode since as you say it's a superset of ASCII. The initial reason is because the ASCII charset seems to confuse alot's configobj parser https://github.com/pazz/alot/issues/1238 (I find it hard to believe but that's my best bet here).

Yes it matters because any ASCII text already is in "Unicode" (and also equivalent in bunch of other encodings like ISO-8859-1) so file will report it as such.
For your original problem, I really doubt encodings are involved at all but rather something else.

Note: "Unicode" is not an encoding, UTF-8 is. Nix / writeText will pass through any UTF-8 characters in the input. If you want UTF-16 you'll have to convert the string in the builder, e.g. by piping it though iconv.

Thanks for the detailed answers, seems like the original is completely unrelated :shame:


Further updates to documentation.

Originally issue 3 in google code site.
Project Member Reported by<EMAIL_ADDRESS>Mar 7, 2009

More elaborate examples of using XMP.
Update source code based on Adobe XMP Toolkit documentation.
Document things you cannot do with the library

Here is an article with some further documentation
https://medium.com/@gullevek/reading-xmp-sidecar-files-with-python-and-libxmp-a4c52e9955bb
I think people may be hesitant to contribute to improving it, since the project looks dormant

Documentation / example contributions are welcome, do not hesitate to submit merge requests with such. It's important to have the documentation mention that (until further notice) this is an Exempi wrapper and thus it can't do more than building on top it or working around it.


Added the delay attribute and made more examples

I added the delay attribute as suggested in #17 and made some examples with clippers aswell.
I didn't update the README file : you mention an other repository with examples there but the example folder in this repo seems newer so I let choose what to do with it 😅

I will look at this tomorrow.
I still feel a single controller is the way to go because even a slight difference in rendering time might lead the animations to diverge, I'm not sure though. A single controller would also ensure less manual work on the part of the developer for synchronisation.
Will test out a couple of scenarios on your implementation to see if this works.


Missing property "SKPaint.PathEffect" and "DashPathEffect"

Hi,
I need to draw dashed lines.
As it seems, in Skia there is a property "PathEffect" on the SKPaint object.
see: https://bugs.chromium.org/p/skia/issues/detail?id=874
or directly the source for dashpatheffect:
https://github.com/google/skia/blob/master/gm/dashing.cpp
Rendering dashed lines is very important to us :-|

It was already issued quite time ago:
#47
with no visible progress though...

Sorry O:-)

Closing as this is a duplicate


ErrorComponent not receiving server-side props

[X] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior
If a component defined at pages/_error.js returns props from its getInitialProps on the server side, those props should be passed in when rendering the error component.
Current Behavior
The server-generated props get thrown out when client/index.js’s render method checks for an err and calls renderError passing just props.err and not props.props.
Steps to Reproduce (for bugs)

Use NODE_ENV=production to avoid the dev-only error behavior
Make an _error component that returns values from getInitialProps that depend upon values known on the server.
Throw an exception from another page’s getInitialProps method
When you visit that page, your _error component will be rendered, but its props will be from the client-side getInitialProps call from the client’s renderError function.

Contributing
I’m happy to open a PR; I think that the fix would be to pass an optional set of props to renderError when render calls it in client/index.js. Only if those props are not provided would renderError call loadGetInitialProps.
If that’s a proper solution I can code it up.
Context
I initialize a bit of my app’s state (API keys and the like) by passing values on the req object that’s given on the server to getInitialProps. If the first page a visitor sees is an error page, then these values from the server are thrown away, leaving my app partially un-initialized.
Your Environment
Using Next 4.1.3 in my app, but looking through the code indicates that this is broken on HEAD as well.

Using<EMAIL_ADDRESS>- it's broken too.
I would like to add a note that default error handling from nextjs suffers from this bug too - if unhandled exception occurs during SSR phase, then SSR'ed error page has a message for 500 status code. But on the client-side it gets re-rendered with default error message since the props are lost (error message depends on props.statusCode).
Also, it seems for me incorrect that getInitialProps are invoked for SSR'ed page. This doesn't happen for regular, non-error pages.

Using<EMAIL_ADDRESS>- it's broken too.

Sounds like a case of time to upgrade 😄
This issue has been fixed in the latest version of Next.js.


Update OpenMC paths

OpenMC installs into /usr/local but we were looking in /opt/openmc, so change the OpenMC paths to be under /usr/local.
Also removes unused pugixml include.

If you provide no prefix path then it goes to /usr/local is the install
path not in the cmake/FindOpenmc.cmake path in openmc?
On Fri, 2020-09-25 at 00:17 -0700, DanShort12 wrote:

OpenMC installs into /usr/local but we were looking in /opt/openmc,
so change the OpenMC paths to be under /usr/local.
Also removes unused pugixml include.
You can view, comment on, or merge this pull request online at:
https://github.com/makeclean/parametric-plasma-source/pull/12
Commit Summary
Merge pull request #4 from DanShort12/serialise_plasma_source
Update OpenMC paths
File Changes
M CMakeLists.txt (6)
Patch Links:
https://github.com/makeclean/parametric-plasma-source/pull/12.patch
https://github.com/makeclean/parametric-plasma-source/pull/12.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

That's right. If openmc is installed by using sudo make install then the files are under /usr/local. If a user doesn't have admin rights (and so have installed somewhere else) then I think they would need to edit CMakeLists.txt to point to their install location.
This PR looks to address an issue mentioned by @qingfengxia on #11, so perhaps he can comment on the exact nature of that issue and whether this resolves it?

for the moment,  hardcode is fine,  as far as cmake report error if openmc is not on path.   /usr/local is a system path, where /usr/local/include. is accessible without -I.            in the long  term,  a detector,  or  FindOpenMC.cmake is needed for install on Linux cluster.           is there any  FindOpenMC.cmake anywhere?

There is, when you install openmc, it provides one
On Fri, 2020-09-25 at 02:21 -0700, Qingfeng Xia wrote:

for the moment, hardcode is fine, as far as cmake report error if
openmc is not on path. /usr/local is a system path, where
/usr/local/include. is accessible without -I. in the long term, a
detector, or FindOpenMC.cmake is needed for install on Linux cluster.
is there any FindOpenMC.cmake anywhere?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

Oh I see, I can get the OpenMC_DIR from the package, but it doesn't seem to populate the usual _LIBS, _INCLUDE_DIRS etc., which is why I thought it wasn't findable from cmake. Should be able to use that info to build a relative path from the OpenMC cmake module directory though.

Latest version should give a more general way of finding the OpenMC install. I've tried with the standard (no prefix install) and with an install specified into ~/.local and both now work for me.

Sorry to be a pain is there any chance this PR can be redirect to the new repository
https://github.com/open-radiation-sources/parametric-plasma-source
@DanShort12

Superseded by open-radiation-sources/parametric-plasma-source#1


Create Login Page Explanation

Include step by step instructions for:

Downloading the app from app store (with link)
How to sign in with the credentials
How to check in, like if they are there, click the OK button, if they cancelled before, type cancel.

Include screenshots


It's not validating the abstract methods implementation types

This code
abstract class Ord(A)
  abstract def cmp(a : A, b : A) : String
end

class IntOrd < Ord(Int32)
  def cmp(a, b)
    a > b
  end
end

or this
module Ord(A)
  abstract def cmp(a : A, b : A) : String
end

class IntOrd
  include Ord(Int32)

  def cmp(a, b)
    a > b
  end
end

Are valid for the compiler but it does not validate the right types in the implementation side

You are defining a new method cmp(a, b) without restrictions. This trivially matches the more restrictive abstract method.
Same as this:
abstract class Foo
  abstract def foo(x : Int32)
end

class Bar < Foo
  # this doesn't have a restriction, so it accepts Int32 (and more types)
  def foo(x)
  end
end

@asterite how can I validate it accomplishes the interface?

Just to be clear, it accomplishes the "interface" (and more). There's no way to do that. Why do you need it?

@asterite just dabbling with the language, if the abstract keyword can't ensure that, what is the purpose of that? does crystal handles a compiled ducktyping?

@mrkaspa If you leave the def out, Crystal does complain.
We could change that and require that, if an abstract method has restrictions in the arguments, force them to be too in the implementors. It's just not the philosophy of the language. The language tries not to force types on users.

We can leave this issue open, though. It's something to discuss. But Crystal's type system is very hippie, so if you like, write types all the time and everywhere you will find Crystal lacking in formalism.

Similar issue: https://github.com/crystal-lang/crystal/issues/160

@asterite got your point, so what is the idea of the abstract methods if their implementation is not forced?

@asterite how should I say I expect a type that has a method implemented? because in constructors the type is mandatory

@mrkaspa the implementation is forced. def foo(x) can take any type as x, so it would implement abstract def foo(x), abstract def foo(x : Foo) and abstract def foo(x : Bar).

@RX14 got it, what's left is to force the types

@mrkaspa It's not as clear that changing this is actually what we want to do, especially because of overloads. If you for example have
class A
end

class B < A
end

abstract class Abstract
  abstract def foo(foo : B)
end

class Impl < Abstract
  def foo(foo : A)
   # something
  end
end

Does that compile? Common sense says it should. But isn't that the same as not specifying a type restriction which you want to change: all we're doing is specifying a more general type.
If we make it so that you "force" the types this happens:
class A
end

class B < A
end

abstract class Abstract
  abstract def foo(foo : B)
end

class Impl < Abstract
  def foo(foo : A)
   # something
  end

  # to satisfy the abstract
  def foo(foo : B)
   # there's no way to call the more abstract foo(A) here.
  end
end

We can't call Impl#foo(A) because we'd always end up calling our own method, as Impl#foo(B) is more specific than Impl#foo(A).
I hope you understand why this isn't as easy to reason about as one might think.

Got it

@asterite should we close?

I think we can close, yes. The type system has many things to improve, document or re-think, and #160 is more or less the same issue (about a child's types not caring much about a parent's types)


ConnectivityService provisioning with confirmation

Hi,
I have a question regarding mentioned issue support in TAPI.
From current perspective the user should send a path calculation request towards TAPI server firstly. Then, if calculated path satisfy user needs he should send ConnectivityService request towards TAPI server with ConnectivityConstraint.includePath equals to PathComputationService.path. Could you please confirm my understanding is correct?
Why user can`t use previously calculated path Id in ConnectivityService create request?

The way you propose is more efficient. But I think the result of path calculation is a temporary instance of controller. And there is no resource model and related operation to guarrantee the exist and removal of the instance.

Sorry for making a mistake in the previous comment. There are resource model and operations of Path.

Could you please describe in more detail what do you mean? How Path model and operations can help to improve the behavior?
I want to comment your previous message. The behavior will depends from transport controller implementation. It is possible to imagine 2 scenarios:

The previously calculated Path will be added to create ConnectivityService request as set of Links in ConnectivityConstraint.includePath. In this case we should validate all path links on existence and check that all these links create a full path (addition path computation is not needed).
The previously calculated Path id will be added to create ConnectivityService request. The only check we need to perform that Path is still alive in Transport controller. If Path is removed then error message will be sent to user.

The path life cycle will depends from transport controller implementation too. Previously calculated paths can be removed automatically every hour for example. Also it looks strange why user can postpone ConnectivityService provisioning after optimal path has been calculated? @RodLU what do you think?

If you look into the TapiPathComputation.yang file, you will find that the PathComputationService and Path objects are under Context. And there is operation deleteP2PPath to delete a specific Path instance. Which means the computed Paths will be resotred in transport controller certainly and there is a operation can delete them.
Then look into the structure of Path object, will find that Path is mainly comprise by TeLink. And the ConnectivityConstraint.includePath is also Telink. Which means ConnectivityConstraint.includePath equals to Path.Telink.
I think these two points make the Path id way possible. But I find it a little diffcult to deal with the interface. Hope @karthik-sethuraman can help.

Please keep in mind that Path Computation will not be exercised.
As I understand, path is only a history of requested PCRequests and their PCResponse.

@rvilalta Could you please describe in more details what do you mean?

Path Computation will not be exercised

From my understanding the function of path is not the only provide a history of path calculation requests, but also provide a support mechanism for service provisioning.
I can assume that PUT/POST/DELETE _pathCompService/{uuid} will trigger _path/{uuid} create/update/delete operation. So, we can manipulate with path and retrieve it. For me it looks logical that we will have a possibility to reference it from ConnectivityService.

@karthik-sethuraman please join :-)
Service provisioning is trigger with ConnectivityService. Path is only for path computation without service provisioning.

From purely ConnectivityService perspective, the include/exclude path parameters can either be computed by the TAPI client based on the Topology exposed by the TAPI provider or could be requested from the TAPI provider via Path Computation API. To support both use cases, we chose to use an LocalClass construct (TeLink) that effectively contains the output of the path computation process (whether computed at the provider or at the client).
Definitely, we could also consider adding attributes that contain direct reference to the paths computed at the provider/server in the ConnectivityConstraint, but we would still need to support the current attributes (for client computed path)

Fixed by #173


add example script

Codecov Report

Merging #4 into master will increase coverage by 1.11%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master       #4      +/-   ##
==========================================
+ Coverage   86.48%   87.59%   +1.11%
==========================================
  Files          15       15
  Lines         629      629
  Branches       33       33
==========================================
+ Hits          544      551       +7
+ Misses         75       68       -7
  Partials       10       10

Impacted Files
Coverage Δ

src/utils/middlewares.ts
75.36% <0%> (+1.44%)
:arrow_up:

src/services/switch.ts
88% <0%> (+8%)
: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 a5285d7...c138b24. Read the comment docs.

Added Kincaid's example, with minor modification to make it runnable from within the tests.
The modifications do make it less clean though. Could probably do it without modification using weird import hacks in the test.


Declare the versions of tools allowing for updates by dependabot

What would you like to be cleaned:
Declare the versions of the tools in Makefile-deps so that they are managed by dependabot (example of hard-coded dependency).
Why is this needed:
To reduce manual maintenance and make sure the tools are not lagging behind. This ensures Kueue is compatible with the latest versions of the tools.

/cc @alculquicondor @tenzen-y
Let me know if this was discussed or maybe there are some drawbacks.

@mimowo Actually, we should move all tool versions into hack/internal/tools.
https://github.com/kubernetes-sigs/kueue/pull/882#pullrequestreview-1491398785

Yuki, thanks for the pointer. Will the tools dir have its own dedicated go.mod managed by dependabot, or the versions would be in the root go.mod

It indicates the root go.mod.
https://github.com/kubernetes-sigs/kueue/tree/a50d395c36a2cb3965be5232162cf1fded1bdb08/hack/internal/tools

sgtm, so IIUC we have the versions declared in the top go.mod and in the hack/internal/tools we import the tools sot that they are not removed by go mod tidy.

sgtm, so IIUC we have the versions declared in the top go.mod and in the hack/internal/tools we import the tools sot that they are not removed by go mod tidy.

Exactly. It is similar approach as this: https://github.com/golang/go/wiki/Modules/6fe9f52ac7c4d92cb8fc878d8dee1bda0c63c8a5#how-can-i-track-tool-dependencies-for-a-module

/assign

+1, we could follow up with the idea in the next PR

SGTM
/reopen

@tenzen-y @mimowo @trasc
Should we apply the same set of rules (ignores) in dependabot for tools?
Those are for root go.mod
    directory: "/"
    schedule:
      interval: "weekly"
    labels:
      - "ok-to-test"
      - "release-note-none"
    groups:
      kubernetes:
        patterns:
          - "k8s.io/*"
    ignore:
      # Ignore major and minor versions for dependencies updates
      # Allow patches and security updates.
      - dependency-name: k8s.io/*
        update-types: ["version-update:semver-major", "version-update:semver-minor"]

Yes, that seems appropriate

@tenzen-y @mimowo @trasc Should we apply the same set of rules (ignores) in dependabot for tools? Those are for root go.mod
    directory: "/"
    schedule:
      interval: "weekly"
    labels:
      - "ok-to-test"
      - "release-note-none"
    groups:
      kubernetes:
        patterns:
          - "k8s.io/*"
    ignore:
      # Ignore major and minor versions for dependencies updates
      # Allow patches and security updates.
      - dependency-name: k8s.io/*
        update-types: ["version-update:semver-major", "version-update:semver-minor"]

SGTM, Thank you!


Add values to the bar plots for better visibility

Right now we quote numbers from Fig.2, but some of the values are hard to read off, in particular those close to 1.0 because it's very close to the x-axis. By adding the values on top, the issue can be avoided.

Sorry, shouldn't push my branch to this repo directly, let me redo it.


Removes logic dependency

Resolves #1328
Removes the logic dependency from the indexer with the exception of AssembleStringWithVersion in account_testutil.go

Summary
Explain the goal of this change and what problem it is solving. Format this cleanly so that it may be used for a commit message, as your changes will be squash-merged.
Test Plan
How did you test these changes? Please provide the exact scenarios you tested in as much detail as possible including commands, output and rationale.

AFAIK we need the following functions, not the entire logic package:
// MakeBoxKey creates the key that a box named `name` under app `appIdx` should use.
func MakeBoxKey(appIdx basics.AppIndex, name string) string {
	/* This format is chosen so that a simple indexing scheme on the key would
	   allow for quick lookups of all the boxes of a certain app, or even all
	   the boxes of a certain app with a certain prefix.

	   The "bx:" prefix is so that the kvstore might be usable for things
	   besides boxes.
	*/
	key := make([]byte, boxNameIndex+len(name))
	copy(key, boxPrefix)
	binary.BigEndian.PutUint64(key[boxPrefixLength:], uint64(appIdx))
	copy(key[boxNameIndex:], name)
	return string(key)
}

// SplitBoxKey extracts an appid and box name from a string that was created by MakeBoxKey()
func SplitBoxKey(key string) (basics.AppIndex, string, error) {
	if len(key) < boxNameIndex {
		return 0, "", fmt.Errorf("SplitBoxKey() cannot extract AppIndex as key (%s) too short (length=%d)", key, len(key))
	}
	if key[:boxPrefixLength] != boxPrefix {
		return 0, "", fmt.Errorf("SplitBoxKey() illegal app box prefix in key (%s). Expected prefix '%s'", key, boxPrefix)
	}
	keyBytes := []byte(key)
	app := basics.AppIndex(binary.BigEndian.Uint64(keyBytes[boxPrefixLength:boxNameIndex]))
	return app, key[boxNameIndex:], nil
}

// AppCallBytes represents an encoding and a value of an app call argument.
type AppCallBytes struct {
	Encoding string `codec:"encoding"`
	Value    string `codec:"value"`
}

// NewAppCallBytes parses an argument of the form "encoding:value" to AppCallBytes.
func NewAppCallBytes(arg string) (AppCallBytes, error) {
	parts := strings.SplitN(arg, ":", 2)
	if len(parts) != 2 {
		return AppCallBytes{}, fmt.Errorf("all arguments and box names should be of the form 'encoding:value'")
	}
	return AppCallBytes{
		Encoding: parts[0],
		Value:    parts[1],
	}, nil
}

The AppCallBytes struct requires the Raw() method in handlers LookupApplicationBoxByIDAndName and SearchForApplicationBoxes.  If we don't pull the struct over then we still maintain a link to the original package which is why I've pulled over as much of the logic package as I have.
I also pulled out the basics package to try and remove more dependencies with these functions but we can curtail that if you want.