ValueError: Key "model_builders" is different in config and the result trainer.pth file. Please double check

Dear developers,
I'm trying to restart a train that crashed by means of inserting the following lines in the input:

initialize_from_state
initial_model_state: results/example/best_model.pth

However, it systematically gives the following error:
ValueError: Key "model_builders" is different in config and the result trainer.pth file. Please double check
Does anyone knows why?
Thanks in advance and best wishes,
Giuseppe

Dear Giuseppe,
Thank you for your interest in our code. Apologies for the delayed response, but the nequip framework and allegro model (that runs in the nequip infrastructure) are undergoing a major overhaul. We are close to the end of the revamps, and things look very different from what you see on main. The code related to your problem has been deleted in the revamps. If you're just starting on a project, it may be better to try using the new nequip infrastructure and corresponding allegro code, both on the develop branches of the respective git repositories. The configs/tutorial.yaml on both repos should be helpful, as well as the new docs https://nequip.readthedocs.io/en/develop/guide/workflow.html (note the develop in the url), for getting started.
If you really need to get things to work with the current public code and want to try to debug this issue, some comments. The error thrown comes from
https://github.com/mir-group/nequip/blob/1e150cdc8614e640116d11e085d8e5e45b21e94d/nequip/scripts/train.py#L290,
which just checks the original config file used for training and the config saved in best_model.pth. I assume this is a perplexing problem because you didn't change model_builders in your restart (because that's what one would expect to cause the error). A reasonable approach would be to investigate why the error got thrown by maybe inspecting best_model.pth and figuring out why it's erroring out at that part of the code highlighted earlier (inspect what's in the dicts being inspected).
I would advise trying to migrate to the new infrastructure if possible, but it's understandable if it's more favorable to continue using the current public infrastructure if you're in the middle of a project and have various models trained in that framework. Happy to give further advice.
Chuin Wei

Dear Wei,
thanks a lot for your reply! I've a couple of questions. I've installed both develop branches of nequip and
and allegro. However, when I try to run the configs/tutorial.yaml (e.g., nequip-train configs/tutorial.yaml) I systematically get the following error:

File "/home/cassone/anaconda3/lib/python3.12/site-packages/hydra/core/override_parser/overrides_parser.py", line 96, in parse_overrides
raise OverrideParseException(
hydra.errors.OverrideParseException: mismatched input 'tutorial.yaml' expecting ID
See https://hydra.cc/docs/1.2/advanced/override_grammar/basic for details

Also, if I run "pytest tests/" to make an extensive testing of the nequip installation I get this error:

ERROR tests/integration/test_deploy.py
ERROR tests/integration/test_train.py
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 2 errors during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Could you please tell me why and how to fix these errors related to the develop branches of nequip and allegro? Thanks a lot in advance.
One final thing related to my previous issue: how could I inspect the best_model.pth file?
Many thanks in advance and best wishes,
Giuseppe

https://nequip.readthedocs.io/en/develop/guide/workflow.html on "Training". The command to train is

nequip-train -cp full/path/to/config/directory -cn config_name.yaml

with several caveats depending on where you're running it from, etc.

For loading, best_model.pth, you can use https://pytorch.org/docs/stable/generated/torch.load.html

Dear Chuin Wei,
thank you for the prompt reply. Additionally to the tutorial.yaml file, are there some other templates to be used for training/testing, specifically adapted for water systems?
Thank you again and best wishes,
Giuseppe

Hi Giuseppe,
For learning about the training infrastructure, nequip's tutorial.yaml is what you wanna look at https://github.com/mir-group/nequip/blob/develop/configs/tutorial.yaml. The model part of the config would be different for allegro, i.e. the nequip GNN model and allegro are fundamentally different models, so you'd need different hyperparameters.
This paper should have the relevant Allegro details for water systems. https://pubs.acs.org/doi/10.1021/acs.jpclett.4c00605. The SI has an allegro config for the old infrastructure, you'd have to translate it to the new infrastructure (carefully separating what are training hyperparameters and model architecture hyperparamaters, since the old infrastructure uses a flat list of configuration arguments while the new infrastructure has them separated into sections).
Chuin Wei

Dear Chuin Wei,
thanks a lot for your important suggestions. Since the documentation on the development version of allegro is not yet available (isn't it?), could you please tell me how, e.g., to exploit either TensorBoard or WandB in conjunction with the new development branches? Is there any blog on these new development versions?
Thanks a lot in advance and best wishes,
Giuseppe

Hi Giuseppe,
nequip is the main package that handles all the training infrastructure. allegro is a choice of model (in contrast to nequip the GNN model, which is often confused with nequip the overall software package for training deep equivariant potentials). So everything you need would be in the nequip tutorials.
You can find the relevant line here. https://github.com/mir-group/nequip/blob/ece09b587ab1082c2c806a094fb5cc1dc5489b60/configs/tutorial.yaml#L125
We've migrated to using lightning, so the stuff you see there are the arguments to instantiate a lightning.Trainer object, and how you configure can be learned by studying the lightning.Trainer API (https://lightning.ai/docs/pytorch/stable/common/trainer.html#trainer-class-api). Besides wandb, here are the various other loggers https://lightning.ai/docs/pytorch/stable/api_references.html#loggers .
Last bit of warning -- I think I was over-optimistic in my suggestions to use the new developments and wish to now backtrack (sorry!). To put it bluntly, it's not stable enough for me to recommend migrating over for production use at this point in time (but definitely fine if you wanna test it, with the expectation that things will change in breaking ways in the coming months, such that you might have to reinstall everything/retrain all your models, etc). That being said, if you want to use the new developments and face problems, we can be reached at<EMAIL_ADDRESS>


Browser mode: cannot overwrite request handler when MSW is initialized in setup file

Describe the bug
I have a HelloWorld.tsx component that displays a random joke using the https://api.chucknorris.io/jokes/random API (sorry about that), which I'm mocking using MSW:
// src/mocks/handlers.ts
import { http, HttpResponse } from "msw";

export const handlers = [
  http.get("https://api.chucknorris.io/jokes/random", () => {
    return HttpResponse.json({
      icon_url: "https://api.chucknorris.io/img/avatar/chuck-norris.png",
      id: "hbCl1mPLQHuKuZGij--jZA",
      url: "https://api.chucknorris.io/jokes/hbCl1mPLQHuKuZGij--jZA",
      value: "Chuck Norris can win connect four in three move",
    });
  }),
];

using the MSW worker:
// src/mock/browser.ts
import { setupWorker } from "msw/browser";
import { handlers } from "./handlers";

export const worker = setupWorker(...handlers);

MSW is initialized in vitest-setup.ts:
import { cleanup } from "@testing-library/react";
import { worker } from "./mocks/browser";

// from https://mswjs.io/docs/getting-started/integrate/node#setup
// Establish API mocking before all tests.
beforeAll(async () => {
  await worker.start({ onUnhandledRequest: "error" });
});

// Reset any request handlers that we may add during the tests,
// so they don't affect other tests.
afterEach(() => {
  worker.resetHandlers();
  cleanup();
});

// Clean up after the tests are finished.
afterAll(() => {
  worker.stop();
});

🐛 When I run the tests, the test cases that use default handlers pass, but the ones that override them fail, eg:
// HelloWorld.test.tsx

// PASS
test("tells a joke", async () => {
  const { findByText } = render(<HelloWorld name="Chuck" />);
  const element = await findByText(/Chuck Norris can win connect four/);
  expect(element).toBeInTheDocument();
});

// FAIL
test("tells another joke", async () => {
  worker.use(
    http.get("https://api.chucknorris.io/jokes/random", () =>
      HttpResponse.json({
        icon_url: "https://api.chucknorris.io/img/avatar/chuck-norris.png",
        id: "ihYDJ5NcT4mgj1vN5taKVQ",
        url: "https://api.chucknorris.io/jokes/ihYDJ5NcT4mgj1vN5taKVQ",
        value: "Chuck Norris can milk a bucket with a cow.",
      })
    )
  );
  const { findByText } = render(<HelloWorld name="Chuck" />);
  const element = await findByText(/Chuck Norris can milk a bucket/);
  expect(element).toBeInTheDocument();
});

The text from the response is not found (the one from the default mock is here though), which seems to indicate that the override is not working.
However, if I move the initialization from the setup file to the test file itself, then all tests pass 🤔
Refs:

the issue was previously reported at https://github.com/mswjs/msw/discussions/2303
this open discussion also raises questions regarding the initialization of MSW: https://github.com/vitest-dev/vitest/discussions/6231

Reproduction
The issue can be reproduced at https://github.com/foxaltus/vitest-browser-mode-msw.
The workaround can be seen here: https://github.com/foxaltus/vitest-browser-mode-msw/compare/workaround
Use pnpm run test script.
System Info
System:
    OS: Windows 11 10.0.26100
    CPU: (8) x64 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz
    Memory: 8.42 GB / 31.73 GB
  Binaries:
    Node: 18.20.2 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.19 - ~\AppData\Roaming\npm\yarn.CMD
    npm: 10.5.0 - C:\Program Files\nodejs\npm.CMD
    pnpm: 9.9.0 - ~\AppData\Local\pnpm\pnpm.EXE
  Browsers:
    Edge: Chromium (129.0.2792.79)
    Internet Explorer: 11.0.26100.1882
  npmPackages:
    @vitejs/plugin-react: ^4.3.1 => 4.3.1
    @vitest/browser: ^2.1.1 => 2.1.1
    @vitest/coverage-v8: ^2.1.1 => 2.1.1
    vite: ^5.4.8 => 5.4.8
    vitest: ^2.1.1 => 2.1.1

Used Package Manager
pnpm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

I'm having the same issue in our codebase.
I discovered that worker.use() works fine in beforeAll/beforeEach/afterEach/afterAll.
It's also not just overwrites, setting up a new mock with worker.use() in tests will not work either.
These might be useful clues.

Thank you for the report. I found the issue. The worker file is imported twice - with a v= query inside the setup file and without a query in a test file. This is a bug in Vitest.


Yarn EROFS when adding modules

When attempting to add a module, I'm encountering a file permission error.
I can reproduce the error in a new app by cloning and composing:
git clone https://github.com/nickjj/docker-rails-example test_docker_yarn  cd test_docker_yarn  cp .env.example .env cp docker-compose.override.yml.example docker-compose.orverride.yml docker-compose up --build
Followed by:
yarn add any_module_here
Process halts with the following error:
error An unexpected error occurred: "EROFS: read-only file system, mkdir '/node_modules'".
yarn-error.log
I'm not sure if this is just my machine or something in the way Docker is composing the project?

Hi,
When adding a new dependency you'll need to do it through Docker, not your system directly. When you run yarn like that, it's trying to do it directly on your system.
You'll want to edit the package.json file with the dependency you want and then run ./run yarn:install.
Alternatively you might be able to get away with doing a docker-compose up and then in another terminal run docker-compose exec webpacker yarn add any_module_here but then you'll have to stop everything and run ./run yarn:install to persist it. I recommend manually adding the dependency to the package.json file manually.
This is also documented here btw: https://github.com/nickjj/docker-rails-example#updating-dependencies

Thanks, Nick. I knew I was missing something simple. Fun to learn Docker though!


Do not attempt to set memory.swappiness to zero

Some old-ish kernels, e.g. 3.13 (Ubuntu 14.04), have a cgroup limitation that prevents memory.swappiness from being set within a Docker container. This change explicitly disables setting memory.swappiness.
I suspect this bug was introduced by this commit:
https://github.com/samalba/dockerclient/commit/133d1830b81d5c95888f30d8987f8fbbf66909dc
The default initializer for the HostConfig struct sets MemorySwappiness to zero. This results in the Docker server attempting to set memory.swappiness to 0%.

 I'm comfortable merging. If we see any issues we can always revert


PictureInPicture is not working

Describe the bug
PictureInPicture is not working on macos and linux too.
Windows works fine.
Steps To Reproduce
Steps to reproduce the behavior:
Setup webview with https://mdn.github.io/dom-examples/picture-in-picture/index.html .
let webview = WebViewBuilder::new(window)?.with_url("https://mdn.github.io/dom-examples/picture-in-picture/index.html")?;

Expected behavior
A clear and concise description of what you expected to happen.
Open PictureInPicture
Screenshots
If applicable, add screenshots to help explain your problem.
Platform and Versions (please complete the following information):
OS:
Rustc:
Would you assign yourself to resolve this bug?

[x] Yes
[ ] No

Additional context
Add any other context about the problem here.

On macos, we can set allowsPictureInPictureMediaPlayback flag to wkwebview preference.

Oh I see.
HTML5 video have not been working on linux yet...
https://github.com/tauri-apps/tauri/issues/3725

In webkitgtk PiP is still not implemented...
https://bugs.webkit.org/show_bug.cgi?id=202756

why would you want PIP in a desktop app? seems to me like it is a feature for a browser and not for a desktop app. Users could always implement a diy PIP player using an undecorated window.

seems like PIP is already enabled for macOS according to https://developer.apple.com/documentation/webkit/wkwebviewconfiguration/1614792-allowspictureinpicturemediaplayb?language=objc:

The default value of this property is YES.

seems like PIP is already enabled for macOS according to https://developer.apple.com/documentation/webkit/wkwebviewconfiguration/1614792-allowspictureinpicturemediaplayb?language=objc:

The default value of this property is YES.

In my macos, this was not working...

why would you want PIP in a desktop app? seems to me like it is a feature for a browser and not for a desktop app. Users could always implement a diy PIP player using an undecorated window.

hmm I see. But I think PiP is useful for implementing simply.

If i understand that doc page correctly this api seems to not be implemented on macos? It only mentions mac catalyst which is the platform that allows running ipad apps on mac.
but we're talking about apple docs so that could mean anything really...

I understood! Thank you @FabianLars 🙏
That is, to enable PiP feature on Apple devices, it seems that we need to invoke allowsPictureInPictureMediaPlayback for mobile and do this PR for desktop.

@wusyong
Do you think about @amrbashir's comment https://github.com/tauri-apps/wry/issues/644#issuecomment-1200410398 ?

If this is one year ago me, I'll also agree on unnecessary feature.
But since project keeps growing, I understand there will be more demands.
This feature doesn't affect that much, and it's simply just one command on mac.
I think it's good to have.


No Supabase User

I'm likely raising the dumbest issue ever! No supabase data showing once everything set up. Clerk and Stripe seem all good just supabase. Sorry I am a noob!!

Join the discord bro, for help on how to setup... issues are for bugs :)
https://discord.gg/Z7JqtG2J8C


Add X-Frame-Options header

Adds X-Frame-Options header. Part of #5010.
I don't know if we need to support a deprecated ALLOW-FROM=url directive.

it's still a valid albeit deprecated value that can be encountered in the wild.

I take that back, now that I actually turned on my brain. This is a header is really only relevant for browsers: we might send it in a server response, but it's unlikely we'll ever parse it.
LGTM. Thank you!


[suggestion] Code Security Plugin - Pixeebot

Pixeebot helps improve project's codebase via opening PRs to help improve code security, common vulnerabilities, common Sonar/CodeQL issues & more.
The Pixeebot plugin is located within the GitHub marketplace -> Install Here

We forked your project's repo & these are the useful recommendations Pixeebot has generated thus far:
https://github.com/Pixee-Bot-Java/kafka-neptune-sink/pulls


lyxal: Watch sheelaa.com

lyxal requests the watch of the watch_keyword sheelaa\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

sheelaa\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by cigien in Charcoal HQ


Error submiting form from parent

Hello,
I need to submit and validate a form in an child component from the parent before to submit the parent's form. I got this Error: You must either pass handleSubmit() an onSubmit function or pass onSubmit as a prop
I know there is some issues similar of mine but without validation. Can somebody help me to understand my mistake ?
Parent form :
const validate = values => {
    const errors = {}
    return errors
}

class Purchase extends React.Component {
    constructor() {
        super()
        this.submit = this.submit.bind(this)
    }

    render() {
        const {fields: {paymentMethod},
            error, submitting, handleBlur, onSubmit} = this.props;

        return (
                <div>
                    <input type="hidden" {...paymentMethod}/>

                    <CreditCardForm ref="creditCardForm" onSubmit={onSubmit} />

                    <form method="post" onSubmit={this.submit}>
                        <button type="submit">Go</button>
                    </form>
                </div>
        );
    }

    submit(values, dispatch) {
        var cb = new Promise((resolve, reject) => {
            this.refs.creditCardForm.submit();
        });

        cb.then(function(val) {
            // child form ok
        }).catch(function(err) {
            // child form ko
        })
    }
}

function mapStateToProps(state) {
    var props = {}
    return props
}

function mapDispatchToProps(dispatch)
{
    return { }
}

Purchase = reduxForm({
    form: 'purchase',
    fields: ['paymentMethod'],
    validate
}, mapStateToProps, mapDispatchToProps)(Purchase)

export default Purchase

Child form :
const validate = values => {
    const errors = {}
    if (validator.isNull(values.cardType))
        errors.cardType = "Required"
    return errors
}

class CreditCardForm extends React.Component {
    constructor() {
        super()
        this.submit = this.submit.bind(this)
    }

    render() {
        const {fields: {cardType},
            error, handleSubmit, onSubmit} = this.props;

        return (
                <form method="post" className="form-inline" onSubmit={handleSubmit(this.handleSubmit)}>
                    <select field={cardType} defaultValue="XX" label="Card type" id="cardType" ref="cardType">
                        <option value="XX"></option>
                        <option value="CB1">CB1</option>
                        <option value="CB2">CB2</option>
                    </select>
                </form>
        );
    }

    submit(values, dispatch) {
        return new Promise((resolve, reject) => {
            // call webservice and if ok, send resolve
            resolve()
      });
    }
}

function mapStateToProps(state) {
    return {}
}

function mapDispatchToProps(dispatch)
{
    return {}
}

CreditCardForm = reduxForm({
    form: 'creditCardForm',
    fields: ['cardType'],
    validate
}, mapStateToProps, mapDispatchToProps)(CreditCardForm)

export default CreditCardForm

Thanks for your help.

Due to the incredible delay on getting any comments, I believe you found a way around your issue and forgot about this issue :)
If you still suffer from this problem, let us know by creating another issue and using newer redux-form versions.


