Ruby Group Capstone project

Each class from the UML class diagram is created in a separate .rb file.

All associations (1-to-many relationships) and aggregations (parent-child relationships) between classes should be implemented.

All properties visible in the diagram are defined and set up in the constructor method. Exception: properties for the 1-to-many relationships are NOT set in the constructor method. Instead, they have a custom setter method created.

All methods visible in the diagram have been implemented:

add_item method (in all classes that have that method)

takes an instance of the Item class as an input.
add the input item to the collection of items.
add self as a property of the item object (by using the correct setter from the item object).

can_be_archived?() in the Item class

return true if published_date is older than 10 years.
otherwise, it return false.

move_to_archive() in the Item class

reuse can_be_archived?() method.
change the archived property to true if the result of the can_be_archived?() method is true.
do nothing if the result of the can_be_archived?() method is false.

can_be_archived?() in the Book class

override the method from the parent class.
return true if parent's method returns true OR if cover_state equals to "bad".
otherwise, it return false.

can_be_archived?() in the MusicAlbum class

override the method from the parent class.
return true if parent's method returns true AND if on_spotify equals true.
otherwise, it return false.

can_be_archived?() in the Movie class

override the method from the parent class.
return true if parent's method returns true OR if silent equals true.
otherwise, it  return false.

can_be_archived?() in the Game class

override the method from the parent class.
return true if parent's method returns true AND if last_played_at is older than 2 years.
otherwise, it return false.

Added unit tests for all implemented methods.

User interface

Created a main.rb file that will serve as your console app entry-point.
The console app, at the start:

Present the user with a list of options to perform.
Let users choose an option.
If needed, ask for parameters for the option.
Have a way to quit the app.

The following options are available:

List all books
List all music albums
List all movies
List of games
List all genres (e.g 'Comedy', 'Thriller')
List all labels (e.g. 'Gift', 'New')
List all authors (e.g. 'Stephen King')
List all sources (e.g. 'From a friend', 'Online shop')
Add a book
Add a music album
Add a movie
Add a game

All data is preserved by saving collections in .json files.

Database

Created a schema.sql file with tables that will are analogical to the structure of the classes in the app. - added all properties and associations from the parent Item class as table columns to all tables based on the child classes.

@VICTOR-CHUKWU  the app crashing due to invalid date input and all edge-cases are not part of the project requirements, I don't understand why you are mentioning them
Can you explain?

We added some methods to prevent the app crashing and ask for a correct date if an invalid one is provided by the user.


Allow to filter attributes by type

Allow filtering by an attribute type.

Impact

[ ] New migrations
[ ] New/Updated API fields or mutations
[ ] Deprecated API fields or mutations
[ ] Removed API types, fields, or mutations
[ ] Documentation needs to be updated

Pull Request Checklist

[ ] Privileged queries and mutations are guarded by proper permission checks
[ ] Database queries are optimized and the number of queries is constant
[ ] Database migration files are up to date
[ ] The changes are tested
[ ] GraphQL schema and type definitions are up to date
[ ] Changes are mentioned in the changelog

@fowczarek We can but there is no such requirement currently.


.NET 5 version

Configure the projects so that they target both the netcoreapp31/netstandard20 as they currently do and add support for .NET 5.
So all our project files in the future should target both the netcoreapp31/netstandard20 and .NET 5.

[ ] Configure project files
[ ] Make sure all the current samples and tests work without any changes
[ ] Create .NET 5 sample for Blazor WebAsembly (can be identical to the Blazor Server Sample)

Update to target .NET 5.0 with this PR: #39
It might be better idea to split the Blazor functionality to it's own issue as there are still things that should be investigated (for example where to load the plugins).

Update to target .NET 5.0 with this PR: #39
It might be better idea to split the Blazor functionality to it's own issue as there are still things that should be investigated (for example where to load the plugins).

Hey there!
First I would like to state my appreciation for the project. From what I can see, it looks solid :)
We (as in my team and I) are very much looking forward to the .NET 5 version of the framework and plan to use in in our hosted WASM app.
Thus my questions would be, is there an ETA on the new version and is it going to fully support Webassembly?
In our research we also stumbled over this project which appears to have a similar focus but is missing the NuGet feed option, you guys have. Maybe there are some ideas that can be found here, if that helps.
Thanks in advance for the answer and for the project.
Kind regards,
Chris

Hey Chris,
Thank you for the message. We've been doing some work with the .NET 5 support and actually there's a PR which adds a support for it. But, like @mikkou-adafy suggested, we decided to split things into two:

First we add the simpler stuff, meaning the basic .NET 5 support. This is basically done.
Then we add better WASM Blazor support.

We have done some drafts related to WASM support but it is not the most straightforward thing to do properly. Compiling things on the fly or loading Nuget packages runtime are causing some issues at the moment.
Currently the ETA is February but I hope that we can release the first beta in the next couple of weeks.
Best regards,
Mikael

That sounds very promising. Thank you for the information. We are looking forward to the update :)

Sorry that things are slow with this one. Things are progressing, but currently we are in a little crunch phase in getting these two released: https://weik.io/apiframework/ & https://weik.io/eventframework/
The good news is that it's mainly the documentation which is missing.


How to make textStyle responsive?

I want to make my Typography component change textStyle based on breakpoints but it's not working
<Typography textStyle={{ sm: 'body2', lg: 'body1' }}>
  {value.description}
</Typography>

I have to handle by adding more boilerplate code and using display prop
<Typography display={{ sm: 'none', lg: 'block' }} textStyle='body1'>
  {value.description}
</Typography>
<Typography display={{ lg: 'none' }} textStyle='body2'>
  {value.description}
</Typography>

Is there any workaround?

Variant props do not support the array/object syntax. You can set responsive style objects in your theme.textStyles.body1 object as an alternative

Variant props do not support the array/object syntax. You can set responsive style objects in your theme.textStyles.body1 object as an alternative

How do you do that ?

For anyone else getting here trough Google. This is one way to handle textStyle based on breakpoints. This is extending the Rebass Text component.
import styled from "styled-components"
import { Text as _Text } from "rebass"
import { textStyle, get, px } from "styled-system"

const createMediaQuery = n => `@media screen and (min-width: ${px(n)})`

export const responsiveTextStyle = props => {
  const { responsiveTextStyle = [] } = props

  const textStyles = get(props.theme, "textStyles", [])
  const breakpoints = get(props.theme, "breakpoints", [])

  const styles = []
  if (Array.isArray(responsiveTextStyle)) {
    styles.push(textStyles[responsiveTextStyle[0]])
    for (
      let i = 1;
      i < responsiveTextStyle.slice(0, breakpoints.length + 1).length;
      i++
    ) {
      const rule = textStyles[responsiveTextStyle[i]]
      if (rule) {
        const media = createMediaQuery(breakpoints[i - 1])
        styles.push({ [media]: rule })
      }
    }
  } else {
    for (let key in responsiveTextStyle) {
      const breakpoint = get(breakpoints, key, null)
      const media = createMediaQuery(breakpoint)
      const rule = textStyles[responsiveTextStyle[key]]
      if (!breakpoint) {
        styles.unshift(rule)
      } else {
        styles.push({ [media]: rule })
      }
    }
    styles.sort()
  }
  return styles
}

const Text = styled(_Text)`
  ${textStyle}
  ${responsiveTextStyle}
`

export default Text

Used like this:
<Text textStyle="heading2" responsiveTextStyle={{ 2: "heading1" }}>Lorem</Text>

...or the same in array format:
<Text responsiveTextStyle={["heading2","heading2","heading1"]}>Lorem</Text>

Note: The array format create styles for each breakpoint. With objects you can set styles for certain breakpoints.

If you're not using textStyle, you could also do responsive fonts this way:
const StyledText = styled(RebassText)(   variant({     variants: {       heading1: {         fontSize: [           tokens.TypeFontT1MobileSize,           null,           tokens.TypeFontT1DesktopSize,         ],         linedHeight: [           tokens.TypeFontT1MobileLineHeight,           null,           tokens.TypeFontT1DesktopLineHeight,         ],       },     },   }), );

If you're not using textStyle, you could also do responsive fonts this way:
const StyledText = styled(RebassText)(   variant({     variants: {       heading1: {         fontSize: [           tokens.TypeFontT1MobileSize,           null,           tokens.TypeFontT1DesktopSize,         ],         linedHeight: [           tokens.TypeFontT1MobileLineHeight,           null,           tokens.TypeFontT1DesktopLineHeight,         ],       },     },   }), );


Shared command history

When working with both the VS code Matlab command line and the Matlab command line together, it would be great if the command history could be shared.
For example, for debugging one needs to work in Matlab's terminal after writing a function in VS Code. To avoid retyping and to foster correct commands, it would be helpful if the command history from VS Code would be available in Matlab, and vice versa.

Thank you for the suggestion! I think this would be a great improvement!
We will consider this for a future update of the extension.


A note to all - please ignore the article, go to the code

Do not follow this article if you are trying to use it as a how to guide.. It's not clear which file you should be in when to start adding the code, there are some important lines not here in the article.  Read it just to kind of familiarize yourself with what's going on but if you are trying to get this up and running for the first time, you might want to just skim through and then open up the sample project and fuiger out what's imssing from there.

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

ID: 3ab6098a-39c7-151f-124b-f88aa62c4659
Version Independent ID: dc27c1e4-ff12-c1af-646a-c2617def0bcd
Content: Local Databases - Xamarin
Content Source: docs/xamarin-forms/app-fundamentals/databases.md
Service: unspecified
GitHub Login: @davidbritch
Microsoft Alias: dabritch

Thanks for your feedback @HUBBER12 - this article is scheduled for an update to address the issues you've raised.


Document least IAM permissions required

TODO

[ ] list out the least IAM permissions SST required
[ ] explain the use of the --role-arn option

Requested by Michael on Slack

@fwang any update on this?
Is there any place where I can find the permission needed for my stack.

Hey @vishalvijay, Yeah I will put something together soon.
Here's what I have in mind for generating the least permissive policy:

Grant the role with relaxed IAM permissions upfront;
Use the role to deploy the app for some time;
Then check the CloudTrail to inspect the IAM actions and resources performed;
Update the policy with the actions and resources

And the Access Analyzer policy generator can make the steps easier https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-generation.html
Let me know if this makes sense.

Looks good @fwang
Thanks for the update


JENKINS-62060 - Add testSuiteName parameter to filter tests of unwanted packages

Add testSuiteName parameter to enable FAILED_TESTS macro for filtering out tests of unwanted packages.

Hi, @slide
The build is failing in the clean install goal. It is because of org.apache.maven.plugins.enforcer.RequireUpperBoundDeps failed.  Looks like a dependency issue. Can you please tell me how to fix it ?

