Load environment variables from dotenv file

As an alternative to #106, it would be useful if parity could load variables from a .env file (if it exists).
The problem we have right now is that our config/database.yml will not contain any information about our development host, port, etc, because it's read out from the DATABASE_URL env variable (which is set up in our compose file, working the same way heroku does):
default: &default
  encoding: unicode
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  schema_search_path: public,partitioning

development:
  <<: *default
  database: my_app_development

test:
  <<: *default
  database: my_app_test

production:
  <<: *default

Not having these values on the config/database.yml file causes pg_restore to try to connect to the local postgres' unix socket - which in our case does not exist:
development restore-from production
dropdb: could not connect to database template1: could not connect to server: No such file or directory
	Is the server running locally and accepting
	connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
pg_restore: connecting to database for restore
pg_restore: [archiver (db)] connection to database "my_app_development" failed: could not connect to server: No such file or directory
	Is the server running locally and accepting
	connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

But we do map our host port 5432 to the postgres container port, so we can reach it at localhost:5432:
PGHOST=localhost PGUSER=postgres development restore-from production
...
pg_restore: connecting to database for restore (working like a charm)

We don't need parity to do anything special other than read variables such as PGHOST and PGUSER values from the dotenv file, so the pg_restore command connects to the intended development database.
This way, we could keep parity unaware about the details on how the app runs in the developer machine (docker? rocket? on the host? Virtualized? It won't matter!)

Hi @vovimayhem this is an interesting use case. We supported environment variables at one point for DB config, but removed it because maintaining gem dependencies for a non-Rubygems executable ended up being overly complicated and brittle. I'm open to revisiting this if there's a solution that's reliable for packaging on macOS (Homebrew) and apt and Rubygems that works.
One question: could you get around this by making a bin/development binstub for your app that invokes the command with those environment variables?

A binstub like you propose will certainly work - although we'll deviate from documentation using bin/development do-something production instead of just development do-something production...
Back to the issue, I'm aware that runtime gem dependencies have been avoided in this project (parity has none!). I originally thought about including bkeepers/dotenv, but maybe that won't be necessary / or not work exactly as I intended to...
I've previously gone away with prepending env $(cat .env | grep ^[A-Z] | xargs) to any command that requires the env vars... how do you feel about going on with something like this?
Do you have any development guidelines/goals of this project? (besides the style & commit message guidelines?)

Hrm. I think cating the .env file isn't going to be a globally applicable solution because some groups are using .env.local, etc. Let's both think about what we can do to accommodate this use case that won't break or be confusing to other users of the utility.

I'd be +1 on env variables if we kept this principle in mind:

12-factor apps encourage you to use environment vars for configuration, and I think that’s fine, provided each var is also defined as a flag. Explicitness is important: changing the runtime behavior of an application should happen in ways that are discoverable and documented.

https://peter.bourgon.org/go-best-practices-2016/#configuration

I'm having a bit of a change in heart regarding this... or at least our use case anyway.
I'm realizing that we (the ones using docker / virtualized services for development, including yours truly and @walreyes) should just include parity (and the heroku toolbelt) in our development container image, and run parity from within the running development container itself.
BUT, and following @croaky previous comment about 12-factor apps, we SHOULD use the database described in the environment variable DATABASE_URL as the default configured target for pg_restore...
What do you guys think of this?

A solution here would likely be a portion of the total solution required to accomplish #125.

I'm closing the issue out, but I'm open to PRs that might solve this but are still distributable outside of Rubygems.

Hi there,
I have the same issue trying to run development restore-from staging.
I have the following error:
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  117k  100  117k    0     0  47882      0  0:00:02  0:00:02 --:--:-- 50152
dropdb: could not connect to database template1: could not connect to server: No such file or directory
	Is the server running locally and accepting
	connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
pg_restore: [archiver] unsupported version (1.14) in file header
psql: could not connect to server: No such file or directory
	Is the server running locally and accepting
	connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

I'm using docker / virtualized services for development. So there is no socket, but a connection to 5432 port on localhost would work.
Is there a workaround for this issue?
Cheers!

Hi @jeantristan,
this workaround works for me:
export PGHOST=localhost
export PGUSER=root


Widget animation which hides when leaving parent widget

Hello,
I tried to make this animation like wolt delivery:
Video on Bottom
Video Link
i tried it with AnimatedList, AnimatedPosition everything but alle Widgets are animating on top of all widgets.
Isnt it possible to recreate this animation ? Or the we can declare some widget to have a z-index so animations get easier like when you having a pulse effect in a row that it not get hides by the near widget.
Thanks!

Hi @Gastrolize
Can you please provide your flutter doctor -v, your video_player version, a complete reproducible minimal code sample, and complete flutter run --verbose logs running the minimal code sample?
Thank you

Hello, this is not a bug. Its just a feature request if its possible to animate widgets where it hides when leaving the constraints of a widget. So we can have this smooth slide animation like it in the video example.

Hi @Gastrolize
This seems more like a how to than a feature request. As this space isn't for discussing how-to, I would suggest you head over to StackOverflow or one of the various [flutter communities] (https://flutter.dev/community) for help on how to go about it. It's even possible that someone has already implemented said animation.
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


Add testing on windows environment

Add windows support by using appveyor continuous integration to test our package.

appveyor support added.


docs: Add IBM Kubernetes guide

SUMMARY
Add installation guide for Kubernets on IBM Cluster using Helm.
Installation is non-trivial and this is bound to save a lot of hours for people.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
TEST PLAN

Document renders correctly, without console messages
GH action "Frontend" is green

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

Codecov Report

Merging #11197 into master will decrease coverage by 5.15%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #11197      +/-   ##
==========================================
- Coverage   65.43%   60.27%   -5.16%
==========================================
  Files         829      392     -437
  Lines       39200    24558   -14642
  Branches     3693        0    -3693
==========================================
- Hits        25649    14803   -10846
+ Misses      13444     9755    -3689
+ Partials      107        0     -107

Flag
Coverage Δ

#cypress
?

#javascript
?

#python
60.27% <ø> (-0.33%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

superset/db_engine_specs/presto.py
69.76% <0.00%> (-12.32%)
:arrow_down:

superset/db_engine_specs/sqlite.py
65.62% <0.00%> (-9.38%)
:arrow_down:

superset/utils/celery.py
82.14% <0.00%> (-3.58%)
:arrow_down:

superset/examples/world_bank.py
97.10% <0.00%> (-2.90%)
:arrow_down:

superset/examples/birth_names.py
97.36% <0.00%> (-2.64%)
:arrow_down:

superset/db_engine_specs/postgres.py
97.50% <0.00%> (-2.50%)
:arrow_down:

superset/views/database/mixins.py
80.70% <0.00%> (-1.76%)
:arrow_down:

superset/result_set.py
96.69% <0.00%> (-1.66%)
:arrow_down:

superset/connectors/sqla/models.py
88.46% <0.00%> (-1.38%)
:arrow_down:

superset/models/core.py
87.56% <0.00%> (-0.56%)
:arrow_down:

... and 443 more

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 9785667...e7d06dc. Read the comment docs.

Grateful for the contribution, but this is going to be impossible for the core team to maintain / keep up to date.
I suggest this would be better hosted somewhere else and we can link to it.
Ive been caught in dealing with issues and PRs on community contributed docs or extensions I have zero context on in the past and that's not great. It gets stale and creates confusion in the community and with maintainers.

Hello @mistercrunch, thanks for looking into this and explaining why accepting it would be a problem. It makes sense and frankly I didn't think of it when submitting the PR.
The guide is also hosted on my personal blog on this URL if linking as an external resource would work for you. I would be happy to create that PR as well, if your time is limited, but I would need some guidance to make sure it ends up in the right place.

How about under here? https://github.com/apache/incubator-superset/blob/master/docs/src/pages/resources.tsx#L62
It'll show up here: https://superset.apache.org/resources/


While swiping through panes on desktop, if you drag outside of the carousel or window dots and arrows won't update

Description:

When a user tries to drag outside the carousel to view the next or previous item, notice that the highlight in the carousel dots is not following the order of the items. If the user goes to the first item, the highlight will stay in the second carousel dot.
NOTE: Carousel dot highlight will be correct if dragging gestures are made inside the carousel.

Expected behavior:

Carousel dots highlight should be anchored to the current image item in the carousel.

Browser:
Windows 10 - Chrome, Edge, Firefox
macOS (10.15.7) - Chrome, Edge, Firefox
URL:

https://prod-www.cor.bukwild.com/products/100-california-everyday

Steps:

Load the URL.
Go to the Carousel.
Try dragging the carousel.
Drag outside the carousel.
Observe that the next or previous image will appear.
Verify that the carousel dot icon highlights the incorrect product.

https://user-images.githubusercontent.com/77567/155433377-05dd9485-52d3-4f46-a949-a5c3762f4043.MP4

https://app.asana.com/0/0/1201831809994865/f

Wonder if this is related to the carousel drag getting "sticky" when right clicking inside of it...


Task 1: Start with your Assignment 2 code

You must begin this assignment with your Assignment 2 code, not with any in-class demo code that has been posted. Learning to create new MVCs and segues requires experiencing it, not copy/pasting it or editing an existing storyboard that already has segues in it.

Used https://github.com/petervanhoef/Calculator-Brain/releases/tag/v2.9.1 as start point. See commit e0e0a6a


Created es.json and translated the first 110+ messages to Spanish

Thanks so much! I'll get hands on to the rest when I have some more time. But also this may encourage others to both review and add more translations.


Language/group switcher not aligned

Thanks for this nice theme!
I tried it together with defined paradoxGroups, and the dropdown for this is not aligned correctly:

Ok, I wasn't aware of this.


CI: Receiving flows from Hubble Relay: received unknown message: &{"source:OBSERVER_EVENTS_QUEUE num_events_lost:277 cpu:{}"}

CI failure

Copy-paste the output the test failure.

Receiving flows from Hubble Relay: received unknown message: &{"source:PERF_EVENT_RING_BUFFER num_events_lost:145 cpu:{value:2}"}

we started seeing this error more frequently. this is a bad sign, it probably means that cilium monitor / hubble is generating more events to the point events are getting dropped from perf ring buffer.

Upload the zip file generated from that test failure.

sysdump is too large to post on github. i'll save it somewhere in case somebody wants to take a look

Copy-paste the link of the CI build where that test failure has happen.

https://github.com/cilium/cilium-cli/actions/runs/7124326761/job/19413153094?pr=2159

assigning it to myself to triage this

just a heads up i disabled the kind workflow in the github UI here => https://github.com/cilium/cilium-cli/actions/workflows/kind.yaml. to be re-enabled once we fix this issue 🚧

https://github.com/cilium/cilium-cli/pull/2156 might be related, maybe this causes too many flows to get generated. i reverted the commit and the kind job passed => https://github.com/cilium/cilium-cli/actions/runs/7166617609/job/19511008616?pr=2175

fixed by https://github.com/cilium/cilium-cli/pull/2176. closing.


[Feature Request] Display changes on CLI output

Hey @williamluke4 can you clarify this comment? I'm not sure what you mean.


BulkAlbedoTemporal - use ClimaCore space

Purpose
Closes #299 (see for more info)
As of August 21, the coupler is able to use BulkAlbedoTemporal in coupled runs with this change (https://github.com/CliMA/ClimaCoupler.jl/pull/394).
After merging this PR, we need to make a patch release of ClimaLSM.jl (v0.3.1).
To-do

[x] change constructor argument from surface (type ClimaLSM.Domains.AbstractDomain) to space (type ClimaCore.Spaces.AbstractSpace)
[x] update constructor usage in tests

[x] I have read and checked the items on the review checklist.

bors r+


toEqual does not work with Blob objects

🐛 Bug Report
not.toEqual throws assertion error for 2 not equal Blob's instances.
  ● test toEqual

    expect(received).not.toEqual(expected)

    Expected value to not equal:
      {Symbol(impl): {"_buffer": {"data": [116, 0, 101, 0, 115, 0, 116, 0, 49, 0], "type": "Buffer"}, "type": "text/plain", Symbol(wrapper): [Circular]}}
    Received:
      {Symbol(impl): {"_buffer": {"data": [116, 0, 101, 0, 115, 0, 116, 0, 50, 0], "type": "Buffer"}, "type": "text/plain", Symbol(wrapper): [Circular]}}

      12 |   const blob1 = arrayBufferToBlob(str2ab('test2'), 'text/plain');
      13 |   const blob2 = arrayBufferToBlob(str2ab('test1'), 'text/plain');
    > 14 |   expect(blob1).not.toEqual(blob2);
         |                     ^
      15 | });

To Reproduce
The test:
it('test toEqual', () => {
  const blob1 = arrayBufferToBlob(str2ab('test2'), 'text/plain');
  const blob2 = arrayBufferToBlob(str2ab('test1'), 'text/plain');
  expect(blob1).not.toEqual(blob2);
});

You can find arrayBufferToBlob and str2ab implementation in the codesandbox.io snippet below.
I have tried with the new toStrictEqual and I receive the same output.
It is worth to note that before upgrade jest to 23 and babel to 7 (from beta 37) it was working for me. So, looks like a regresion in version 23.
Expected behavior
2 different blobs instances are not eqaul.
Link to repl or repo (highly encouraged)
It's not reproduced in codesandox.io but you can see the code - https://codesandbox.io/s/k07x6zpnm3
Run npx envinfo --preset jest
Paste the results here:
  System:
    OS: Linux 4.13 Ubuntu 18.04.1 LTS (Bionic Beaver)
    CPU: (4) x64 Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz
  Binaries:
    Node: 8.12.0 - ~/.virtualenvs/viewer/bin/node
    Yarn: 1.9.4 - /usr/bin/yarn
    npm: 6.4.1 - ~/.virtualenvs/viewer/bin/npm
  npmPackages:
    jest: ^23.6.0 => 23.6.0

My settings
  "jest": {
    "collectCoverageFrom": [
      "**/*.{js,jsx}"
    ],
    "moduleDirectories": [
      "node_modules",
      "src"
    ],
    "coverageDirectory": "./reports/coverage",
    "coverageReporters": [
      "text-summary"
    ],
    "moduleNameMapper": {
      ".*\\.(css|less|styl|scss|sass)$": "<rootDir>/internals/mocks/cssModule.js",
      ".*\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/internals/mocks/image.js",
      "imports-loader?.*": "<rootDir>/internals/mocks/importsLoader.js"
    },
    "testRegex": "tests/.*\\.test\\.jsx?$",
    "setupFiles": [
      "<rootDir>/internals/testing/setup.js"
    ],
    "setupTestFrameworkScriptFile": "<rootDir>/internals/testing/setup-test.js",
    "testEnvironment": "jest-environment-jsdom-global",
    "testPathIgnorePatterns": [
      "node_modules.*",
      "/containers/",
      "/build/"
    ],
    "snapshotSerializers": [
      "enzyme-to-json/serializer"
    ]
  },

cc @pedrottimark for interest

I was able to reproduce this. I would be glad to pick this up. Can someone provide me some guidance on how to fix this?

@matheuspgINF that would be great! I would start with the matcher code here

Any updates on this?

Would be nice to be able to test blobs with jest

Please feel free to submit a PR for this starting with the code linked above.

I wouldn't mind raising a PR for this if it is something that would be welcome in the core Jest code

I would also like to see this work, but I don't think we can support this in Jest? I believe Blob comes from JSDOM, and they should make sure it doesn't have any visible state differences that equals assertions will notice. Does this also happen with the Node.js assert module?

AFAIK Blob is only part of the web API and doesn't seem to be implemented in JSDOM

Then I'm not sure what this is about, Buffers?

Then I'm not sure what this is about, Buffers?

The issue is that you can't simply use === to check that two Blob objects are equal, you need to something like FileReader to read the contents of the Blob and compare that.

The part that I don't understand is if Blobs do not exist in Node.js or in JSDOM, how do you want to compare objects that do not exist using Jest?


Update periphery to use macOS 14

Update periphery to use macOS 14

Thanks for submitting a pull request!
We will review it as soon as possible.

Hey @0xWDG,
Thanks for your contribution.
Your PR has been merged!
Your name will appear on https://auroraeditor.com/#contributors in a few moments, if you have contributed to the editor.
Thanks again for your contribution!
Kind Regards,
Aurora Editor Team.


Fix rake tasks

Tried to run one of the rake tasks in Publish and it was complaining about structure of args. This PR introduces a couple of fixes:

Fixes rake task :import_all_entities, eg:

NameError: undefined local variable or method `entities_for_analytics' for main:Object

      entities_for_analytics.each do |entity_name|

Fixes rake task :import_entity to correctly destructure args otherwise we get:

ArgumentError: wrong number of arguments (given 1, expected 0; required keyword: entity_name)

Pins async gem to a version that hasn't been yanked

Also pinned the async gem to a version that hasn't been yanked, let me know if this is ok.

Just to add context, apply and register are still on Ruby 2.7.x, which is why despite the Ruby version being set to 3.1.2 in .tool-versions, we never encountered this error. The are also no tests for that slim bit of the code in the task.


Add optimism data queries

For project queries add the following:
export const fetchTotalDonors = `
  query (
    $fromDate: String
    $toDate: String
    $fromOptimism: Boolean
  ) {
    totalDonorsCountPerDate(
      fromDate: $fromDate
      toDate: $toDate
      fromOptimism: $fromOptimism
    ) {
      total
      totalPerMonthAndYear {
        total
        date
      }
    }
  }
`;

export const fetchTotalDonationsUsdAmount = `
  query (
    $fromDate: String
    $toDate: String
    $fromOptimism: Boolean
  ) {
    donationsTotalUsdPerDate (
      fromDate: $fromDate
      toDate: $toDate
      fromOptimism: $fromOptimism
    ) {
      total
      totalPerMonthAndYear {
        total
        date
      }
    }
  }
`;

export const fetchTotalDonationsNumberPerDateRange = `
  query (
    $fromDate: String
    $toDate: String
    $fromOptimism: Boolean
  ) {
    totalDonationsNumberPerDate (
      fromDate: $fromDate
      toDate: $toDate
      fromOptimism: $fromOptimism
    ) {
      total
      totalPerMonthAndYear {
        total
        date
      }
    }
  }
`;

export const fetchNewProjectsPerDate = `
  query (
    $fromDate: String
    $toDate: String
    $verified: Boolean
    $includesOptimism: Boolean
  ) {
    projectsPerDate(
      fromDate: $fromDate
      toDate: $toDate
      verified: $verified
      includesOptimism: $includesOptimism
    ) {
      total
      totalPerMonthAndYear {
        total
        date
      }
    }
  }
`;

@RamRamez  here are the same queries with the filters.


Bump to go version 1.20

          I guess even if the repo's go version is 1.19, we're still asking validators for BSR, for example, to run using 1.20. So, bumping this makes sense.

Also, proposing to bump the version in README to 1.20
Originally posted by @SweeXordious in https://github.com/celestiaorg/celestia-app/pull/1688#pullrequestreview-1410630230

We're not bound by the Go version celestia-node uses but just noting that they've upgraded to Go 1.20 too: https://github.com/celestiaorg/celestia-node/blob/4d31ad4a537e41b5ac588e14cf807904abbb8d8a/go.mod#L3


Current README.md is not reflective of webpack version

The current readme say that the instructions are for webpack:

The current instructions on this file reflect usage for the webpack version.

But when I follow the upgrade instructions:

Updating angular-cli
To update angular-cli to a new version, you must update both the global package and your project's local package.

Global package:

npm uninstall -g angular-cli
npm cache clean
npm install -g angular-cli@latest
Local project package:
rm -rf node_modules dist tmp
npm install --save-dev angular-cli@latest
ng init

It made my project use systemjs
when check the version of the cli:

ng -v

I get angular-cli: 1.0.0-beta.10
I've been using angular-cli@webpack since RC5 was released, and I keep seeing people say that the main branch now uses webpack. And even the readme says it is using webpack. But checking the npm site shows the last published version is still beta.10:
https://www.npmjs.com/package/angular-cli

Yeah that was confusing to me as well.

You're right that doing npm install -g angular-cli@latest will not give you the webpack release. It's not currently marked as latest since we're still ironing out a few kinks.
I understand it's confusing, and recognize that it's a bad thing, but we don't have a good way of having split documentation for beta.10, the webpack version, and the latest master at the same time so... this is what we have right now. The best I can do is to try and get the webpack release out and thus stabilize the readme, and until then explain the situation in issues as it comes up.


[WFLY-13023] Upgrade MicroProfile Config 1.4

Upgrade smallrye-config 1.6.0
Update the GAV of smallrye-config artifacts

JIRA: https://issues.redhat.com/browse/WFLY-13023

MicroProfile Config 1.4 Release Notes
smallrye-config 1.6.0 Release Notes

Dev analysis is at https://github.com/wildfly/wildfly-proposals/pull/285

Dependency Tree Analyzer Output:
New Dependencies:

io.smallrye.config:smallrye-config-common:jar:1.6.0:compile
io.smallrye.config:smallrye-config:jar:1.6.0:compile

Removed Dependencies:

io.smallrye:smallrye-config-common:jar:1.4.1:compile
io.smallrye:smallrye-config:jar:1.4.1:compile

CC @wildfly/prod

I put this PR on hold, WildFly integration test suite detected a regression in smallrye-config (tracked by https://github.com/smallrye/smallrye-config/issues/236)

@jmesnil Once this is ready please file the same change against the 19.0.x branch up move the 19.x label to that PR. Thanks!

@jmesnil I'm looking to new spec, and it contains this section:
Cleaning up a ConfigSource

If a ConfigSource implements the java.lang.AutoCloseable interface then the close() method will be called when the underlying Config is being released.

I call this code (in both deployment and standalone application):
        ConfigProviderResolver resolver = ConfigProviderResolver.instance();
        ConfigBuilder builder = resolver.getBuilder();
        Config config = builder.addDefaultSources().withSources(new CustomConfigSource()).build();
        resolver.releaseConfig(config);

And it seems that close method is not called. Can you please check it?

And it seems that close method is not called. Can you please check it?

Yes, that is correct. close is not called. David raised the issue in https://github.com/eclipse/microprofile-config/issues/136#issuecomment-535962313 and mention it in smallrye-config.

@jmesnil Is the same valid also for Converters? I don't see description of Converters in  https://github.com/eclipse/microprofile-config/issues/136
but spec contains this:
Cleaning up a Converter

If a Converter implements the java.lang.AutoCloseable interface then the close() method will be called when the underlying Config is being released.

That's correct, converters have the same issue than config source regarding to when and how they can be properly closed. That's a good point to mention converters in https://github.com/eclipse/microprofile-config/issues/136 too


SAK-49041 Messages advanced search is not consistent with the current listing

Private messages: Advanced search is not consistent with the current listing
https://sakaiproject.atlassian.net/browse/SAK-49041

calculateColumnClass added in 754fb7b0812acedc3fdcd8dc486d329eeb1e9139 SAK-49028


highlight typescript error

I can't highlight typescript code
export function create<T>(_constructor: { new(...args: Array<any>): T }): T {
    return new _constructor()
}

when exec hljs.highlight(code, 'typescript')

Hi, I'm afraid this information is insufficient for us to help you. The code snippet is highlighted as expected in highlight.js developer.
Can you provide a complete working example that shows the problem?

const code = `export function create<T>(_constructor: { new(...args: Array<any>): T }): T {
    return new _constructor()
}`;

hljs.highlight('typescript', code);

output (not highlight):
{
    r: 0
    value: "export function create<T>(_constructor: { new(...args: Array<any>): T }): T {\nreturn new _constructor()\n}"
}

const code = `export function create<T>(_constructor: { new(...args: Array<any>): T }): T {
    return new _constructor()
}`;
hljs.highlight('typescript', code, true);

output (this is what I want.):
{
    language: "typescript",
    r: 8,
    top: {aliases: Array(1), k: {…}, c: Array(18), compiled: true, lR: /\w+/gm, …},
    value: "export <span class=...",
}

For me hljs.highlight('typescript', code) returns what expected:
{
    language: "typescript"
    relevance: 9
    top: Object { aliases: (1) […], compiled: true, relevance: 1, … }
    value: "export function create<T>(_constructor: { new(...args: Array<any>): T }): T {\n    return new _constructor()\n}"
    <prototype>: Object { … }
}

Do you use the newest build? Can you see at least some typescript code highlighted?

Since this is working on the latest version (as confirmed by Egor) and there has been no response I'm closing this due to lack fo activity.  If this is still an issue please respond.


Multivalue control does not work In Test Plan

I just noticed that Multivalue control is not working when opening a work item from Test Plan, whereas it works perfectly from Azure Boards.
KO:

OK:

Thank you.

Thanks for reporting, we'll dig into this.

@Thilas I've tried both old and new boards hub with version 2.2.39 and it works fine on a test case both when opened from a test plan and from a query. Let us know if you still have problems with your setup.

I will close this issue. If you encounter the same problem again, please inform us.


hardcode matrix 'message', white spaces removal

message is set to "VarnaLab is a nice place, join us"

@simov, merge, merge :)

The initial message is kind of nice, I get your idea, here are my concerns:

This change makes the alphabet very small - only a few symbols
Each message (matrix drop) is identical
I want the matrix look more natural - random

I'm thinking about something better - display only 0 and 1 for the initial animation and then start random string drops using the cyrillic alphabet + the 0 and 1 here and there. I have something similar implemented.
What do you think?

https://youtu.be/H_ko9Gr8SQs
/cc @t0d0r
That was my idea. Although the rain drop animation should be slower IMO.

I just compiled all of my tests in this demo.
Check it out!

Rebased and merged only the clean command, also added .editorconfig file. This should fix the white spaces next time.
As for the initial matrix message I'll try to implement the ascii art that I showed you earlier. :+1:


[Event Modification] codeunit 12 "Gen. Jnl.-Post Line" - OnCalcPmtDiscOnAfterCalcPmtDisc()

Describe the request
        OnCalcPmtDiscOnAfterCalcPmtDisc(DtldCVLedgEntryBuf, OldCVLedgEntryBuf2, PmtDisc, PmtDiscLCY);
        OnCalcPmtDiscOnAfterCalcPmtDisc(DtldCVLedgEntryBuf, OldCVLedgEntryBuf2, PmtDisc, PmtDiscLCY, GenJnlLine); //CustPub

[IntegrationEvent(false, false)]
local procedure OnCalcPmtDiscOnAfterCalcPmtDisc(DtldCVLedgEntryBuf: Record "Detailed CV Ledg. Entry Buffer"; OldCVLedgEntryBuf2: Record "CV Ledger Entry Buffer"; var PmtDisc: Decimal; var PmtDiscLCY: Decimal; var GenJournalLine: Record "Gen. Journal Line") //CustPub
begin
end;

Additional context
Publisher request marked with //CustPub tag.
Additional parameter GenJournalLine by refrenceInternal work item: AB#494254

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 14819.


"OBJC_CLASS$_SVRadialGradientLayer" not found for architecture x86_64

I keep getting this issue since the new update this morning. I thought that adding QuartzCore.framework to our project would fix the issue but unfortunately it doesn't.
Here is the error log :
Undefined symbols for architecture x86_64:
"OBJC_CLASS$_SVRadialGradientLayer", referenced from:
objc-class-ref in SVProgressHUD-C90AE29E963210B5.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Are you using cocoapods?

I'm in such trouble.
I've cleaned my project and build folder, still no success.
iOS 9.0, Xcode 7.0 (7A220).
Undefined symbols for architecture x86_64:
"OBJC_CLASS$_SVRadialGradientLayer", referenced from:
objc-class-ref in SVProgressHUD.o
ld: symbol(s) not found for architecture x86_64
Investigating...

Now i've fixed it, and here is my solution.
I was using old SVProgressHUD version, added directly to my project source tree without any Pods.
I've updated only SVProgressHUD folder on disk with latest one.
Files in project source tree were: SVProgressHUD.* and SVIndefiniteAnimatedView.*
So the solution - is to re-add SVProgressHUD folder in source tree or just add missing files from new source (SVRadialGradientLayer.*).

Just had the same issue and the same resolution. This issue can probably be closed since it's really not the fault of SVProgressHUD.
And +1 for not using Cocoapods.

Hi, we are aware of a problem regarding the Podfile (e.g. #449). It seems that the SVProgressHUD.bundle is not copied to the "Copy Bundle Resources" Build Phase. Due to this continuing problem we are searching for someone that could check and help with this problem. We are not using Cocoapods on our own and are happy for pull request.

I also meet this issue, and solved it, like this:
I am using the most update version and today is 25,Jan, 2017
Solution:

Delete all SVProgressHUD files in your project, but you can leave your code.
Drag new SVProgressHUD folder into your xcode project, SELECT "Copy if needed" AND "Create Group", DO NOT check the "Create Group Reference"
Add related bundle and framework as offical usage said
Done 💯


Raspberry Pi 3

Hi,
I was wondering if it is possible to also build the rt-image for Raspberry Pi 3?
Running ROS 2 humble based on ubuntu 22.04 server seems to work very well although its not fully supported for the rpi 3 (especially with a faster ssd and a some swap).

have you tried to run this image? It is stated by Ubuntu that it works on the 2, 3, and 4.

Yes. I run this image and I immediately saw the improvement in real time.
Thank you!!

I think this is answered here: https://github.com/ros-realtime/ros-realtime-rpi4-image/issues/70


Add download button

A user emailed me this:

Include the option to save/download the images (original + converted) directly from the website. Currently we always take a screenshot of the converted images

For now, you should be able to download the images by right clicking and doing “Save Image As…”.
But indeed, a download button that does not require a right click would be good to have, I will work on it.


UC 25: As a developer, I want to be able to manage storage for a component in an easy way

As a developer, I want to be able to add storage to a component in an easy way, only requiring the common minimal information (type, size and path)
Storage scenarios:

Create storage
Update storage
Delete storage
Mount/Unmount storage

$ cd myapp
$ ocd create mongodb
$ ocd storage create [name] [--size=1GB] [--access=single/multi] [--path=/opt/data/mongodb] [--component=<name>]
-------------
$ ocd storage update [name] [--size=1GB] [--access=single/multi] [--path=/opt/data/mongodb] [--component]
-------------
$ ocd storage delete [name]
Do you really want to delete storage for component <name> (y/n)?
-------------
$ ocd storage mount [name] [--path=] [--component]
$ ocd storage umount [name] [--component]

NOTE: At least for Red Hat provided components the --path argument has to be optional.
Access defaults to “single”. Options single container access or multiple container access (a.k.a concurrent)
$ ocd storage create will create a PVC and mount it on the component
$ ocd storage umount will just unlink the pvc from the component but does not delete the volume or claim
$ ocd storage mount will link a pvc to a component at the specified path
$ ocd storage update while providing a new size should add additional GB to the current PVC.

we need to decompose this to smaller tasks

Again, see: https://github.com/redhat-developer/ocdev/issues/226 can we close this @kadel ?
(sorry for the copy paste, haha)

mount, unmount implemented
/close


picker_test.go does not compile on 32 bit platform

# github.com/docker/swarmkit/picker
picker/picker_test.go:201: constant<PHONE_NUMBER>854775807 overflows int
picker/picker_test.go:202: constant -9223372036854775808 overflows int

The code in question is:
        remotes.Observe(peers[1], math.MaxInt64)
        remotes.Observe(peers[2], math.MinInt64)

Should we change the constants in question to math.MaxInt32 / math.MinInt32 for portability? Or should we change the picker to use int64 instead of int?
cc @stevvooe

I'm pretty sure I'm supposed to be removing picker in favor of Balancer? How does this factor in?

The picker package will become a balancer package, but I expect this Observe function will live on in the balancer.

As far as I understand from cursory examination, this test doesn't rely on these numbers being the maximum or minimum possible, just that they are sufficiently far apart. I think changing those lines to math.MaxInt32 would be a sufficient and more portable fix.

@dperny Using math.MaxInt32 should be sufficient.
Observe may live on, but we should replace the negative aspects with calls to down on  https://godoc.org/google.golang.org/grpc#Balancer.

With Picker now stripped out, I'm gonna go make sure this is fixed today.


post job opening in README

Alert alert we are hiring alert alert.

Update: puzzle is now known to be solvable, got an application from one Dmitry Sagalovskiy so yeah that's one interview lined up already ;)


Parallel batch collection is significantly slower

The new .from_indexable is significantly slower for some reason.
n_jobs=4:
$ python lead_mmap.py
  0%|                   | 96/4774058 [04:12<3438:31:15,  2.59s/it]

serial from generator:
$ python lead_mmap.py
1617it [00:25, 63.87it/s]

parallel setup:
class DataLoader:
    def __init__(self, paths, raw_leads=True, wavetype="median"):
        self.paths = paths
        self.raw_leads = raw_leads
        self.wavetype = wavetype

    def __len__(self):
        return len(self.paths)

    def __getitem__(self, idx):
        path = self.paths[idx]
        try:
            ecg_array = read_ecg_leads(path, raw_leads=self.raw_leads, wavetype=self.wavetype)
        except Exception as e:
            logging.error(f"Error processing {ecg_path}: {e}")

        return ecg_array

dataloader = DataLoader(ecg_paths, raw_leads=True, wavetype="median")

memmap = RaggedMmap.from_indexable(
    '/home/jon/projects/ecg/ecg_db/ecg_mmaps/median_raw',
    dataloader,
    n_jobs=4,
    verbose=True,
    batch_size=24,
)

serial:
def lead_array_generator(ecg_paths, raw_leads=True, wavetype="median"):
    for ecg_path in ecg_paths:
        while True:
            try:
                yield read_ecg_leads(ecg_path, raw_leads, wavetype)
                break
            except Exception as e:
                logging.error(f"Error processing {ecg_path}: {e}")

memmap = RaggedMmap.from_generator(
    '/home/jon/projects/ecg/ecg_db/ecg_mmaps/median_raw',
    sample_generator=lead_array_generator(ecg_paths, raw_leads=True, wavetype="median"),
    batch_size=24,
    verbose=True,
)

Thanks for reporting this. I will investigate it as soon as I can


Update TypeScript to v3.8

This pull request makes several fixes related to types, which allows us to upgrade to the latest TypeScript version.
Most issues were around private/protected/public scope problems. I resolved some of them by refactoring the way we pass functions to the contstructor (e.g. tileUrlFunction). Now we simply rely on inheritance for that. A broader field of problems were the XML formats. Due to the way these allow matching and mixing properties and functions from other formats, I had to remove private/protected restrictions from these properties and functions.
This pull request also contains one commit that works around microsoft/TypeScript#33575, b0f20d6 to make npm run typecheck pass. We might be able to revert that commit when the TypeScript issue is fixed. Also, until that TypeScript issue is fixed, enum types in applications still do not work correctly.
When these changes are in, TypeScript projects can also benefit from the types that are directly derived from the sources in the package's src/ folder.

Wow.  Thanks for all the careful work on this, @ahocevar.
Odd not to see a CircleCI pipeline running for this.  I wonder if you need to push a new commit.


love the package, question about the multiple categories!

HI, package works great for one condition, but for two I was getting a bug - I worked around it by manually connecting the obs columns into one
adata.obs["one_two"] = adata.obs["one"].astype(str) +"_" +adata.obs["two"].astype(str)
but maybe its something that can be done in the code if you need it?
since I think that the dtype was somehow messing the multiple category function.
thanks!
MJ

hey @mjstrumillo - I'm sorry I'm getting back so late on this, but could you provide a minimal reproducible example of where this fails?
i.e. can you give me an example anndata where it breaks down?
thanks!


use Data.Map.keys in toList

Implements #29.

:+1:

Rebased against current master. @garyb can this be merged?

Sure, and thanks! Sorry, I totally missed this somehow.


Pickler fails with protocols higher than 0

This currently ends with some garbage being sent to the workers which proceed to crash on deserialization. You can reproduce this by adding serialization and deserialization callbacks in the application module or modifying wallaroo.py:
def serialize(o):
    return pickle.dumps(o, -1)

def deserialize(bs):
    return pickle.loads(bs)

This will fail since the serializer is picking the latest protocol (2 for this version of Python). It seems like we may have some code which depends on the pickling structure in some way.
There are a few advantages that come with using the newer but two important ones that come to mind are improved performance (esp. when paired with cPickle) and support for new style class features like __slots__, which will also cause serialization failures of a similar sort if they are on any classes we seralize, including state objects.

Closing and moving discussion to #2069.


Error when building SkiaSharp

Hello,
first let's say thank you for your incedible work.
I forked SkiaSharp and trying to compile it. Did everything like described on the README.md. When running the bootstrap I get an error:
Adding C:/Entwicklung/SkiaSharp/externals/depot_tools to Environment Variable PATH
Setting Environment Variable PATH to C:/Entwicklung/SkiaSharp/externals/depot_tools;...
Setting Environment Variable GYP_GENERATORS to msvs
Setting Environment Variable GYP_DEFINES to skia_arch_type='x86_64' skia_gpu=1
Running 'sync-and-gyp'...
        GYP_GENERATORS = msvs
        GYP_DEFINES = skia_arch_type='x86_64' skia_gpu=1
An error occured when executing task 'externals-uwp'.
Error: System could not find the given file

What do I wrong here? Missed I something?
Best regards,
Dirk

The above is what I getting, if I try to compile SkiaSharp on Windows.
When I try the same on Mac OSX, I get the following error:
Installing NuGet package Cake.FileHelpers...
Error downloading 'Cake.FileHelpers.<IP_ADDRESS> : Cake.Core [0.7.0, )' from 'https://www.nuget.org/api/v2/package/Cake.FileHelpers/<IP_ADDRESS>'.
The UTC time represented when the offset is applied must be between year 0 and 10,000.
Parameter name: offset
Error downloading 'Cake.FileHelpers.<IP_ADDRESS> : Cake.Core [0.7.0, )' from 'https://www.nuget.org/api/v2/package/Cake.FileHelpers/<IP_ADDRESS>'.
  The UTC time represented when the offset is applied must be between year 0 and 10,000.
  Parameter name: offset
Error: Cake.Core.CakeException: Failed to install addin 'Cake.FileHelpers'.
  at Cake.Core.Scripting.ScriptProcessor.InstallAddins (Cake.Core.Scripting.Analysis.ScriptAnalyzerResult analyzerResult, Cake.Core.IO.DirectoryPath installPath) [0x000ed] in <1abf81795771408db3eac07a98d2cbc1>:0
  at Cake.Core.Scripting.ScriptRunner.Run (Cake.Core.Scripting.IScriptHost host, Cake.Core.IO.FilePath scriptPath, System.Collections.Generic.IDictionary`2[TKey,TValue] arguments) [0x000c9] in <1abf81795771408db3eac07a98d2cbc1>:0
  at Cake.Commands.BuildCommand.Execute (Cake.CakeOptions options) [0x00026] in <fe9c776dd69a43a28368cc7f3cdd3a28>:0
  at Cake.CakeApplication.Run (Cake.CakeOptions options) [0x00027] in <fe9c776dd69a43a28368cc7f3cdd3a28>:0
  at Cake.Program.Main () [0x00086] in <fe9c776dd69a43a28368cc7f3cdd3a28>:0