refactor: use jsonfield instead of jsonfield

Replaces  jsonfield2 with jsonfield as the former is deprecated.
fixes #12

Pull Request Test Coverage Report for Build 338714040

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 95.556%

Totals

Change from base Build 302949161:
0.0%

Covered Lines:
172

Relevant Lines:
175

💛  - Coveralls


Request url/segments are not available while unit testing

Laravel Version: v5.8.21
PHP Version: 7.2.17
Database Driver & Version: mysql 5.7

Description:
request()->url() and request()->segments() are not available while service providers are under register/boot state, but this happens only in phpunit environment. In normal laravel app environment this variables are fully available in this states. Also when testing with dusk, variables are available, problem is just in phpunit.
Steps To Reproduce:
routes/web.php
Route::get('/one/two', function () {
    return "\n".request()->url();
});

AppServiceProvider.php
public function boot()
{
    echo request()->url();
}

tests/Feature/ExampleTest.php
public function testBasicTest()
{
    $response = $this->call('GET', '/one/two');

    dd($response->getContent());
}

Expected behavior in phpunit?
This is also normal behavior in basic laravel app while testing in browser. First AppServiceProvider returns echo with correct url, and then route returns second time same correct url.

Actual behavior in phpunit
First AppServiceProvider returns wrong url path, but route returns correct url.

Where would problem happen with this kind of behaviour?

If someone would register routes in RouteServiceProvider with some conditions from url, in normal app it will work, but in phpunit developer would have problem. For example I register language prefix for all routes dynamically, but I do not want register in every pages, because It cost me DB queries...
if someone would set global app language in AppServiceProvider, but for example just for everything if first segment is /admin route.

Same issue from 2017 #18678
I found same issue from 2017th, but I could not find answer for this issue.
https://github.com/laravel/framework/issues/18678
Thank your for reply,
have a nice day.

I have to admit that I'm not sure why the behavior is different. I think it's because you're operating in a CLI context for the unit test and the request isn't bootstrapped for that context. But not entirely sure. I'll leave this open for a bit to see if someone else can provide some other insights.

Same problem here

is there any news about this issue?

I think it's because you're operating in a CLI context for the unit test and the request isn't bootstrapped for that context.

@driesvints has given the complete answer on this, Matter of fact in PHPUnit a request object is only generated after the app is has booted and when the test actually called call(), post(), get(), put(), delete() request.
Can this be fixed? Not possible in PHPUnit because you to prepare the request before booting the app, but you need to app to prepare the tests such as running migration etc.
This is why you don't have this issue with Laravel Dusk.

Thanks for the explanation @crynobone. It doesn't seems that we can fix this but if anyone wants to give it a go feel free to send in a PR.


Add way to run with detail report objects

Since the outer python process is not running in a pytest context, we cannot use inprocess execution to get detailed reports. So instead we serialize out the test reports via JSON so that we can read them in our main process.
TODO: Pre-process the report dicts some to make them more easily useable (since we cannot deserialize back to the original object type, as we are not in a pytest context).

More details: This is not intended for CLI use, but for more detailed, programmatic introspection of the test results.

Codecov Report

Merging #32 into master will increase coverage by 0.16%.
The diff coverage is 31.81%.

@@            Coverage Diff             @@
##           master      #32      +/-   ##
==========================================
+ Coverage   26.41%   26.58%   +0.16%
==========================================
  Files           6        6
  Lines         371      395      +24
==========================================
+ Hits           98      105       +7
- Misses        273      290      +17