Can you merge master into your branch and push? I believe I have fixed it in master.

I merged master and it still seems to be failing.  Its a different failure
[2020-04-29T18:26:00.325Z] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:clirr-maven-plugin:2.7:clirr (default) on project email-ext: Execution default of goal org.codehaus.mojo:clirr-maven-plugin:2.7:clirr failed: Invalid byte tag in constant pool: 18

Let me look into that.

Hi @slide ,
Please have a look.
Also is there anything i could do to make the build succeed, it is failing with
`[INFO] ------------------------------------------------------------------------
[2020-04-30T12:45:31.805Z] [ERROR] Failed to execute goal org.codehaus.mojo:clirr-maven-plugin:2.7:clirr (default) on project email-ext: Execution default of goal org.codehaus.mojo:clirr-maven-plugin:2.7:clirr failed: Invalid byte tag in constant pool: 18 -> [Help 1]
[2020-04-30T12:45:31.805Z] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:clirr-maven-plugin:2.7:clirr (default) on project email-ext: Execution default of goal org.codehaus.mojo:clirr-maven-plugin:2.7:clirr failed: Invalid byte tag in constant pool: 18
`

Was on vacation, will try and look today

Hi @slide,
Just realised that the build is actually successful. https://ci.jenkins.io/blue/organizations/jenkins/Plugins%2Femail-ext-plugin/detail/PR-204/9/pipeline
If you do not have any further review comments, can we merge this ?

Did you address the comments from @haridsv?

I addressed all the comments.


[FEATURE] ONE BUTTON FOR DARK AND LIGHT MODE

Description
Instead of having two buttons for switching between dark mode and light mode having one button for both dark mode and light mode same as linkfree website
Now look

After only single button (prototype):-

like this we can just one button to toggle between two dark and light modes
Screenshots
No response
Additional information
No response

How would you use the system theme with this approach?

I think it's not implemented there 🤔 😅

Thank you @nithin999989 for the suggestion. But it doesn't need to be the same as LinkFree, so I will close the issue


Allow setting the header fliter for clang-tidy

Currently it doesn't appear to be easily possible to set the header filter for clang-tidy. This is problematic for some checkers for which the problems most often occur in header files.

You can forward compiler options directly to the analyzers.
Just create a tidy-arguments file with the header filters in it and forward it to clang tidy with the --tidyargs argument.
If you want to skip results you can use a skip file too.

@BumblingCoder did you manage to use the header filter for clang-tidy or the skip file?

Now you can list the analyzer configuration by using the following command: CodeChecker analyzers --analyzer-config clang-tidy. The output will be similar to this:
 clang-tidy:Checks
 clang-tidy:WarningsAsErrors
 clang-tidy:HeaderFilterRegex
 clang-tidy:AnalyzeTemporaryDtors
 clang-tidy:FormatStyle
 clang-tidy:User

And these options can be given to CodeChecker analyze command with the --analyzer-config option.


Error when updating series while slice is selected - donut chart

Bug report
Codepen
https://codepen.io/cvakodobro/pen/poNpQNX
To replicate the error just select slice and click randomize button. You will see an error in the console log.

No error when updating series while slice is selected.

What is happening instead?

An error is thrown every time you update the series while a slice is selected. I'm experiencing this issue using vue-apexchart but I've noticed that the same issue happens with JS apexchart.

What error message are you getting?

Error: <path> attribute d: Expected moveto path command ('M' or 'm'), "null".

I am also seeing this error under similar circumstances (when calling updateOptions() on a chart that has a slice selected). The donut chart appears to be working fine otherwise, but spams the following error:
Error:  attribute d: Expected moveto path command ('M' or 'm'), "null".
I'm going to assume I can safely ignore this, because it does appear to be working fine despite the error. But maybe it indicates a bug somewhere in the code?

I am using apexchart with Typescript and Angular 12 and I am having the same issue.

I am using ApexChart with React Js, and I am facing this error just with the region change to the UK, and the graph is not showing correctly and throws this error
Error:  attribute d: Expected moveto path command ('M' or 'm'), "null".
Else on other Regions, it is working fine with no errors.
Can anyone help me out on this?

I am using apexchart with Vue 2 and I am having the same issue.

When I resize the browser or collapse the dashboard sidebar the chart lose data and plotted empty

data: () => ({
  population_chart: {
      series: [0, 0, 0],
      chartOptions: {
        chart: {
          type: 'donut',
        },
        legend: {
          position: 'bottom',
        },
        colors: ['#1ab7ea', '#0084ff', '#39539E'],
        labels: [
          'Label 1',
          'Label 2',
          'Label 3',
        ],
        responsive: [
          {
            breakpoint: 480,
            options: {
              legend: {
                fontSize: '10px',
              },
            },
          },
        ],
      },
    },
}),
mounted() {
    this.api
      .get()
      .then((response) => {
        this.$refs.chart.updateSeries(
            response.data.chart // => [33, 34, 33]
          )
      })
},

Any new progress on this issue?

Still have this issue.
apexchart==3.28.3
react-apexcharts==1.3.9

In the original Codepen https://codepen.io/cvakodobro/pen/poNpQNX provided by @cvakodobro, the issue doesn't happen with the latest version 3.33.0

The same problem is occurring in the latest version, but I will first review whether it is my own problem,
and if it is not my problem, I will post an example code that can reproduce the error.

In the original Codepen https://codepen.io/cvakodobro/pen/poNpQNX provided by @cvakodobro, the issue doesn't happen with the latest version 3.33.0

Please select a data-point and you will see the issue.

In the original Codepen https://codepen.io/cvakodobro/pen/poNpQNX provided by @cvakodobro, the issue doesn't happen with the latest version 3.33.0

Same here

I'm having this issue using "apexcharts": "^3.33.0" and "vue": "^2.6.12".

still having issues [ "apexcharts": "^3.36.0", "react-apexcharts": "^1.4.0"]

If anyone using next js, adding swcMinify: false in next.config.js makes it work.
Ref: https://github.com/chartjs/Chart.js/issues/10673

If anyone using next js, adding swcMinify: false in next.config.js makes it work.
Ref: chartjs/Chart.js#10673

thanks!

I am using apexchart with Vue 3 and I am having the same issue.

my version "3.33.0" and nuxtjs "2.15.7" This problem still occurs. anyone, please tell me how to fix it?

my version "3.33.0" and nuxtjs "2.15.7" This problem still occurs. anyone, please tell me how to fix it?

swcMinify: false in next.config.js


Upgrade Rspec 2 to RSpec 3

Use transpec to convert spec from RSpec 2 to RSpec 3
Upgrade rake from 10.x to 11.x as it no longer breaks rspec

Coverage remained the same at 100.0% when pulling 92aed208450911d64bfe961e072a85bae74649d4 on RapidRiverSoftware:master into 510711ce564175211d4857aa61f94ca10b242d11 on GSA:master.


0% of potential users are eligible for this campaign: 0

I just integrated the Firebase Cloud Messaging , when I tried to create cloud message in Firebase Console its showing like 0% of potential users are eligible for this campaign: 0. Also I installed the app in multiple devices but no use. I cross checked with bundle id and GoogleService-Info file. I am using Xcode 11.2.

Make sure you have only one firebase project configured for this app (if no then delete one you dont plan to use)
Go to firebase setiings -> Left top angle -> settings icon -> Project settings -> scroll to bottom, then make sure to add SHA certificate fingerprints  Type. How to get it
Then (still on this page) press See SDK instructions button. And place google-services.json file in your project.
If all this steps passed for you and you still getting this error then just wait a little bit, for me it take 2 days, before it started working.


Revert "Fix: Remove Sort & Direction Fields From IssueListCommentsOptions"

Reverts google/go-github#1584

@tamalsaha or @nightlark - if you could please review and approve this PR, that would be helpful.

Thanks, LGTM!

Thank you, @tamalsaha !
Do you need me to cut a new v36 release?

Yes. v35.1.0 sounds good to me.

Excellent, thank you.
I went ahead and created v35.1.0: https://github.com/google/go-github/releases/tag/v35.1.0


Misbehaviour: wrong timestamp being used in trusting period checks

In checking for misbehaviour, we use host_timestamp() as the timestamp used in “trusting period checks”. This is not the timestamp we want to be using though, since this gives the timestamp associated with the latest  “trusted consensus state”, whereas we want to be using the timestamp of the header we’re processing.
Equivalent line in ibc-go (assuming ctx.BlockTime() is the height of the header being processed, which I think it is)

this is wrong; we make the check against the header timestamp later; this is a different check where we ensure that the trusted validators are still bonded.


Use parent level tsconfig.build.json

Hi there,
Is it possible to use a project level tsconfig.build.json?
This is how I can config tsconfig.json inside function app project. In the project level tsconfig.base.json, I have all the other ts configurations.
{
  "extends": "../../../tsconfig.base.json",
  "compilerOptions": {
    "module": "commonjs",
    "target": "es6",
    "sourceMap": true,
    "strict": true
  }
}

Snipped from project.json
    "build": {
      "executor": "@nxazure/func:build"
    }

With this configuration, it is still trying to find tsconfig.build.json within my project when I build it. Any suggestions?
Error output

I'm using version 1.1.0

Last time I checked, the azure function tools didn't work well with out-of-scope files, so I had to insert the local build file just for the sake of building it.
I can check again if this is still a limitation or not.
Meanwhile, can you please explain why this is needed? Maybe it's something that can be solved in a different manner?

Closing due to inactivity.
If still needed, please comment again.


Undocumented parameter type in $grid-column-position mixin

In the documentation for the $grid-column-position mixin it's not mentioned that the $position parameter can also be the string 'center' to center the columns.

@kball I've created a PR to update the description to include the center option. Not sure how this gets into the docs though so if you could let me know that would be great! (not sure if its a separate repo or generated from this one).

This has now been merged and will be in the next point release.


Enable distributed trace context to flow to external services that are invoked by a workflow activity

In what area(s)?

/area runtime
What version of Dapr?
1.1.x
Expected Behavior
Should be able to access the existing tracing span context from within a workflow activity.
Actual Behavior
No propagated tracing span context is available in the workflow activity -neither through the SDK (go-sdk in my case) or through Open Telemetry libraries that try to extract the trace context from context.Background()
Steps to Reproduce the Problem
This functions returns a new/empty trace.
func BuildTraceParent(ctx context.Context) string {
span := traceModel.SpanFromContext(ctx)
return fmt.Sprintf("00-%s-%s-%s",
span.SpanContext().TraceID().String(),
span.SpanContext().SpanID().String(),
span.SpanContext().TraceFlags().String())
}
Release Note

RELEASE NOTE:

Good find! cc @cgillum

Marking as P1 since this is an important feature.


Design Updates