It seems, that I have no luck with SkiaSharp :)

@charlenni thanks for trying this out.
On Windows, did you init the submodules? The externals folder should have two large folders: skia and depot_tools. I think it can't actually find skia to build.
On Mac, that is a problem that I am trying to solve. Although I don't have this issue with that part of the build script, mine occurs when building the source. It appears Microsoft changed something with NuGet and there was a bug in mono. These two together create issues for some packages when you restore in a +# timezone: https://github.com/NuGet/Home/issues/3089 (there are a few others).
To get around this issue, you can either drop your timezone to a -#. Or, you can manually download and extract the https://www.nuget.org/packages/Cake.FileHelpers/ NuGet into the /tools/Addins/Cake.FileHelpers directory. A real pain, but at least you only have to do it once. (I just drop the TZ)
I am using mono v4.6.1:
$ mono --version

Mono JIT compiler version 4.6.1 (mono-4.6.0-branch-c8sr0/ef43c15 Mon Oct  3 14:35:32 EDT 2016)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
	TLS:           normal
	SIGSEGV:       altstack
	Notification:  kqueue
	Architecture:  x86
	Disabled:      none
	Misc:          softdebug
	LLVM:          yes(3.6.0svn-mono-master/8b1520c)
	GC:            sgen

And NuGet v3.4.4 (in the /tools/nuget.exe):
$ mono ./tools/nuget.exe