Impacted Files
Coverage Δ

jupyterlab_celltests/tests.py
17.51% <31.81%> (+2.47%)
: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 1217acd...cf163ed. Read the comment docs.


react-pages example fails to load

Steps to reproduce
Link to live example: https://github.com/mui/mui-toolpad/tree/master/examples/react-pages
Steps:

Try running it.
It throws the below error:

Search keywords: react-pages

I think we should discontinue this experimental feature


Lodging Card

Description
This PR implements the lodging card with the agreed-upon wireframe styles. This card receives the following inputs:

Location
Check-In & Check-Out Dates
Number of adults
Number of children
Number of rooms
The selected list of inputs was decided upon by looking at the default inputs of popular hotel booking websites.
No negative values are allowed for the inputs that are handling numbers.

Motivation and Context
This PR is necessary to allow the user to search for and book hotel reservations. Lodging is one of the three necessary aspects of the itinerary that are necessary to plan for the trip.
How Has This Been Tested?
Screenshots (if appropriate):

Note: May have to add negative value checks to other card components
Types of changes

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

Checklist:

[x] -  My code follows the code style of this project.
[ ] -  My change requires a change to the documentation.
[ ] -  I have updated the documentation accordingly.
[ ] -  I have read the CONTRIBUTING document.
[ ] -  I have added tests to cover my changes.

Looks good to me. I wonder if there might be a way to make the code easier to read if we set the input/inputpair components into their own function.

Yeah, that's true. We're going to have to refactor the date inputs for the customizable calendar also since it uses different Calendar and Dialog components

Looks good to me. I wonder if there might be a way to make the code easier to read if we set the input/inputpair components into their own function.

There is, using an array
export default function LodgingCard() {
  const form = {
    header: {
      label: "Location",
      name: "lodging-location",
      icon: faLocationArrow,
      placeholder: "Going to...",
      required: true,
    },
    pair: [
      {
        label: "Check-In Date",
        icon: faCalendarDays,
      },
      {
        label: "Check-Out Date",
        icon: faCalendarDays,
      },
    ],
    extra: [
      {
        label: "Number of Guests",
        icon: faUser,
        placeholder: "Adults",
      },
      {
        label: "Number of Guests",
        icon: faUser,
        placeholder: "Children",
      },
      {
        label: "Number of Guests",
        icon: faUser,
        placeholder: "Rooms",
      },
    ],
  };

  return (
    <Card title="Lodging" subtitle="search for lodging reservations">
      <form>
        <Input {...form.header} icon={{ icon: form.header.icon }} />

        <InputPair icon={faArrowRight}>
          {
            form.pair.map((item, i) => (
              <Input
                key={i}
                {...item}
                icon={{ icon: item.icon }}
                name={item.label.replaceAll(" ", "-").toLowerCase()}
                placeholder={item.label}
                required
              />
            )) as [ReactNode, ReactNode]
          }
        </InputPair>
        <div className="display: flex gap-3">
          {form.extra.map((item, i) => (
            <Input
              key={i}
              {...item}
              type="number"
              min="0"
              icon={{ icon: item.icon }}
              name={item.label.replaceAll(" ", "-").toLowerCase()}
              required
            />
          ))}
        </div>
        <Button variant="secondary" className="mt-4">
          Find Hotels
        </Button>
      </form>
    </Card>
  );
}


Improve ActionBar documentation

Improve ActionBar documentation so developers can add their custom styles
PR adds styles documentation for both toolbar and speed dial

:tada: This PR is included in version 2.0.0-alpha.1 :tada:
The release is available on:

npm package (@develop dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Josh design changes

This updates the Bar Chart to be the design that fits with our use case.

This was set to merge into the wrong repo


SDK Incompatibility

After installing using Git submodule into the latest FTC SDK, there were multiple compilation errors, After removing the annotations in Eclipse.java IIRC (they shouldn't be mandatory, they are marker annotations), the project compiled. I pushed it onto the phone, but as soon as I chose the sample opmode (all of them had the same issue) and pressed INIT, the RobotController crashed. The error logs are nearly indecipherable, saying something about internal issues (coming from robotcore).

Hi @buggy213,
Thanks for your issue! A few things:

Are you using Android Studio 2.1 or newer? (Eclipse is NOT supported - and shouldn't be supported by the FIRST app).
If so, can you send me a copy of the Eclipse.java file where you removed the annotations and where it is located?
Also, can you paste or send the error logs, even the unreadable parts (especially internal issues)? They will help make the debugging process much simpler.

Yes.
Yes. (I derped, it's ellipse.java)
`/*

Copyright (c) 2016 Arthur Pachachura, LASA Robotics, and contributors
MIT licensed
*/
package org.lasarobotics.vision.detection.objects;

/import android.annotation.SuppressLint;
import android.support.annotation.NonNull;/
import org.opencv.core.Point;
import org.opencv.core.RotatedRect;
import org.opencv.core.Size;
/**

Implements a single ellipse (acts like RotatedRect) with advanced measurement utilities
*/
public class Ellipse extends Detectable implements Comparable {
private RotatedRect rect;
/**

Instantiate a null ellipse
*/
public Ellipse() {
this.rect = new RotatedRect();
}

/**

Create an ellipse based on an OpenCV rotated rectangle

@param rect OpenCV rotated rectangle which bounds the ellipse
*/
public Ellipse(RotatedRect rect) {
this.rect = rect;
}

/**

Get the OpenCV rectangle which circumscribes the ellipse

@return OpenCV rectange
*/
public RotatedRect getRect() {
return rect;
}

/**

Get the size of the ellipse (ignoring inclination)

@return Size of the ellipse
*/
public Size size() {
return rect.size;
}

public double height() {
return size().height;
}
/**

Offset the object, translating it by a specific offset point

@param offset Point to offset by, e.g. (1, 0) would move object 1 px right
*/
@Override
public void offset(Point offset) {
this.rect = new RotatedRect(new Point(rect.center.x + offset.x, rect.center.y + offset.y),
rect.size, rect.angle);
}

public double width() {
return size().width;
}
/**

Get the angle of inclination of the ellipse

@return Angle of inclination
*/
public double angle() {
return rect.angle;
}

/**

Get the center of the ellipse

@return Center of the ellipse as a point
*/
public Point center() {
return rect.center;
}

public double left() {
return center().x - (width() / 2);
}
public double right() {
return center().x + (width() / 2);
}
public double top() {
return center().y - (height() / 2);
}
public double bottom() {
return center().y + (height() / 2);
}
/**

Gets the area of the ellipse

@return Area = semi-major axis * semi-minor axis * PI
*/
public double area() {
return semiMajorAxis() * semiMinorAxis() * Math.PI;
}

/**

Get the major axis of the ellipse

@return 2a
*/
private double majorAxis() {
return Math.max(height(), width());
}

/**

Get the minor axis of the ellipse

@return 2b
*/
private double minorAxis() {
return Math.min(height(), width());
}

/**

Get the semi-major axis of the ellipse

@return a
*/
private double semiMajorAxis() {
return majorAxis() / 2;
}

/**

Get the semi-minor axis of the ellipse

@return b
*/
private double semiMinorAxis() {
return minorAxis() / 2;
}

/**

Gets the first flattening ratio for the ellipse

@return First flattening ratio = (a-b)/a, where a=semi-major axis and b=semi-minor axis)
*/
public double flattening() {
return (semiMajorAxis() - semiMinorAxis()) / semiMajorAxis();
}

/**

Scale this ellipse by a scaling factor about its center

@param factor Scaling factor, 1 for no scale, less than one to contract, greater than one to expand
*/
public Ellipse scale(double factor) {
RotatedRect r = rect.clone();
r.size = new Size(factor * rect.size.width, factor * rect.size.height);
return new Ellipse(r);
}

/**

Gets the eccentricity of the ellipse, between 0 (inclusive) and 1 (exclusive)

@return e = sqrt(1-(b^2/a^2)), where a=semi-major axis and b=semi-minor axis
*/
public double eccentricity() {
return Math.sqrt(1 - (semiMinorAxis() * semiMinorAxis()) / (semiMajorAxis() * semiMajorAxis()));
}

/**

Returns true if the ellipse is ENTIRELY inside the contour

@param contour The contour to test against
@return True if the ellipse is entirely inside the contour, false otherwise
*/
public boolean isInside(Contour contour) {
//TODO this algorithm checks for entirety; make an isEntirelyInside() and isPartiallyInside()
//FIXME this is an inaccurate method using only the bounding box of the contour
//TODO try ray-casting (even-odd) algorithm - use center as point (will show partial matches)
//TODO also try all 4 points to match (will ensure it is entirely inside)
return left() >= contour.left() && right() <= contour.right() &&
top() >= contour.top() && bottom() <= contour.bottom();
}

/**

Transpose this rectangle so that x becomes y and vice versa

@return Transposed rectangle instance
*/
@SuppressWarnings("SuspiciousNameCombination")
public Ellipse transpose() {
return new Ellipse(new RotatedRect(
new Point(rect.center.y, rect.center.x),
new Size(rect.size.height, rect.size.width), rect.angle));
}

//@SuppressLint("DefaultLocale")
public String getLocationString() {
return String.format("(%.0f, %.0f)", rect.center.x, rect.center.y);
}
/***

Compare ellipses by area

@param another Another ellipse
@return 1 if this is larger, -1 if another is larger, 0 otherwise
/
@Override
public int compareTo(/@NonNull*/ Ellipse another) {
return this.area() > another.area() ? 1 : this.area() < another.area() ? -1 : 0;
}
}
`

Yes (adding this later)

@buggy213 Thanks for the copy of Eclipse.java. That issue is now fixed and a patch pushed to dev.
Reply once you have the error logs - I am currently unable to test anything involving the driver controller on my end.
A few things to make sure you are doing, but otherwise it is likely an expected error as part of updating between versions of the FIRST app:

You have the latest, non-beta (stable) version of the driver controller and ftc_app. Both should report Robot Wifi Protocol Version "v11" in their about pages.
You do not have both the robot controller and driver station on the same phone. This has been known to cause issues in previous releases of the FIRST app.
Otherwise, your environment should be good. Just send the logs when you have the chance.

Arthur

hello, I am experiencing the EXACT same thing as OP and, want this fixed.
I had to fix annotation errors in ellipse.java, (because I did not pull from the dev branch).
The app crashes as soon as I select it and press init.
This is the logcat of the crash (sorry that its 7000 lines)
https://gist.github.com/tommy-mor/540d440c242f6e8bdcdab01f66fc8d5
after grepping through it a bit, I found a relevant part
W/System.err( 7843): java.lang.UnsatisfiedLinkError: Couldn't load opencv_java3 from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/system/framework/android.test.runner.jar", zip file "/data/app/com.qualcomm.ftcrobotcontroller-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.qualcomm.ftcrobotcontroller-2, /vendor/lib, /system/lib]]]: findLibrary returned null W/System.err( 7843): 	at com.qualcomm.robotcore.eventloop.opmode.OpModeManagerImpl$2.run(OpModeManagerImpl.java:570) W/System.err( 7843): 	at com.qualcomm.robotcore.eventloop.opmode.OpModeManagerImpl.detectStuck(OpModeManagerImpl.java:481) W/System.err( 7843): 	at com.qualcomm.robotcore.eventloop.opmode.OpModeManagerImpl.callActiveOpModeInit(OpModeManagerImpl.java:568) W/System.err( 7843): 	at com.qualcomm.robotcore.eventloop.opmode.OpModeManagerImpl.runActiveOpMode(OpModeManagerImpl.java:362) W/System.err( 7843): 	at com.qualcomm.ftccommon.FtcEventLoop.loop(FtcEventLoop.java:218) W/System.err( 7843): 	at com.qualcomm.robotcore.eventloop.EventLoopManager$EventLoopRunnable$1.run(EventLoopManager.java:292) W/System.err( 7843): 	at com.qualcomm.robotcore.util.ThreadPool.logThreadLifeCycle(ThreadPool.java:513) W/System.err( 7843): 	at com.qualcomm.robotcore.eventloop.EventLoopManager$EventLoopRunnable.run(EventLoopManager.java:246

@tommy-mor Do you have the OpenCV Manager app installed on your Android device?

Yes, and I tried reinstalling it.

Hi @tommy-mor,
Thank you for the report! The lines you found are exactly the lines causing the problem. As it states, the OpenCV library is missing from the expected location.
I will be able to diagnose the problem further this weekend, but first: what phone are you using and can you check its architecture (e.g. armeabi-v7a, x86_64, etc.)? It is possible that the OpenCV library was not compiled for your ABI (this can be fixed but only if necessary as it adds a few steps to the setup routine).

We were using the ZTE Speed phone which uses the ARMv8 architecture

Thanks. I'll look into it ASAP.
On Thu, Oct 13, 2016, 10:22 PM buggy213<EMAIL_ADDRESS>wrote:

We were using the ZTE Speed phone which uses the ARMv8 architecture
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/lasarobotics/FTCVision/issues/93#issuecomment-253700114,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGEc-V57M4cltn41EDUZh6DrnC5fz9xzks5qzvVagaJpZM4KRmi4
.

We are also using the zte speed.

I think I found the issue, but dont exactly now why its causing an error. It seems to be in the telemetry in line 257 in https://github.com/lasarobotics/FTCV...Core.java#L257

Commenting the telemetry solved the crashing issue for me.

Huh. It worked. Thanks mate!

Related PRs merged, can be closed.


drag doesn't work on mobile when using uuid as a key for the slide component

Describe the bug
there is an issue with the carousel component in mobile where the drag doesn't work properly
To Reproduce
Steps to reproduce the behavior:
1 install the library uuid
2 use a uuid in the key of the Slide component
3 open mobile view in Chrome
4 experience issues in drag (carousel doesn't go to the next or previous slide)
Expected behavior
the carousel to function normally
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

I this issue still happing using the latest carousel version?


Validators not documented in the API Reference

The documentation for Validators is empty.  [API Reference - Validators] (https://apiflask.com/api/validators/ )

Yeah, all the validators are imported from marshmallow. I will update the docs to add a link to marshmallow validators docs:
https://marshmallow.readthedocs.io/en/stable/marshmallow.validate.html
Thanks!


Missing type UUID

I have the following (simplified) model for UserSessions:
model UserSession {
  id                String    @default(cuid()) @id @unique
  user              User      @relation("UserSessions")
  verificationToken String    @default(uuid()) @unique
  sessionToken      String    @default(uuid()) @unique
}

When I omit the attributes @default(uuid()) in the two token fields, I get the following errors, when creating a UserSession:
Argument verificationToken: Got invalid value 'c70d9a84-431b-43b6-8ef5-474d32d7b620' on photon.createOneUserSession. Provided UUID, expected String.
Argument sessionToken: Got invalid value 'f57315e9-a829-4584-8ee6-56fcf950e252' on photon.createOneUserSession. Provided UUID, expected String.

When I add the attributes @default(uuid()), my graphql-yoga server refuses to start up, and produces the error following error message:
Missing type UUID, did you forget to import a type to the root query or mean ID?

I guess this is a bug. If not, what would be the correct way to do this?

I think there isn't an error in photon in this case. If I pass a correct UUID v4 to the create operation it correctly recognises the type.

I think you are using nexus-prisma which has the bug. Can you please tell me your graphql server setup.

The original issue arose with nexus-prisma, and graphql-yoga, that's correct.
However, I am able to reproduce it as follows:
Model:
model UserSession {
  id                String    @default(cuid()) @id @unique
  user              User      @relation("UserSessions")
  verificationToken String    @unique
  sessionToken      String    @unique
  confirmed         Boolean
  initiatedAt       DateTime
  confirmedAt       DateTime?
  userAgent         String
}

Photon:
import Photon from '@generated/photon';
import { v4 } from 'uuid';

const photon = new Photon();

async function main() {
  const session = await photon.userSessions.create({
    data: {
      verificationToken: v4(),
      sessionToken: v4(),
      confirmed: false,
      user: { connect: { id: 'cjxynv33200001e9kmxyb99u3' } },
      initiatedAt: new Date(),
      userAgent:
        'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.1 Safari/605.1.15',
    },
  });

main();

I am unable to reproduce this. I am using photon version<EMAIL_ADDRESS>binary version: 4f33077038a490e4b2c1c260f109309e4a447181
If you can still reproduce this after upgrading your photon client, please provide me with a GitHub repository with the reproduction

This can be closed, is has been fixed by #132


Updated decision compose last version, implements DECISION-258

:shipit:

Comment accepted. Will treat it ASAP

Squashing and checks in progress.


Add support for Philips Hue E14 bulbs

Adds support for the E14 Philips Hue bulbs
Should fix Koenkk/zigbee2mqtt#431
I have these bulbs and confirm this is working now

Thanks!


use fmt.Sprintf in url

https://github.com/cyberhck/pushy/blob/master/pushy.go#L51
I saw in other places you use fmt.Sprintf, can be used in all places to have code consistent.
Also, here p.APIEndpoint can be moved to Sprintf args and replaced by %s.
https://github.com/cyberhck/pushy/blob/master/pushy.go#L69

my bad, thanks. I'll update this soon quite likely tonight :slightly_smiling_face:


Clean install from requirements.txt file - ImportError: No module named 'numpy'

I am trying to set up a project using pyFFTW and want all my requirements to be listed in the requirements.txt file and installed via
pip install -r requirements.txt

However, given a requirements.txt file with only the following inside
numpy
pyfftw

When I run the installation command, I get the following error:
$ pip install -r requirements.txt
Downloading/unpacking numpy (from -r requirements.txt (line 1))
  Downloading numpy-1.9.2.tar.gz (4.0MB): 4.0MB downloaded
  Running setup.py (path:/home/vanwyk/py_envs/py3/build/numpy/setup.py) egg_info for package numpy
    Running from numpy source directory.

    warning: no previously-included files matching '*.pyc' found anywhere in distribution
    warning: no previously-included files matching '*.pyo' found anywhere in distribution
    warning: no previously-included files matching '*.pyd' found anywhere in distribution
Downloading/unpacking pyfftw (from -r requirements.txt (line 2))
  Downloading pyFFTW-0.9.2.tar.gz (336kB): 336kB downloaded
  Running setup.py (path:/home/vanwyk/py_envs/py3/build/pyfftw/setup.py) egg_info for package pyfftw
    Traceback (most recent call last):
      File "<string>", line 17, in <module>
      File "/home/vanwyk/py_envs/py3/build/pyfftw/setup.py", line 25, in <module>
        import numpy
    ImportError: No module named 'numpy'
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 17, in <module>

  File "/home/vanwyk/py_envs/py3/build/pyfftw/setup.py", line 25, in <module>

    import numpy

ImportError: No module named 'numpy'

----------------------------------------
Cleaning up...

But if I install numpy and pyfftw separately things work fine. Is there any way to make installing from  requirements.txt work so installing dependencies doesn't become a two-step process?
Ubuntu 14.04 LTS
Python 3.4 running in virtualenv

Hmmm, this is a good question. It should use the requirements.txt from pyfftw, which stipulates numpy, but it doesn't seem to be (clearly). What happens if you just pip install numpy?

Sorry s/pip install numpy/pip install pyfftw

Running pip install numpy and then pip install pyfftw works fine.

No, I mean, just running pip install pyfftw without numpy first.

I get the following:
$ pip list
pip (1.5.6)
setuptools (3.6)

$ pip install pyfftw
Downloading/unpacking pyfftw
  Downloading pyFFTW-0.9.2.tar.gz (336kB): 336kB downloaded
  Running setup.py (path:/home/vanwyk/py_envs/test/build/pyfftw/setup.py) egg_info for package pyfftw
    Traceback (most recent call last):
      File "<string>", line 17, in <module>
      File "/home/vanwyk/py_envs/test/build/pyfftw/setup.py", line 25, in <module>
        import numpy
    ImportError: No module named 'numpy'
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 17, in <module>

  File "/home/vanwyk/py_envs/test/build/pyfftw/setup.py", line 25, in <module>

    import numpy

ImportError: No module named 'numpy'

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /home/vanwyk/py_envs/test/build/pyfftw
Storing debug log for failure

 in /home/vanwyk/.pip/pip.log

The pip.log file contains the following:
------------------------------------------------------------
/home/vanwyk/py_envs/test/bin/pip run on Sun Jul 19 13:22:59 2015
Downloading/unpacking pyfftw
  Getting page https://pypi.python.org/simple/pyfftw/
  URLs to search for versions for pyfftw:
  * https://pypi.python.org/simple/pyfftw/
  Analyzing links from page https://pypi.python.org/simple/pyfftw/
    Skipping link https://pypi.python.org/packages/2.7/p/pyFFTW/pyFFTW-0.6.1.win32-py2.7.msi#md5=8132b43ebe57dd294e2355532856189c (from https://pypi.python.org/simple/pyfftw/); unknown archive format: .msi
    Skipping link https://pypi.python.org/packages/2.7/p/pyFFTW/pyFFTW-0.7.0.win32-py2.7.msi#md5=1840336903a7d310a23680a4d7388461 (from https://pypi.python.org/simple/pyfftw/); unknown archive format: .msi
    Skipping link https://pypi.python.org/packages/2.7/p/pyFFTW/pyFFTW-0.8.0.win32-py2.7.msi#md5=e07d5facb231d8fc2829d353edcfe144 (from https://pypi.python.org/simple/pyfftw/); unknown archive format: .msi
    Skipping link https://pypi.python.org/packages/2.7/p/pyFFTW/pyFFTW-0.8.1.win32-py2.7.msi#md5=521a2ece327d95338b982ecbc0a798ac (from https://pypi.python.org/simple/pyfftw/); unknown archive format: .msi
    Skipping link https://pypi.python.org/packages/2.7/p/pyFFTW/pyFFTW-0.8.2.win32-py2.7.msi#md5=bbd7ce20f6c2154a051e2961fdf4a78d (from https://pypi.python.org/simple/pyfftw/); unknown archive format: .msi
    Skipping link https://pypi.python.org/packages/2.7/p/pyFFTW/pyFFTW-0.9.0.win32-py2.7.msi#md5=cb35ac252902b15c5e40c8fdc8008631 (from https://pypi.python.org/simple/pyfftw/); unknown archive format: .msi
    Skipping link https://pypi.python.org/packages/2.7/p/pyFFTW/pyFFTW-0.9.1.win32-py2.7.msi#md5=3e1569a17eda24932c3abf24e5d8f718 (from https://pypi.python.org/simple/pyfftw/); unknown archive format: .msi
    Skipping link https://pypi.python.org/packages/2.7/p/pyFFTW/pyFFTW-0.9.2.win-amd64-py2.7.exe#md5=07ed0ec52f075101d865a60fa4d4b834 (from https://pypi.python.org/simple/pyfftw/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/pyFFTW/pyFFTW-0.9.2.win32-py2.7.exe#md5=34139d46ab9d45ab1ecb2e4e3e68abb7 (from https://pypi.python.org/simple/pyfftw/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.2/p/pyFFTW/pyFFTW-0.9.0.win32-py3.2.msi#md5=cdca12478abe7d43ca13c34686f6bcee (from https://pypi.python.org/simple/pyfftw/); unknown archive format: .msi
    Skipping link https://pypi.python.org/packages/3.2/p/pyFFTW/pyFFTW-0.9.2.win-amd64-py3.2.exe#md5=2063d35a39bd7530cb76949d580c5f98 (from https://pypi.python.org/simple/pyfftw/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.2/p/pyFFTW/pyFFTW-0.9.2.win32-py3.2.exe#md5=3a4240258e77b146078b6e2cbe7c98de (from https://pypi.python.org/simple/pyfftw/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/pyFFTW/pyFFTW-0.9.0.win32-py3.3.msi#md5=07f81256baea520cb7a42ed67cae2105 (from https://pypi.python.org/simple/pyfftw/); unknown archive format: .msi
    Skipping link https://pypi.python.org/packages/3.3/p/pyFFTW/pyFFTW-0.9.1.win32-py3.3.msi#md5=4011f4d981b931fea6d05d72f4a47da9 (from https://pypi.python.org/simple/pyfftw/); unknown archive format: .msi
    Skipping link https://pypi.python.org/packages/3.3/p/pyFFTW/pyFFTW-0.9.2.win-amd64-py3.3.exe#md5=01f8aef7d5afa377186233e6a2cade00 (from https://pypi.python.org/simple/pyfftw/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/pyFFTW/pyFFTW-0.9.2.win32-py3.3.exe#md5=275f24a57bed5ecfa39b211d910b2dd0 (from https://pypi.python.org/simple/pyfftw/); unknown archive format: .exe
    Found link https://pypi.python.org/packages/source/p/pyFFTW/pyFFTW-0.5.0.tar.gz#md5=3e53d9e1db5dd34ecb447016374668c2 (from https://pypi.python.org/simple/pyfftw/), version: 0.5.0
    Found link https://pypi.python.org/packages/source/p/pyFFTW/pyFFTW-0.5.1.tar.gz#md5=4fac5148affd92cc8355ec3230710562 (from https://pypi.python.org/simple/pyfftw/), version: 0.5.1
    Found link https://pypi.python.org/packages/source/p/pyFFTW/pyFFTW-0.6.0.tar.gz#md5=f1e228ad5666766f30de64d845031a8f (from https://pypi.python.org/simple/pyfftw/), version: 0.6.0
    Found link https://pypi.python.org/packages/source/p/pyFFTW/pyFFTW-0.6.1.tar.gz#md5=4f3dc159e2101c08e2cd16bcfd0cb1c8 (from https://pypi.python.org/simple/pyfftw/), version: 0.6.1
    Found link https://pypi.python.org/packages/source/p/pyFFTW/pyFFTW-0.7.0.tar.gz#md5=538117261f735e42265575173d27eaee (from https://pypi.python.org/simple/pyfftw/), version: 0.7.0
    Found link https://pypi.python.org/packages/source/p/pyFFTW/pyFFTW-0.8.0.tar.gz#md5=9162d59f048d277f05967ad342743229 (from https://pypi.python.org/simple/pyfftw/), version: 0.8.0
    Found link https://pypi.python.org/packages/source/p/pyFFTW/pyFFTW-0.8.1.tar.gz#md5=b7673125e89d73612944c08d32d9489d (from https://pypi.python.org/simple/pyfftw/), version: 0.8.1
    Found link https://pypi.python.org/packages/source/p/pyFFTW/pyFFTW-0.8.2.tar.gz#md5=d5e55665688a4b51f0b65d9508fe8f3d (from https://pypi.python.org/simple/pyfftw/), version: 0.8.2
    Found link https://pypi.python.org/packages/source/p/pyFFTW/pyFFTW-0.9.0.tar.gz#md5=e8dc47edcf9a82efa4d02347c3801058 (from https://pypi.python.org/simple/pyfftw/), version: 0.9.0
    Found link https://pypi.python.org/packages/source/p/pyFFTW/pyFFTW-0.9.1.tar.gz#md5=a370f15f2c8caa509511cb39087b2b0c (from https://pypi.python.org/simple/pyfftw/), version: 0.9.1
    Found link https://pypi.python.org/packages/source/p/pyFFTW/pyFFTW-0.9.2.tar.gz#md5=34fcbc68afb8ebe5f040a02a8d20d565 (from https://pypi.python.org/simple/pyfftw/), version: 0.9.2
    Skipping link http://hgomersall.github.com/pyFFTW/ (from https://pypi.python.org/simple/pyfftw/); not a file
    Skipping link http://www.fftw.org/ (from https://pypi.python.org/simple/pyfftw/); not a file
    Skipping link http://www.fftw.org/install/windows.html (from https://pypi.python.org/simple/pyfftw/); unknown archive format: .html
    Skipping link https://github.com/hgomersall/pyFFTW (from https://pypi.python.org/simple/pyfftw/); not a file
  Using version 0.9.2 (newest of versions: 0.9.2, 0.9.1, 0.9.0, 0.8.2, 0.8.1, 0.8.0, 0.7.0, 0.6.1, 0.6.0, 0.5.1, 0.5.0)
  Downloading from URL https://pypi.python.org/packages/source/p/pyFFTW/pyFFTW-0.9.2.tar.gz#md5=34fcbc68afb8ebe5f040a02a8d20d565 (from https://pypi.python.org/simple/pyfftw/)
  Running setup.py (path:/home/vanwyk/py_envs/test/build/pyfftw/setup.py) egg_info for package pyfftw
    Traceback (most recent call last):
      File "<string>", line 17, in <module>
      File "/home/vanwyk/py_envs/test/build/pyfftw/setup.py", line 25, in <module>
        import numpy
    ImportError: No module named 'numpy'
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 17, in <module>

  File "/home/vanwyk/py_envs/test/build/pyfftw/setup.py", line 25, in <module>

    import numpy

ImportError: No module named 'numpy'

----------------------------------------
Cleaning up...
  Removing temporary dir /home/vanwyk/py_envs/test/build...
Command python setup.py egg_info failed with error code 1 in /home/vanwyk/py_envs/test/build/pyfftw
Exception information:
Traceback (most recent call last):
  File "/home/vanwyk/py_envs/test/lib/python3.4/site-packages/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/home/vanwyk/py_envs/test/lib/python3.4/site-packages/pip/commands/install.py", line 278, in run
    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
  File "/home/vanwyk/py_envs/test/lib/python3.4/site-packages/pip/req.py", line 1229, in prepare_files
    req_to_install.run_egg_info()
  File "/home/vanwyk/py_envs/test/lib/python3.4/site-packages/pip/req.py", line 325, in run_egg_info
    command_desc='python setup.py egg_info')
  File "/home/vanwyk/py_envs/test/lib/python3.4/site-packages/pip/util.py", line 697, in call_subprocess
    % (command_desc, proc.returncode, cwd))
pip.exceptions.InstallationError: Command python setup.py egg_info failed with error code 1 in /home/vanwyk/py_envs/test/build/pyfftw

Ok, this is probably related to #46. The setup.py stuff needs a bit of attention it seems. Is this a big deal for you in the meantime?

Thanks, no it's not a dealbreaker since I'm not really a pro developer. I don't know how to release packages etc. but here's a random example of how another project manages package dependencies (including numpy). Maybe it'll be useful to you: https://github.com/mwaskom/seaborn/blob/master/setup.py
Thanks for looking into it!

Is this fixed with https://github.com/hgomersall/pyFFTW/commit/208cb158c4e5cd0a2e2ee2be3ea55eb224220de3?

Not that I can see, I still get the same errors as above. As the errors show, the problem is occurring here in the setup.py:
def get_include_dirs():
    import numpy
    from pkg_resources import get_build_platform

    include_dirs = [os.path.join(os.getcwd(), 'include'),
                    os.path.join(os.getcwd(), 'pyfftw'),
                    numpy.get_include()]

    if get_build_platform() in ('win32', 'win-amd64'):
        include_dirs.append(os.path.join(os.getcwd(), 'include', 'win'))

    return include_dirs

This numpy import is being called before setup(**setup_args) is called which would install numpy since you've specified *_requires = ['numpy>=1.6',]. However, I don't understand the whole structure of the setup.py, so maybe it's obvious why you're doing this.

Is it still trying to grab the package from pypi? If not, I don't really know how to fix it. I'll ask a question on SO if not.
If it is, you could try creating a wheel of both numpy and the latest version of pyfftw and then install from that (with --find-links= and --no-index args to pip to prevent it from using pypi).

Yes, it's still trying to grab the package from pypi.
Do I host those wheels in my own package?

Essentially yes. Take a look at the wheel documentation. You'll build the wheel and then install from that built wheel rather than using pypi.

Did the wheel solution work? I just ran into the same problem trying to test a pyfftw-dependent project with tox.

I think it's as fixed as it can be for the time being: https://github.com/pypa/pip/issues/2381
Apologies, I can't think of what else to do.

Actually, it might work when the pypi release is made. It should happen soon - I'm just clearing up some annoyances with windows.

Thanks, just post back here hgomersall and I'll test it again. sjpet, I haven't implemented a wheel solution since it's not mission critical for me but can't see any reason it wouldn't work.

This is solved in master and will be available in the next release. Have also tested this locally. Thanks everyone.


multible items not turned on/off by automation

Hey, i have several sonoff TH 10 connected and i have an automation that should turn on/off from 2-7 items at once...
If i do this with hue it works fine, but when sonoff i have from 1-5 that doesn't switch state...

duplicate, sorry https://github.com/peterbuga/HASS-sonoff-ewelink/issues/92

but there is no resolution on the other, so how can you close any of them ?

it's a pending issue that's why i closed this one (makes no sense to have multiple issue of the same problem). a quick dirty option would be to add a delay between the switches in automation, i would recommend 2+ seconds.
to be clear, the sonoff app api does not allow switching multiple entities in the same time (don't compare it with hue that's another thing)


Port docerina to syntax,semantic,project apis

Purpose

Change docerina to use project, syntax, semantic apis to generate docs.
Remove old docerina code

Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[ ] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Shall we add test cases for the command in ballerina-cli module?


rippled.cfg [amendments] stanza does not behave as documented (Version: 1.6.0)

Issue Description
In the config file rippled.cfg the [amendments] stanza does not behave as documented.
The documentation says: "Use the [amendments] stanza to list amendments you want to vote for."
But the code says: "Use the [amendments] stanza to set the amendments that are considered to be already enabled."
From ./src/ripple/app/misc/impl/AmendmentTable.cpp:
    for (auto const& a : parseSection(enabled))
    {
        if (auto s = add(a.first, sl))
        {
            JLOG(j_.debug()) << "Amendment " << a.first << " is enabled.";

            if (!a.second.empty())
                s->name = a.second;

            s->supported = true;
            s->enabled = true;
        }
    }

It seems like putting an amendment in the [amendments] stanza might actually prevent your server from voting for it (because your server will think that it is already enabled).
Or is there something that checks that the "enabled" amendments are not in conflict with the amendments that the ledger says are enabled?
In my opinion, the documentation describes the intended/expected behavior. The current behavior (if it's what I think it is) is a bug and should be fixed.
Steps to Reproduce
Add/use the [amendments] stanza in rippled.cfg
Expected Result
Per the docs, the server should vote in favor of the amendments listed
Actual Result
Based on a reading of the code, it appears that the server will assume that the amendments listed are already enabled
Environment
Any version of rippled including 1.6.0 (latest stable) and 1.7.0-b1

The [amendments] stanza was effectively rendered obsolete by https://github.com/ripple/rippled/pull/3617, which was included in 1.7.0-b9 (https://github.com/ripple/rippled/pull/3708), so that makes this issue irrelevant.


Injecting explorer.exe on Windows 11 will cause Explorer to exit

Injecting explorer.exe on Windows 11 will cause Explorer to exit

i just tested it on windows 11 and it works fine. however, if you have defender running, it will detect the injection and kill the process which might be what you are seeing


Bulk read all the things

Problem
Given that we're already bulk reading the network feature maps, we may as well just piggy back all the other attribute reads in there as well because it's fewer interactions. Also now that https://github.com/project-chip/connectedhomeip/pull/14671 has landed, we can use the general commissioning cluster attributes.
Change overview

change basic cluster reads to use wild card reads in the same read transaction as the network feature maps
add read of the general commissioning cluster attributes to get the recommended failsafe

Testing
Commissioned BLE (M5) and on network (lightning app). Confirmed recommended failsafe comes from the device.

/rebase


global "functions"

feat: allow to register global "functions" to be accessed from mustache global instance.

@Mejia1994 these PRs you've been opening & immediately closing lately, are getting noisy. Please avoid creating these PRs if they aren't meant to get reviewed.
I'd also encourage you to open an issue and asking if certain feature(s) would fit this project beforehand, if your intention is to contribute with any changes into the project.


Export GUI Stock Levels to CSV

Fairly straight forward, it would be nice to be able to easily work with the stock level values in a spreadsheet to accommodate for alternatives if needed.

Maybe a general export for the table shown in the GUI would be nice. I just want to avoid cluttering the GUI with dozens of buttons 😅 Maybe get this function from the right click menu!?
What do you think?

Sounds good, just would be really handy when trying to compare stock levels and alternatives.
When you say right click menu, do you mean like when you right click an item in the table?
Honestly as long as its possible I'm happy :)


[Draft] Comment out failing circle ci test

Please select one of the following- [ ] I am removing an existing difference between facebook/react-native and microsoft/react-native-macos :thumbsup:

[ ] I am cherry-picking a change from Facebook's react-native into microsoft/react-native-macos :thumbsup:
[ ] I am making a fix / change for the macOS implementation of react-native
[ ] I am making a change required for Microsoft usage of react-native

Summary

The Flow Check phase of our End to End Circle CI tests fails. This seems to be because the E2E test is installing _react-native-macosversion 0.63 instead of latest (which is missing theColors.darker` variable, which is how I figured that out. I haven't figured it out yet (perhaps #944 will help?), but this is blocking PRs quite a bit. Let's comment it out for now
Changelog

[Internal] [Removed] - Removed Flow check test from E2E tests temporarily
Test Plan

@heyimchris @harrieshin The failing circle-ci tests now pass, and #946 should take care of the analyze_pr check

Looks like the CI is still failing? If we can keep most CI tests in tact and passing then that's great. We also don't really rely on CircleCI much anyway so could do away with them too

test_js and test_js_prev_lts both now pass. The failing "analyze_pr" is bc of danger bot which I fixed with #946


Add German translation

Thanks for the translation! I can't proofread it, but everything looks good, so I'll merge it.


[tool_crash] ProcessException: The directory name is invalid. Command: C:\flutter\bin\cache\dart-sdk\bin\pub.bat, OS error code: 267

Command
flutter create sampleproject

Steps to Reproduce

...
...
...

Logs
ProcessException: The directory name is invalid.
Command: C:\flutter\bin\cache\dart-sdk\bin\pub.bat, OS error code: 267
#0      _ProcessImpl._start (dart:io-patch/process_patch.dart:390:33)
#1      Process.start (dart:io-patch/process_patch.dart:36:20)
#2      LocalProcessManager.start (package:process/src/interface/local_process_manager.dart:44:22)
#3      ErrorHandlingProcessManager.start.<anonymous closure> (package:flutter_tools/src/base/error_handling_io.dart:664:24)
#4      _run (package:flutter_tools/src/base/error_handling_io.dart:544:20)
#5      ErrorHandlingProcessManager.start (package:flutter_tools/src/base/error_handling_io.dart:663:12)
#6      _DefaultProcessUtils.start (package:flutter_tools/src/base/process.dart:425:28)
#7      _DefaultProcessUtils.stream (package:flutter_tools/src/base/process.dart:444:35)
#8      _DefaultPub.batch (package:flutter_tools/src/dart/pub.dart:283:34)
<asynchronous suspension>
#9      _DefaultPub.get (package:flutter_tools/src/dart/pub.dart:223:7)
<asynchronous suspension>
#10     PubDependencies.update (package:flutter_tools/src/flutter_cache.dart:121:5)
<asynchronous suspension>
#11     Cache.updateAll (package:flutter_tools/src/cache.dart:546:9)
<asynchronous suspension>
#12     FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:1143:7)
<asynchronous suspension>
#13     FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1043:27)
<asynchronous suspension>
#14     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#15     CommandRunner.runCommand (package:args/command_runner.dart:196:13)
<asynchronous suspension>
#16     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:284:9)

[✓] Flutter (Channel stable, 2.2.1, on Microsoft Windows [Version 10.0.19042.985], locale en-PH)
    • Flutter version 2.2.1 at C:\flutter
    • Framework revision 02c026b03c (13 days ago), 2021-05-27 12:24:44 -0700
    • Engine revision 0fdb562ac8
    • Dart version 2.13.1

[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, please use
      `flutter config --android-sdk` to update to that location.

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

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions).

[✓] VS Code (version 1.56.2)
    • VS Code at C:\Users\andro\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.23.0

[✓] Connected device (2 available)
    • Chrome (web) • chrome • web-javascript • Google Chrome 91.0.4472.77
    • Edge (web)   • edge   • web-javascript • Microsoft Edge 91.0.864.41

! Doctor found issues in 2 categories.

Flutter Application Metadata
No pubspec in working directory.

Closing this as duplicate of https://github.com/flutter/flutter/issues/80418


Offset adjustment when drawLabels on the x axis is disabled.

As I said in issue #92 the x axis offset doesn't adjust when you disable x axis labels. With this change you can have the x grid without labels but the chart area still fills the entire viewport.

Perfect. Thanks Daniel!


RNAseq (with probes) Metadata Schema revision

Select the target metadata schema name, or choose 'Other' if not listed.
RNAseq (with probes)
If 'Other' is selected, please enter the schema name below.
No response
Describe the change request (use a numbered list if many).
For library_input_unit_amount add option of "ul"
I'm guessing this option should be added to RNAseq and ATAQseq, but will defer to Stephen

Closes with https://github.com/hubmapconsortium/dataset-metadata-spreadsheet/commit/cf0b646329a502680f7bc95722b972fe659afbfc


[Navigation Component] I can`t change animation from NavigationUI.setupWithNavController()

call NavigationUI.setupWithNavController(bottomNavigationView, navController)
default fade in/out animation.
But, I want remove animation or change animation.
help me.

Facing similar issues fragment transitions are not working while setup with bottom navigation.
I have used custom XML resources for animations as well but no use.
I have setup nave controller with bottom navigation as documented added enter and exit transitions by clicking arrows.
Can anyone please help.

Add anim default files, you can change animation.

res/anim/nav_default_enter_anim.xml
res/anim/nav_default_exit_anim.xml
res/anim/nav_default_pop_enter_anim.xml
res/anim/nav_default_pop_exit_anim.xml

Like a below, disable animation.
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
</set>

Ref: https://android.googlesource.com/platform/frameworks/support/+/androidx-master-dev/navigation/ui/src/main/res/anim/

I tried this but it doesn't work.
And then I changed the anim resource folder to animator. This should fix them.
I think they use @animator as a default animation resource folder.


Can't set termination_grace_period_seconds

When I want to set termination_grace_period_seconds, I get a warning
Events:
  Type     Reason         Age                       From                Message
  ----     ------         ----                      ----                -------
  Warning  InternalError  <invalid> (x18 over 10m)  v1beta1Controllers  fails to reconcile predictor: admission webhook "validation.webhook.serving.knative.dev" denied the request: validation failed: must not set the field(s): spec.template.spec.terminationGracePeriodSeconds

My code is as follow.
  service_name = 'cifar10-beta-cpu'
  predictor = V1beta1PredictorSpec(
      max_replicas=5,
      min_replicas=0,
      termination_grace_period_seconds=31,
      # container_concurrency=50,
      # batcher=V1beta1Batcher(max_batch_size=50),
      pytorch=V1beta1TorchServeSpec(
          storage_uri='pvc://kfserving-pytorch-kubeflow/cifar10',
          model_class_name="Net",
          runtime_version='v0.5.1',
          resources=V1ResourceRequirements(
              requests={'cpu': '1', 'memory': '5Gi'},
              limits={'cpu': '1', 'memory': '5Gi'}
          )
          #     requests={'cpu': '1', 'memory': '5Gi', 'nvidia.com/gpu': 1},
          #     limits={'cpu': '1', 'memory': '5Gi', 'nvidia.com/gpu': 1}
          # )
      )
  )

NAMESPACE   NAME               URL                                       READY   PREV   LATEST   PREVROLLEDOUTREVISION   LATESTREADYREVISION                    AGE
kfserving   cifar10-beta-cpu                                                                                9m22s

Can't termination_grace_period_seconds be set?

@SeibertronSS you should set the timeout field instead which then sets the termination_grace_period_seconds accordingly.

Thank you very much for your suggestion. My program has run successfully.


Alternative to manyManyComponent() for backwards compatibility

In ListFilterUtility::filter_by_relation_ids() there's a call to singleton($class)->manyManyComponent($relationName) however this method doesn't exist in 3.1.
An alternative might be something like:
$classObj = singleton($class);
$manyManyInfo = $classObj->hasMethod('manyManyComponent') ? 'manyManyComponent' : 'many_many';
list($parentClass, $componentClass, $myIDColumnName, $relationIDColumnName, $manyManyTable) = $classObj->$manyManyInfo($relationName);

Resolved in: https://github.com/SilbinaryWolf/silverstripe-mrfilter/pull/27


e2e testing framework - CRUD and self healing tests. Fixes #110

Fixes #110
Modifications
This PR introduces the end to end testing suite for all Numaplane CRDs including cases for :

create, read, update and delete functionality for Pipeline ISBService and NumaflowController Rollouts
self-healing for child Pipelines of a PipelineRollout

It also adds running these tests to the Github CI just as unit tests are.

Utilizes both the dynamic client and autogenerated clientset to interact with Numaplane and Numaflow CRDS.
Verification
Running the new Makefile target test-e2e locally to see that all tests pass.

Sorry to not have thought much about the effect of my PR on this one.
If we were to merge that as it is now, the DataLossPrevention field will be on by default when running make start, so you will have the pausing on by default.
CRUD should work as you have it now, but the only thing is that in order for the Pipeline CRUD to work, there must be an ISBService and Numaflow Controller running. Also, it would take a little longer for the Pipeline to go through the states of:

PipelineRollout reconciled
PipelineRollout worker sets Pipeline.lifecycle.desiredPhase=Paused
Pipeline.Status.Phase=Paused
PipelineRollout worker updates Pipeline spec
PipelineRollout worker sets Pipeline.lifecycle.desiredPhase=Running
Pipeline.Status.Phase=Running

Also, note that if you have any Pipelines running while the ISBService or Numaflow Controller are running and you try to update ISBService or Numaflow Controller, those will also wait for Pipelines to pause first before they get updated. (You may want to do that now so we can in fact test this.)

Also, note that if you have any Pipelines running while the ISBService or Numaflow Controller are running and you try to update ISBService or Numaflow Controller, those will also wait for Pipelines to pause first before they get updated. (You may want to do that now so we can in fact test this.)

That can be added, to lay it out:

Deploy ISBService/NumaflowControllerRollout
Also have PipelineRollout running at the same time
Update ISBService/NumaflowControllerRollout
Check that Pipeline was paused

Is there a chance the update and pausing will be too fast to check?

Also, note that if you have any Pipelines running while the ISBService or Numaflow Controller are running and you try to update ISBService or Numaflow Controller, those will also wait for Pipelines to pause first before they get updated. (You may want to do that now so we can in fact test this.)

That can be added, to lay it out:

Deploy ISBService/NumaflowControllerRollout
Also have PipelineRollout running at the same time
Update ISBService/NumaflowControllerRollout
Check that Pipeline was paused

Is there a chance the update and pausing will be too fast to check?

So, I never sent you the link to this Issue. This is really the one that's related to checking the pausing and answers your question.
So, what I'm referring to in my last 2 comments above is really how to even just make sure the CRUD part (Update) will be able to work:

For Pipeline to get updated, you need to have ISBService and Numaflow Controller running
For Numaflow Controller and ISBService to get updated, this should work okay whether or not there are any Pipelines. But certainly for the Pause feature, there should be Pipelines.

Before we merge this, could I bother you to maybe create a temporary branch based on this branch and merge in my PR (unless you just want to use this branch) to check if it works with my PR?

Before we merge this, could I bother you to maybe create a temporary branch based on this branch and merge in my PR (unless you just want to use this branch) to check if it works with my PR?

Can give this a try now.
Not sure why the delete test is failing for the Pipeline, this is passing fine locally and was passing here before the go.mod changes.


Command D always deletes a task

The help text for the command D has the following description: denotate if over annotation, delete task if on first line.
If I place the cursor on a task's annotation and hit D, the task is deleted instead of the selected annotation being removed.

vit version: 1.3
task version: 2.5.1
perl version: 5.28.1

Strange. I don' think that should happen. There's currently some work being done under the hood for vit 2.0. Let's wait and see if that fixes this problem.

@nblock VIT 2.x alpha 1 has been released, and includes a separate denotation popup window, triggered with the keybinding 'E' by default.
https://github.com/scottkosty/vit/releases/tag/v2.0.0a1

Awesome, works nicely on 2.0a1!

@nblock great, thanks for confirming!


Permissions errors in repos

Michael Mahoney (not currently a user in this repo so I can't link him) ran into problems after he tried some renaming and moving of files in order to pull fresh copies (see #11). Now he's getting permissions errors and is unable to delete some files in his repository.
@SamLau95 any ideas?

@choldgraf I think this should be resolved. I'm guessing that him moving files around cause the git checkout to error out without chowning the directories properly. I need to add a catch for that.

Hmm.. doesn't look solved for me?
e.g. I just used @AndrejGitHub 's link, https://data8.berkeley.edu/hub/interact?repo=history-connector&path=07423-0001-Data.csv, which works great and imports his data file into Jupyter.
Now I cannot actually delete it from my Jupyter environment; I just get a permission denied error.

Ah, there is in fact a bug. Looking into it now.
ᐧ
On Wed, Jan 20, 2016 at 2:55 PM, Carl Boettiger<EMAIL_ADDRESS>wrote:

Hmm.. doesn't look solved for me?
e.g. I just used @AndrejGitHub https://github.com/AndrejGitHub 's link,
https://data8.berkeley.edu/hub/interact?repo=history-connector&path=07423-0001-Data.csv,
which works great and imports his data file into Jupyter.
Now I cannot actually delete it from my Jupyter environment; I just get a
permission denied error.
—
Reply to this email directly or view it on GitHub
https://github.com/data-8/connector-instructors/issues/12#issuecomment-173390612
.

--
Sam Lau
EECS | UC Berkeley | May 2017
(562) 565-4336 |<EMAIL_ADDRESS>ᐧ

Note that when a the interact link clones a repo, the repo ends up being owned by root, not the by the user.  The contents of the repo show up as being owned by the user, but with read only permission, so we cannot delete these files.  Thanks for all the help!

Yup. The error is in https://github.com/data-8/DS8-Interact/blob/master/app/util.py#L9 since I change the ownership of the file to that of the parent directory (which belongs to root).

Let me know when this is pulled and I'll let Michael know to give it a shot again...

It's deployed on both ds8 and data8 I believe. Let me know if he's still
running into issues. I didn't test the sparse-checkout behavior thoroughly
on file moving and renaming so I make no guarantees about behavior at the
moment.
ᐧ
On Wed, Jan 20, 2016 at 6:09 PM, Chris Holdgraf<EMAIL_ADDRESS>wrote:

Let me know when this is pulled and I'll let Michael know to give it a
shot again...
—
Reply to this email directly or view it on GitHub
https://github.com/data-8/connector-instructors/issues/12#issuecomment-173428267
.

--
Sam Lau
EECS | UC Berkeley | May 2017
(562) 565-4336 |<EMAIL_ADDRESS>

hmm, just tested on data8 and when I use https://data8.berkeley.edu/hub/interact?repo=health-connector&path=Demo2.ipynb
I get health-connector repo added but still owned by root, and I cannot delete either health-connector directory or the Demo2.ipynb notebook.

Oops. Looking now.
ᐧ

Fixed. There were some issues in deploying and I forgot to get around to them.
This and #11 are now closed, so hopefully the interact links will be good to go for us.


Docker without root

Root user should be avoided in docker where possible
LSST docker has a default lsst user which we should be using
I've added the lsst user to use password-less sudo group
Leaving PR in draft state until we merge #43

Codecov Report

Merging #46 into develop will decrease coverage by 20.52%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           develop      #46       +/-   ##
============================================
- Coverage    80.71%   60.19%   -20.53%
============================================
  Files            9       17        +8
  Lines          446      736      +290
============================================
+ Hits           360      443       +83
- Misses          86      293      +207

Impacted Files
Coverage Δ

huntsman-drp/src/huntsman/drp/tests/conftest.py
0.00% <0.00%> (ø)

huntsman-drp/src/huntsman/drp/tests/test_butler.py
0.00% <0.00%> (ø)

huntsman-drp/src/huntsman/drp/tests/test_nifi.py
0.00% <0.00%> (ø)

huntsman-drp/src/huntsman/drp/tests/testdata.py
95.40% <0.00%> (ø)

huntsman-drp/src/huntsman/drp/tests/test_utils.py
0.00% <0.00%> (ø)

...tsman-drp/src/huntsman/drp/tests/test_datatable.py
0.00% <0.00%> (ø)

...man-drp/src/huntsman/drp/tests/test_dataquality.py
0.00% <0.00%> (ø)

huntsman-drp/src/huntsman/drp/tests/test_refcat.py
0.00% <0.00%> (ø)

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 ff33873...0e5a35c. Read the comment docs.


Error in `python': corrupted size vs. prev_size

$ python ./src/demo.py
...
ce (/gpu:0) -> (device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:01:00.0)
Detection output written to ./data/samples_out/
*** Error in `python': corrupted size vs. prev_size: 0x0000000002810500 ***
Aborted (core dumped)

@StevenWang30 Hi, maybe you can try following solution

From: https://github.com/r9y9/gantts/issues/14

sudo apt-get install libtcmalloc-minimal4
export LD_PRELOAD="/usr/lib/libtcmalloc_minimal.so.4"

It works! brilliant!!!

Thanks very much!!

May I ask what is the solution on centOs 7?

think you very much


Location of JDBC drivers has to be /usr/lib/oozie/lib

Cloudera CDH 6.1.0 on CentOS 7.6 needed this change for the JDBC driver to end up in CLASSPATH. Not sure if it's an error or if it's distribution dependent.

It looks like this differs with Oozie versions (there is used tomcat in Oozie 4.x and Jetty in 5.x), and I could find some nice generic location for the drivers working with both versions... Fixed in cesnet-oozie 0.12.2.

Thanks!


Can i use iframe in framework7?

i user iframe to load an external page , but it doesn't work

Does the external site have framing disabled?

I don't see a reason why it wouldn't work.
Can you provide your runnable source via http://codepen.io ?


Allow to set the selected row by the id

Add an api on DataGridController to set the currently selected row
by its id, with an option to scroll the window to put that row in the
center of it.

LGTM :+1:


Datatable error when user session ends

Hi,
If the session is expired, I get an error when on a datatable page. Can you please give me some inputs to handle redirection to login while datatable ajax reload failed due to session expired ?
Many thanks in advance.

Maybe try this: https://viralpatel.net/blogs/jquery-ajax-handling-unauthenticated-request-ajax/
See if it helps.
Basically what it does is, gives you a method that handles all ajaxErrors and does a page reload on 403. So if the page reloads, our middleware will work and will redirect to login page.

Thanks your answer, I will give it a try.


chore: release main

:robot: I have created a release beep boop
chatfall: 0.2.0
0.2.0 (2024-10-24)
Features

initial mvp (d34cc51)

Bug Fixes

linting errors (06037fe)

Miscellaneous

add github token (ebee907)
don't do the build check (8ba9bec)
initial commit (5bc3fa3)
initial docs (53be311)
remove husky redundant code (97eb10c)
show deleted comments in normal view (1400e1a)
update license (4cb903c)

client: 0.2.0
0.2.0 (2024-10-24)
Features

initial mvp (d34cc51)

Bug Fixes

linting errors (06037fe)

Miscellaneous

initial commit (5bc3fa3)
show deleted comments in normal view (1400e1a)

server: 0.2.0
0.2.0 (2024-10-24)
Features

initial mvp (d34cc51)

Bug Fixes

linting errors (06037fe)

Miscellaneous

initial commit (5bc3fa3)
show deleted comments in normal view (1400e1a)

This PR was generated with Release Please. See documentation.

🤖 Created releases:

chatfall-v0.2.0
client-v0.2.0
server-v0.2.0

:sunflower:


Release 17.0.0.

This change is

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Coverage remained the same at 100.0% when pulling b6e301766d66dfdecd52408a3b843a4d51040c44 on release-17.0.0 into b36596e86233391c6db303e90a454b4e83cd9924 on master.


Change the amount of data returned by the api

Hello,
Thanks you guys for creating this. It's very helpful for mocking and creating apis.
Do you think it would be possible to add a command line arg, to define how much data is sent by the api ? This would be very helpful when we need some endpoint to return more than just one to 3 lines...
thanks in advance.

Hi @enyosolutions
Looking at the same issue as you.
Did you ever get to solve this ?

hi was there ever a resolution to this?

No never :(
Le sam. 18 mai 2019 à 10:05 PM, Cameron F<EMAIL_ADDRESS>a
écrit :

hi was there ever a resolution to this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/stoplightio/prism/issues/20?email_source=notifications&email_token=ACALAYDLW7AX5FQQZVQRCD3PWBVTPA5CNFSM4DMND2Y2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVWV73Q#issuecomment-493707246,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACALAYA5P632S5NB3H6ECG3PWBVTPANCNFSM4DMND2YQ
.

Is this open source version purposefully stunted because there is a paid product? The api generation works so well, yet there doesn't seem to be anyway to add additional configuration

Hey @CameronFraser, definitely not. Prism v2 development slowed down because Prism v3 was in the works, a total rewrite which has just hit alpha. We are working really hard on getting a whole bunch of awesome features into it, and some of these older issues were closed down to clear the deck a bit.
So talk to me about this feature request.
@enyosolutions when you say you want to return more than just one or two lines, what are we talking about here? Are we saying that for collections we want to control how many dynamically generated resources are placed in that collection?
I could get behind that.

Hey @philsturgeon, glad to hear and thanks for your work on the project, what I've tried so far works really well. The request you described for controlling how many dynamically generated resources are placed in a collection is what I was hoping for. It is a nice feature for data being served to paginated views. However I think with those before and after hooks I saw in the config documentation I should be able to do this myself (once available)?

@philsturgeon yes exactly that. This woul very usefull for example when mocking a collection for a scroll related behavior for example..

Excellent ideas. Working with a collection of 1 - or however many happen to be in any examples is not going to be enough in a lot of situations.
v3 has a --dynamic / ?__dynamic flag, meaning the default is "static" examples, or you can pick examples. It sounds like the functionality we want is part of the dynamic examples logic, and you're right @CameronFraser JSON Schema Faker would certainly help out here.
Would something like ?__dynamicCollection=50 be the sort of thing you had in mind?
It's possible down the line we could offer more specific pagination options which can autodetect popular pagination standards (JSON:API kinda, Links / Ranges), etc., but I think for now we need a more DIY solution, especially for v3.0.

Cone on folks, help me help you! :D
How would you imagine this feature to look if you could have it any way you liked. Give me something to work with.

Hi @philsturgeon,
I would personally keep it simple with a --quantity parameter that would accept a number or a value dynamic, or using
--minItems N --maxItems XXX.
A --dynamic item by itself would be great if the range would very variable. In order to tests scrolls / paginations scenarios.
Few examples of what i had in mind.
prim  --quantity dynamic --minItems 10 --maxItems 50
prim  --quantity 15
prim   --minItems 10 --maxItems 50

What about a prism config file, thoughts?
This is a personal opinion, but I don't like the idea of using CLI options/arguments to control finer grain settings.

.prism or prism.json or prism.yaml, could specify the location, or it would prism would just try to load config from the CWD.

Example Structure
{
  "dynamic": {
    "minItems": 10,
    "maxItems": 50,
    "quantity": 15
  }
}

Don't know what quantity is, but included it in the example above.
If we do use a config file, then we should map all command line options/arguments to properties in the config.
Example Usage
prism mock
prism mock --config path/to/config

My suggestion would be
As pagination is done by using a common parameter for all api's, would request to allow an option in config to set the param name for quantity. This way we don't need to set it every time  when requesting. Prism should see if the query parameter exists (as per the configuration) and serves accordingly.
ex: http://www.example.com/products?limit=30
This should return 30 products if we set in prism config that quantityKey=limit.
If you are not using a common query parameter for paging (which is more unlikely), there should be an extra extension which defines it. Ex: x-stoplight-prism-quantity-key : count (For API's where limit is replaced with count)
Hope it makes sense.

I like the suggestion from @manwithsteelnerves
But as you want to implement data persistence somewhere in the future I would suggest directly implementing both parameters for pagination. limit and offset, with offset being optional.
What also has to be considered is the collection in which the data will be generated into (nesting) and sizes of non paginated collections.
Consider following examples:
Nested collection

{
  "entrySet": [
    { "id": 1, "name": "string" }
  ],
  itemCount: 50
]

In this case we cannot directly use limit, because we don't know where to generate the data.
My suggestion for this would be to add a extension like: x-prism-pagination-collection, to mark the correct collection.
For example:

    "EntrySet": {
      "type": "object",
      "x-prism-pagination-collection": "entrySet",
      "properties": {
        "entrySet": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Entry"
          }
        },
        "itemCount": {
          "type": "integer",
          "format": "int32"
        }
      }
    }

Or just use the first array you find :P
Non paginated collections
Not every collection will be paginated (for example some deeply nested collection), but we may still want to change the size of those collections for testing. I would suggest just adding another extension: x-prism-collection-min and x-prism-collection-max to the schema definitions. So these collections will be generated with a range of items by default.
For example:

    "EntrySet": {
      "type": "object",
      "properties": {
        "entrySet": {
          "type": "array",
          "x-prism-collection-min": 0,
          "x-prism-collection-max": 5,
          "items": {
            "$ref": "#/definitions/Entry"
          }
        },
        "itemCount": {
          "type": "integer",
          "format": "int32"
        }
      }
    }

Now we dont have to use limit to get a range of items. It just generates them automatically.
We could set 0-5 as a default for collections and maybe also add a parameter __collection-max=10 so you can dynamically change it.

Any updates on this? This would be really nice to have.

As pagination is done by using a common parameter for all api's...

Unfortunately this is not true. A lot of APIs work with limit/offset, but some use cursors, and various forms of continuation token.
https://phauer.com/2017/web-api-pagination-continuation-token/
Pagination is about as consistent for APIs as "Security" and that has a whole construct in OpenAPI.
Do you think we could do something as cowboy as --records=100 which will just set the first, highest array in the response to have 100 items?

We can certainly add support for "limit" and "num" to make this work in runtime for those who do happen to use those variable names.

True about using cursors but still limit is a required attribute to limit number of entries retrieved right?

I wouldn’t say a limit is required no, APIs could chose to simply say 100 is how many you’ll get.
It could also be a different parameter name than “limit” could be “num” or “number” but we could look for multiple param names.

Can you please let me know if you we could achieve this in any way ?

@VenkatRamReddyK Unfortunately there's no way at the moment.

I am +1 on having more dynamic data generated and having that controlled by configuration and/or command line switches. I use the mock server when working on our SDKs and I'm alarmingly confident at how well they work with one record returned!
I'm not sure about trying to link to API pagination behaviour, that sounds more involved. Maybe it would be possible to start with the simplest implementation of multiple records and then get feedback on further linking into API behaviour?

@lornajane I am leaning towards using the Prefer header to instruct how much data you want back, what do you think?

A header would also be welcome, feels similar to the query params like __example or __code that I'm already using and enjoying!

Nice! Keep in mind we want to remove the query parameters support in the next breaking change of Prism, so I suggest to start migrating to the Prefer header!

Where can I read more about what I can send with Prefer? I only found ?__code mentioned in an issue when I was looking for something else. (Links to source code also accepted if docs are not available!)

Check out https://github.com/stoplightio/prism/pull/984/files — the PR has also the documentation changes. Write me in case you need more details

With the Prefer method approach perhaps we could allow both a random amount, say between 10 and 25, or an exact amount, i.e. 100.
For a range: Prefer: collection_min=10,collection_max=25
For a specific amount Prefer: collection_count=100
This would still need some extra thought on how you'd handle nested collections.
For example
{
    "items": [
        {
            "tags": ["ABC", "XYZ"]
        }
    ]
}

How would any implementation interact with tags?
I think we may also need a way of specifying which collections get affected by this behaviour.

@philsturgeon

Do you think we could do something as cowboy as --records=100 which will just set the first, highest array in the response to have 100 items?

If you were using a HAL implementation then the _links key could very well include the first array you'd encounter at the same highest level as a collection under a key.

Seeing as there are three things being discussed here, I'd like to split these down into distinct issues.

Making a specific number of records appear somehow https://github.com/stoplightio/prism/issues/1139
Making a random number of records appear somehow
Pagination

I have the issue for 1 (https://github.com/stoplightio/prism/issues/1139), and this seems like a good amount of scope for now.
If anyone here feels strongly about the other issues then please create an issue and link it back here so others can follow along.