Hi guys, Im doing the follow-up on the design matters for this widget. Ive found some inconsistencies with the mockup that we have on dropbox, so im pointing them out here, as well as any other improvement that may be needed to be done.
I'll be updating this ticket for further needs.

[ ] It has been changed the place where the errors appear to the logs window. They should be on the left side.

There were reasons for having a display like this, so if this changed because of a technical matter please let me know, so we can find a different design solution.

[x] The delete button should have its full opacity in all times, and show the animation that displays 'clear console' for clarification of its actions.

[x] We should consider in having a smaller margin so the titles fit in one line. Please have in mind that settings-related tabs have a blue background and log ones have a black bg.

[x] the icons should have the same line separation than the labels.

[x] Schedule is missing its icon

[ ] we have to update the colors for the code, but we'll give you further details and we'll work on a proper guide  for this.

[x] We also should remove the grey bar behind the scroll cause it appears when the console is clear or with code.

Thank you, and dont doubt in contacting me in any case.

@ggoodman I just marked the items what I worked those days with others minor changes in the branch beneliflo-path-1. I just created a PR to see this preview in heroku.


Support semantic ruby versioning in Gemfile

Given the adoption of semver by Ruby core, it seems like supporting gemfile syntax like ruby "~> 2.1" would be a real improvement on the current implementation.
Gemspecs allow this format currently, so it should be fairly easy for most rubyists to pick up on this functionality.
Refs #2231 for previous mention and request.

#3314


Add a point to the "Make It Your Own" section of the README

What:

Add a point to the "Make It Your Own" section of the README

Issue number: N/A

@Jeykairis makes sense ;) Thanks!


Changed binding naming convention for less confusion

So the reader will be less confused, he can now know the difference between what is referring to the function and what is to be binded to the button.

"Binding in the constructor" without renaming is kind of a community convention that's been around for a while. It seems like it should be shown in it's most common form here in case anyone runs across it in existing code. Nowadays class property syntax and hooks make this less pattern less likely to used.


checksums do not match for .csv.gz files

The checksums for the following files do not match what is on https://physionet.org/content/eicu-crd/2.0/SHA256SUMS.txt:
apacheApsVar.csv.gz
apachePredVar.csv.gz
carePlanEOL.csv.gz
respiratoryCare.csv.gz
vitalAperiodic.csv.gz
vitalPeriodic.csv.gz
I downloaded all of the data from https://physionet.org/content/eicu-crd/2.0/ using the "Download the Zip file" link. When I tried the checksums on my Mac using
md5 apacheApsVar.csv.gz

I get "MD5 (apacheApsVar.csv.gz) = bac59eb77b3635c0774076e4e5df3506", which does not match "4dfa6d3d36c3f9a1853027e0ca84668cd6dd4dfae24c330e0ceae324cbfc41b4'
The same occurs for the other five files, as well.

Hi @horwitzr,
I think you're using md5 hashes, and the hashes on physionet are sha256.  Trying running:
sha256sum apacheApsVar.csv.gz
I'm not sure if OSX uses a different command than linux (maybe sha256 ?), but that works in linux.  I just checked the above file and it matches.
Jesse

Hi @jraffa,
Thank you so much; you are correct. They do match now. However, I'm having some problems unzipping those files. When I double click on a file such as apacheApsVar.csv.gz in Finder, I get an error message that says, "Unable to expand apacheApsVar.csv.gz into eicu-collaborative-research-database-2.0. (Error 79 - Inappropriate file type or format.)
My original problem could have been summarized by saying that those initial six files were not unzipping although the others were. The solution was to use gunzip, not double click on them in Finder.


[tool_crash] _CastError: (#0      describeLocale (package:flutter_tools/src/localizations/localizations_utils.dart:219:49))

Command
flutter --no-color run --machine --track-widget-creation --device-id=5adc78ec --start-paused --flavor=development --dart-define=flutter.inspector.structuredErrors=true lib\main_development.dart

Steps to Reproduce

Create an of method at Root Tree (MyApp) :

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

  static _MyAppState? of(BuildContext context) => context.findAncestorStateOfType<_MyAppState>();

  @override
  State<MyApp> createState() => _MyAppState();
}

Create Locale variable and setLocale method at class _MyAppState

class _MyAppState extends State<MyApp> {
  late Locale _locale;

  void setLocale(Locale value) {
    setState(() {
      _locale = value;
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      locale: _locale,
      debugShowCheckedModeBanner: false,
      home: const DashboardScreen(title: 'Lắc bầu cua'),
    );
  }
}

Call an setLocale() from child widget DashboardScreen()

onSelected: (country) {
 MyApp.of(context)?.setLocale(Locale.fromSubtags(languageCode: country));
},

Logs
_CastError: (#0      describeLocale (package:flutter_tools/src/localizations/localizations_utils.dart:219:49))
#0      describeLocale (package:flutter_tools/src/localizations/localizations_utils.dart:219:49)
#1      LocalizationsGenerator._generateBaseClassFile (package:flutter_tools/src/localizations/gen_l10n.dart:1137:34)
#2      LocalizationsGenerator._generateCode (package:flutter_tools/src/localizations/gen_l10n.dart:1238:46)
#3      LocalizationsGenerator.writeOutputFiles (package:flutter_tools/src/localizations/gen_l10n.dart:1313:47)
#4      generateLocalizations (package:flutter_tools/src/localizations/gen_l10n.dart:69:9)
#5      GenerateLocalizationsTarget.build (package:flutter_tools/src/build_system/targets/localizations.dart:56:5)
#6      _BuildInstance._invokeInternal (package:flutter_tools/src/build_system/build_system.dart:839:27)
<asynchronous suspension>
#7      FlutterBuildSystem.build (package:flutter_tools/src/build_system/build_system.dart:606:16)
<asynchronous suspension>
#8      generateLocalizationsSyntheticPackage (package:flutter_tools/src/dart/generate_synthetic_packages.dart:58:30)
<asynchronous suspension>
#9      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:1318:7)
<asynchronous suspension>
#10     FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1183:27)
<asynchronous suspension>
#11     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#12     CommandRunner.runCommand (package:args/command_runner.dart:209:13)
<asynchronous suspension>
#13     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:281:9)
<asynchronous suspension>
#14     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#15     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:229:5)

[✓] Flutter (Channel stable, 3.0.4, on Microsoft Windows [Version 10.0.22000.739], locale en-US)
    • Flutter version 3.0.4 at C:\Users\Thuyen-Pham\Downloads\flutter_windows_3.0.4-stable\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 85684f9300 (6 days ago), 2022-06-30 13:22:47 -0700
    • Engine revision 6ba2af10bb
    • Dart version 2.17.5
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at C:\Users\Thuyen-Pham\AppData\Local\Android\Sdk
    • Platform android-32, build-tools 32.1.0-rc1
    • ANDROID_HOME = C:\Users\Thuyen-Pham\AppData\Local\Android\Sdk
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.11+9-b60-7590822)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✗] Visual Studio - develop for Windows
    ✗ Visual Studio not installed; this is necessary for Windows development.
      Download at https://visualstudio.microsoft.com/downloads/.
      Please install the "Desktop development with C++" workload, including all of its default components

[✓] Android Studio (version 2021.1)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.11+9-b60-7590822)

[✓] VS Code (version 1.68.1)
    • VS Code at C:\Users\Thuyen-Pham\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.44.0

[✓] Connected device (4 available)
    • Redmi Note 9S (mobile) • 5adc78ec • android-arm64  • Android 11 (API 30)
    • Windows (desktop)      • windows  • windows-x64    • Microsoft Windows [Version 10.0.22000.739]
    • Chrome (web)           • chrome   • web-javascript • Google Chrome 103.0.5060.66
    • Edge (web)             • edge     • web-javascript • Microsoft Edge 102.0.1245.44

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

! Doctor found issues in 1 category.

Flutter Application Metadata
Type: app
Version: 1.0.0+1
Material: true
Android X: false
Module: false
Plugin: false
Android package: null
iOS bundle identifier: null
Creation channel: stable
Creation framework version: 9b2d32b605630f28625709ebd9d78ab3016b2bf6
Plugins
audioplayers-0.20.1
in_app_review-2.0.4
path_provider-2.0.11
path_provider_android-2.0.16
path_provider_ios-2.0.10
path_provider_linux-2.1.7
path_provider_macos-2.0.6
path_provider_windows-2.1.0
sensors-2.0.3
shared_preferences-2.0.15
shared_preferences_android-2.0.12
shared_preferences_ios-2.1.1
shared_preferences_linux-2.1.1
shared_preferences_macos-2.0.4
shared_preferences_web-2.0.4
shared_preferences_windows-2.1.1
url_launcher-6.1.4
url_launcher_android-6.0.17
url_launcher_ios-6.0.17
url_launcher_linux-3.0.1
url_launcher_macos-3.0.1
url_launcher_web-2.0.12
url_launcher_windows-3.0.1
vibration-1.7.4-nullsafety.0
vibration_web-1.6.3-nullsafety.0

Hi @ThuyenPV
This has been fixed as part of https://github.com/flutter/flutter/issues/87851 so the fix should be available in the latest master.
So I suggest you switch to the latest master and try the command again to see the fix.
flutter channel master
flutter upgrade

Closing as this is fixed and available on master already.


Add missing CL2 prefix to override variables

My bad, I approved PR https://github.com/kubernetes/perf-tests/pull/1126 that changed the names without realizing that they weren't updated in the override files. We should get this in asap, because we went back to the old version of load test (without secrets, configmaps, etc.) in the master branch :/

/assign @wojtek-t

/lgtm

/retest


Trouble parsing dates

Hi. I'm trying to supply the following data, but it seems to consider the Time column to be "String," and won't let me use it as the X-axis value in a scatter plot:
Time,Hb (gm/dL),Hct (%)
2018-12-21 17:16:00,5.5,18.9
2018-12-22 01:00:00,6.4,21.8
2018-12-22 06:54:00,6.7,21.6
2018-12-22 15:41:00,8.4,
2018-12-22 21:45:00,7.9,
2018-12-23 03:33:00,7.5,
2018-12-23 09:31:00,7.7,
2018-12-24 06:02:00,7.6,24.8
2018-12-27 13:27:00,11.2,33.0
2018-12-28 13:35:00,12.2,36.0
2018-12-29 14:45:00,12.5,37.0

That seems to be one of the supported date formats.

I have the same question. I would like to use hours in my data.
2018-12-29 14:45:00,1

Same here, doesn't date+time:
2021-02-16 07:35,-22.90 2021-02-16 07:55,-21.50 2021-02-16 08:15,-20.70 2021-02-16 11:35,-23.80 2021-02-16 11:55,-23.60 2021-02-16 12:15,-22.40 2021-02-16 12:35,-22.50