NuGet Version: <IP_ADDRESS>1

Am 08.11.2016 um 19:35 schrieb Matthew Leibowitz:

@charlenni https://github.com/charlenni thanks for trying this out.
On Windows, did you init the submodules? The |externals| folder should
have two large folders: |skia| and |depot_tools|. I think it can't
actually find skia to build.

Yes, I init the submodules. And both folders are present and filled.
depot_tools has a size around 10 MB, skia has a size of around 50 MB.

On Mac, that is a problem that I am trying to solve. Although I don't
have this issue with that part of the build script, mine occurs when
building the source. It appears Microsoft changed something with NuGet
and there was a bug in mono. These two together create issues for some
packages when you restore in a +# timezone: NuGet/Home#3089
https://github.com/NuGet/Home/issues/3089 (there are a few others).
To get around this issue, you can either drop your timezone to a -#.
Or, you can manually download and extract the
https://www.nuget.org/packages/Cake.FileHelpers/ NuGet into the
|/tools/Addins/Cake.FileHelpers| directory. A real pain, but at least
you only have to do it once. (I just drop the TZ)

I will try this. Very strange problem :)

I am using mono v4.6.1:
|$ mono --version Mono JIT compiler version 4.6.1
(mono-4.6.0-branch-c8sr0/ef43c15 Mon Oct 3 14:35:32 EDT 2016)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors.
www.mono-project.com TLS: normal SIGSEGV: altstack Notification:
kqueue Architecture: x86 Disabled: none Misc: softdebug LLVM:
yes(3.6.0svn-mono-master/8b1520c) GC: sgen |
And NuGet v3.4.4 (in the |/tools/nuget.exe|):
|$ mono ./tools/nuget.exe NuGet Version: <IP_ADDRESS>1 |
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mono/SkiaSharp/issues/188#issuecomment-259220388,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AELaJ2MWqvq9ZXDFmPqSVMkGqIb382rCks5q8MDogaJpZM4KsehM.

@charlenni Just remembered... Do you have Python 2.x installed and available in your PATH variable. On Windows.


Add crude rate limiter

Pull Request
Related issue
Related to #3126 (rate limiting)
What does this PR do?

Add 3 rate limiters to the search route:

Global rate limiter that limits the total number of search requests regardless of their origin
IP rate limiter that limits the number of search requests per IP address of origin
API key rate limiter that limits the number of search requests per API key used in the request

Add a new set of --rate-limiting-* options to configure the rate limiters (enabled? pool size? cooldown duration?)

Notes on the implementation

Actix Governor does not behave as expected: for example with cargo run --release -- --rate-limiting-api-key-pool 1 --rate-limiting-api-key-cooldown-ns<PHONE_NUMBER>0 I would expect that any request past the first one would be blocked for 50s, but this is not what happens: even at startup I'm allowed to send up to 8 requests, and then I have to wait for about 45s... Not sure where the fault lies here.
For API keys, all requests without an API key are put in the same rate-limiting bucket. It would be better to disable the rate limiter when there is no API key but actix governor does not give this level of control. We could maybe imply --rate-limiting-disable-api-key when no Master Key was provided 🤔 .
The cooldown is in ns, which is not very practical but might be necessary to allow maximum control. Alternatives involve somehow parsing a "human-readable" duration to allow for a --rate-limiting-cooldown 4s, which the std doesn't allow.

PR checklist
Please check if your PR fulfills the following requirements:

[x] Does this PR fix an existing issue, or have you listed the changes applied in the PR description (and why they are needed)?
[x] Have you read the contributing guidelines?
[x] Have you made sure that the title is accurate and descriptive of the changes?

Thank you so much for contributing to Meilisearch!

API key rate limiter that limits the number of search requests per API key used in the request

I'm not sure I see the point of this limitation?
In which case should we use it?

Global rate limiter that limits the total number of search requests regardless of their origin
IP rate limiter that limits the number of search requests per IP address of origin

Personally, I think :one: is a bad idea and should be defined by meilisearch itself considering your number of cores / RAM and the number of searches currently running.
I don't see the point of limiting your meilisearch instance globally, and also, if the global rate limiter <= IP rate limiter, then one user can completely DOS your meilisearch instance by using all the available spots.
On the other hand, I think :two: is great, but if set too low could bring a horrendous experience, like getting results while you type and then getting locked at the end or before the end of your word and thus getting zero results once you gave the most complete query.
That's terrible for a search-as-you-type engine 😔
I think it's a good idea to have it, but we should be clear that its value should be quite high because 50ms could be dramatic with the current engine.
Once we implement the shortcut to return faster results, if we can ensure that we're always going to answer in less than 50ms then it'll become even more useful I think.

[about API key limitation]
I'm not sure I see the point of this limitation?
In which case should we use it?