in v2 we support the following formats


Sampling from Gaussian measurements 🎲

Context:
Currently homodyne and heterodyne measurements on Mr Mustard require user-specified outcome values.
Description of the Change:
This PR implements sampling for homodyne and heterodyne measurements: when no measurement outcome value is specified (result=None for homodyne and x, y = None, None for heterodyne), the outcome is sampled from the measurement probability distribution and the conditional state (conditional on the outcome) on the remaining modes is generated.
    import numpy as np
    from mrmustard.lab import Homodyne, Heterodyne, TMSV, SqueezedVacuum

    # conditional state from measurement
    conditional_state1 = TMSV(r=0.5, phi=np.pi)[0, 1] >> Homodyne(quadrature_angle=np.pi/2, result=None)[1]
    conditional_state2 = TMSV(r=0.5, phi=np.pi)[0, 1] >> Heterodyne(x=None, y=None)[1]

    # outcome probability
    outcome_prob1 = SqueezedVacuum(r=0.5) >> Homodyne(result=None)
    outcome_prob2 = SqueezedVacuum(r=0.5) >> Heterodyne(x=None, y=None)

To do so:

tensorflow-probability==0.17.0 is added to Mr Mustard's dependencies. TensorFlow Probability provides integration of probabilistic methods with automatic differentiation and hardware acceleration (GPUs). Pytorch also provides similar functionality through the torch.distributions module.
For gaussian states 𝛠, samples are drawn from the gaussian PDF generated by a highly squeezed state ξ and the state of interest, i.e., PDF=Tr[𝛠 ξ]. Sampling from the distribution is implemented using TensorFlow's multivariate normal distribution.
For Homodyne only: To calculate the pdf for Fock states the q-quadrature eigenfunctions |x><x| are used: PDF=Tr[𝛠 |x><x|]. Sampling from the distribution uses TensorFlow's categorical distribution. This case is inspired by the implementation on strawberryfields.

Benefits:
Sampling from homodyne measurements! 🎲
Possible Drawbacks:
Sampling for Fock states can be improved to reduce overheads on execution: currently the pdf is recalculated every time a measurement is performed leading to unnecessary slow-downs. To improve this, one can use sampling algorithms that do not require the complete calculation of the pdf, for example: using the cumulative distribution (however this is highly dependent on normalization), rejection sampling, Metropolis-Hasting, etc.

Thanks @elib20 for your review! The speed bottleneck is the computation of the full pdf p(x)=Tr[ ⍴ |x><x| ] from which we sample. I've added a cache to not recalculate the |x><x| wavefunctions every time, gaining a decent speed up.
A rough benchmark: running the test test_sampling_mean_and_std (500 shots) and assuming pytest overheads are constant, the test takes 74.60s without the cache and 7.88s with it.

If I measure homodyne on a subset of all modes, it returns a State. Is there an easy way to also access the outcome(s) sampled from the other mode(s)?

If I measure homodyne on a subset of all modes, it returns a State. Is there an easy way to also access the outcome(s) sampled from the other mode(s)?

@elib20, currently no but it can be implemented with min— Homodyne could return a tuple containing the outcome and the conditional state.
I also noticed the use of plural: is multiple shots something of interest? I think in that case Homodyne could return a list of tuples (pairs of outcome and conditional state).

I was using plural to refer to if you measured Homodyne on more than one mode, rather than multiple shots, but multiple shots could be good too!

To make the arguments consistent with the walrus so it's easy to debug

seems good, just I don't see what the kw for (un)modified hermite polys is for.

For homodyne sampling I use the unmodified Hermite polynomials. I'll make it more explicit in the code.


Secure Software Supply Chain Aspects

Investigate S3C aspects for CDEvents.
Examples: artifact SBOM, signature, artifact verified event

From the SIG Events meeting on Oct 10th:

One idea is also to include a reference to an in-toto attestation for a built artifact.
Signing all events to make sure they are not tampered with since being created

We may be able to address parts of this in v0.2, for instance, add a "signed" predicate for the "artifact" event.

Signed predicated defined in https://github.com/cdevents/spec/pull/125
Once this PR is merged, we can open a new issue to track further work in this area


Rename Http namespace to HttpHandlers

Only HTTP handlers are in this namespace.

The Http namespace will be used for more than just handlers.


AutoSizer is not properly calculating width