Limiting API key usage is useful in a scheme where a different API key is distributed to each user. This allows authenticating a user with more precisions than the IP (I'll develop this point further in a minute).

[About global rate limiter]
Personally, I think 1⃣ is a bad idea and should be defined by meilisearch itself considering your number of cores / RAM and the number of searches currently running.
I don't see the point of limiting your meilisearch instance globally, and also, if the global rate limiter <= IP rate limiter, then one user can completely DOS your meilisearch instance by using all the available spots.

I think it is possible that we actually agree here.

I don't see the point of limiting your meilisearch instance globally

The point is to control what happens when the instance is overloaded in a more graceful manner. When there is no global rate limiting, an instance overload will result in an OOM kill, or being limited in CPU and answering very slowly to requests. In legitimate bursts of usage, I think it might lead lower maintenance load to outright reject a small number of requests than to have the instance crash and starts rejecting all requests.

should be defined by meilisearch itself considering your number of cores / RAM and the number of searches currently running.

Ideally, it should be the case, and maybe we can set the defaults according to these metrics, but in general, it only works when the computing resources are dedicated to Meilisearch which is not necessarily the case, so a manual level of control can be a welcome escape hatch. Also, I don't personally know how to convert CPU/RAM resources to the correct maximum number of "in flight" requests.

if the global rate limiter <= IP rate limiter

absolutely, maybe we should error or warn in this case?

On the other hand, I think [IP rate limiting] is great

IP rate limiting has very serious limitations, some of which I think I stated in my rate limiting survey. To restate in a more condensed form:

Main issue is when the instance is behind a reverse proxy of some form: it will only see the IP of the proxy and so become a de facto global limiter. There are workaround (not implemented here) based on the forwarded from header, but they require the reverse proxy to rewrite this header as the end user might "lie" on the header in their request.
In a DoS attack using Tor, even a single attacker will appear as many IPs (each per Tor endpoint used in the attack), defeating the purpose of IP rate limiting. zulip for instance provides a mitigation by downloading a list of Tor endpoint and handling them as a single IP. We might consider this mitigation if needs be.

Hence the motivation to provide an alternative mechanism such as the API key rate limiter. If we can think of other, more convenient mechanisms, I think it would be good too.

I think it's a good idea to have it, but we should be clear that its value should be quite high because 50ms could be dramatic with the current engine.

I'm not sure I understand that sentence, sorry. To give some context, with the rate limiter as implemented, each IP starts with a pool of 200 requests, and that pool is replenished by 1 request every 50ms. This appears sufficient to me to address the "interactive usage" use case (maybe not if the user just presses "aaaaaaaaaaaaaaaaa" in the form, but I guess in that case, we probably don't want to send that many requests?)

@Kerollmops

I like what you've done in this PR.

Thanks! I must emphasize that the rate-limiter does not behave as I expected it to, though... as described in the "Notes on the implementation" in the description above

About the parameters that can't be higher than others, why can't we clamp them to the lowest number and always log the retained values instead of warning the user in the log? Not sure if we prefer to have a silent behavior 🤔

I think we can do both: [WARNING]Using the global rate limiting pool value (:globalValue) for the per IP rate limiting pool value (:ipValue) because it doesn't make sense to globally restrict more than per IP or something more elegant.

About supporting human readable durations, isn't there an equivalent to byte-unit on crates.io? Something able to parse: 5h30m20s, 5M4d30h.

I found https://lib.rs/crates/duration-str and https://lib.rs/crates/parse_duration but didn't bother to vet them for a first iteration.

Also, I don't know if being able to specify nanosecond-precise duration is important. Milliseconds or even simple seconds would be enough.

I must stress that the duration is the necessary duration to replenish 1 request from the pool. Having it specified in seconds means that users would be unable to replenish, e.g. the 200-request pool before 1 minute and 4à seconds, which seems too much for me.

Thanks! I must emphasize that the rate-limiter does not behave as I expected it to, though... as described in the "Notes on the implementation" in the description above

Yup, I noticed and this is the reason why we will not merge this PR in v1 😂

I found https://lib.rs/crates/duration-str and https://lib.rs/crates/parse_duration but didn't bother to vet them for a first iteration.

We found https://lib.rs/crates/humantime-serde that was looking pretty good too!

Having it specified in seconds means that users would be unable to replenish, e.g. the 200-request pool before 1 minute and 4à seconds, which seems too much for me.

Indeed, but having a millisecond precision would be enough.

closing old PR that's likely unmergeable as is, and less relevant today


update helmi examples

Proposed changes

update helmi examples
update software versions
preview page

Checklist before requesting a review

[x] I have followed the instructions in the Contributing and Styleguide documents.
[x] My pull request passes all tests.
[x] I have included a link to the appropriate preview page (select your branch from the list).

Please also change these files:

Helmi specs
Opening hours for fiqci partition scontrol show reservations | grep q_fiqci shows no reservation


Final pass on platformization

@djwfyi can you pull this and just confirm that on a fast pass things look OK? these are largely non-material changes


'fastlane ios beta' fails on deliver step

When running fastlane ios beta I run into this error on the deliver step:
[15:51:42]: ---------------------
[15:51:42]: --- Step: deliver ---
[15:51:42]: ---------------------
[15:51:42]: You passed invalid parameters to 'deliver'.
[15:51:42]: Check out the error below and available options by running `fastlane action deliver`
[15:51:42]: Variable Dump:
[15:51:42]: {:DEFAULT_PLATFORM=>:ios, :PLATFORM_NAME=>:ios, :LANE_NAME=>"ios beta", :BUILD_NUMBER=>"39", :IPA_OUTPUT_PATH=>"/Users/esauter/Code/Peach/DropBot/DropBot.ipa", :DSYM_OUTPUT_PATH=>"/Users/esauter/Code/Peach/DropBot/DropBot.app.dSYM.zip", :SIGH_PROFILE_PATH=>"/Users/esauter/Code/Peach/DropBot/AppStore_com.joinpeach.dropbot.mobileprovision", :SIGH_PROFILE_PATHS=>["/Users/esauter/Code/Peach/DropBot/AppStore_com.joinpeach.dropbot.mobileprovision"], :SIGH_UDID=>"1f391148-c8de-463c-9f23-118d377aeeb9", :SIGH_PROFILE_TYPE=>"app-store"}
[15:51:42]: Could not find option 'beta' in the list of available options: username, app_identifier, app, ipa, metadata_path, screenshots_path, app_version, skip_metadata, force, submit_for_review, automatic_release, price_tier, app_rating_config_path, submission_information, app_icon, apple_watch_app_icon, copyright, primary_category, secondary_category, app_review_information, description, name, keywords, release_notes, privacy_url, support_url, marketing_url