I have an issue with AutoSizer component used inside semantic-ui-react's Grid column. As I have investigated AutoSizer incorrectly calculates width, to be precise, when Grid column width is equal to not integer value e.g.: 1281.5px, the width of a List component that I am using inside is rounded to 1282px, what causes vertical scrollbar to appear sometimes (depending on height). I think this issue may be related to: https://github.com/bvaughn/react-virtualized/issues/1213
I have fixed it temporary by passing 'width-1' instead of 'width' to the List, but now the vertical scrollbar is not always at the right edge and sometimes there is a 1px space between the scrollbar and the edge:
<AutoSizer>
    {({ width, height }) => (
        <List
            width={width-1}
            [...]

<EMAIL_ADDRESS>

We have the same problem - where a div on screen is, say, 250.59px.  The gets rendered in 250px, but AutoSizer returns a size of 251px.  So, as a symptom, we lose a pixel of content.
We looked into the AutoSizer code and found that to figure out the dimensions of the parent container, the code uses element.offsetWidth and element.offsetHeight.  According to documentation, (e.g. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetWidth) these functions "round the value to an integer".  So, 250.59 gets rounded to 251 -- creating the problem.
We patched AutoSizer to truncate the fractional width and height by using Math.trunc(element.getBoundingClientRect().width or .height) This seems to work.
Please let me know if there are any unforeseen issues here that we're not considering.
Thanks,
Ben

Same issue is happening if you're using React Virtualized with Material-UI, and a MUI Popover is triggered (which removes the scrollbar), because of the rounding issue, the whole virtualized list changes (with the addition of subtraction of 1px from the width)
Until this is fixed, my simple work-around is to save the previous width and if the diff between the new width and old width is less than 5px, to use the old width.

I also have the same issue. And I'm also using material-ui library. Could you please fix this issue like @bdubrovsky said?

Hi,
I had to create my own component as a workaround for this issue.
Here is the code i'm using:
import React, { useEffect, useRef, useState } from "react";

const defaultOnResize = () => {};

export default ({
  className,
  defaultHeight = 0,
  defaultWidth = 0,
  disableHeight = false,
  disableWidth = false,
  children,
  style = {},
  onResize = defaultOnResize
}) => {
  const [dimensions, setDimensions] = useState({
    height: defaultHeight,
    width: defaultWidth
  });
  const ref = useRef();

  const resize = () => {
    if (ref.current.parentElement) {
      const height =
        ref.current.parentElement.getBoundingClientRect().height || 0;
      const width =
        ref.current.parentElement.getBoundingClientRect().width || 0;

      const style = window.getComputedStyle(ref.current.parentElement) || {};
      const paddingLeft = parseInt(style.paddingLeft, 10) || 0;
      const paddingRight = parseInt(style.paddingRight, 10) || 0;
      const paddingTop = parseInt(style.paddingTop, 10) || 0;
      const paddingBottom = parseInt(style.paddingBottom, 10) || 0;

      const newHeight = height - paddingTop - paddingBottom;
      const newWidth = width - paddingLeft - paddingRight;

      if (
        (!disableHeight && dimensions.height !== newHeight) ||
        (!disableWidth && dimensions.width !== newWidth)
      ) {
        setDimensions({
          height: height - paddingTop - paddingBottom,
          width: width - paddingLeft - paddingRight
        });

        onResize({ height, width });
      }
    }
  };

  useEffect(() => {
    window.addEventListener("resize", resize);
    resize();
    // cleanup this component
    return () => {
      window.removeEventListener("resize", resize);
    };
  }, [ref, resize]);
  const outerStyle = { overflow: "visible" };

  if (!disableHeight) {
    outerStyle.height = 0;
  }

  if (!disableWidth) {
    outerStyle.width = 0;
  }

  return (
    <div
      className={className}
      ref={ref}
      style={{
        ...outerStyle,
        ...style
      }}
    >
      {children({ ...dimensions })}
    </div>
  );
};


Bitwize brackets disappears

Well, after some troubles with bitwise, i come to this, a dead end...
Code: local hello = (1 << 1)
Result: local b=1<<1
The problem? my brackets!
I want them!
i need them to work with a bitwise operation...
Work (Before parse): local b = ((0 << 0) & 0xFF) + ((53 << 8) & 0xFFFF) + ((12 << 16) & 0xFFFFFF) + ((0 << 24) & 0xFFFFFFFF);print('Result: '..b)
Dont Work (After parse): local b=0<<0&0xFF+53<<8&0xFFFF+12<<16&0xFFFFFF+0<<24&0xFFFFFFFF;print(b)

You posted this in the wrong project. This is not a minifier.

You posted this in the wrong project. This is not a minifier.


Image Slideshow using HTML,CSS and JS

Here, I will create a image slideshow which will show images in slideshow.

Your issue seems to be same as #240


Make repo Autoinit optional

Issue #, if available:
Description of changes:
We already go through a specific initialization for the Github provider for flux; this conflicts with the way go-github does their initialization when auot-init is set to true.
So, let's make auto-init optional so we can use it for the flux git tests and not conflict with our existing initialization.
Testing (if applicable):
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Is there some clever way that you could get the information from your PR description into a comment in the code in a place/way that makes sense? It feels like that's a good bit of "why" information that would make a good comment to alert future devs as to why this option exists, and how to set it appropriately.


[9.x] Add Eloquent ->toggle() function for Boolean Attributes

This PR adds a little function called ->toggle() to Eloquent models. The use case is toggling boolean values in an expressive way.
There's not a lot to explain, so here are a few examples:
$user = User::create([
    'is_active' => false,
]);

// Before
$user->is_active = true;

// Or:
$user->is_active = ! $user->is_active;

// After:
$user->toggle('is_active');

// You can directly save the model:
$user->toggle('is_active')->save();

(Regarding the position of the function, I now put it into the base Model class, but if you think that is more fitting, you can of course also put it in the HasAttributes trait.)

I've added toggle methods in Laravel Love package in early releases, but later decided to remove it and avoid this pattern. The main reason, to make idempotent requests.
Use case:

Post is inactive and user want to activate it
user is making 2 clicks on activate button in SPA UI because of internet lag or something (response is not received between clicks)
backend executes Post::toggle('is_active') 2 times
Post is still inactive

If we will send exact status which should be set, then 2nd call might be ignored.

I've added toggle methods in Laravel Love package in early releases, but later decided to remove it and avoid this pattern. The main reason, to make idempotent requests.
Use case:

Post is inactive and user want to activate it
user is making 2 clicks on activate button in SPA UI because of internet lag or something (response is not received between clicks)
backend executes Post::toggle('is_active') 2 times
Post is still inactive

If we will send exact status which should be set, then 2nd call might be ignored.

Thanks for describing this use case! To me, this personally feels more like a “UX-problem”, which should be solved (or not)  and not by Eloquent. You could even argue that it is bad UX for the user that the backend isn’t doing anything with the second click. Plus, after processing those two clicks, the user will still see the toggle as inactive, thus knowing that it clicked the toggle too much and/or should click another time.
IMO, if you’re using an SPA and are worried about internet lag, you will be able to gracefully handle this yourself. Otherwise, the ->toggle() helper will still be useful for making tests and other business logic more expressive. That’s just my point of view, but thanks for adding your considerations!

In any way this will have to target 10.x because it may break applications where models already have a toggle function.

@dennisprudlo in general, we don't consider overriding classes to be part of the public API.

@driesvints I see but as of right now there is no toggle function in a model. If I was to create one in my User model like so:
public function toggle(bool $value) : bool
{
    return !$value;
}

and then update Laravel 9.x with this PR merged my app will break because both of those methods have a different signature.
App\Models\User::toggle(bool $value): bool must be compatible with Illuminate\Database\Eloquent\Model::toggle($attribute)

Yet I didn't override something I just created a simple method like any other method in my model. I mean toggle is a very generic name for a method.

@dennisprudlo we don't consider that to be a breaking change. If we had to take that into account we'd need to release a new major version of Laravel for every public method we add. This situation is also specifically mentioned in the SemVer spec: https://semver.org/#spec-item-7

@driesvints Got it 👍🏼 Then good for me I saw this PR and know to update my toggle method if this gets merged.
Man do I hate that PHP doesn't support method overloading 😄

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.


Publish SHA2 or MD5 File Hashes with Each Release

Is your feature request related to a problem? Please describe.

I don't believe the SHA2 hashes of releases are published anywhere that can be easily accessed outside of package managers. I know that @azclibot already updates the SHA2 hashes in the Homebrew formula for Azure CLI (see commit Homebrew/homebrew-core@bff9f4f96b6013c75a7c28b1e2a9c4b8ccd9cb82). Without publishing these somewhere, it makes it difficult to verify the download if you aren't using a package manager.
Describe the solution you'd like

There are a few options that can make these achievable and consistent:

The hashes can be included as part of the release notes (similar to what PowerShell does)
The hashes can be published as a JSON feed (similar to what Visual Studio Code does)
The hashes can be saved as files within the directory where the installer is hosted (similar to what Firefox does)
They can be published on a website that uses a static address so that it can always be accessed from a script

Describe alternatives you've considered

The only option I'm aware of at the moment (besides using a package manager) is to lookup the SHA2 value from the Homebrew formula, but that will only include macOS and I'm interested in the Windows MSI version that can be downloaded from https://aka.ms/installazurecliwindows
Additional context

@jiasli for awareness


Ionic2  onclick not working.

I tried many things and at the end I even copied the template from the preview app.
https://github.com/driftyco/ionic-preview-app/blob/master/app/pages/selects/basic/pages.ts
Below the code:
HTML:
<ion-content>
  <ion-list>
    <ion-item>
      <ion-label>Gender</ion-label>
      <ion-select [(ngModel)]="gender">
        <ion-option value="f">Female</ion-option>
        <ion-option value="m">Male</ion-option>
      </ion-select>
    </ion-item>
  </ion-list>
</ion-content>

TS:
// Page template
@Page({
    templateUrl: 'build/pages/settings/settings.html'
})

export class SettingsPage {
    gender: string = "f";
}

The model preset selection (Female) appears, but the selection is not clickable.
When I click on the select widget I do not get the alert modal. I tried it on Chrome, Chrome with Ripple and iPhone 6s plus simulator.
Attached a screenshot.

➜  ~  ionic -v
2.0.0-beta.23

Do you have any errors in the Chrome developer tools console? Also, does your app have an ion-nav element in the main app template?
Can you run ionic info from within the project and paste the output, too. Thanks!

Do you have any errors in the Chrome developer tools console?
No errors in the console. There is a few warning/infos. Posting below:

DEPRECATION WARNING: 'enqueueTask' is no longer supported and will be removed in next major release. Use addTask/addRepeatingTask/addMicroTask
lang.ts:389 Angular 2 is running in the development mode. Call enableProdMode() to enable the production mode.
angular2-polyfills.js:1152 DEPRECATION WARNING: 'dequeueTask' is no longer supported and will be removed in next major release. Use removeTask/removeRepeatingTask/removeMicroTask
plugin.js:42 Native: tried calling StatusBar.styleDefault, but Cordova is not available. Make sure to include cordova.js or run in a device/simulator
VM536:1 Deferred long-running timer task(s) to improve scrolling smoothness. See crbug.com/574343.

Also, does your app have an ion-nav element in the main app template?
It does although I have tried to remove it with no change in behavior. Posting ion-nav below.

<ion-navbar *navbar>
  <ion-title>About</ion-title>
</ion-navbar>

WARN: ionic.config.js has been deprecated, you can remove it.

Your system information:

Cordova CLI: 6.0.0
Ionic Version: 2.0.0-beta.3
Ionic CLI Version: 2.0.0-beta.23
Ionic App Lib Version: 2.0.0-beta.13
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Mac OS X El Capitan
Node Version: v5.9.1
Xcode version: Xcode 7.2 Build version 7C68

******************************************************
 Dependency warning - for the CLI to run correctly,
 it is highly recommended to install/upgrade the following:

 Install ios-sim to deploy iOS applications. `npm install -g ios-sim` (may require sudo)
 Install ios-deploy to deploy iOS applications to devices. `npm install -g ios-deploy` (may require sudo)

******************************************************

Hello @AjkP! Hmm it seems that your on an older beta of Ionic 2 and an old version of the Ionic@beta cli. Would you mind updating both your Ionic CLI (using npm install -g ionic@beta) and then upgrade your project to the latest version of Ionic 2 using these instructions here: https://github.com/driftyco/ionic/blob/2.0/CHANGELOG.md#angular-update-to-200-rc1 and seeing if you still have the issue? Thanks for using Ionic!

@AjkP Sorry I should have been more specific, I was responding from my phone. 😛  There should be an <ion-nav> element somewhere in your main template, it is required for the overlays to work. Something like this:
<ion-nav [root]="root" #content swipe-back-enabled="false"></ion-nav>

However, like Justin said, it would be good to update your CLI and framework versions just to make sure everything is up to date. It may be easier to create a new project though and copy over your app's code since there were so many changes from beta.3 to beta.7.
The latest version of the CLI is beta.25 and the latest version of the framework is beta.7 so make sure to update the CLI before starting a new project so you get a beta.7 project. :smile:

@brandyscarney - My app does not have a ion-nav, instead it uses tabs as below:
<ion-tabs>
    <ion-tab tabIcon="school" tabTitle="Practice" [root]="tabPractice" [rootParams]="tabPracticeParams"></ion-tab>
    <ion-tab tabIcon="paper" tabTitle="Test" [root]="tabRealTest" [rootParams]="tabRealTestParams"></ion-tab>
    <ion-tab tabIcon="contact" tabTitle="Support" [root]="tabContactUs" ></ion-tab>
    <ion-tab tabIcon="settings" tabTitle="Settings" [root]="tabSettings" ></ion-tab>
</ion-tabs>

Using a simple ion-nav seemed to get the widget to work 😮
<ion-nav id="nav" [root]="tabSettings" swipe-back-enabled="false"></ion-nav>

But it removed the tabs. I ll try to encapsulate the tabs in a different page. I guess I don't quite understand the importance of the ion-nav element.
@jgw96 I'll make sure I update.

Yeah, currently the <ion-nav> is required for all elements that use overlays (alert, action-sheet, modal, select, etc.).
The conference app has an example of using <ion-nav> with tabs. Instead of setting the root page to TutorialPage, you would set it to the TabsPage:
https://github.com/driftyco/ionic-conference-app/blob/master/app/app.html#L69
https://github.com/driftyco/ionic-conference-app/blob/master/app/app.js#L50

Thanks @brandyscarney . That app is super cool! Maybe it could be referenced from the tutorial / documentation somewhere?
Closing issue.


libudev.so.0: cannot open shared object file on Ubuntu 14.10

i get this error when running breach in Ubuntu 14.10 AMD 64
pixel@pixel:~/Downloads/breach-v0.3.22-alpha.6-linux-x64$ CHROME_DEVEL_SANDBOX=/opt/google/chrome/chrome-sandbox ./breach
/home/pixel/Downloads/breach-v0.3.22-alpha.6-linux-x64/AUTO_UPDATE_BUNDLE/exo_browser/exo_browser: error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory
there is /opt/google/chrome/libudev.so.0
/lib/x86_64-linux-gnu/libudev.so.1
/lib/x86_64-linux-gnu/libudev.so.1.4.0

Better late than never – you can fix the issue by creating an according symlink.
On 64-bit systems things should go somewhat like this:
sudo ln -s /lib/x86_64-linux-gnu/libudev.so.1 /usr/lib/libudev.so.0

On 32-bit systems things need the related 32-bit paths:
sudo ln -s /lib/i386-linux-gnu/libudev.so.1  /usr/lib/libudev.so.0

You may have to check your local version of libudev.

@e-sushi  thanks work for me ,
The error was cased by Pingendo program (Boostrap layout Crator) ...

Thanks @e-sushi ! works perfectly


Segmentation fault (core dumped) when putting items in Index

Hello,
first of all I really appreciate your work and tool you have created. Currently I am trying to create a PoC using keyvi but I am facing following issue.
I have decided to put some data in one batch in order to create as few files as possible. I am using python so I cannot verify the issue by calling C++ code directly but it seems that error returned Segmentation fault (core dumped) is related to C++ part.
Basically I am trying to create 100300 items Index. Interesting part is that when I try to create  i.e. 200300 items Index the issue is not occurring. You can find repro script below.
Any help will be appreciated.
from keyvi._core import Index
def run_repro():
    index = Index('repro')
    data = [(str(i), 'test') for i in range(100300)] #
    index.MSet(data)
    index.Flush()
if __name__ == '__main__':
    run_repro()

best regards,
Kamil

Thanks for the report, I can reproduce it.
From a quick look I see a memory corruption as the issue, I will take a closer look tomorrow.

@kamcio181
I debugged your issue and was able to create a standalone example that triggers the crash in boost parallel stable sort. This sort is used only in the index compiler for > 10000 keys.
I opened https://github.com/boostorg/sort/issues/54.

@kamcio181
I switched the parallel sorting algorithm to the other one provided in boost sort and released a new version 0.5.2. The issue is fixed, however I created an enhancement issue as follow up: #219.
I hope this fixes it for you, don't hesitate to report further problems.


Add __iter__ and __len__ to BatchDict

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (7326fbd) 100.00% compared to head (9c29841) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #287   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           14        14
  Lines         1274      1278    +4
  Branches       145       145
=========================================
+ Hits          1274      1278    +4

Impacted Files
Coverage Δ

src/redcat/batchdict.py
100.00% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Test action!

Testing the testing action, to test the action.
Testify

I'm going to merge this in and then revert it so I can get an event from main


Filter for Fredericksburg.com

Fix the filtering on fredericksburg.com
Please answer the following questions for yourself before submitting a pull request. YOU MAY DELETE UNUSED SECTIONS.
Rule Submission
Website: example.tld

[ ] I have made the rule as simple as possible ( K.I.S.S )
[ ] I have run the rule myself for a period of time to spot any bugs

Bugfix/Enhancement

[ ] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you successfully ran tests with your changes locally?

Fixes #
Proposed Changes

Thank you for your contributions


Profiles

Profiles contain a morphs('profileable') so they can be attached to any model. Models in the application that will implement profiles are:

User
Company
Location

Profiles will be updated to contain information that is needed for the frontend design such as the HasMedia trait (https://github.com/drewroberts/media/issues/40) and a number of other fields with general information.

User Profile Links (https://github.com/tipoff/authorization/issues/27)
Company Profile Links (https://github.com/tipoff/seo/issues/34)
Location Profile Links (https://github.com/tipoff/locations/issues/52)


Fixate parity_scale_codec on 3.6.5 to fix error in udeps

This change is

Cargo.toml line 19 at r1 (raw file):
Previously, dan-starkware wrote…
I don't think it relates to the same issue

changed


⚠ Mobitopup has degraded performance

In ab5532a, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 5789 ms

Resolved: Mobitopup performance has improved in 8f48090.


add_bw_relationships DAG failing silently

The most recent example is a DAG run that fails on the add_bw_record task but no email is generated so the user doesn't know what happened - in this case they alerted us because no summary email was generated.
https://sul-libsys-airflow-prod.stanford.edu/dags/add_bw_relationships/grid?run_id=manual__2024-11-19T21%3A46%3A51.433639%2B00%3A00&execution_date=2024-11-19+21%3A46%3A51.433639%2B00%3A00&tab=graph&dag_run_id=manual__2024-11-19T21%3A46%3A51.433639%2B00%3A00&task_id=add_bw_record

I'm also not sure why this one is failing and there is no log for clues. I was able to add it manually through the UI.

Yes, the column headers come from the uploaded csv file.

Should be fixed in PR #1456


add(consensus): Adds block construction and validation for NU5 from block height 1 for Regtest

Motivation
We want to support Regtest in Zebra for integration testing.
Closes #8363.
Closes #8280.
Part of #7119.
~This PR shouldn't change much, the regtest_nu5_activation_height field in the config should be removed, but that's a minor change.~
Update: This PR shouldn't change anymore except to address review comments.
PR Author Checklist
Check before marking the PR as ready for review:

[x] Will the PR name make sense to users?
[x] Does the PR have a priority label?
[x] Have you added or updated tests?
[x] Is the documentation up to date?

For significant changes:

[x] Is there a summary in the CHANGELOG?
[x] Can these changes be split into multiple PRs?

If a checkbox isn't relevant to the PR, mark it as done.
Specifications

ZIP 212
Mean target difficulty on p. 132 of the spec:

MeanTarget(height ◦ N) :=
PoWLimit, if height ≤ PoWAveragingWindow
mean([ToTarget(nBits(𝑖)) for 𝑖 from height−PoWAveragingWindow up to height−1]),
otherwise.

I couldn't find the POW_ADJUSTMENT_BLOCK_SPAN in the protocol spec, I don't think this should be a problem because there are always more than that many blocks where a check was replaced with relevant_chain.is_empty() by Canopy activation.

Solution

Checks if the network is_regtest() in the start command, and if it is, commits the Regtest genesis block and skips starting the syncer
Skips the ZIP 212 grace period for non-default networks
Sets the mandatory checkpoint height at one block below Canopy activation for non-default networks (this may need some follow up changes, or changes in this PR)
Adds funding streams and minimal protocol version for NetworkKind::Regtest
Returns the reserved activation chain history root hash in the getblocktemplate method for blocks that should activate Heartwood network upgrade
Checks Heartwood was activated at a given block height even if the current network upgrade is NU5
Uses a slow start interval of Height(0) if PoW is disabled (this should be changed in a follow up PR or in this PR)
Uses fewer than 11 blocks for calculating the median time past
Uses fewer than 17 blocks for calculating the mean target difficulty

Testing
Added a test that gets block templates and submits them as blocks
Review
Anyone can review.
Reviewer Checklist
Check before approving the PR:

[ ] Does the PR scope match the ticket?
[ ] Are there enough tests to make sure it works? Do the tests cover the PR motivation?
[ ] Are all the PR blockers dealt with?
PR blockers can be dealt with in new tickets or PRs.

And check the PR Author checklist is complete.
Follow Up Work

Some changes from https://github.com/ZcashFoundation/zebra/pull/8428
Adding a fields for:

Slow start interval
Disabling peer connections
Funding streams
Minimum protocol version

Using zcash_address::Network instead of NetworkKind in transparent addresses?

Running full sync test here: https://github.com/ZcashFoundation/zebra/actions/runs/8904378011


Address few more warnings

All "buffer" variables seem like padding for times of predictable memory allocators. Rest looks like small mistakes/ omissions. Still dead end variables lurk around compute kernels.

This is last this year. So far I got rid of about half of gcc warnings, and about as much dead stores not seen by gcc. I will continue on until it starts to require brain work.


Adds support for vite 3.1.0+. Closes #13

Bumping this since it's been a few months and it would be nice to have this merged. @aleclarson Thanks in advance!


Update images' version in kubernetes yamls

I've tested the 1.0.0-SNAPSHOT builds under kubernetes, everything works just fine.
There is an Internal Server Error when calling the Fibonacci number service, complaining timeout of socket read, it should be something related to zuul/robbin/hystrix configs, I'll dig more into it.
Last, make sure to push images of 1.0.0-SNAPSHOT to docker hub before merging this PR.

Coverage remained the same at 93.75% when pulling 7953e94d17b32444ef28f9228fb225dd6d6cf430 on crystaldust:1.x into 0c2ad53d9e92a1fd76deea74e283fe22d49099af on ServiceComb:1.x.


[Bug]: Caused by: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver

Apache Hop version?
2.1.0
Java version?
11.0.6
Operating system
Windows
What happened?
[describe]
When creating a database connection, an error was reported. The mysql driver has been placed in the lib directory according to the error reporting requirements, and the hop has been restarted, but this error is still reported.
mysql version : 8.0.31
driver path: C:\Users\cai\Downloads\hop\lib\mysql-connector-java-8.0.28.jar
[error]
Error connecting to database [mysql_test] :org.apache.hop.core.exception.HopDatabaseException:
Error occurred while trying to connect to the database
Driver class 'org.gjt.mm.mysql.Driver' could not be found, make sure the 'MySQL' driver (jar file) is installed.
Unable to load class 'org.gjt.mm.mysql.Driver' in this classloader or in the parent
org.apache.hop.core.exception.HopDatabaseException:
Error occurred while trying to connect to the database
Driver class 'org.gjt.mm.mysql.Driver' could not be found, make sure the 'MySQL' driver (jar file) is installed.
Unable to load class 'org.gjt.mm.mysql.Driver' in this classloader or in the parent
at org.apache.hop.core.database.Database.normalConnect(Database.java:330)
at org.apache.hop.core.database.Database.connect(Database.java:261)
at org.apache.hop.core.database.DatabaseFactory.getConnectionTestReport(DatabaseFactory.java:47)
at org.apache.hop.core.database.DatabaseFactory.getConnectionTestResults(DatabaseFactory.java:72)
at org.apache.hop.core.database.DatabaseMeta.testConnectionSuccess(DatabaseMeta.java:2042)
at org.apache.hop.ui.core.database.DatabaseMetaEditor.testConnection(DatabaseMetaEditor.java:832)
at org.apache.hop.ui.core.database.DatabaseMetaEditor.test(DatabaseMetaEditor.java:719)
at org.apache.hop.ui.core.database.DatabaseMetaEditor.lambda$createButtonsForButtonBar$6(DatabaseMetaEditor.java:887)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4251)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4068)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3645)
at org.apache.hop.ui.hopgui.HopGui.open(HopGui.java:404)
at org.apache.hop.ui.hopgui.HopGui.main(HopGui.java:305)

Caused by: org.apache.hop.core.exception.HopDatabaseException:
Driver class 'org.gjt.mm.mysql.Driver' could not be found, make sure the 'MySQL' driver (jar file) is installed.
Unable to load class 'org.gjt.mm.mysql.Driver' in this classloader or in the parent
at org.apache.hop.core.database.Database.connectUsingClass(Database.java:374)
at org.apache.hop.core.database.Database.normalConnect(Database.java:315)
... 14 more

Caused by: java.lang.ClassNotFoundException: Unable to load class 'org.gjt.mm.mysql.Driver' in this classloader or in the parent
at org.apache.hop.core.plugins.HopURLClassLoader.loadClass(HopURLClassLoader.java:96)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at org.apache.hop.core.database.Database.connectUsingClass(Database.java:349)
... 15 more
Caused by: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
at org.apache.hop.core.plugins.HopURLClassLoader.loadClassFromThisLoader(HopURLClassLoader.java:66)
at org.apache.hop.core.plugins.HopURLClassLoader.loadClass(HopURLClassLoader.java:91)
... 17 more
Hostname:
Port:	3306
Database name:	wang
Url:	localhost
Issue Priority
Priority: 3
Issue Component
Component: Actions

Hi @Doooing ,
In the database connection you have to set the database type to MySQL 8+ , I think we changed the default in our planned next release. More information can be found in the docs https://hop.apache.org/manual/latest/database/databases/mysql.html

Hi @hansva ,
Thank you for your answer, but in the database type list, there is no MySQL 8+ option, as shown in the figure.

As you removed your comment I expect you found the solution?
It's still a valid ticket I noticed the default is not set to 8+ so let's improve the UI A bit I created a task for some small improvements #1907

Hi @hansva ,
Thank you for your answer. I just deleted the reply because of a new problem. I don't know if there is a problem with mysql driver download. If it's convenient, you can help me take a look. Thank you very much.
Driver download URL:   https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.28
Error occurred while trying to connect to the database
Error connecting to database: (using class com.mysql.cj.jdbc.Driver)
No suitable driver found for localhost
at org.apache.hop.core.database.Database.normalConnect(Database.java:330)
at org.apache.hop.core.database.Database.connect(Database.java:261)
at org.apache.hop.core.database.DatabaseFactory.getConnectionTestReport(DatabaseFactory.java:47)
at org.apache.hop.core.database.DatabaseFactory.getConnectionTestResults(DatabaseFactory.java:72)
at org.apache.hop.core.database.DatabaseMeta.testConnectionSuccess(DatabaseMeta.java:2042)
at org.apache.hop.ui.core.database.DatabaseMetaEditor.testConnection(DatabaseMetaEditor.java:832)
at org.apache.hop.ui.core.database.DatabaseMetaEditor.test(DatabaseMetaEditor.java:719)
at org.apache.hop.ui.core.database.DatabaseMetaEditor.lambda$createButtonsForButtonBar$6(DatabaseMetaEditor.java:887)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4251)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4068)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3645)
at org.apache.hop.ui.hopgui.HopGui.open(HopGui.java:404)
at org.apache.hop.ui.hopgui.HopGui.main(HopGui.java:305)

Caused by: org.apache.hop.core.exception.HopDatabaseException:
Error connecting to database: (using class com.mysql.cj.jdbc.Driver)

Hi @hansva ,
Thank you for your answer. I just deleted the reply because of a new problem. I don't know if there is a problem with mysql driver download. If it's convenient, you can help me take a look. Thank you very much.
Driver download URL:   https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.28
Error occurred while trying to connect to the database
Error connecting to database: (using class com.mysql.cj.jdbc.Driver)
No suitable driver found for localhost
at org.apache.hop.core.database.Database.normalConnect(Database.java:330)
at org.apache.hop.core.database.Database.connect(Database.java:261)
at org.apache.hop.core.database.DatabaseFactory.getConnectionTestReport(DatabaseFactory.java:47)
at org.apache.hop.core.database.DatabaseFactory.getConnectionTestResults(DatabaseFactory.java:72)
at org.apache.hop.core.database.DatabaseMeta.testConnectionSuccess(DatabaseMeta.java:2042)
at org.apache.hop.ui.core.database.DatabaseMetaEditor.testConnection(DatabaseMetaEditor.java:832)
at org.apache.hop.ui.core.database.DatabaseMetaEditor.test(DatabaseMetaEditor.java:719)
at org.apache.hop.ui.core.database.DatabaseMetaEditor.lambda$createButtonsForButtonBar$6(DatabaseMetaEditor.java:887)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4251)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4068)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3645)
at org.apache.hop.ui.hopgui.HopGui.open(HopGui.java:404)
at org.apache.hop.ui.hopgui.HopGui.main(HopGui.java:305)