According to the log when fastlane finishes, the error comes from
/usr/local/var/rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/fastlane_core-0.18.2/lib/fastlane_core/configuration/configuration.rb:52:in `block in verify_value_exists'
I updated fastlane, fastlane_core, deliver, and initialized a new Deliverfile as suggested in other issues
running:
fastlane 1.30.1
lastlane_core 0.18.2
deliver 1.1.0

Thanks for any insight you can provide!

You forgot to share your Fastfile configuration :wink:

Haha since I posted I realized that! According to the migration guide deliver beta has been removed. In my Fastfile I have
  lane :beta do
    #snapshot
    sigh
    deliver(beta: true)

    # sh "your_script.sh"
    # You can also use other beta testing services here
  end

so I'm guessing deliver(beta: true) is the source of the issue and I should be using pilot now instead. looking into pilot now

replaced deliver(beta: true) with pilot in my Fastfile and all is well. I should dig a little deeper next time before opening an issue :smile:

Yeah, great to hear :+1:


[sniffer-fixer-to-ecs-converter] Unable to install

PHP: 7.4.3 on Ubuntu WSL 2
Composer: 2.0.8

I've tried to follow the directions as described in the README, but I am getting a couple errors:

Skipped installation of bin bin/sniffer-fixer-to-ecs-conveter for package symplify/sniffer-fixer-to-ecs-converter: file not found in package
An error during the "dump autoload" step[ErrorException]
require(/home/spaceemotion/code/xxxxxx/backend/vendor/composer/../symplify/sniffer-fixer-to-ecs-converter/vendor/squizlabs/php_codesniffer/autoload.php): failed to open stream: No such file or directory

So far I've tried:

rm -rf vendor vendor && composer install --no-cache
Execute the binary by hand (same error)

The error seems to be
https://github.com/symplify/symplify/blob/b073cc3b2436b5d430982c9d5c763282f2612eca/packages/sniffer-fixer-to-ecs-converter/composer.json#L30
as it requires the file being present

Adding an empty file at the expected location (after running composer require with --no-scripts) the autoloading worked again.
However, simply passing phpcs.xml did not work, as it was missing the path (I am using a fish shell), so I had to this:
$ vendor/symplify/sniffer-fixer-to-ecs-converter/bin/sniffer-fixer-to-ecs-converter convert phpcs.xml -vvv

In Filesystem.php line 654:

  [Symfony\Component\Filesystem\Exception\IOException]
  Unable to write to the "/" directory.

$ vendor/symplify/sniffer-fixer-to-ecs-converter/bin/sniffer-fixer-to-ecs-converter convert (pwd)/phpcs.xml

 [OK] "/home/spaceemotion/code/xxxx/backend/phpcs.xml" was converted into
      "/home/spaceemotion/code/xxxx/backend/converted-ecs.php"

Hi,
thanks for reporting.
How was the package installed?

It should be run as:
vendor/bin/sniffer-fixer-to-ecs-conveter

The "vendor/squizlabs/php_codesniffer/autoload.php"  should be there, as this package depends on PHP_CodeSniffer: https://github.com/symplify/symplify/blob/b073cc3b2436b5d430982c9d5c763282f2612eca/packages/sniffer-fixer-to-ecs-converter/composer.json#L17

Thanks for the quick reply. I've installed it into an existing project with PHP_CodeSniffer already set up.
I followed the README, but for some reason I got the "skipped installation of bin...." error during install - thus the file was not copied.
The project this was tested on is private, but I've repeated the same steps (with php 7.4 and composer v2) on one of my public repos:

clone https://github.com/spaceemotion/laravel-event-sourcing
composer install
Follow the README of your converter:

composer require symplify/sniffer-fixer-to-ecs-converter --dev
vendor/bin/sniffer-fixer-to-ecs-converter convert phpcs.xml

You should get the same errors as described above:
spaceemotion@NOSTROMO ~/code> git clone git@github.com:spaceemotion/laravel-event-sourcing.git
Cloning into 'laravel-event-sourcing'...
remote: Enumerating objects: 857, done.
remote: Counting objects: 100% (857/857), done.
remote: Compressing objects: 100% (430/430), done.
remote: Total 857 (delta 573), reused 679 (delta 398), pack-reused 0
Receiving objects: 100% (857/857), 108.79 KiB | 225.00 KiB/s, done.
Resolving deltas: 100% (573/573), done.
spaceemotion@NOSTROMO ~/code> cd laravel-event-sourcing/
spaceemotion@NOSTROMO ~/c/laravel-event-sourcing (master)> composer install
No lock file found. Updating dependencies instead of installing from lock file. Use composer update over composer install if you do not have a lock file.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 122 installs, 0 updates, 0 removals
  - Locking aws/aws-sdk-php (3.169.0)
  - Locking brick/math (0.9.1)
  - Locking composer/ca-bundle (1.2.8)
  - Locking composer/composer (2.0.8)
  - Locking composer/semver (3.2.4)
  - Locking composer/spdx-licenses (1.5.5)
  - Locking composer/xdebug-handler (1.4.5)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v0.7.1)
  - Locking doctrine/inflector (2.0.3)
  - Locking doctrine/instantiator (1.4.0)
  - Locking doctrine/lexer (1.2.1)
  - Locking dragonmantank/cron-expression (v2.3.1)
  - Locking egulias/email-validator (2.1.24)
  - Locking escapestudios/symfony2-coding-standard (3.11.0)
  - Locking fakerphp/faker (v1.12.1)
  - Locking guzzlehttp/guzzle (7.2.0)
  - Locking guzzlehttp/promises (1.4.0)
  - Locking guzzlehttp/psr7 (1.7.0)
  - Locking hamcrest/hamcrest-php (v2.0.1)
  - Locking justinrainbow/json-schema (5.2.10)
  - Locking laravel/framework (v7.30.0)
  - Locking league/commonmark (1.5.7)
  - Locking league/flysystem (1.1.3)
  - Locking league/mime-type-detection (1.5.1)
  - Locking mockery/mockery (1.4.2)
  - Locking monolog/monolog (2.2.0)
  - Locking mtdowling/jmespath.php (2.6.0)
  - Locking myclabs/deep-copy (1.10.2)
  - Locking nesbot/carbon (2.42.0)
  - Locking nikic/php-parser (v4.10.3)
  - Locking nunomaduro/larastan (v0.5.8)
  - Locking opis/closure (3.6.1)
  - Locking orchestra/testbench (v5.11.0)
  - Locking orchestra/testbench-core (v5.11.0)
  - Locking pdepend/pdepend (2.8.0)
  - Locking phar-io/manifest (2.0.1)
  - Locking phar-io/version (3.0.4)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.2.2)
  - Locking phpdocumentor/type-resolver (1.4.0)
  - Locking phpmd/phpmd (2.9.1)
  - Locking phpoption/phpoption (1.7.5)
  - Locking phpspec/prophecy (1.12.1)
  - Locking phpstan/phpdoc-parser (0.4.9)
  - Locking phpstan/phpstan (0.12.62)
  - Locking phpstan/phpstan-deprecation-rules (0.12.6)
  - Locking phpstan/phpstan-mockery (0.12.11)
  - Locking phpstan/phpstan-phpunit (0.12.17)
  - Locking phpstan/phpstan-strict-rules (0.12.7)
  - Locking phpunit/php-code-coverage (9.2.5)
  - Locking phpunit/php-file-iterator (3.0.5)
  - Locking phpunit/php-invoker (3.1.1)
  - Locking phpunit/php-text-template (2.0.4)
  - Locking phpunit/php-timer (5.0.3)
  - Locking phpunit/phpunit (9.5.0)
  - Locking psr/container (1.0.0)
  - Locking psr/event-dispatcher (1.0.0)
  - Locking psr/http-client (1.0.1)
  - Locking psr/http-message (1.0.1)
  - Locking psr/log (1.1.3)
  - Locking psr/simple-cache (1.0.1)
  - Locking ralouphie/getallheaders (3.0.3)
  - Locking ramsey/collection (1.1.1)
  - Locking ramsey/uuid (4.1.1)
  - Locking react/promise (v2.8.0)
  - Locking sebastian/cli-parser (1.0.1)
  - Locking sebastian/code-unit (1.0.8)
  - Locking sebastian/code-unit-reverse-lookup (2.0.3)
  - Locking sebastian/comparator (4.0.6)
  - Locking sebastian/complexity (2.0.2)
  - Locking sebastian/diff (4.0.4)
  - Locking sebastian/environment (5.1.3)
  - Locking sebastian/exporter (4.0.3)
  - Locking sebastian/global-state (5.0.2)
  - Locking sebastian/lines-of-code (1.0.3)
  - Locking sebastian/object-enumerator (4.0.4)
  - Locking sebastian/object-reflector (2.0.4)
  - Locking sebastian/recursion-context (4.0.4)
  - Locking sebastian/resource-operations (3.0.3)
  - Locking sebastian/type (2.3.1)
  - Locking sebastian/version (3.0.2)
  - Locking seld/jsonlint (1.8.3)
  - Locking seld/phar-utils (1.1.1)
  - Locking slevomat/coding-standard (6.4.1)
  - Locking squizlabs/php_codesniffer (3.5.8)
  - Locking swiftmailer/swiftmailer (v6.2.4)
  - Locking symfony/config (v5.2.0)
  - Locking symfony/console (v5.2.0)
  - Locking symfony/css-selector (v5.2.0)
  - Locking symfony/dependency-injection (v5.2.0)
  - Locking symfony/deprecation-contracts (v2.2.0)
  - Locking symfony/error-handler (v5.2.0)
  - Locking symfony/event-dispatcher (v5.2.0)
  - Locking symfony/event-dispatcher-contracts (v2.2.0)
  - Locking symfony/filesystem (v5.2.0)
  - Locking symfony/finder (v5.2.0)
  - Locking symfony/http-client-contracts (v2.3.1)
  - Locking symfony/http-foundation (v5.2.0)
  - Locking symfony/http-kernel (v5.2.0)
  - Locking symfony/mime (v5.2.0)
  - Locking symfony/polyfill-ctype (v1.20.0)
  - Locking symfony/polyfill-iconv (v1.20.0)
  - Locking symfony/polyfill-intl-grapheme (v1.20.0)
  - Locking symfony/polyfill-intl-idn (v1.20.0)
  - Locking symfony/polyfill-intl-normalizer (v1.20.0)
  - Locking symfony/polyfill-mbstring (v1.20.0)
  - Locking symfony/polyfill-php72 (v1.20.0)
  - Locking symfony/polyfill-php73 (v1.20.0)
  - Locking symfony/polyfill-php80 (v1.20.0)
  - Locking symfony/process (v5.2.0)
  - Locking symfony/routing (v5.2.0)
  - Locking symfony/service-contracts (v2.2.0)
  - Locking symfony/string (v5.2.0)
  - Locking symfony/translation (v5.2.0)
  - Locking symfony/translation-contracts (v2.3.0)
  - Locking symfony/var-dumper (v5.2.0)
  - Locking symfony/yaml (v5.2.0)
  - Locking theseer/tokenizer (1.2.0)
  - Locking tijsverkoyen/css-to-inline-styles (2.2.3)
  - Locking vlucas/phpdotenv (v4.1.8)
  - Locking voku/portable-ascii (1.5.6)
  - Locking webmozart/assert (1.9.1)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 122 installs, 0 updates, 0 removals
  - Downloading nunomaduro/larastan (v0.5.8)
  - Downloading orchestra/testbench-core (v5.11.0)
  - Downloading orchestra/testbench (v5.11.0)
  - Installing squizlabs/php_codesniffer (3.5.8): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v0.7.1): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.20.0): Extracting archive
  - Installing mtdowling/jmespath.php (2.6.0): Extracting archive
  - Installing ralouphie/getallheaders (3.0.3): Extracting archive
  - Installing psr/http-message (1.0.1): Extracting archive
  - Installing guzzlehttp/psr7 (1.7.0): Extracting archive
  - Installing guzzlehttp/promises (1.4.0): Extracting archive
  - Installing psr/http-client (1.0.1): Extracting archive
  - Installing guzzlehttp/guzzle (7.2.0): Extracting archive
  - Installing aws/aws-sdk-php (3.169.0): Extracting archive
  - Installing composer/ca-bundle (1.2.8): Extracting archive
  - Installing composer/semver (3.2.4): Extracting archive
  - Installing composer/spdx-licenses (1.5.5): Extracting archive
  - Installing doctrine/inflector (2.0.3): Extracting archive
  - Installing doctrine/lexer (1.2.1): Extracting archive
  - Installing dragonmantank/cron-expression (v2.3.1): Extracting archive
  - Installing escapestudios/symfony2-coding-standard (3.11.0): Extracting archive
  - Installing hamcrest/hamcrest-php (v2.0.1): Extracting archive
  - Installing justinrainbow/json-schema (5.2.10): Extracting archive
  - Installing league/commonmark (1.5.7): Extracting archive
  - Installing league/mime-type-detection (1.5.1): Extracting archive
  - Installing league/flysystem (1.1.3): Extracting archive
  - Installing psr/log (1.1.3): Extracting archive
  - Installing monolog/monolog (2.2.0): Extracting archive
  - Installing symfony/translation-contracts (v2.3.0): Extracting archive
  - Installing symfony/polyfill-php80 (v1.20.0): Extracting archive
  - Installing symfony/translation (v5.2.0): Extracting archive
  - Installing nesbot/carbon (2.42.0): Extracting archive
  - Installing symfony/process (v5.2.0): Extracting archive
  - Installing phpstan/phpstan (0.12.62): Extracting archive
  - Installing mockery/mockery (1.4.2): Extracting archive
  - Installing voku/portable-ascii (1.5.6): Extracting archive
  - Installing symfony/polyfill-ctype (v1.20.0): Extracting archive
  - Installing phpoption/phpoption (1.7.5): Extracting archive
  - Installing vlucas/phpdotenv (v4.1.8): Extracting archive
  - Installing symfony/css-selector (v5.2.0): Extracting archive
  - Installing tijsverkoyen/css-to-inline-styles (2.2.3): Extracting archive
  - Installing symfony/var-dumper (v5.2.0): Extracting archive
  - Installing symfony/deprecation-contracts (v2.2.0): Extracting archive
  - Installing symfony/routing (v5.2.0): Extracting archive
  - Installing symfony/polyfill-php73 (v1.20.0): Extracting archive
  - Installing symfony/polyfill-php72 (v1.20.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.20.0): Extracting archive
  - Installing symfony/polyfill-intl-idn (v1.20.0): Extracting archive
  - Installing symfony/mime (v5.2.0): Extracting archive
  - Installing symfony/http-foundation (v5.2.0): Extracting archive
  - Installing symfony/http-client-contracts (v2.3.1): Extracting archive
  - Installing psr/event-dispatcher (1.0.0): Extracting archive
  - Installing symfony/event-dispatcher-contracts (v2.2.0): Extracting archive
  - Installing symfony/event-dispatcher (v5.2.0): Extracting archive
  - Installing symfony/error-handler (v5.2.0): Extracting archive
  - Installing symfony/http-kernel (v5.2.0): Extracting archive
  - Installing symfony/finder (v5.2.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.20.0): Extracting archive
  - Installing symfony/string (v5.2.0): Extracting archive
  - Installing psr/container (1.0.0): Extracting archive
  - Installing symfony/service-contracts (v2.2.0): Extracting archive
  - Installing symfony/console (v5.2.0): Extracting archive
  - Installing symfony/polyfill-iconv (v1.20.0): Extracting archive
  - Installing egulias/email-validator (2.1.24): Extracting archive
  - Installing swiftmailer/swiftmailer (v6.2.4): Extracting archive
  - Installing ramsey/collection (1.1.1): Extracting archive
  - Installing brick/math (0.9.1): Extracting archive
  - Installing ramsey/uuid (4.1.1): Extracting archive
  - Installing psr/simple-cache (1.0.1): Extracting archive
  - Installing opis/closure (3.6.1): Extracting archive
  - Installing laravel/framework (v7.30.0): Extracting archive
  - Installing symfony/filesystem (v5.2.0): Extracting archive
  - Installing seld/phar-utils (1.1.1): Extracting archive
  - Installing seld/jsonlint (1.8.3): Extracting archive
  - Installing react/promise (v2.8.0): Extracting archive
  - Installing composer/xdebug-handler (1.4.5): Extracting archive
  - Installing composer/composer (2.0.8): Extracting archive
  - Installing nunomaduro/larastan (v0.5.8): Extracting archive
  - Installing sebastian/version (3.0.2): Extracting archive
  - Installing sebastian/type (2.3.1): Extracting archive
  - Installing sebastian/resource-operations (3.0.3): Extracting archive
  - Installing sebastian/recursion-context (4.0.4): Extracting archive
  - Installing sebastian/object-reflector (2.0.4): Extracting archive
  - Installing sebastian/object-enumerator (4.0.4): Extracting archive
  - Installing sebastian/global-state (5.0.2): Extracting archive
  - Installing sebastian/exporter (4.0.3): Extracting archive
  - Installing sebastian/environment (5.1.3): Extracting archive
  - Installing sebastian/diff (4.0.4): Extracting archive
  - Installing sebastian/comparator (4.0.6): Extracting archive
  - Installing sebastian/code-unit (1.0.8): Extracting archive
  - Installing sebastian/cli-parser (1.0.1): Extracting archive
  - Installing phpunit/php-timer (5.0.3): Extracting archive
  - Installing phpunit/php-text-template (2.0.4): Extracting archive
  - Installing phpunit/php-invoker (3.1.1): Extracting archive
  - Installing phpunit/php-file-iterator (3.0.5): Extracting archive
  - Installing theseer/tokenizer (1.2.0): Extracting archive
  - Installing nikic/php-parser (v4.10.3): Extracting archive
  - Installing sebastian/lines-of-code (1.0.3): Extracting archive
  - Installing sebastian/complexity (2.0.2): Extracting archive
  - Installing sebastian/code-unit-reverse-lookup (2.0.3): Extracting archive
  - Installing phpunit/php-code-coverage (9.2.5): Extracting archive
  - Installing webmozart/assert (1.9.1): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing phpdocumentor/type-resolver (1.4.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.2.2): Extracting archive
  - Installing doctrine/instantiator (1.4.0): Extracting archive
  - Installing phpspec/prophecy (1.12.1): Extracting archive
  - Installing phar-io/version (3.0.4): Extracting archive
  - Installing phar-io/manifest (2.0.1): Extracting archive
  - Installing myclabs/deep-copy (1.10.2): Extracting archive
  - Installing phpunit/phpunit (9.5.0): Extracting archive
  - Installing symfony/yaml (v5.2.0): Extracting archive
  - Installing fakerphp/faker (v1.12.1): Extracting archive
  - Installing orchestra/testbench-core (v5.11.0): Extracting archive
  - Installing orchestra/testbench (v5.11.0): Extracting archive
  - Installing symfony/dependency-injection (v5.2.0): Extracting archive
  - Installing symfony/config (v5.2.0): Extracting archive
  - Installing pdepend/pdepend (2.8.0): Extracting archive
  - Installing phpmd/phpmd (2.9.1): Extracting archive
  - Installing phpstan/phpstan-deprecation-rules (0.12.6): Extracting archive
  - Installing phpstan/phpstan-mockery (0.12.11): Extracting archive
  - Installing phpstan/phpstan-phpunit (0.12.17): Extracting archive
  - Installing phpstan/phpstan-strict-rules (0.12.7): Extracting archive
  - Installing phpstan/phpdoc-parser (0.4.9): Extracting archive
  - Installing slevomat/coding-standard (6.4.1): Extracting archive
57 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
86 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
PHP CodeSniffer Config installed_paths set to ../../escapestudios/symfony2-coding-standard,../../slevomat/coding-standard
spaceemotion@NOSTROMO ~/c/laravel-event-sourcing (master)> composer require symplify/sniffer-fixer-to-ecs-converter --dev
Using version ^9.0 for symplify/sniffer-fixer-to-ecs-converter
./composer.json has been updated
Running composer update symplify/sniffer-fixer-to-ecs-converter
Loading composer repositories with package information
Updating dependencies
Lock file operations: 18 installs, 0 updates, 0 removals
  - Locking doctrine/annotations (1.11.1)
  - Locking friendsofphp/php-cs-fixer (v2.17.1)
  - Locking nette/finder (v2.5.2)
  - Locking nette/neon (v3.2.1)
  - Locking nette/robot-loader (v3.3.1)
  - Locking nette/utils (v3.2.0)
  - Locking php-cs-fixer/diff (v1.3.1)
  - Locking symfony/options-resolver (v5.2.0)
  - Locking symfony/polyfill-php70 (v1.20.0)
  - Locking symfony/stopwatch (v5.2.0)
  - Locking symplify/autowire-array-parameter (9.0.9)
  - Locking symplify/composer-json-manipulator (9.0.9)
  - Locking symplify/easy-testing (9.0.9)
  - Locking symplify/package-builder (9.0.9)
  - Locking symplify/php-config-printer (9.0.9)
  - Locking symplify/smart-file-system (9.0.9)
  - Locking symplify/sniffer-fixer-to-ecs-converter (9.0.9)
  - Locking symplify/symplify-kernel (9.0.9)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 18 installs, 0 updates, 0 removals
  - Installing doctrine/annotations (1.11.1): Extracting archive
  - Installing nette/utils (v3.2.0): Extracting archive
  - Installing nette/finder (v2.5.2): Extracting archive
  - Installing nette/neon (v3.2.1): Extracting archive
  - Installing php-cs-fixer/diff (v1.3.1): Extracting archive
  - Installing symfony/options-resolver (v5.2.0): Extracting archive
  - Installing symfony/polyfill-php70 (v1.20.0)
  - Installing symfony/stopwatch (v5.2.0): Extracting archive
  - Installing symplify/smart-file-system (9.0.9): Extracting archive
  - Installing symplify/symplify-kernel (9.0.9): Extracting archive
  - Installing symplify/easy-testing (9.0.9): Extracting archive
  - Installing symplify/package-builder (9.0.9): Extracting archive
  - Installing symplify/composer-json-manipulator (9.0.9): Extracting archive
  - Installing symplify/autowire-array-parameter (9.0.9): Extracting archive
  - Installing symplify/php-config-printer (9.0.9): Extracting archive
  - Installing nette/robot-loader (v3.3.1): Extracting archive
  - Installing friendsofphp/php-cs-fixer (v2.17.1): Extracting archive
  - Installing symplify/sniffer-fixer-to-ecs-converter (9.0.9): Extracting archive
 0/7 [>---------------------------]   0%    Skipped installation of bin bin/sniffer-fixer-to-ecs-conveter for package symplify/sniffer-fixer-to-ecs-converter: file not found in package
2 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
    Skipped installation of bin bin/sniffer-fixer-to-ecs-conveter for package symplify/sniffer-fixer-to-ecs-converter: file not found in package
95 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
Failed to set PHP CodeSniffer installed_paths Config
spaceemotion@NOSTROMO ~/c/laravel-event-sourcing (master)> vendor/bin/sniffer-fixer-to-ecs-converter convert phpcs.xml
vendor/bin/sniffer-fixer-to-ecs-converter: command not found
spaceemotion@NOSTROMO ~/c/laravel-event-sourcing (master) [127]> vendor/symplify/sniffer-fixer-to-ecs-converter/bin/sniffer-fixer-to-ecs-converter convert phpcs.xml
PHP Warning:  require(/home/spaceemotion/code/laravel-event-sourcing/vendor/composer/../symplify/sniffer-fixer-to-ecs-converter/vendor/squizlabs/php_codesniffer/autoload.php): failed to open stream: No such file or directory in /home/spaceemotion/code/laravel-event-sourcing/vendor/composer/autoload_real.php on line 71
PHP Stack trace:
PHP   1. {main}() /home/spaceemotion/code/laravel-event-sourcing/vendor/symplify/sniffer-fixer-to-ecs-converter/bin/sniffer-fixer-to-ecs-converter:0
PHP   2. require() /home/spaceemotion/code/laravel-event-sourcing/vendor/symplify/sniffer-fixer-to-ecs-converter/bin/sniffer-fixer-to-ecs-converter:4
PHP   3. require_once() /home/spaceemotion/code/laravel-event-sourcing/vendor/symplify/sniffer-fixer-to-ecs-converter/bin/sniffer-fixer-to-ecs-converter.php:19
PHP   4.  ComposerAutoloaderInit24d7bb3841c06c144a2046186ea647ce::getLoader() /home/spaceemotion/code/laravel-event-sourcing/vendor/autoload.php:7
PHP   5. composerRequire24d7bb3841c06c144a2046186ea647ce() /home/spaceemotion/code/laravel-event-sourcing/vendor/composer/autoload_real.php:61

Ah, there is a typo
https://github.com/symplify/symplify/commit/737531cddd697a133fedae04af41492e6637a382

Thanks for the quick fix; any ideas on how to resolve the remaining autoloading issue?

It could be many problems, from OS-specific to wrong version, to typo :)
Failing GitHub Action would help with that

Closing for lack of feedback

Sorry for the lack of response. I had a tight deadline and managed to fix the bug by fiddling with the source code directly.
I've just re-ran the steps described above and the same error is still happening; it still wants to load an autoload file from a vendor file INSIDE the sniffer-fixer-to-ecs-converter folder that is already inside vendor.
As requested, here is a run on Github Actions: https://github.com/spaceemotion/laravel-event-sourcing/runs/1678060964
From some quick manual debugging it should be all working (it detects the correct autoloader), but the error message lists a different file than I expected to be loaded??

Sorry for the lack of response. I had a tight deadline and managed to fix the bug by fiddling with the source code directly.
I've just re-ran the steps described above and the same error is still happening; it still wants to load an autoload file from a vendor file INSIDE the sniffer-fixer-to-ecs-converter folder that is already inside vendor.
As requested, here is a run on Github Actions: https://github.com/spaceemotion/laravel-event-sourcing/runs/1678060964
From some quick manual debugging it should be all working (it detects the correct autoloader), but the error message lists a different file than I expected to be loaded??

Hi, no problem.
Thanks for reproducible repository :+1:
I've cloned it localy and found one more bug. These commits should help

https://github.com/symplify/symplify/commit/fe357ffba440adba51140142b3ffb4ad131f3d36
https://github.com/symplify/symplify/commit/d7e75d765e0e8b9682b3fecd582e7a839a063e01

New version was just released, so give it a try and let me know how it went

Hi, no problem.
Thanks for reproducible repository :+1:
I've cloned it localy and found one more bug. These commits should help

https://github.com/symplify/symplify/commit/fe357ffba440adba51140142b3ffb4ad131f3d36
https://github.com/symplify/symplify/commit/d7e75d765e0e8b9682b3fecd582e7a839a063e01

New version was just released, so give it a try and let me know how it went

Thanks for the quick fixes! I've just rerun the CI action and it seems to run okay: https://github.com/spaceemotion/laravel-event-sourcing/runs/1679877945 🎉

Thanks for the quick fixes! I've just rerun the CI action and it seems to run okay: https://github.com/spaceemotion/laravel-event-sourcing/runs/1679877945 🎉

Good! Glad to help :+1:

Good! Glad to help :+1:


feat: add facility to read binary resources

db.documents.readBinary(path) allows to read XQuery, textfiles, images and other resources existdb treats as binary.
needs #266 to be merged first

@duncdrum thanks for the suggestions. I found some additional minor things I fixed on top of that.


Add sourceHtml and rename source to sourceUri in WebView bindings

Renames WebView.source method to WebView.sourceUri and adds missing WebView.sourceHtml

@kristinns would using bs.deriving abstract work here? It's a bit clearer to read.

@wokalski that would be great but I'm not sure how I could do that.
Mainly because WebView.sourceUri and WebView.sourceHtml create different JS types but we are telling the reason compiler that this is the same type.
Do you know how this could be done with bs.deriving abstract?


manimpango ImportError after latest update

Description of bug / unexpected behavior
I pulled from latest master today and began getting import issues when importing manimpango - "Couldn't load the necessary Shared Libraries." in manimpango's init.py.
Expected behavior
Run the manim scene, but importing fails
How to reproduce the issue
Code for reproducing the problem
class GraphAreaPlot(GraphScene):
    def __init__(self, **kwargs):
        GraphScene.__init__(
            self,
            x_min=0,
            x_max=5,
            y_min=0,
            y_max=6,
            x_labeled_nums=[0,2,3],
            **kwargs)

    def construct(self):
        self.setup_axes()
        curve1 = self.get_graph(lambda x: 4 * x - x ** 2, x_min=0, x_max=4)
        curve2 = self.get_graph(lambda x: 0.8 * x ** 2 - 3 * x + 4, x_min=0, x_max=4)
        line1 = self.get_vertical_line_to_graph(2, curve1, DashedLine, color=YELLOW)
        line2 = self.get_vertical_line_to_graph(3, curve1, DashedLine, color=YELLOW)
        area1 = self.get_area(curve1, 0.3, 0.6, dx_scaling=10, area_color=BLUE)
        area2 = self.get_area(curve2, 2, 3, bounded=curve1)
        self.add(curve1, curve2, line1, line2, area1, area2)

Logs
Terminal output

Traceback (most recent call last):
  File "/Users/ryan/PycharmProjects/manim-community/venv/lib/python3.7/site-packages/manimpango/__init__.py", line 11, in <module>
    from .cmanimpango import *  # noqa: F403,F401
ImportError: dlopen(/Users/ryan/PycharmProjects/manim-community/venv/lib/python3.7/site-packages/manimpango/cmanimpango.cpython-37m-darwin.so, 2): Symbol not found: ____chkstk_darwin
  Referenced from: /Users/ryan/PycharmProjects/manim-community/venv/lib/python3.7/site-packages/manimpango/.dylibs/libfreetype.6.dylib (which was built for Mac OS X 10.15)
  Expected in: /usr/lib/libSystem.B.dylib
 in /Users/ryan/PycharmProjects/manim-community/venv/lib/python3.7/site-packages/manimpango/.dylibs/libfreetype.6.dylib

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/ryan/PycharmProjects/manim-community/manim/__main__.py", line 5, in <module>
    from manim import logger, config
  File "/Users/ryan/PycharmProjects/manim-community/manim/__init__.py", line 47, in <module>
    from .mobject.svg.text_mobject import *
  File "/Users/ryan/PycharmProjects/manim-community/manim/mobject/svg/text_mobject.py", line 56, in <module>
    import manimpango
  File "/Users/ryan/PycharmProjects/manim-community/venv/lib/python3.7/site-packages/manimpango/__init__.py", line 13, in <module>
    raise ImportError("Couldn't load the necessary Shared Libraries.")
ImportError: Couldn't load the necessary Shared Libraries.

System specifications
System Details

OS macOS 10.13.6 (High Sierra)):
RAM: 8 GB
Python version: 3.7
Installed modules :

arrow              0.17.0
attrs              20.3.0
cairocffi          1.2.0
cffi               1.14.4
colorama           0.4.4
colour             0.1.5
commonmark         0.9.1
decorator          4.4.2
importlib-metadata 3.1.0
iniconfig          1.1.1
Jinja2             2.11.2
jinja2-time        0.2.0
make               0.1.6.post2
manim              0.2.0
manimce            0.1.0
manimpango         0.1.7
MarkupSafe         1.1.1
networkx           2.5
numpy              1.19.4
packaging          20.7
pangocairocffi     0.4.0
pangocffi          0.8.0
Pillow             8.0.1
pip                20.3.3
pluggy             0.13.1
progressbar        2.5
py                 1.9.0
pycairo            1.20.0
pycparser          2.20
pydub              0.24.1
Pygments           2.7.2
pyparsing          2.4.7
pytest             6.1.2
python-dateutil    2.8.1
rich               6.2.0
scipy              1.5.4
setuptools         50.3.2
six                1.15.0
toml               0.10.2
tqdm               4.54.0
typing-extensions  <IP_ADDRESS>
zipp               3.4.0

LaTeX details

LaTeX distribution (e.g. TeX Live 2020):
Installed LaTeX packages:

FFMPEG
Output of ffmpeg -version:
ffmpeg version 4.3.1-tessus  https://evermeet.cx/ffmpeg/  Copyright (c) 2000-2020 the FFmpeg developers
built with Apple clang version 11.0.0 (clang-1<IP_ADDRESS>)
configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay
libavutil      56. 51.100 / 56. 51.100
libavcodec     58. 91.100 / 58. 91.100
libavformat    58. 45.100 / 58. 45.100
libavdevice    58. 10.100 / 58. 10.100
libavfilter     7. 85.100 /  7. 85.100
libswscale      5.  7.100 /  5.  7.100
libswresample   3.  7.100 /  3.  7.100
libpostproc    55.  7.100 / 55.  7.100

Additional comments
If it is just a case of an unsupported mac version I can upgrade, just wanted to see if it could be anything else.

Usually ManimPango should work out of the box, but don't know why it doesn't here.
Try following https://github.com/manimcommunity/manimpango#linuxmacos and see if things work. Also, please open issue in the corresponding repository and not here, transfering.

Usually ManimPango should work out of the box, but don't know why it doesn't here.
Try following https://github.com/manimcommunity/manimpango#linuxmacos and see if things work. Also, please open issue in the corresponding repository and not here, transfering.

Usually ManimPango should work out of the box, but don't know why it doesn't here.
Try following https://github.com/manimcommunity/manimpango#linuxmacos and see if things work. Also, please open issue in the corresponding repository and not here, transferring.

Thank you, yes I had already followed these steps, all the dependencies seem to be installed, I used brew to install these.

Usually ManimPango should work out of the box, but don't know why it doesn't here.
Try following https://github.com/manimcommunity/manimpango#linuxmacos and see if things work. Also, please open issue in the corresponding repository and not here, transferring.

Thank you, yes I had already followed these steps, all the dependencies seem to be installed, I used brew to install these.

Thank you, yes I had already followed these steps, all the dependencies seem to be installed, I used brew to install these.

Ok, does ManimPango install correctly?

Thank you, yes I had already followed these steps, all the dependencies seem to be installed, I used brew to install these.

Ok, does ManimPango install correctly?

Thank you, yes I had already followed these steps, all the dependencies seem to be installed, I used brew to install these.

Ok, does ManimPango install correctly?

Yes there were no issues installing it

Thank you, yes I had already followed these steps, all the dependencies seem to be installed, I used brew to install these.

Ok, does ManimPango install correctly?

Yes there were no issues installing it

:+1: Closing this issue as this is fixed.

:+1: Closing this issue as this is fixed.

👍 Closing this issue as this is fixed.

Sorry I think you misunderstood, it installs correctly, but does not import correctly when I run manim

👍 Closing this issue as this is fixed.

Sorry I think you misunderstood, it installs correctly, but does not import correctly when I run manim

Sorry I think you misunderstood, it installs correctly, but does not import correctly when I run manim

Did you try no binary version? Possibly add a --force so that the previously installed one
pip install manimpango --no-binary :all: --force

Send the logs next.

Sorry I think you misunderstood, it installs correctly, but does not import correctly when I run manim

Did you try no binary version? Possibly add a --force so that the previously installed one
pip install manimpango --no-binary :all: --force

Send the logs next.

pip install manimpango --no-binary :all: --force

That has worked! Thank you very much for your' help

pip install manimpango --no-binary :all: --force

That has worked! Thank you very much for your' help


LEGEND WORKING OR NOT? IF NOT WE SHOULD REMOVE LEGEND BUTTON

where?

where?

Company Page

ITs working but current design is not supporting, will do something in short future


Cannot compile on windows

I'm using the OCaml for windows repository, and the installation fails as pkg-config is not recognized as a command.
Replacing all references from pkg-config to pkgconf in discover.ml solve the problem, but I am not able to propose a clean PR for this.

It seems that this is a deeper issue: https://access.redhat.com/discussions/4734691
I'm not sure about the impact of potential incompatibilities.  In any case, it seems that at least RHEL 8 uses a symlink from pkg-config to pkgconf.  Maybe this is just missing on your platform?  Such a widespread utility as pkg-config should probably not just disappear.

More Windows compatibility improvements will be released soon.


@use doesnt work properly with scss in nuxt3

Environment
Nuxt project info:                                                                                20:32:08

Operating System: Windows_NT
Node Version:     v18.7.0
Nuxt Version:     3.0.0
Nitro Version:    1.0.0
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      telemetry, ssr, runtimeConfig, nitro, hooks, app, css, modules, storyblok, postcss, vite, i18n
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Reproduction
Vue3 vite version that is working correctly: https://stackblitz.com/edit/github-68wtmr?file=src%2Fcomponents%2FSimpleComponent.vue,src%2Fcomponents%2FSimpleComponent.scss,src%2Fpages%2FHome.vue,src%2Fmain.ts,src%2Fpages%2FHome.scss,src%2Fcomponents%2FSimpleComponent2.vue,src%2Fcomponents%2FSimpleComponent2.scss&terminal=dev?
Nuxt3 version that is not working correctly: https://stackblitz.com/edit/github-v4eplt
Describe the bug
This bug was found when trying to get @use to work in vue sfc. The bug appears to only happen in nuxt3 and not in vue3 with vite.
When using @use to import a general scss module for a styled button, only the first instance that is used works.
@use "@/assets/styles/elements/button" with (
  $button-color: pink
);

When doing basically the same thing in a vue3 vite project, it works:

Additional context
Based on google and documentation, it seems like scss might not be fully supported. For example doing @use in a vue sfc should not work, but it does in vue3:

Doing the same with nuxt3 results in an error.
Logs
No response

Porting your Vue reproduction over to Nuxt shows the same result.
Maybe it is about the @ alias? You can try ~ instead or use relative paths.
Working reproduction based on your Vue stackblitz.


https dev server does not use browser cache

Describe the bug
https dev server does not use browser cache
http dev server

http request detail

The resource with Cache-Control: no-cache

The resource with Cache-Control: max-age=3153

https dev server

https request detail

The resource with Cache-Control: no-cache

6000,immutable`

The resource with Cache-Control: max-age=3153

Reproduction

System Info
Output of npx envinfo --system --npmPackages vite,@vitejs/plugin-vue --binaries --browsers:
  System:
    OS: Windows 10
    CPU: (8) x64 Intel(R) Xeon(R) CPU E3-1231 v3 @ 3.40GHz
    Memory: 10.20 GB / 19.92 GB
  Binaries:
    Node: 14.15.5 - D:\nodejs\node.EXE
    npm: 7.7.5 - D:\nodejs\npm.CMD
  Browsers:
    Edge: 44.19041.423.0
   Chrome: 89.0.4389.90

Used package manager:  npm
Logs

Before submitting the issue, please make sure you do the following

[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] Provide a description in this issue that describes the bug.
[x] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/vue-next instead.
[x] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.

This is caused by https certificate error: Cache problems on Chrome with SSL certificate errors

Can vite integrate https-localhost?

Can vite integrate https-localhost ?

Vite currently regenerates the self-signed certificate so it can never be added to a trusted root certificate store. It would be really nice to be able to link to or even in a more automated matter. This would also clear up the annoying prompts you get in Chrome/Edge when initially starting the server.

I will write a vite-cert plugin to to it.

@liuweiGL Is there somewhere I can follow that progress?

I'm about to begin：vite-cert 😄