Caused by: org.apache.hop.core.exception.HopDatabaseException:
Error connecting to database: (using class com.mysql.cj.jdbc.Driver)

Cannot reproduce, I downloaded the 8.0.31 driver from https://dev.mysql.com/downloads/connector/j/ (platform independent) copied it to /plugins/databases/mysql/lib and am able to conenct


Feature Request: Option to set calc trigonomic functions with degrees (not radian)

It would be helpfully to have an boolean option, where you can switch trigonomic functions (sin, cos, tan, ...) to calculate with degrees and not with radians.
I think this would be easy to implement...

Actually, you can already do that by adding your own functions. With the methods CalculationEngine.AddFunction you can do something like:
CalculationEngine engine = new CalculationEngine(...);
engine.AddFunction("dsin", d => Math.Sin(d / 180 * Math.PI);


support A-Frame 1.2

A-Frame 1.2 uses a newer version of three.js which drops support for THREE.Geometry editing. See : https://discourse.threejs.org/t/three-geometry-will-be-removed-from-core-with-r125/22401/21

LGTM!


Add Serial Support for PaPi / DMS Lite

For the Papi there are two ways to integrate with it by Serial over USB and over a WiFi access point. These two examples provide te necessary papa code for the two.

#64


Issue with importing in Vite+React+Typescript

Hey everyone - just wondering has anyone else had an issue importing NDK in Vite + React + Typescript projects? I am encountering this linter error (possible related to the es-lint plugin for vite). Using "bundler" mode via Vite
The lint error :
Could not find a declaration file for module '@nostr-dev-kit/ndk'. <EMAIL_ADDRESS>implicitly has an 'any' type.
  There are types at<EMAIL_ADDRESS>but this result could not be resolved when respecting package.json "exports". The '@nostr-dev-kit/ndk' library may need to update its package.json or typings.ts(7016)

for an import import { NDKEvent } from "@nostr-dev-kit/ndk";
I realise this may have nothing to do with NDK, I'm not used to typescript+react so was hoping somebody could help me out or point me in the right direction.. Many thanks

Resolved by adding declare module '@nostr-dev-kit/ndk'; to the vite-env.d.ts file

Duplicate issue see https://github.com/nostr-dev-kit/ndk/issues/63

Suppressed the error by adding declare module '@nostr-dev-kit/ndk'; to the file vite-env.d.ts
This tells TypeScript to treat everything exported from this module as any, and it will suppress the error. However, this won't give you autocompletion, type-checking, or other benefits of TypeScript for this module.


Allow @Factory annotation directly on input type classes

I could have sworn there was a discussion on this topic some time back.  I looked around and couldn't find the ticket or a pull request, but maybe I'm overlooking it.  If anyone can link that other ticket that'd be great.
But basically, this ticket is to discuss the fact that factory methods are often times nothing but boilerplate.  In fact, I've only had to modify input fields a handful of times to date.  These methods mostly consist of taking in params and passing them directly to properties of the input type.  In fact, in our case, they already have the same names as well.  I'd assume this is similar for most.
What this proposes is making the @Factory annotation optionally defined on the input type class, itself.  I don't even see any need for args to handle anything here, just a direct mapping, when the annotation is defined on the input type class.
As for how the properties are populated, it's probably best that, like the factory method today, all of the properties assignments are passed to the input type class' constructor.  This would also allow for some light field modification if someone deemed that necessary.  For example taking a date string and instantiating a Date object to assign to the class' property.
Assuming the above with the constructor, the question then becomes, do you put the @Factory annotation on the constructor or the class?
The other thing that I'll add to this, because I know it'd be an issue for us, is validation.  We do also add a simple validation call within our input type factories.  Assuming this gets implement, I think there should also be a way to register an InputTypeValidatorInterface with the schema, that would then be called when an input type is constructed, passing that newly constructed input type object.

After thinking on this a little further, I've progressed my recommendation for this issue.  Instead of the aforementioned solution, which requires a more opinionated approach, I'd like to see a way to register an InputType Factory Service that can handle all InputType requests.  But taking this route, effectively overriding the current logic which is out looking for @Factory annotations and corresponding method names, you'd register a service that can bypass all of this, allowing for you to instantiate and build your input types however you best see fit.

We've been able to bring down, virtually all of our factory classes and methods to the following example.  There are only a handful of InputTypes that need a defined factory method.  With a registered factory "service", we'd be able to delete almost every factory class.
/**
 * Make UpdateVehicle InputType
 *
 * @GraphQLite\Factory()
 */
public function makeUpdateVehicle(
    ID $id,
    int $year,
    string $make,
    string $model,
    ?string $color,
    ?string $licensePlateNumber,
    ?string $licensePlateState
): UpdateVehicle
{
    return $this->make(new UpdateVehicle(), \get_defined_vars());
}

Issue resolved with #269


Wish: Separate crc initialization from feeding

Currently the Crc class in algorithms.py can only feed a single string into algo. This should be changed to separate initialization (xor-in), feeding and finalization (xor-out). This has the following advantages:

The File input can use the same mechanism, the current file-feeding implementation is sort of a workaround
We can run through the algorithm one feed-unit at a time. This is nice, e.g., when searching for a given initial state when running a CRC backwards (with reflected poly and reflected input) until a start-state is reached
We could feed bit-wise for the bitwise variants

To make this work I'd separate the single Crc class into three classes, each one implementing the given variant, e.g. CrcBitByBit, CrcTableDriven, ... because the feeding is probably not compatible across the variants.
This would also allow bitwise feeding for the bitwise algos: My use-case here is finding the number of excess bits at the end of a message described in the section "Clearing Up some Puzzles" of Gregory Ewings "Reverse-.Engineering a CRC Algorithm": Here we're running a CRC with only the polynomial known over a XOR of two different messages that differ by only one bit (Greg calls this a difference-message). This is used to discover how far to go (over how much data the original CRC was computed, if it included additional data after the contents we know about). The Algo is initialized with the poly in the register and run until the known CRC is reached (the CRC of two XORed messages is the XOR of both CRC values)
If the 1-bit difference is not on a byte boundary this fails. So we need a way to bitwise feed the algorithm (with zeros in this use-case).
Do we have a regression test? In that case I'd do a stab at this and propose a code-change.

Hi Ralf, thanks for your feedback! At the moment I am quite busy, but I will try to go over it this week-end and have a look at your suggestion and your pull request.
To answer the immediate question, there is a limited regression test, in test/test.py. You can run it with the -a (run all tests) and -v (verbose) options.

Ok, I've discovered the -a option to test.py (from your comment on my other issue :-)
There is just one test failing (or does it stop on the first failed test?). This is due to the reflect-in vs. reflect-out correction I made: Reflection of the xor-in should happen if reflect-out is set not reflect-in. I'll check this against another crc-implementation and will update my pull-request accordingly.


Add section about using classes with immer

We've come across this particular issue and didn't find it in the pitfalls section, so it took some more investigation and reading all articles on the page to find the answer, classes.
However, I think it's somewhat common to use classes, and with this, people will encounter unexpected behavior, hence Pitfalls section.

:tada: This PR is included in version 6.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Upgrade McMaster.Extensions.CommandLineUtils to 3.1.0.

Attempt to fix https://github.com/OmniSharp/omnisharp-vscode/issues/4090

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: mbp sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Error not showing for necessary checks of number for DNS lookups

I am checking a domain here and it gives me an error related to required number of DNS look up to evaluate the spf. But If I use this piece of code from the library documentation,
$record = (new \SPFLib\Decoder())->getRecordFromTXT($spfString);
$issues = (new \SPFLib\SemanticValidator())->validate($record);
foreach ($issues as $key => $issue) {
   echo  $issue, "\n";
   }
I am not getting any thing similar. I would like to know why there is a difference in result between the library and https://dmarcian.com/ and if anything I can do to fix it.
Thank You,

This library checks direct the DNS lookups only.
In your case, we have this SPF record
v=spf1 mx a include:spf.smartemailing.cz include:spf.mailkit.eu include:_spf.google.com ip4:<IP_ADDRESS> ip4:<IP_ADDRESS> ~all

that's a total of 5 queries (mx + a + include + include + include).
It seems that dmarcian.com also check the SPF records of the "included" records too:

spf.smartemailing.cz at the moment resolves tov=spf1 ip4:<IP_ADDRESS>/27 ip4:<IP_ADDRESS> ip4:<IP_ADDRESS> ip4:<IP_ADDRESS>/28 ip4:<IP_ADDRESS>/28 ip4:<IP_ADDRESS> ip4:<IP_ADDRESS>/27 ip4:<IP_ADDRESS>/28 ip4:<IP_ADDRESS> ip4:<IP_ADDRESS> ip4:<IP_ADDRESS> include:spf1.smartemailing.cz ~all

which has 1 more lookup (the include:spf1.smartemailing.cz)
spf1.smartemailing.cz at the moment resolves tov=spf1 ip4:<IP_ADDRESS> ip4:<IP_ADDRESS> ip4:<IP_ADDRESS> ip4:<IP_ADDRESS> ip4:<IP_ADDRESS> ip4:<IP_ADDRESS> ip4:<IP_ADDRESS> ip6:2a02:2b88:2:1::4a1d:1 ip6:2a02:2b88:2:1::4b41:1 ip6:2a03:b0c0:3:d0::f:b001 include:spf2.smartemailing.cz ~all

which has 1 more lookup (the include:spf2.smartemailing.cz)
spf2.smartemailing.cz at the moment resolves tov=spf1 ip4:<IP_ADDRESS>/25 ip4:<IP_ADDRESS>/25 ip4:<IP_ADDRESS>/25 ip4:<IP_ADDRESS> ip4:<IP_ADDRESS> ip4:<IP_ADDRESS> ip4:<IP_ADDRESS> ip4:<IP_ADDRESS>/27 ip4:<IP_ADDRESS> include:spf3.smartemailing.cz ~all

which has 1 more lookup (the include:spf3.smartemailing.cz)
spf3.smartemailing.cz at the moment resolves tov=spf1 ip4:<IP_ADDRESS>/28 ip4:<IP_ADDRESS>/28 ip4:<IP_ADDRESS> ip4:<IP_ADDRESS>/28 ip4:<IP_ADDRESS>/28 ip4:<IP_ADDRESS> ~all

no lookups here
spf.mailkit.eu at the moment resolves tov=spf1 ip4:<IP_ADDRESS>/28 ip4:<IP_ADDRESS>/22 ~all

no lookups here
_spf.google.com at the moment resolves tov=spf1 include:_netblocks.google.com include:_netblocks2.google.com include:_netblocks3.google.com ~all

which has 3 more lookup (the include:...)
_netblocks.google.com at the moment resolves tov=spf1 ip4:<IP_ADDRESS>/24 ip4:<IP_ADDRESS>/19 ip4:<IP_ADDRESS>/20 ip4:<IP_ADDRESS>/20 ip4:<IP_ADDRESS>/18 ip4:<IP_ADDRESS>/16 ip4:<IP_ADDRESS>/21 ip4:<IP_ADDRESS>/16 ip4:<IP_ADDRESS>/17 ip4:<IP_ADDRESS>/19 ip4:<IP_ADDRESS>/19 ~all

no lookups here
_netblocks2.google.com at the moment resolves tov=spf1 ip6:2001:4860:4000::/36 ip6:2404:6800:4000::/36 ip6:2607:f8b0:4000::/36 ip6:2800:3f0:4000::/36 ip6:2a00:1450:4000::/36 ip6:2c0f:fb50:4000::/36 ~all

no lookups here
_netblocks3.google.com at the moment resolves tov=spf1 ip4:<IP_ADDRESS>/19 ip4:<IP_ADDRESS>/20 ip4:<IP_ADDRESS>/19 ip4:<IP_ADDRESS>/20 ip4:<IP_ADDRESS>/19 ip4:<IP_ADDRESS>/21 ip4:<IP_ADDRESS>/20 ip4:<IP_ADDRESS>/19 ip4:<IP_ADDRESS>/16 ip4:<IP_ADDRESS>/22 ~all

no lookups here

And that's a total of 11 lookups (the value reported by dmarcian).

So I have ran an recursion and it gives me the desired output like dmarcian. But I cannot return the final value as returning will stop the recusrsion. Please take a look in the code and it will be very much helpful if you can help me out.
I made the recursion with lumen(micro framework of Laravel) by tinkering the core code (in SemanticValidator by adding return $count at line 85) and returning counts all the time of all the domains included in it. I have a bit success but did not achieve what I exactly wanted. I got the counts of the individual domains of the included domains too but failed to add them all and get a final sum to check if it is greater than 10 or not. Here is my lumen code of the controller.
public function validateSpf($domain){
           //$originalDomainSpfLookUpCount = [];
           $decoder = new \SPFLib\Decoder();
           $originalSpf = $decoder->getRecordFromDomain($domain);
           $record = (new \SPFLib\Decoder())->getRecordFromTXT($originalSpf);
           $issues = (new \SPFLib\SemanticValidator())->validate($record);
           $originalDomainSpfLookUpCount[] = isset($issues['totalCount']) ? $issues['totalCount'] : false ;
           // return $originalDomainSpfLookUpCount;
           //looking for how many included domains are there.

           $partsOfSpf = explode(' ', $originalSpf );
           $includeddomains = [];
           foreach($partsOfSpf as $key => $part){
               $includeddomains[] = str_replace('include:','',strstr($part,"include:"));
               $includeddomains = array_filter($includeddomains);
               // str_replace('inlcude:','');
           }
           //return $includeddomains;

           //running recursion
           if(count($includeddomains) > 0){
               foreach($includeddomains as $index => $include){
                   $this->validateSpf($include);
               }
           }

           echo "<pre>";
           print_r($originalDomainSpfLookUpCount[0]);
           echo "</pre>";
       }

       public function validatedOutput(Request $request){
           return $this->validateSpf($request->domain);
       }

Hi,
I have done a fresh installation of the package. But Yet I am not getting the count as dmaracian. it still returns count 5 for kojenecke-obleceni.eu. Do I need to do something else?

You should use OnlineSemanticValidator instead of SemanticValidator - see the relevant README.md section.
In any case, I haven't published a new SPFLib version including it yet: keep an eye at the releases page.
You can be notified for new releases via email by choosing the Watch → Releases only option you can find top right:

I've just published version 3.1.0 with this new OnlineSemanticValidator class.


Add basic auth support for interface

Add optional basic auth support to keep the interface from being publicly available.
Description

Added new environment variables to enable and configure basic authentication. Disabled by default.
When enabled, adds a new middleware to support basic auth
Respect whitelist of paths (prefix or exact match)

Motivation and Context

This solves the issue of hosting flagr where it is reachable on the public internet but you do not want outside users to access the web interface.

How Has This Been Tested?

Deployed to our hosting provider and manually tested basic auth prompt with various env values.

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

Codecov Report

Merging #353 into master will increase coverage by 0.05%.
The diff coverage is 87.09%.

@@            Coverage Diff             @@
##           master     #353      +/-   ##
==========================================
+ Coverage   81.75%   81.81%   +0.05%
==========================================
  Files          26       26
  Lines        1540     1567      +27
==========================================
+ Hits         1259     1282      +23
- Misses        211      214       +3
- Partials       70       71       +1

Impacted Files
Coverage Δ

pkg/config/middleware.go
68.12% <87.09%> (+3.46%)
: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 f94aa14...daa3326. Read the comment docs.

PS: You could also do that on your http LB, either nginx or aws ELB, or k8s... it's much easier...

Agreed, that would be the easier path. We have this on heroku though which always has a public reachable domain. *.herokuapp.com

@jheth I see, yeap, Heroku is extremely customizable on the infra-level. I think you could run kong on Heroku and do that, but then it would be more complex eheh


Fix Typo in docstring

Noticed while reading source.

Codecov Report

Merging #1809 into develop will increase coverage by 0.03%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop    #1809      +/-   ##
===========================================
+ Coverage    92.51%   92.54%   +0.03%
===========================================
  Files           53       53
  Lines         9958     9958
===========================================
+ Hits          9213     9216       +3
+ Misses         745      742       -3

Impacted Files
Coverage Δ

botocore/credentials.py
98.85% <ø> (+0.34%)
: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 826071b...7056945. Read the comment docs.


Changelog for official Angular schematics

Bug Report or Feature Request (mark with an x)
- [ ] bug report -> please search issues before submitting
- [x] feature request

Area
- [ ] devkit
- [x] schematics

Desired functionality
To stay up to date, upgrading the CLI itself is not enough. We need to know the changes done in the official Angular schematics, for example to know when the dependencies are updated in package.json to know when it's safe to upgrade tools (like tslint, codelizer, etc.). There can also be changes in other files (for tests, polyfills and so on...).
And currently, we have to look at the git history of each file within this repo (which is now separate from the CLI, and some people may even not know about it).
So a CHANGELOG is really required, or at least, changes done here should be integrated in the CLI changelog.
Thanks.

In the same idea, as an important part of the CLI is now done here, it would be nice to include contributors to this package in the special thanks of the CLI release.
@hansl


✨ Check if there any managed clusters exists before hub cleanup

Summary
If any managed clusters exist, clusteradm clean hangs for some time and then returns 'cluster manager still exists'. Therefore, we should check if any managed clusters exist before waiting for the hub cleanup and return the proper message.
Related issue(s)
Fixes #

/ok-to-test

/ok-to-test

/lgtm
/cc @qiujian16

/approve

/approve
/lgtm


People index only shows people with complete profile

Solves issue #88 .
The drawback is that the page may load slower due to the gravatar check.

thanks @yoonwaiyan


Scroll should be on columns, not the whole window

I don't think there is anyway to do this nicely. There isn't a way to track scrolling in real time you would have to poll the view to see if it was scrolled then revert it and move the content of the column around to get the behavior you want.

One way to do it without having to move the content but revert the UI when scrolling would be to have another column with the custom UI only, then you could dedicate first column to UI and second column to output.
Something like:
========================================================
Debug panel | call stack | Debugger Console | Variables|  Column 1
========================================================
| call stack output.     | console output   |          |
|                        |                             |
|                        |                             |  Column 2
|                        |                             |
|                        |                             |
|======================================================|

This will disconnect the header from the content and therefore might cause confusion as to which row contains what information but it would fix the mentioned problem, not sure if that's a better compromise.


Enabled workaround for enums raw types

Enables workaround mentioned in #85

          1 Error

:no_entry_sign:
Any changes to library code need a summary in the Changelog.

  Generated by :no_entry_sign: danger

can you add entry in changelog under bugfixes so that danger is happy ? :)

Changelog entry added