Ecto.Type.match?/2 calls schema_type.type which does not exist for parameterised types

Environment

Erlang/OTP 23 [erts-11.1.6] [source] [64-bit] [smp:16:16] [ds:16:16:10] [async-threads:1] [hipe]
Elixir 1.11.3 (compiled with Erlang/OTP 23)
"ecto": {:hex, :ecto, "3.5.7", "f4...
"ecto_sql": {:hex, :ecto_sql, "3.5.4", "a9....
Postgres 13.1

Current behavior
As reported by @emaiax on the ex_money_sql repo, using the type/2 macro in a schema-less query with a custom Ecto.ParameterizedType results in a call to Ecto.Type.match?/2 which in turns calls schema_type.type/0 which for a parameterised type does not exist, thereby raising an exception.
Example
  # money_sql/test/db_test.exs
  test "aggregate from a keyword query using a schemaLESS query" do
    m = Money.new(:USD, 100)
    {:ok, _} = Repo.insert(%Organization{payroll: m})
    {:ok, _} = Repo.insert(%Organization{payroll: m})
    {:ok, _} = Repo.insert(%Organization{payroll: m})

    query =
      from(
        organization in "organizations",
        select: %{
          total: type(sum(organization.payroll), Money.Ecto.Composite.Type)
        }
      )

    assert Repo.all(query) == [%{total: Money.new(:USD, 300)}]
  end

Reported exception
== Compilation error in file test/db_test.exs ==
** (UndefinedFunctionError) function Money.Ecto.Composite.Type.type/0 is undefined or private. Did you mean one of:

      * type/1

    (ex_money_sql 1.4.3) Money.Ecto.Composite.Type.type()
    (ecto 3.5.7) lib/ecto/type.ex:421: Ecto.Type.match?/2
    (ecto 3.5.7) lib/ecto/query/builder.ex:646: Ecto.Query.Builder.assert_type!/3
    (ecto 3.5.7) lib/ecto/query/builder.ex:415: Ecto.Query.Builder.escape/5
    (ecto 3.5.7) lib/ecto/query/builder.ex:462: Ecto.Query.Builder.escape_with_type/5
    (ecto 3.5.7) lib/ecto/query/builder/select.ex:111: anonymous fn/4 in Ecto.Query.Builder.Select.escape_pairs/4
    (elixir 1.11.3) lib/enum.ex:1533: Enum."-map_reduce/3-lists^mapfoldl/2-0-"/3
    (ecto 3.5.7) lib/ecto/query/builder/select.ex:82: Ecto.Query.Builder.Select.escape/4
    (ecto 3.5.7) lib/ecto/query/builder/select.ex:189: Ecto.Query.Builder.Select.build/5
    (ecto 3.5.7) expanding macro: Ecto.Query.select/3
    test/db_test.exs:83: Money.DB.Test."test aggregate from a keyword query using a schemaLESS query"/1
    (ecto 3.5.7) expanding macro: Ecto.Query.from/2
    test/db_test.exs:83: Money.DB.Test."test aggregate from a keyword query using a schemaLESS query"/1
    (elixir 1.11.3) lib/kernel/parallel_compiler.ex:416: Kernel.ParallelCompiler.require_file/2
    (elixir 1.11.3) lib/kernel/parallel_compiler.ex:316: anonymous fn/4 in Kernel.ParallelCompiler.spawn_workers/7

Money.Ecto.Composite.Type
The Money.Ecto.Composite.Type implements type/1 as required. Adding type/0 to satisfy match?/2 seems to cause Ecto to treat the type as a non-parameterised type so I don't think thats an option in this case.
To reproduce

Clone https://github/kipcole9/money_sql
Change the database configuration in config/test.exs to suit
mix deps.get
mix test

Expected behavior
That match?/2 should work with parameterised types and schema less queries. Perhaps schema_type.type should also be schema_type.type()?

Thanks @kipcole9 for the report. This is a bit more complicated because you can't refer to a composite type like that. A composite type is always instantiated, so you need to refer to a proper instance.
Have you tried this approach:

    query =
      from(
        organization in "organizations",
        select: %{
          total: type(sum(organization.payroll), organization.payroll)
        }
      )

You should be able to refer to an existing field to use its type.

@josevalim Unfortunately while that compile ok, it produces a query that attempts to cast to a type of any which is invalid.
Revised query
    query =
      from(
        organization in "organizations",
        select: %{
          total: type(sum(organization.payroll), organization.payroll)
        }
      )

Error result
  1) test aggregate from a keyword query using a schemaLESS query (Money.DB.Test)
     test/db_test.exs:76
     ** (Postgrex.Error) ERROR 42601 (syntax_error) syntax error at or near "any"

         query: SELECT sum(o0."payroll")::any FROM "organizations" AS o0
     code: assert Repo.all(query) == [%{total: Money.new(:USD, 300)}]
     stacktrace:
       (ecto_sql 3.5.4) lib/ecto/adapters/sql.ex:751: Ecto.Adapters.SQL.raise_sql_call_error/1
       (ecto_sql 3.5.4) lib/ecto/adapters/sql.ex:684: Ecto.Adapters.SQL.execute/5
       (ecto 3.5.7) lib/ecto/repo/queryable.ex:229: Ecto.Repo.Queryable.execute/4
       (ecto 3.5.7) lib/ecto/repo/queryable.ex:17: Ecto.Repo.Queryable.all/3
       test/db_test.exs:90: (test)

I see. Yes, you will need to give it either a schema field or an instantiated parameterized schema type which you can do by calling this: https://github.com/elixir-ecto/ecto/commit/9dea16ac027c28bc275504f386d1efc7f91d2cdc

Unfortunately that recommendation does not work since that commit is not in a release published on hex, and using the return tuple explicitly is also raising and exception.

The commit 9dea16a is not present in Ecto 3.5.[5. 6, 7, 8] although I can see it on master branch. Therefore Ecto.ParameterizedType.init/2 does not exist.
Handcrafting the return expected from Ecto.ParameterizedType.init/2 raises. It appears that the type/2 macro does not support the 3-tuple.

Revised query using the recommendation
    query =
      from(
        organization in "organizations",
        select: %{
          total: type(sum(organization.payroll),
            {:parameterized, Money.Ecto.Composite.Type, []}
          )
        }
      )

type/2 does not support the 3-tuple from Ecto.ParameterizedType.init/2
** (Ecto.Query.CompileError) type/2 expects an alias, atom or source.field as second argument, got: `{:parameterized, Money.Ecto.Composite.Type, []}`
    (ecto 3.5.7) expanding macro: Ecto.Query.select/3
    test/db_test.exs:83: Money.DB.Test."test aggregate from a keyword query using a schemaLESS query"/1
    (ecto 3.5.7) expanding macro: Ecto.Query.from/2
    test/db_test.exs:83: Money.DB.Test."test aggregate from a keyword query using a schemaLESS query"/1
    (elixir 1.11.3) lib/kernel/parallel_compiler.ex:416: Kernel.ParallelCompiler.require_file/2
    (elixir 1.11.3) lib/kernel/parallel_compiler.ex:316: anonymous fn/4 in Kernel.ParallelCompiler.spawn_workers/7

Current Environment
iex> Ecto.ParameterizedType.module_info
[
  module: Ecto.ParameterizedType,
  exports: [
    __info__: 1,
    "MACRO-__using__": 2,
    behaviour_info: 1,
    module_info: 0,
    module_info: 1
  ],

Config: {:ecto, "~> 3.5"}
Locked version: 3.5.8
Releases: 3.5.8, 3.5.7, 3.5.6, 3.5.5, 3.5.4, 3.5.3, 3.5.2, 3.5.1, ...

Licenses: Apache-2.0
Links:
  GitHub: https://github.com/elixir-ecto/ecto

My conclusions:

Parameterised types are not supported in schemaless queries in the type/2 macro. If true, updated docs required,
Parameterised types are not supported in schemaless are supported but not working today. If true, the type/2 macro needs updating to support the 3-tuple returned from Ecto.ParameterizedType.init/2 when it is released
The match?/2 macro could emit a message rather than raise an exception if passed a parameterised type module. If true then a PR would be useful.

Some of this I am able to do, just let me know.

@kipcole9 does this work?
total: type(sum(organization.payroll), ^{:parameterized, Money.Ecto.Composite.Type, []})

Unfortunately not:
     ** (ArgumentError) unsupported type `{:{}, [line: 87], [:parameterized, {:__aliases__, [counter: {Money.DB.Test, 72}, line: 87], [:Money, :Ecto, :Composite, :Type]}, []]}`. The type can either be an atom, a string or a tuple of the form `{:map, t}` or `{:array, t}` where `t` itself follows the same conditions.
     code: assert Repo.all(query) == [%{total: Money.new(:USD, 300)}]
     stacktrace:
       (ecto_sql 3.5.4) lib/ecto/adapters/postgres/connection.ex:1286: Ecto.Adapters.Postgres.Connection.ecto_to_db/1
       (ecto_sql 3.5.4) lib/ecto/adapters/postgres/connection.ex:698: Ecto.Adapters.Postgres.Connection.expr/3
       (ecto_sql 3.5.4) lib/ecto/adapters/postgres/connection.ex:1238: Ecto.Adapters.Postgres.Connection.intersperse_map/4
       (ecto_sql 3.5.4) lib/ecto/adapters/postgres/connection.ex:319: Ecto.Adapters.Postgres.Connection.select/3
       (ecto_sql 3.5.4) lib/ecto/adapters/postgres/connection.ex:113: Ecto.Adapters.Postgres.Connection.all/2

Fixed on master. Best option is to use master for now. :)

Thank you José, appreciate the support. Confirmed all tests on my side passing too. I'll send a PR to update the documentation for the type/2 soon.


Add key features

Add some key features from Apple Swift
Closes #426

@2Grey The key features can now be seen at https://exercism.org/tracks/swift

https://exercism.org/tracks/swift/about

Depends on whether you have joined the track :) The primary goal for key features is to entice new students, so the link I posted is likely the one where the key features are most often viewed.


MAINT: fix license year to match git log

@ebolyen there's q2lint failures, can you fix those please?


Permission Problem NAV 2018 CU7

A Customer having an Application developer License may develop a Codeunit that hooks for example the OnInsert- Event from Cust. Ledger Entry, and modify data in the record without having or giving the corresponding permissions to this Object.
I think that should not be possible.

CU50000.txt
Here a small example for Cust, Ledger Entries, that removes "Customer No." on Inserting Entries in a Database with Cronus- license, and no permission in the Codeunit.
P.S.: NAV2018 CU8 has the same problem.
Important: DO NOT USE/TEST THIS CODEUNIT WITH A DATABASE THAT IS NEEDED FOR FURTHER USE.

This is by design. The actual insert or modify is executed within the base object which does have permissions to do the operation. Having access to develop new event subscribers means it's possible to do things as you described. Anyone installing new code on the system has to be a trusted user, who would typically have most of the permissions anyway.

Sorry, currently OnPremise a Customer with Application-Developer License may develop all code incl. Codeunits except changing LedgerEntries directly. If he writes a Report to modify Entries he will not allowed to save that report. If he develops a Codeunit with a subscriber he may change the record- parameter tha should also not been allowed. He also may read that he normaly is not allowed to read  and write it to an area, where he is allowed to read.
We as  Partner are normaly deny the responsibility for the status of the accounting if a customer has a Dolution Developer License, so now we can't assure that a customer which may design a Exventsubscriber may kill accounting. That's very bad, and we are unable to preserve that.

Note that this has been the case since NAV 2016 when event subscribers were introduced. So it's not new nor specific to Business Central/AL development tools. Couldn't the customer modify that data in SQL directly anyway?

That this - i would say bug - was not found earlier doe not make it better.
There are many developments, that are done by Customers who have access to the Development-Client, but not realy to the SQL-Server.
This permission is also mostly required to prohibit modifications by accident, not because somebody wants to compromise NAV/BC, but may be. But sometimes poeple are interested, which salary their boss gets.
As far as i know there is a license- permission- setup to disallow running a table from Dev-Client. so this would be the way getting the data anyway.

The customer is the owner of the data - right? Therefor he can do whatever he wants with it 😄.

@gudrunleos
This was not the previous intention of NAV and i do not know if it is always allowed bei law.
In Germany for example you have to assure that important information in posted documents and ledger entrie is not changeble by user. Currently this is done with the License.
Why does Microsoft currently assure that posted documents and ledger entries are not changeble by user?

@hhfiddelke Intention or not - the technology used in the early days made the data much less accessible than today, I think we can agree on that. What the law states in each country should be implemented as localizations IMO.

@gudrunleos the problem is not accessible of data but the data modification.
And you can't implement security by localisation, if the system has no option to do that.
It seems also that there is no permission setting that prohibits grabbing confidential data while posting, and that is also a problem.

@hhfiddelke Just FYI, my colleague has already created a NAV support request for it recently, No.<PHONE_NUMBER>37663

@NKarolak : Thank you.
I am not the only one, who does not like that feature.

Indeed!

This was actually a bug that got fixed in BC Fall 2018. Please give it a try and let us know if you encounter any other issues.


EDU-455 Create timeline component

Closes https://educandu.atlassian.net/browse/EDU-455
and can be tested locally on the admin page -> tests tab.

Nice and clean, and very compact given the complexity :heart_eyes:

Nice and clean, and very compact given the complexity 😍

Well thank you! ☺


download datasets

hello
thanks for this public dataset.
but there is a problem from server , it does not let me download the dataset completely. what should I do ?

I'm not having any problems downloading the files. I don't think this is something that I can fix on my end. Maybe a temporary outage. Did you succeed to download the dataset by now?


Remove support for databricks 7.0 runtime - shim spark300db

For 0.3.0 we are only going to support databricks 7.3 runtime. Remove the shim layer for the 7.0 runtime which is spark300db.
fixes:  https://github.com/NVIDIA/spark-rapids/issues/1144
Note we have an internal PR to remove the databricks build for the 7.0 runtime

build

build

I'll rebase

build

test failures are fixed by my other pr: https://github.com/NVIDIA/spark-rapids/pull/1147
17:13:49  FAILED ../../src/main/python/orc_write_test.py::test_buckets_write_fallback[ALLOW_NON_GPU(DataWritingCommandExec)]
17:13:49  FAILED ../../src/main/python/parquet_write_test.py::test_buckets_write_fallback[ALLOW_NON_GPU(DataWritingCommandExec)]

upmerged to pull test fixes and rebuilding.

build


mongodb hostname has dbname in it

Hi,
I had to apply the following patch to kombu 1.5.1 in transport/mongodb.py :
    def _open(self):
        conninfo = self.connection.client
        a = (conninfo.hostname+"/").split("/")
        conninfo.hostname=a[0]
        conninfo.virtual_host=a[1]
        mongoconn = Connection(host=conninfo.hostname, port=conninfo.port)

Here was my configuration:
 --------------<EMAIL_ADDRESS>v2.4.5
---- **** -----
--- * ***  * -- [Configuration]
-- * - **** ---   . broker:      mongodb://localhost:27017/joshfire_platform//
- ** ----------   . loader:      celery.loaders.default.Loader
- ** ----------   . logfile:     [stderr]@WARNING
- ** ----------   . concurrency: 4
- ** ----------   . events:      OFF
- *** --- * ---   . beat:        OFF
-- ******* ----
--- ***** ----- [Queues]
 --------------   . celery:      exchange:celery (direct) binding:celery

Weirdly, the virtual_host/dbname was inside the conninfo.hostname variable. Python 2.6.1 on mac, pymongo 2.0.1, celery 2.4.5
Thanks!

Could you please share your celeryconf ?
Cheers

Sure, it's very simple!
CELERY_RESULT_BACKEND = "mongodb"
CELERY_MONGODB_BACKEND_SETTINGS = {
    "host": "localhost",
    "port": 27017,
    "database": "joshfire_platform",
    "taskmeta_collection": "celery_taskmeta",
}
BROKER_URL = "mongodb://localhost:27017/joshfire_platform"

Full stack:
sylvain-zimmers-macbook-pro-2:taskqueue sylvinus$ celeryd
[2011-12-22 01:09:54,573: WARNING/MainProcess]

 --------------<EMAIL_ADDRESS>v2.4.5
---- **** -----
--- * ***  * -- [Configuration]
-- * - **** ---   . broker:      mongodb://localhost:27017/joshfire_platform//
- ** ----------   . loader:      celery.loaders.default.Loader
- ** ----------   . logfile:     [stderr]@WARNING
- ** ----------   . concurrency: 4
- ** ----------   . events:      OFF
- *** --- * ---   . beat:        OFF
-- ******* ----
--- ***** ----- [Queues]
 --------------   . celery:      exchange:celery (direct) binding:celery

[2011-12-22 01:09:54,638: WARNING/MainProcess]<EMAIL_ADDRESS>has started.
[2011-12-22 01:09:54,645: ERROR/MainProcess] Unrecoverable error: ConfigurationError('Port number must be an integer.',)
Traceback (most recent call last):
  File "/Library/Python/2.6/site-packages/celery-2.4.5-py2.6.egg/celery/worker/__init__.py", line 268, in start
    component.start()
  File "/Library/Python/2.6/site-packages/celery-2.4.5-py2.6.egg/celery/worker/consumer.py", line 309, in start
    self.reset_connection()
  File "/Library/Python/2.6/site-packages/celery-2.4.5-py2.6.egg/celery/worker/consumer.py", line 582, in reset_connection
    on_decode_error=self.on_decode_error)
  File "/Library/Python/2.6/site-packages/celery-2.4.5-py2.6.egg/celery/app/amqp.py", line 332, in get_task_consumer
    **kwargs)
  File "/Library/Python/2.6/site-packages/kombu-1.5.1-py2.6.egg/kombu/compat.py", line 186, in __init__
    super(ConsumerSet, self).__init__(self.backend, queues, **kwargs)
  File "/Library/Python/2.6/site-packages/kombu-1.5.1-py2.6.egg/kombu/messaging.py", line 257, in __init__
    self.declare()
  File "/Library/Python/2.6/site-packages/kombu-1.5.1-py2.6.egg/kombu/messaging.py", line 267, in declare
    queue.declare()
  File "/Library/Python/2.6/site-packages/kombu-1.5.1-py2.6.egg/kombu/entity.py", line 380, in declare
    self.queue_declare(nowait, passive=False)
  File "/Library/Python/2.6/site-packages/kombu-1.5.1-py2.6.egg/kombu/entity.py", line 400, in queue_declare
    nowait=nowait)
  File "/Library/Python/2.6/site-packages/kombu-1.5.1-py2.6.egg/kombu/transport/virtual/__init__.py", line 377, in queue_declare
    return queue, self._size(queue), 0
  File "/Library/Python/2.6/site-packages/kombu-1.5.1-py2.6.egg/kombu/transport/mongodb.py", line 47, in _size
    return self.client.count()
  File "/Library/Python/2.6/site-packages/kombu-1.5.1-py2.6.egg/kombu/transport/mongodb.py", line 86, in client
    self._client = self._open()
  File "/Library/Python/2.6/site-packages/kombu-1.5.1-py2.6.egg/kombu/transport/mongodb.py", line 67, in _open
    mongoconn = Connection(host=conninfo.hostname, port=conninfo.port)
  File "/Library/Python/2.6/site-packages/pymongo-2.0.1-py2.6-macosx-10.6-universal.egg/pymongo/connection.py", line 293, in __init__
    nodes.update(uri_parser.split_hosts(entity, port))
  File "/Library/Python/2.6/site-packages/pymongo-2.0.1-py2.6-macosx-10.6-universal.egg/pymongo/uri_parser.py", line 205, in split_hosts
    nodes.append(parse_host(entity, default_port))
  File "/Library/Python/2.6/site-packages/pymongo-2.0.1-py2.6-macosx-10.6-universal.egg/pymongo/uri_parser.py", line 134, in parse_host
    raise ConfigurationError("Port number must be an integer.")
ConfigurationError: Port number must be an integer.
^C[2011-12-22 01:09:56,218: WARNING/MainProcess] celeryd: Hitting Ctrl+C again will terminate all running tasks!
[2011-12-22 01:09:56,219: WARNING/MainProcess] celeryd: Warm shutdown (MainProcess)

I ran into the same problem so I attempted a fix where the mongodb transport parses the connection further to make it compatible with the pymongo Connection object:
https://github.com/ask/kombu/pull/103


Fixes #26033 -- Add support for Argon2 v1.3

The previous version of Argon2 uses encoded hashes of the form
$argon2d$m=8,t=1,p=1$<salt>$<data>

Surprisingly the new version of Argon2 adds its version into the
encoded hash as follows
$argon2d$v=19$m=8,t=1,p=1$<salt>$<data>

This commit lets Django handle both version properly.
https://code.djangoproject.com/ticket/26033

Since there is no stable Django release with the old hash, I don't see a need to support it. How about you?
Should the version attribute be documented under "Argon2 has three attributes that can be customized"? How do you envision this working? Might we need to bump it in a future release or do we stay on "0x13" for the foreseeable future?

If there is a new version of Argon2, we should just update the 0x13.
The user shouldn't update the version attribute.
If you want, I can leave out the logic to handle multiple versions for now and add it back in if and when there is a new version of argon2.

LGTM

merged in a5033dbc58d6e09d28b8abe3acda20b9c60e0b8e, thanks!


Option to export the report in a JSON file

At the end of the staging phase, have an option to write the list of sets of duplicates, with the choice which were made (ie which files to keep and which to remove) in a JSON file.
Doing this export doesn't prevent doing the removal after.
This JSON file would be used both for traceability and to allow alternate actions (see issue #2).

The result:

More info could be added but this is probably enough.


msis_matlab3D.m has issues finding compilers and getting paths right on some systems

Particularly on MacOS I have to hard code paths and compiler absolute location

https://github.com/gemini3d/gemini-matlab/blob/9d1a002711f8c2176be1d5f93f91a8b2e6f9d821/matlab/setup/msis_matlab3D.m#L37
This hardcoding of /usr/local/bin/gfortran for MacOS seems like it should work for Homebrew users, which is probably the main use case. It seems like Homebrew avoids causing a mess on user systems by avoiding making itself the default.

This is a general issue for build systems, including de facto ones as here. The universal solution is to specify via environment variable FC either the name or full path to the Fortran compiler.

this was resolved by using CMake instead of ad hoc Matlab code


Fix typo error in "Card Description Under Topics"

Describe the bug
There is a typo in the card description of the card with title "Getting the most out of my internship". It's written "intership" in the description and instead it should be "internship".
To Reproduce
Steps to reproduce the behavior:

Go to 'https://vitaa-app.netlify.app/search'
Click on 'TOPICS'
Scroll down to 'Getting the most out of my internship' card.
See the typo error in description

Screenshots

I would like to fix this under GSSOC 22. Kindly assign me this issue.

Can you please check for more typos that might exist and fix all of them together?
You need to change this file

Yes Sure. I'll do it.


host using https setup?

for some reason having a hard time to se connection when using https:,i have tried almost everything and the erro is always same, when i tried local was no problem
remote_homeassistant:
  instances:
  - host: https://xxxxxxxxxxxx.duckdns.org:8123
    port: 8123
    secure: false
    verify_ssl: false
    access_token: !secret test
    entity_prefix: "slave_"
    subscribe_events:
     - state_changed
     - service_registered

dont matter what i do the erro is always same
Could not connect to ws://xxxxxxxxxxxxxxxxxxxx.duckdns.org:8123:8123/api/websocket,

got to work....


docs(README): suggest standard-damn-it for easy bootstrapping

idea

what if you could run one command that would install all of the things and configure a project to wire in prettier-standard, husky, and lint-staged, configuration and all?

solution
npx standard-damn-it
discussion
i love this package so much.  there's a few packages and configuration bits that i have to look up every time i want to use it with githooks.  i got tired of looking them up, so i codified them into a script!
thanks for the consideration.

The tool I suggest only installs configures what this package is already recommending.

You don't need to use all tools of modern-node, I found Jest superior to Ava for node testing and that's why I'm recommending it in modern-node (as name suggests).
As for transpiling, modern-node doesn't recommend it as well, only for publishing which makes your module executable for all node >= 4 even you you use modern ES syntax available natively in node 8 for example. I think this should be required for good node module.

ya, that's cool.  i disagree that X is better than Y, and consequently, I don't want it in my node_modules.  i also don't want an extra step of indirection, calling into some other tool, versus calling exactly the tool i want (e.g. i don't want to call modern format, i want to call prettier-standard).  less indirection, less complication.
i respect your opinion, and think modern node is fine for a lot of folks.  i may even try it sometime.  i've written a similar tool twice, counsel & shizam.
my final bit is that your docs show how to install this pkg, and how best to configure it.  that's all this PR's tool does. automate the install & configure the various settings, nothing separate from what the README already recommends.  you're recommending a completely separate tool.  that's fine and good, it's just a different intent than helping users fulfill the recommendations of the README.
feel free to re-open as seen fit.


Class box layout doesn't work on Firefox

Class box isn't sized properly according to its contents.

Fixed by not relying on bbox size.


Feature request: Add "delete all" button to planned tab

At the moment there is only a button for deleteing the selected jobs on the "planned" tab. Could you maybe add another button where I can delete all planned jobs?

I have added action buttons for enque, enable, disable & delete all jobs.

released in 0.6.0

Supercool, thanks!


Nested parameterized routes

Hi there!!
Based on your example:
const routes: Routes = [
{
path: '/ninja',
module: NinjaModule,
children: [
{
path: '/cats',
module: CatsModule,
},
{
path: '/dogs',
module: DogsModule,
},
],
},
];
Is it possible a request like this: /ninja/01008/cats or this /ninja/n01/dogs ?
Thanks for your work!

The RouterModule is just adding a prefixes to the all Controllers registered at that Module, so for Example
if we have that route:
{
    path: 'ninja', // the prefix slash is optional
    module: NinjaModule
}

and we registered NinjaController at NinjaModule
...
@Controller(':ninjaId')
export class NinjaController {
    @Get()
    findNinja(@Param('ninjaId') ninjaId) {
        return { ninjaId };
    }
}

so if we hit /ninja/10 it will get { ninjaId: 10 }.
that's have been said.
back to your question, we need to achieve this /ninja/10/cats right ?
in my opinion, each controller - NinjaController & CatsController - thay don't know each others, so instead of defining the param route in the controller scope, you need to define it on the RouterModule schema.
so instead of
{
    path: 'ninja`
    module: NinjaModule,
    children: [{ path: 'cats', module: CatsModule }, ...]
}

you will need to make it like this
{
    path: 'ninja/:ninjaId`
    module: NinjaModule,
    children: [{ path: 'cats', module: CatsModule }, ...]
}

that way, the Controllers registered at CatsModule in our case it is CatsController will be /ninja/:ninjaId/cats, instead of /ninja/cats which was on the first case, also you will need to remove :ninjaId from @Controller(':ninjaId') at NinjaController we don't need it anymore.
and now both NinjaController and CatsController will have access to ninjaId parameter.
give it a shot and let me know if there is any problem 😀

Great!
Thank you very much! :)

So, in the previous example, you moved :ninjaId from the controller to the route. What if you need to be able to access ninjas both individually, by id, as well as the whole list of ninjas? Such as:
GET /ninjas -> [{ninjaId: ...}, {ninjaId: ...}]
GET /ninjas/1 -> {ninjaId: 1}
Can this be achieved with this router module, without having to hack the route for /ninjas/:ninjaId to return a list only if ninjaId is falsy?


make an Index Page for People to view their profile

We can make an Index Page to show people's Profile on a single page.

i will make an index page for the project so people can see their profiles.


chore:  optimization for lint

for commit '24978113e0777019facb25f0e41cf2f0d26044a3', fix errors in 'nr lint'
for commit '4e74afe0c01f4569fda77d87e9b98d4e40aa91d9', overrides restricted rules

Before you use Object.assign, first understand that these two situations will output different results
//first
const obj = Object.create({foo: 1}, {
    bar: {
        value: 2
    },
    baz: {
        value: 3,
        enumerable: true
    }
})
// second
const obj = { ...{foo: 1}, ...{bar: { value: 2 }} }

the first result is
{
    "baz": 3
}

the second result is
{
    "foo": 1,
    "bar": {
        "value": 2
    }
}

Reference: MDN
so i think you should do some fix

const obj = Object.create({foo: 1}, {

It's Object.assign, not Object.create.


fix(rust): do not delete the temp commit file when write_commit_entry returns error

Description
Do not delete the temp commit file when write_commit_entry returns an error.
This fixes a rare bug when using DynamoDB as the locking provider. Consider the following events:

S3DynamoDbLogStore.write_commit_entry succeeds at creating a DynamoDB entry, but fails during repair_entry
The error handling deletes the tmp_commit file
The next time repair_entry is called on this entry, it will lead to ObjectStoreError::NotFound since the temp commit file was deleted
We infer the temp commit json was already moved, so we update the DynamoDB entry as complete

This results in a complete DynamoDB log entry, even though the corresponding transaction log does not exist in _delta_log.

Not everyone uses dynamodb, so this will cause tmp log entries to be left around for adls and GCS.
You should make the change in the S3 dynamodb log store implementation to be more robust. If the object is not found it should not fail and just pass

Hey @ion-elgreco, thanks for your suggestions. Could you elaborate on what you mean by this?

If the object is not found it should not fail and just pass

Happy to discuss other options. I'm not sure if there is a way to make the S3 DynamoDB log store more robust if we delete the temp commit file, since the DynamoDB entry becomes invalid and we won't be able to repair it.
What are your thoughts on returning TransactionError::LogStoreError with a specific message (or maybe a new TransactionError?) when we succeed at writing a DynamoDB entry but fail to move the file? Then we can handle this specific error by not deleting the temp commit file.

Closing this PR in favor of #2452


Release 1.43 - August 19 , 2021

@BananiMendix , I've discussed the release dates with @dtitenko and will remove the Company admin page is migrated to the Control Center release note from this PR as this feature will fully function only next week.


HPX hangs at the very end

Expected Behavior
Octo-Tiger exits successfully.
Actual Behavior
Sometimes HPX will hang after HPX:finalize()
It happened occasionally when I ran Octo-Tiger on Perlmutter. Although it does not prevent me from performing experiments, it does cause some waste of computation credits as the SLURM jobs will run to their time limit.
I happened to get the full stack trace today when this occurred again. I was running Octo-Tiger with 8 nodes and 128 localities per node (just to regenerate the dataset), so every HPX process only had 11 threads in total.
@hkaiser Could you take a look and see whether you can spot something obviously wrong from the stack trace?
info threads
(gdb) info threads
  Id   Target Id                                       Frame
* 1    Thread 0x7f2a7d9f5000 (LWP 2306119) "octotiger" 0x00007f2aa99ed70c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  2    Thread 0x7f2a59636000 (LWP 2308582) "octotiger" 0x00007f2aa98f0999 in poll ()
   from /lib64/libc.so.6
  3    Thread 0x7f2a57fff000 (LWP 2308760) "octotiger" 0x00007f2aa99ed70c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  4    Thread 0x7f2a577fe000 (LWP 2308761) "octotiger" 0x00007f2aa99ed70c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  5    Thread 0x7f2a56ffd000 (LWP 2309162) "octotiger" 0x00007f2aa99ed70c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  6    Thread 0x7f2a567fc000 (LWP 2309163) "octotiger" 0x00007f2aa99ed70c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  7    Thread 0x7f2a55ffb000 (LWP 2309164) "octotiger" 0x00007f2aa99ed70c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  8    Thread 0x7f2a557fa000 (LWP 2309165) "octotiger" 0x00007f2aa99ed70c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  9    Thread 0x7f2a54ff9000 (LWP 2309166) "octotiger" 0x00007f2aa99eda5e in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  10   Thread 0x7f2a547f8000 (LWP 2309167) "octotiger" 0x00007f2aa99eda5e in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  11   Thread 0x7f2a539f7000 (LWP 2309809) "octotiger" 0x00007f2aa99ed70c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0

Thread 1 backtrace
(gdb) bt
#0  0x00007f2aa99ed70c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f2ab2643afc in asio::detail::scheduler::run(std::error_code&) [clone .isra.0] ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx_core.so
#2  0x00007f2ab2644128 in hpx::util::io_service_pool::thread_run(unsigned long, hpx::util::barrier*) const ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx_core.so
#3  0x00007f2ab2dc12bd in hpx::runtime_distributed::wait() ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx.so.1
#4  0x00007f2ab2db5a03 in hpx::runtime_distributed::run() ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx.so.1
#5  0x00007f2ab2c8c1ea in hpx::detail::run_or_start(bool, std::unique_ptr<hpx::runtime, std::default_delete<hpx::runtime> >, hpx::util::command_line_handling&, hpx::move_only_function<void (), false>, hpx::move_only_function<void (), false>) ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx.so.1
#6  0x00007f2ab2c8c9da in hpx::detail::run_or_start(hpx::function<int (hpx::program_options::variables_map&), false> const&, int, char**, hpx::init_params const&, bool) ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx.so.1
#7  0x0000000000431f89 in main ()

Thread 2 backtrace
(gdb) thread 2
[Switching to thread 2 (Thread 0x7f2a59636000 (LWP 2308582))]
#0  0x00007f2aa98f0999 in poll () from /lib64/libc.so.6
(gdb) bt
#0  0x00007f2aa98f0999 in poll () from /lib64/libc.so.6
#1  0x00007f2aa6c4389a in poll (__timeout=-1, __nfds=1, __fds=0x7f2a596257b8)
    at /usr/include/bits/poll2.h:46
#2  ofi_uffd_handler (arg=<optimized out>) at prov/util/src/util_mem_monitor.c:515
#3  0x00007f2aa99e66ea in start_thread () from /lib64/libpthread.so.0
#4  0x00007f2aa98fd49f in clone () from /lib64/libc.so.6

Thread 3 backtrace
(gdb) thread 3
[Switching to thread 3 (Thread 0x7f2a57fff000 (LWP 2308760))]
#0  0x00007f2aa99ed70c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
(gdb) bt
#0  0x00007f2aa99ed70c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f2ab2643afc in asio::detail::scheduler::run(std::error_code&) [clone .isra.0] ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx_core.so
#2  0x00007f2ab2644128 in hpx::util::io_service_pool::thread_run(unsigned long, hpx::util::barrier*) const ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx_core.so
#3  0x00007f2aa9edcac3 in ?? () from /usr/lib64/libstdc++.so.6
#4  0x00007f2aa99e66ea in start_thread () from /lib64/libpthread.so.0
#5  0x00007f2aa98fd49f in clone () from /lib64/libc.so.6

Thread 4 backtrace
(gdb) thread 4
[Switching to thread 4 (Thread 0x7f2a577fe000 (LWP 2308761))]
#0  0x00007f2aa99ed70c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
(gdb) bt
#0  0x00007f2aa99ed70c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f2ab2643afc in asio::detail::scheduler::run(std::error_code&) [clone .isra.0] ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx_core.so
#2  0x00007f2ab2644128 in hpx::util::io_service_pool::thread_run(unsigned long, hpx::util::barrier*) const ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx_core.so
#3  0x00007f2aa9edcac3 in ?? () from /usr/lib64/libstdc++.so.6
#4  0x00007f2aa99e66ea in start_thread () from /lib64/libpthread.so.0
#5  0x00007f2aa98fd49f in clone () from /lib64/libc.so.6

Thread 5 backtrace
(gdb) thread 5
[Switching to thread 5 (Thread 0x7f2a56ffd000 (LWP 2309162))]
#0  0x00007f2aa99ed70c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
(gdb) bt
#0  0x00007f2aa99ed70c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f2ab2643afc in asio::detail::scheduler::run(std::error_code&) [clone .isra.0] ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx_core.so
#2  0x00007f2ab2644128 in hpx::util::io_service_pool::thread_run(unsigned long, hpx::util::barrier*) const ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx_core.so
#3  0x00007f2aa9edcac3 in ?? () from /usr/lib64/libstdc++.so.6
#4  0x00007f2aa99e66ea in start_thread () from /lib64/libpthread.so.0
#5  0x00007f2aa98fd49f in clone () from /lib64/libc.so.6

Thread 6 backtrace
(gdb) thread 6
[Switching to thread 6 (Thread 0x7f2a567fc000 (LWP 2309163))]
#0  0x00007f2aa99ed70c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
(gdb) bt
#0  0x00007f2aa99ed70c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f2ab2643afc in asio::detail::scheduler::run(std::error_code&) [clone .isra.0] ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx_core.so
#2  0x00007f2ab2644128 in hpx::util::io_service_pool::thread_run(unsigned long, hpx::util::barrier*) const ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx_core.so
#3  0x00007f2aa9edcac3 in ?? () from /usr/lib64/libstdc++.so.6
#4  0x00007f2aa99e66ea in start_thread () from /lib64/libpthread.so.0
#5  0x00007f2aa98fd49f in clone () from /lib64/libc.so.6

Thread 7 backtrace
(gdb) thread 7
[Switching to thread 7 (Thread 0x7f2a55ffb000 (LWP 2309164))]
#0  0x00007f2aa99ed70c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
(gdb) bt
#0  0x00007f2aa99ed70c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f2ab2643afc in asio::detail::scheduler::run(std::error_code&) [clone .isra.0] ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx_core.so
#2  0x00007f2ab2644128 in hpx::util::io_service_pool::thread_run(unsigned long, hpx::util::barrier*) const ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx_core.so
#3  0x00007f2aa9edcac3 in ?? () from /usr/lib64/libstdc++.so.6
#4  0x00007f2aa99e66ea in start_thread () from /lib64/libpthread.so.0
#5  0x00007f2aa98fd49f in clone () from /lib64/libc.so.6

Thread 8 backtrace
(gdb) thread 8
[Switching to thread 8 (Thread 0x7f2a557fa000 (LWP 2309165))]
#0  0x00007f2aa99ed70c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
(gdb) bt
#0  0x00007f2aa99ed70c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f2ab2643afc in asio::detail::scheduler::run(std::error_code&) [clone .isra.0] ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx_core.so
#2  0x00007f2ab2644128 in hpx::util::io_service_pool::thread_run(unsigned long, hpx::util::barrier*) const ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx_core.so
#3  0x00007f2aa9edcac3 in ?? () from /usr/lib64/libstdc++.so.6
#4  0x00007f2aa99e66ea in start_thread () from /lib64/libpthread.so.0
#5  0x00007f2aa98fd49f in clone () from /lib64/libc.so.6

Thread 9 backtrace
(gdb) thread 9
[Switching to thread 9 (Thread 0x7f2a54ff9000 (LWP 2309166))]
#0  0x00007f2aa99eda5e in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
(gdb) bt
#0  0x00007f2aa99eda5e in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f2ab275ae25 in hpx::threads::policies::scheduler_base::idle_callback(unsigned long)
    ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx_core.so
#2  0x00007f2ab2742c1c in void hpx::threads::detail::scheduling_loop<hpx::threads::policies::local_priority_queue_scheduler<std::mutex, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_lifo> >(unsigned long, hpx::threads::policies::local_priority_queue_scheduler<std::mutex, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_lifo>&, hpx::threads::detail::scheduling_counters&, hpx::threads::detail::scheduling_callbacks&) ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx_core.so
#3  0x00007f2ab2743584 in hpx::threads::detail::scheduled_thread_pool<hpx::threads::policies::local_priority_queue_scheduler<std::mutex, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_lifo> >::thread_func(unsigned long, unsigned long, std::shared_ptr<hpx::util::barrier>) ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx_core.so
#4  0x00007f2ab26e8f63 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (hpx::threads::detail::scheduled_thread_pool<hpx::threads::policies::local_priority_queue_scheduler<std::mutex, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_lifo> >::*)(unsigned long, unsigned long, std::shared_ptr<hpx::util::barrier>), hpx::threads::detail::scheduled_thread_pool<hpx::threads::policies::local_priority_queue_scheduler<std::mutex, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_lifo> >*, unsigned long, unsigned long, std::shared_ptr<hpx::util::barrier> > > >::_M_run() ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx_core.so
#5  0x00007f2aa9edcac3 in ?? () from /usr/lib64/libstdc++.so.6
#6  0x00007f2aa99e66ea in start_thread () from /lib64/libpthread.so.0
#7  0x00007f2aa98fd49f in clone () from /lib64/libc.so.6

Thread 10 backtrace
(gdb) thread 10
[Switching to thread 10 (Thread 0x7f2a547f8000 (LWP 2309167))]
#0  0x00007f2aa99eda5e in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
(gdb) bt
#0  0x00007f2aa99eda5e in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f2ab275ae25 in hpx::threads::policies::scheduler_base::idle_callback(unsigned long)
    ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx_core.so
#2  0x00007f2ab2742c1c in void hpx::threads::detail::scheduling_loop<hpx::threads::policies::local_priority_queue_scheduler<std::mutex, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_lifo> >(unsigned long, hpx::threads::policies::local_priority_queue_scheduler<std::mutex, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_lifo>&, hpx::threads::detail::scheduling_counters&, hpx::threads::detail::scheduling_callbacks&) ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx_core.so
#3  0x00007f2ab2743584 in hpx::threads::detail::scheduled_thread_pool<hpx::threads::policies::local_priority_queue_scheduler<std::mutex, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_lifo> >::thread_func(unsigned long, unsigned long, std::shared_ptr<hpx::util::barrier>) ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx_core.so
#4  0x00007f2ab26e8f63 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (hpx::threads::detail::scheduled_thread_pool<hpx::threads::policies::local_priority_queue_scheduler<std::mutex, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_lifo> >::*)(unsigned long, unsigned long, std::shared_ptr<hpx::util::barrier>), hpx::threads::detail::scheduled_thread_pool<hpx::threads::policies::local_priority_queue_scheduler<std::mutex, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_lifo> >*, unsigned long, unsigned long, std::shared_ptr<hpx::util::barrier> > > >::_M_run() ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx_core.so
#5  0x00007f2aa9edcac3 in ?? () from /usr/lib64/libstdc++.so.6
#6  0x00007f2aa99e66ea in start_thread () from /lib64/libpthread.so.0
#7  0x00007f2aa98fd49f in clone () from /lib64/libc.so.6

Thread 11 backtrace
(gdb) thread 11
[Switching to thread 11 (Thread 0x7f2a539f7000 (LWP 2309809))]
#0  0x00007f2aa99ed70c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
(gdb) bt
#0  0x00007f2aa99ed70c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f2ab2dc0db2 in hpx::components::server::runtime_support::wait() ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx.so.1
#2  0x00007f2ab2dc1016 in hpx::runtime_distributed::wait_helper(std::mutex&, std::condition_variable&, bool&) ()
   from /global/u1/j/jackyan/workspace/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/hpx-master-plvhffpq7tdpmj7pbc2stxeb5zoxoztd/lib64/libhpx.so.1
#3  0x00007f2aa9edcac3 in ?? () from /usr/lib64/libstdc++.so.6
#4  0x00007f2aa99e66ea in start_thread () from /lib64/libpthread.so.0
#5  0x00007f2aa98fd49f in clone () from /lib64/libc.so.6

Specifications

HPX Version: The current master branch
Platform (compiler, OS): Perlmutter

@hkaiser Could you take a look and see whether you can spot something obviously wrong from the stack trace?

Nothing unusual. Two HPX scheduler threads seem to be still active, but none of those seem to have any work left (they sit in the idle_callback).

Nothing unusual. Two HPX scheduler threads seem to be still active, but none of those seem to have any work left (they sit in the idle_callback).

So why is the network background function not invoked?

Nothing unusual. Two HPX scheduler threads seem to be still active, but none of those seem to have any work left (they sit in the idle_callback).

So why is the network background function not invoked?

Are you sure there are messages pending or potentially incoming?

Nothing unusual. Two HPX scheduler threads seem to be still active, but none of those seem to have any work left (they sit in the idle_callback).

So why is the network background function not invoked?

Are you sure there are messages pending or potentially incoming?

I am not sure if there are pending messages or potentially incoming messages, but the process should not be sure either, unless the dijkstra termination algorithm has completed? The network background function is the way to check whether there are incoming messages and make progress on the pending ones.  My understanding is that the worker threads will keep calling the network background function when idle.


Configuration file refactor

This addresses:
#13
#12 (by recommending use of lockrun)
#8
#7
#6
As well as a number of issues on the jpsync repo.

Merging this to the v0.2-epic branch so I can open a PR for the config changes


[BUG] - Connect-PnPOnline: Keyset does not exist

Reporting an Issue or Missing Feature
If I run Connect-PnPOnline locally using a certificate (stored in the local machine certificate store) and supplying the parameters (Tenant, Thumbprint and ClientId ) the command fails:
Connect-PnPOnline -Url $Url -Tenant $tenant -Thumbprint $thumbprint -ClientId $clientId
Error message: Connect-PnPOnline: Keyset does not exist
Attempts to replace the local certificate works, but after a period of time, such as a week, the keyset does not exist error returns.
This was mentioned here, but I'm not sure what the resolution is:
https://github.com/pnp/powershell/issues/106
Expected behavior
Would expect the command to successfully establish a connection with SharePoint Online
Actual behavior
Error message produced: Connect-PnPOnline: Keyset does not exist
Steps to reproduce behavior
I use this command to import the cert:
Import-PfxCertificate -Exportable -CertStoreLocation Cert:\LocalMachine\My -FilePath .$certname.pfx #Install certificate
and then this command to connect:
Connect-PnPOnline -Url $Url -Tenant $tenant -Thumbprint $thumbprint -ClientId $clientId
then after a week or so, I have remove the cert and run import line again.
What is the version of the Cmdlet module you are running?
1.9.0
Which operating system/environment are you running PnP PowerShell on?

[x] Windows
[ ] Linux
[ ] MacOS
[ ] Azure Cloud Shell
[ ] Azure Functions
[ ] Other : please specify

I am actually able to reproduce the error every day. A reimport of the cert fixes it temporarily.

This looks like some sort of a permission issue with your local machine or the account that you use to access the certificate.
Maybe you can use Get-PnPAzureCertificate cmd and try ??
https://docs.microsoft.com/en-us/powershell/module/sharepoint-pnp/get-pnpazurecertificate?view=sharepoint-ps

I will attempt your comment.
I was using - PnPAzureCertificate

@elementlu - Did you try @gautamdsheth's suggestion?

Closing this due to lack of response.


include deprecation warning

system: linux mint 18.1
$ ansible --version
ansible <IP_ADDRESS>
$ ansible-galaxy list
weareinteractive.apt, 2.2.0
When running the module I get deprecation warnings on the use of 'include' for tasks. Use include_tasks instead.
Calling playbook:
---
- name: perform tasks in ansible-galaxy apt role and tasks in sys-maintenance role.
  hosts: local
  connection: local
  become: yes
  user: eimert
  vars:
    apt_upgrade: full
  roles:
    - weareinteractive.apt
    - sys-maintenance

play output:
[DEPRECATION WARNING]: The use of 'include' for tasks has been deprecated. Use
'import_tasks' for static inclusions or 'include_tasks' for dynamic inclusions.
This feature will be removed in a future release. Deprecation warnings can be
disabled by setting deprecation_warnings=False in ansible.cfg.
[DEPRECATION WARNING]: include is kept for backwards compatibility but usage is
discouraged. The module documentation details page may explain more about this
rationale.. This feature will be removed in a future release. Deprecation
warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.

PLAY [perform tasks in ansible-galaxy apt role and tasks in sys-maintenance role.] ***

TASK [Gathering Facts] *********************************************************
ok: [localhost]

TASK [weareinteractive.apt : Configuring APT] **********************************
ok: [localhost] => (item=etc/apt/apt.conf.d/10general)
ok: [localhost] => (item=etc/apt/apt.conf.d/10periodic)

TASK [weareinteractive.apt : Configuring APT] **********************************
ok: [localhost] => (item=etc/apt/apt.conf.d/50unattended-upgrades)

TASK [weareinteractive.apt : Configuring remount filesystem] *******************
skipping: [localhost] => (item=None)

TASK [weareinteractive.apt : Configuring remount filesystems] ******************
skipping: [localhost] => (item=None)

TASK [weareinteractive.apt : Configuring APT proxy behavior] *******************
skipping: [localhost] => (item=etc/apt/apt.conf.d/00proxy)

TASK [weareinteractive.apt : Alter Aptitude solution costs] ********************
skipping: [localhost] => (item=etc/apt/apt.conf.d/20alter-aptitude-solution-cost)

TASK [weareinteractive.apt : Updating cache] ***********************************
changed: [localhost]

TASK [weareinteractive.apt : Upgrading system] *********************************
changed: [localhost]

TASK [weareinteractive.apt : Installing required packages] *********************
ok: [localhost] => (item=[u'aptitude', u'python-apt', u'python-pycurl'])

TASK [weareinteractive.apt : Adding apt signing key] ***************************

TASK [weareinteractive.apt : Adding apt repository] ****************************

TASK [weareinteractive.apt : Installing packages] ******************************
(...)
PLAY RECAP *********************************************************************
localhost                  : ok=16   changed=11   unreachable=0    failed=0

For example, in tasks/main.yml 'include' is still being used:
---

- include: config.yml
  tags:
    - system
    - apt
    - config
    - apt-config

Could you replace include with include_tasks, and do a new release?
Bear in mind include_tasks is supported since ansible 2.4.

PRs are always welcome ;)


Is it time to use official alpine or gliderlabs/alpine is not deprecated?

As far I understand, official alpine https://registry.hub.docker.com/_/alpine/ is gliderlabs. Right? if so, maybe it worth to mention about it in the readme?

Yeah – would love to see a bit of guidance as to the difference between the library/gliderlabs images and which one y'all would prefer people be using in the wild.

The _/alpine image is from gliderlabs and has does not include apk-install. Issue #19 should explain this and gives some information about the build process.
I will let @andyshinn or @progrium reply about your last question. (deprecation of gliderlabs/alpine)

I've been using _/alpine more and more. I think ultimately both will always be available, but the goal is to make them the same as much as possible.
If for some reason we come up with something clever that we think is worth adding here and not as another image, we can add to gliderlabs/alpine or a tag. The official image is stricter about what it can include.
Some docs would definitely help clear that up.

:+1: to have some clarification about what image to use.

I added some docs to make some more sense of this in #65.


Carbon Type Descriptors via ReflectionDescriptor

Description
This PR adds type descriptors for Carbon date types Carbon and CarbonImmutable using the ReflectionDescriptor.
Made possible after: https://github.com/briannesbitt/Carbon/pull/2344.
Features / Changes

[x] Registers descriptors in extension.neon
[x] Adds test cases in MyBrokenEntity.php

@ondrejmirtes hello!
Firstly, thank you for this extension and PHPStan in general, it's very useful! 👍
I'm looking to add type descriptors for Carbon date types and wanted to check two things first:

Is this something that you consider within the scope of this extension? Or is it more something like a custom type that the end-user should add themselves. I thought it would be useful because the library is widely used

I'm having trouble running a fresh composer install in this project. I tried various things but still could not get it working. Am I missing something?

$ 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
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - phpstan/phpstan-doctrine is present at version 0.12.x-dev and cannot be modified by Composer
    - Conclusion: don't install doctrine/common 3.1.x-dev (conflict analysis result)
    - Conclusion: don't install doctrine/common 3.2.x-dev (conflict analysis result)
    - Conclusion: don't install doctrine/common 3.0.3 (conflict analysis result)
    - Conclusion: don't install doctrine/common 3.1.0 (conflict analysis result)
    - Conclusion: don't install doctrine/common 3.1.1 (conflict analysis result)
    - Conclusion: don't install doctrine/common 3.1.2 (conflict analysis result)
    - Root composer.json requires doctrine/persistence ^1.1 || ^2.0 -> satisfiable by doctrine/persistence[v1.1.0, ..., 1.4.x-dev, 2.0.0, ..., 2.3.x-dev].
    - Root composer.json requires doctrine/mongodb-odm ^1.3 || ^2.1 -> satisfiable by doctrine/mongodb-odm[1.3.0-RC1, ..., 1.3.x-dev, 2.1.0, ..., 2.3.x-dev].
    - doctrine/orm[2.9.1, ..., 2.10.x-dev] require doctrine/common ^3.0.3 -> satisfiable by doctrine/common[3.0.3, ..., 3.2.x-dev].
    - Conclusion: don't install doctrine/common 3.0.x-dev (conflict analysis result)
    - Root composer.json requires doctrine/orm ^2.9.1 -> satisfiable by doctrine/orm[2.9.1, 2.9.x-dev, 2.10.x-dev].```

Hi, can you link to those Carbon Doctrine types you want to describe? Thanks.
As for your installation problem:

Make sure you use Composer 2
Try deleting composer.lock and vendor/.
Try it with --ignore-platform-reqs

Check out the CI scripts, it's not doing anything special...

Hi, can you link to those Carbon Doctrine types you want to describe? Thanks.
As for your installation problem:

Make sure you use Composer 2
Try deleting composer.lock and vendor/.
Try it with --ignore-platform-reqs

Check out the CI scripts, it's not doing anything special...

Hey, thanks for the fast reply.
I managed to run the installation with --ignore-platform-reqs 👍 .
Regarding the types, here they are:

CarbonType
CarbonImmutableType

They both use the CarbonTypeConverter to do the conversions from/to database.

The easiest way forward would be for the library to add proper typehints - the methods convertToPHPValue and convertToDatabaseValue don't have the correct return typehints. And after that registering the ReflectionDescriptor would be sufficient. (https://github.com/phpstan/phpstan-doctrine#reflectiondescriptor).
Alternatively an implementation like https://github.com/phpstan/phpstan-doctrine/blob/master/src/Type/Doctrine/Descriptors/Ramsey/UuidTypeDescriptor.php would also work.

Thanks for the details.
Looks like not even the Doctrine date types have those type hints 🤷♂  .
Also it might be difficult due to the way the code is structured as the converter is used for both Carbon and CarbonImmutable. The return type of convertToPHPValue will be the class instance returned by getCarbonClassName, which gets overridden in DateTimeImmutableType. Is it possible to convey this properly via type hints?
The above is mostly why I thought a custom descriptor like DateTimeImmutableType would be the easiest, unless I'm missing something.

Oh, in that case we need a custom DoctrineTypeDescriptor implementation here :) So please submit the PR, thanks :)

Oh, in that case we need a custom DoctrineTypeDescriptor implementation here :) So please submit the PR, thanks :)

Added now, please run the workflow as it's my first time contributing here :)

@ondrejmirtes hey 👋 , this is updated and ready for re-review now

thank you! 💯


Parallel system interconnection using control.interconnect()

I'm trying to use control.interconnect() to connect one system input to two subsystem inputs, but I can't figure out a clean way to do it. The best way I've found so far is to create a dummy summing junction for this purpose, as shown below:
import control

# Systems to connect in parallel
a = control.TransferFunction([1], [1], name='a')
b = control.TransferFunction([1], [2], name='b')
sum = control.summing_junction(2, name='sum')
split = control.summing_junction(1, name='split')

# Interconnection using ``control.interconnect``
P_interconnect = control.interconnect(
    syslist=[a, b, sum, split],
    connections=[
        ['sum.u[0]', 'a'],
        ['sum.u[1]', 'b'],
        ['a', 'split'],
        ['b', 'split'],
    ],
    inplist=['split'],
    outlist=['sum'],
)
print(P_interconnect)

# Interconnection using ``control.parallel``
P_parallel = control.parallel(a, b)
print(control.tf2ss(P_parallel))

Am I missing something, or is this the recommended way to feed two subsystem blocks the same system-level input?

connections specifies internal connections (i.e., between subsystems), whereas auto-splitting behavior only affects how system inputs map to subsystem inputs. Therefore, connections can be given when doing this.
Note that automatically (also known as "implicitly") making internal connections will not work with an explicit connections argument. For reference, the relevant part of the code is https://github.com/python-control/python-control/blob/1bb0a46d2475e1b185a4cb6f8c45f64aa0248526/control/nlsys.py#L2260-L2273

Got it. Thanks for the help!


Documentation not up to date

The documentation mentions SqliteConnection.SetConfig(SQLiteConfig.Serialized);
But the sqlite-net-pcl package doesn't have this method.
I would like to know how to configure my database to use multiple threads.

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

ID: c07438f1-7799-35a5-c6aa-86ce411694b1
Version Independent ID: 7d3ccdcd-5165-99cf-9184-dcc966dbd25e
Content: Using SQLite.NET with Android - Xamarin
Content Source: docs/android/data-cloud/data-access/using-sqlite-orm.md
Product: xamarin
GitHub Login: @conceptdev
Microsoft Alias: crdun

Hi @SaskiaL it seems like the documentation is not specific enough. The type SqliteConnection is actually in the Mono.Data.Sqlite namespace, so you can either add
using Mono.Data.Sqlite;

to the top of your code file, or specify it explicitly, like this:
Mono.Data.Sqlite.SqliteConnection.SetConfig(Mono.Data.Sqlite.SQLiteConfig.Serialized);

For information on asynchronous access, see this Xamarin.Forms local databases page, which also applies to Android projects.


Add support for setting a version tag for a DMN decision

Problem you would like to solve
As a Camunda 8 user, I'd like to be able to specify a custom version tag for a DMN decision (so that the decision will be available under this version tag when it gets deployed later on and can be referenced from a BPMN business rule task using versionTag binding).
Proposed solution

[x] A new (optional) input field "Version tag" is added to the "General" section of the properties panel for a decision in a DMN diagram.
[x] The version tag is stored in the value attribute of a zeebe:versionTag extension element:<decision id="test-decision" name="Test Decision">
    <extensionElements>
        <zeebe:versionTag value="v1.0.0" />
    </extensionElements>
</decision>

Additional context

part of https://github.com/camunda/camunda/issues/19812
relates to https://github.com/camunda/camunda-modeler/issues/4453
relates to https://github.com/camunda/camunda-modeler/issues/4461

Released as https://www.npmjs.com/package/dmn-js-properties-panel/v/3.5.0 and ready to be integrated into both modelers through https://www.npmjs.com/package/camunda-dmn-js/v/2.8.0.


fix(HLS): Support AES-128 in init segment according the RFC

Fixes https://github.com/shaka-project/shaka-player/issues/5667

This change depends on https://github.com/shaka-project/shaka-player/commit/96ae7f2fe614402d1ee410591eb86a2868796c38 so it's not possible cherry pick it to previous branches

This change depends on 96ae7f2 so it's not possible cherry pick it to previous branches

It seems worth reimplementing in maintained branches if possible.  This bug would affect all those branches.

@joeyparrish Then you have to migrate the changes of two files: https://github.com/shaka-project/shaka-player/commit/96ae7f2fe614402d1ee410591eb86a2868796c38#diff-16ec8ddcded7ae72476c57ab4efc90ade0fa155d7210d8e5f920f786f 418ff33 and https://github.com/shaka-project/shaka-player/ commit/96ae7f2fe614402d1ee410591eb86a2868796c38#diff-c620ac9f1f7d7edd591bf600973db0235bcdcd215ae6b226e0597cec35ab88de


Remove plugins

What problem does this feature solve?
Be able to remove any plugin that was added by the command vue add, for example @vue/pwa.
What does the proposed API look like?
vue remove

We are not going to implement this because of the complexity of restoring a project to its previous state, especially when the files may have been modified by the user. When you add the plugin, you will get the chance to review the changed files and commit it - you can revert that commit to achieve the equivalent of removing it.


Using ELMo with TensorFlow 2.0

Is it possible to use ELMo as a embedding layer with hub.KerasLayer?
If i try:
import tensorflow_hub as hub
import tensorflow as tf

input_tokens = tf.keras.layers.Input(shape=(1000,), name="input_tokens", dtype="string")
sequence_length = tf.constant([1000])

elmo_layer = hub.KerasLayer('https://tfhub.dev/google/elmo/3',
                            signature='tokens',
                            output_key='elmo',
                            trainable=True)

embedding_tokens = elmo_layer(inputs={'tokens': input_tokens,
 'sequence_len': sequence_length})

I get the following error message:
_SymbolicException: Inputs to eager execution function cannot be Keras symbolic tensors, but found [<tf.Tensor 'input_tokens_9:0' shape=(None, 1000) dtype=string>]
Is there something I am missing here or is it not possible yet?

@basroelenga ELMO is not available in Tensorflow 2.0 yet but you can use hub.KerasLayer with Tensorflow 1.15 and it works without any error. Please find the gist here

@gowthamkpr Thnx for your response! I indeed got it working in TF 1.15 and was just wondering if it was possible in TF2.0. Is there any timeline for when this will be updated for TF2? Or is it just a waiting game?

@basroelenga Can't give a concrete timeline but keep the community posted on the updates. Closing this issue as it has been resolved.

Is elmo available with TF2 now?

Unfortunately, there is nothing but what you can find at https://tfhub.dev/s?q=elmo which is ELMo for TF1.

Any news on when using a trainable elmo on tensorflow 2 will be possible? Or did anyone figure this out in meantime?

Does Tensorflow 2.0 support elmo embeddings now? I am still getting the error   AttributeError: 'NoneType' object has no attribute 'outer_context'
If I try to run on Google collab by installing tensorflow 1.15 I get  ERROR: No matching distribution found for tensorflow==1.15

The below code should work on the new tensor flow version.
============================================
import tensorflow as tf
import tensorflow_hub as hub
import numpy as np
elmo = hub.load("https://tfhub.dev/google/elmo/2").signatures["default"]
x = ["Hello world!"]
embeddings = elmo(tf.constant(x))["elmo"]
print(embeddings.shape)
print(embeddings.numpy())
============================================


correct the way of getting the storage of an image(#9904)

Fixes #9904

[x] Do the tests still pass?[^1]
[x] Does the code comply with the style guide?
[ ] For Python changes: Have you added tests to cover the new/fixed behaviour?

Thanks @engAmirEng! Please could you add a test to cover this fix?

Thanks @engAmirEng! Please could you add a test to cover this fix?

No problem, I really want to but I really don't know how,
I came across this issue implementing the behavior that instantiates storage based on database values

Could you provide a minimal example (maybe cut down from on https://medium.com/@hiteshgarg14/how-to-dynamically-select-storage-in-django-filefield-bc2e8f5883fd) that gives the incorrect result with the current code? Maybe we can then adapt that into a test.

@gasman What do you think about this test? I think it's more general than providing a specific example

Flagging for another review


feat(docs): added wing by example

New pages for "Wing by Example" this is inspired by other popular langugages.

Haskell

https://lotz84.github.io/haskellbyexample/ex/arrays

Go
https://gobyexample.com/arrays
Dart

https://www.jpryan.me/dartbyexample/

Currently WIP. https://wing-docs-git-wing-learn-by-monada.vercel.app/docs/learn/

Thank you @Chriscbr , your comments have been addressed, thanks for the review.


Background Effect

Is your feature request related to a problem? Please describe.
A Mouse Hover Background

i can fix this


Text jumps when editing on Android Chrome

This continues to be an issue...
https://user-images.githubusercontent.com/14358394/232334092-4a4bed33-0210-4c61-ab6a-6ed2ed6fe2e1.mp4

@zsviczian can you confirm is this a recent regression or this was always there ?

@zsviczian  Can't repro on my end. Can you share the link for that specific drawing? Also can you check what version you're on?

Apologies for the late response. I was travelling. I can confirm this is still there on the latest Excalidraw.
The coordinates of the text element on the screenshot is very telling. Seems as if updatedTextElememt is not initialized or initialized incorrectly in wysiwyg editor. Just a guess, will debug tonight, unless @ad1992 has an idea based on the screenshot.
https://user-images.githubusercontent.com/14358394/233616308-28ad0498-3a6c-4a90-93f5-75b34733a60c.mp4

I tested versions back till July 2022, the issue is there in all the releases. Text always jumps to 0,0.

I tested versions back till July 2022, the issue is there in all the releases. Text always jumps to 0,0.

Thanks for confirming this @zsviczian so looks like this issue was probably there from beginning

Solving this problem will close all duplicates https://github.com/excalidraw/excalidraw/issues/5642.
Triple combo!🥳

Seems for some reason Excalidraw registers an element drag - that is why the text jumps.  Debouncing the call to dragSelectedElement() when this.state.editingElement solves the problem.


Feature request: Image inserting

Problem
Hello!
There's a limitation in the plugin which is inserting images, thumbnails. When I want to link an image (eg. [[tree.jpg]] from my vault, it makes it a link and there's no way to make a little preview. Usage: I'm making an offline music database.
Option to scale it to [[tree.jpg|50]] also doesn't work. especially when typing ![[tree.jpg|50]] which makes brackets a simple text.
Source from the tutorial
Solution
Linking images from vault with fixed height based on row would be the best solution there (since this is a table), something like 50x50 px max. For example when I was inserting images in notion, various sizes (200x200, 50x50, irregular) were scaled to about 27x27 px.
Additional details
screenshots: (1. obsidian, 2. notion)

https://cdn.discordapp.com/attachments/1103715161413525565/1119017294526414848/image.png
https://cdn.discordapp.com/attachments/1103715161413525565/1119017568578064484/image.png

Hi @adrikty. Thank you for your feature request. It is frustrating that the Obsidian MarkdownRender.renderMarkdown function doesn't render embedded image links. I will work on this next.

Related to #457

@adrikty Fixed in 6.19.0. Please use the Embed cell type when using embedding images


Vectorize step and ramp functions

Make step and ramp functions able to work with arrays.
I am working on it

Solved in branch correct_bug


Problem with formatting of lists in event description preview

Here is what the preview of the event description looks like:

Here is the actual event description (note that the formatting does not use the markdown list feature but is just a "manually typed" list):

Here is the event link:
https://couchers.org/event/1464/party-on-friday

So I believe the problem here is the escaping of special characters (\! and \.) which is not removed, right ? However the absence of carriage return (\n) is wanted.


Added home button for issue 378

Description
Added home button for Issue #378.
Notion Test Page ID
133786b111744d3ea413d71d2876dd74

Preview Here

I appreciate the PR @clarkhacks, but I'm not sure I want to add this to the main branch.


On line reference manual non aligned to source code.

I am referring to this page: Construction of generic type parameters
The example in the on-line manual has this piece of sample code:
typedef Constructible = {
  public function new(s:String):Void;
}

while the PDF built from source has this:
import haxe . Constraints ;

One more difference in the sample code is as follows, on line:
  static function make<T:Constructible>():T {

while the PDF built from source has this:
static function make<T: Constructible<String ->Void>>():T {

This will be fixed by regenerating the pdf.


This happened suddenly and i dont know why

Paths.hx (line 380)
PlayState.hx (line 6201)
PlayState.hx (line 2537)
flixel/FlxGame.hx (line 637)
flixel/FlxGame.hx (line 724)
flixel/FlxGame.hx (line 677)
flixel/FlxGame.hx (line 545)
openfl/events/EventDispatcher.hx (line 402)
openfl/display/DisplayObject.hx (line 1399)
Uncaught Error: Null Object Reference
Please report this error to the GitHub page: https://github.com/UmbratheUmbreon/PublicDenpaEngine

Crash Handler written by: sqirra-rng

i might be stupid or something, but i dont know what to do, i cant load up any songs at all, ive tried remaking the weeks, and it still dosnt work! what do i do?

missing vocals file or incorrect vocals format

the weird thing is, All song files are correct and none are missing, is there another cause for this issue?

make sure your song files are in the correct file format, have you used an audio converter to convert them into ogg?

nope

I think I have a few ideas of what is causing the problem. I keep reskinning the menu icons, does that effect freeplay in any way? and if it does, why


Inject() 3rd argument default value is not true

Vue version
latest
Link to minimal reproduction
https://sfc.vuejs.org/#eNp9kMFugzAMhl/FyoVWgkTbbqhF2nvkQpnpQMWJbNNNqnj3mcFh2qTdYuf3ly9+uNec/X1GV7uTdDxkBUGdcxNpmHJihUckgIFG7DTSAj2nCQqbKCJF6hKJQgvnPXEoFEWLEg5HODfw9PxyXGMhwC1dAT+zZQQ0AdsjTGughMusey2G6mfqdEjkN3q6obfZQ2ugU9gUG1e6za6a2uxHSWT+36Jxv5Do6k197ZnuWkf3rpqlDkH6bv31KD7xNdjJ80w6TOhRpurC6UOQDRxd+YMRrHlHrhjpDRn5P+av6B/uil1soW75ArNvhdE=
Steps to reproduce
API: Composition - Inject()
Issue: Inject() 3rd argument default value is not true.
However, the API Docs type description says true.
It is implemented with very simple code.
Just open the playground and check the console log in developer tools.
What is expected?
Inject() expects third argument default value is true.
What is actually happening?
Inject() expects third argument default value is false.
System Info
It was run with the latest version on the playground. This is an issue independent of the runtime environment.

Any additional comments?
During the production of the Vue3 Korean document, I found it during the verification stage of the example code.
This can be confusing for many novice developers.
First, I submitted an issue to vuejs/docs and was told to resubmit here.

export function inject<T>(key: InjectionKey<T> | string): T | undefined
export function inject<T>(
  key: InjectionKey<T> | string,
  defaultValue: T,
  treatDefaultAsFactory?: false
): T
export function inject<T>(
  key: InjectionKey<T> | string,
  defaultValue: T | (() => T),
  treatDefaultAsFactory: true
): T

Already send a PR to vuejs/docs.

treatDefaultAsFactory default value is false

Examples in the documentation may need to be modified.

I think so too.
So I opened an issue in vuejs/docs.
However, the member told me to report the issue here as it is not a document issue.
I just hope this problem gets resolved quickly.

@edison1105 we also have this export:
export function inject<T>(
  key: InjectionKey<T> | string,
  defaultValue: T | (() => T),
  treatDefaultAsFactory: true
): T

see https://github.com/vuejs/core/blob/8edf4b344179d0a8d3c1090ce63f466f4e787976/packages/runtime-core/src/apiInject.ts#L36
Are we sure we always want to treat the third argument as false?

@edison1105 we also have this export:

export function inject<T>(

  key: InjectionKey<T> | string,

  defaultValue: T | (() => T),

  treatDefaultAsFactory: true

): T

see https://github.com/vuejs/core/blob/8edf4b344179d0a8d3c1090ce63f466f4e787976/packages/runtime-core/src/apiInject.ts#L36
Are we sure we always want to treat the third argument as false? I am happy to modify docs but from the user experience position it would be better if we eagerly treated default value as a factory, unless we explicitly disable this behaviour.

Thanks for your reply. I see that override of inject. But that's for typescript usage, actually the third args is always false.
/cc @LinusBorg what do you think?🤔

Apart from the question of what Evan's intended behaviour was, the main question is: What's the more common usage?
My gut tells me that it's more common to provide a function (and need a function as a default was well, than it is to require a factory function for the default value. mainly because inject() is usually only called only once per component anyway, and in that moment we can create a per-component default just fine:
``js
setup () {
const myInjectedMap = inject('myKey', new Map()) // no factory function needed.
}

Unless I overlooked an obvious use case for factory functions, I'd say they are a real edge case, and the default value for the third argument should therefore be false.

@LinusBorg I've seen cases when people use a factory function returning an array or object for a default value, just like they do it for the default prop value. I am not sure whether they need it to be a factory function but it aligns logically with props default so I can see where this comes from.
@yyx990803 it would be nice to have your input on the treatDefaultAsFactory inject argument so we could align documentation to the source code or vice versa 😅

edison1105 we also have this export:
export function inject<T>(
  key: InjectionKey<T> | string,
  defaultValue: T | (() => T),
  treatDefaultAsFactory: true
): T

see
https://github.com/vuejs/core/blob/8edf4b344179d0a8d3c1090ce63f466f4e787976/packages/runtime-core/src/apiInject.ts#L36
Are we sure we always want to treat the third argument as false? I am happy to modify docs but from the user experience position it would be better if we eagerly treated default value as a factory, unless we explicitly disable this behaviour.

My two cents, I think this export means that, the 3rd argument treatDefaultAsFactory should always be explicitly passed with true when the 2nd argument is a function, acts like there is no default value for the 3rd argument.
"true" here is a literal type which means it should be true and true only, not that you can omit this argument (otherwise it should be written like "treatDefaultAsFactory = true")

My original line of thought was similar to what @LinusBorg wrote: sing a default value when injecting is relatively uncommon, using a factory function is indeed rare. This is only needed when the user explicitly need a way to avoid unnecessary initialization cost.
Some other aspects:

It can be confusing if functions get special treatment by default. It makes more sense to opt-in to the special case.
The current behavior has existed for a long time, and adjusting it would be a breaking change.

I have updated the docs via 79b448d5fc71a910c3ab60ddecc5c55458eb4526 and https://github.com/vuejs/docs/pull/2317.


YAPF doesn't indicate what is incorrect

When checking code, YAPF is showing the little red cross in the UI to tell me my code doesn't fit its specifications, but I have no idea what is incorrect.
Not really an issue, more an enhancement, but would it be possible to highlight incorrect lines? That red cross is annoying but I don't want to format the whole file without knowing what happened.
I feel like it's a bit weird for a formatter to do kind of a linter's job, but as soon as there is a "check code" function I would appreciate a more detailed check result than that little red cross.

same as #27


Bug: Find and Replace indicate "no matches" when "[", "(", or ")" included in the search string

Description
When using both the "Find" and the "Replace" feature, I noticed that whenever my search string included a "[", "(" or ")" (but not a "]", "{", or "}"), the UI will claim "no matches" even though it can still actually find them. I've tried this in large (1,000 line) files with hundreds of these characters, and in no circumstances will it display any matches, though it will still find them (making this less critical).
What steps will reproduce the problem?

Ensure focus is on a file with these characters (minimal example:)

{foo}
{bar}
[foo]
[bar]
(foo)
(bar)

Bring up Find or Replace dialogs
Search for, e.g. "[", "[foo]", "(bar)"; observe match count

What is the expected output? What do you see instead?
For e.g. "[" on the above, expected: 1 of 2 , actual: no matches;
For "(foo)", expected: 1 of 1, actual: no matches.
Etc. for any string containing "(", "[", and/or ")" regardless of what other characters it contains.
Please provide any additional information below
Reproduced on multiple spyder installs, machines and OS platforms.
Version and main components

Spyder Version: 3.2.4
Python Version: 3.6.3
Qt Versions: 5.6.2, PyQt5 5.6 on Windows 8.1 Pro x64 and Win 10 Ent x64

Dependencies
pyflakes >=0.6.0 :  1.6.0 (OK)
pycodestyle >=2.3:  2.3.1 (OK)
pygments >=2.0   :  2.2.0 (OK)
pandas >=0.13.1  :  0.20.3 (OK)
numpy >=1.7      :  1.13.3 (OK)
sphinx >=0.6.6   :  1.6.3 (OK)
rope >=0.9.4     :  0.10.5 (OK)
jedi >=0.9.0     :  0.10.2 (OK)
nbconvert >=4.0  :  5.3.1 (OK)
sympy >=0.7.3    :  1.1.1 (OK)
cython >=0.21    :  0.26.1 (OK)
qtconsole >=4.2.0:  4.3.1 (OK)
IPython >=4.0    :  6.1.0 (OK)
pylint >=0.25    :  1.7.4 (OK)

Thanks for reporting. We'll take a a look at it in a future release.


[Bug] Cannot pull remote workspace (Beta version control)

Insomnia Version: 7.0.5
Operating System: Manjaro Linux, Mac OS

Details

My team and I all had the Version Control beta turned on. We were all able to create and push snapshots. However, none of us would see the changes that the other made. Whenever I click the Remote Workspaces dropdown and click "Pull Adventuresoft", I get the following error message: IMGUR
Extra Information

This workspace was originally created before any of us had the version control beta on.
We only have one branch: master.
Sometimes, the pull will appear to work. However, I can't see my teammate's changes, even when it seems like it works.

Can you try duplicating the workspace (will generate new IDs), enabling sync, and sharing that new one with your team? That way it will have a fresh place to start from.

@gschier you were absolutely correct. We had no trouble once we created a new workspace. I'll leave the issue open since there's still a problem somewhere. Let me know if you want any more info to try and reproduce this.

I'm glad the workaround worked.
During the initial setup, did each member enable sync of the workspace and share with each other? If so, this would have created multiple sync references to the same workspace with different encryption keys for each one.
I feel like the appropriate solution is to detect if multiple sync projects point to the same workspace and providing a UI to allow the user to chose the "official" one.

Yes, we have a group/Team called "AdventureWorks Developers". All of our users were sharing the workspace with this team at the time. For a few days one of the developers had "manual sync" enabled. Other than that, it was all automatically synced. Also, once we all turned the beta off, our syncing with one another seemed to go on as usual.

Thanks for the info. It helps a lot 🙂

@gschier Just to add a bit more context for this, we made the new workspace and all is well. However, every person on the team sees "Pull [WORKSPACE]" under "Remote Workspaces". None of us can actually pull it, though. Also, according to the team lead, "[WORKSPACE]" cannot be deleted - not even from the website. It's not super disruptive, but there's definitely something wrong here.

Ah yes, there's no way to delete a remote sync project right now. If you send an email over to<EMAIL_ADDRESS>with your account details I can delete it for you.

Hi @natepisarski,
We just released 2020.4.2 which contains a number of fixes for issues related to the version control beta sync, including this one.
Please give it a try, and if you're still having issues, send us an email at<EMAIL_ADDRESS>so that we can best assist you with these issues!


operators: stake management chapter

Docs part of PR for https://github.com/oasislabs/oasis-core/issues/2275
This PR adds

Stake management chapter for the node operators.

Merge after https://github.com/oasislabs/oasis-core/pull/2293 is merged.

I actually think it may be best to merge this with the operator docs we are preparing to merge into the public docs here. The content here is great! I just want to make sure that we align some of the details with the operator docs. I will take a look at this tomorrow

We have new two fees parameters which need to be added.

@ravenac95 I think the docs are now on-par with the rest of the docs. Can I go ahead and merge it?


Mention how to enable Anaconda in fish shell

Since I enjoy using FISH, I found how to enable Anaconda in it, and was hoping it could be added to the introduction after BASH and TCSH (non-standard though it is).
You can add Anaconda to FISH's path by doing
 set -U fish_user_paths "$HOME/anaconda3/bin" $fish_user_paths

You only need to do this once, since it is a persistent change. Importantly, this command shouldn't be done in FISH's configuration file, since it will make $fish_user_paths longer each time FISH is started.
To create Python environments using Anaconda, you must have FISH evaluate the file $HOME/anaconda3/etc/fish/conf.d/conda.fish, which will add functions to FISH's function namespace. If you want these as soon as FISH opens , then this command should be done in FISH's configuration file  ($HOME/.config/fish/config.fish) with the command
source "$HOME/anaconda3/etc/fish/conf.d/conda.fish"

Alternatively, you can symlink this file into FISH's function folder (~/.config/fish/functions).
This creates some functions and adds information to FISH's right-side prompt when an environment has been activated, such as with the command
conda activate py36

This command was able to successfully activate the above environment that was created in BASH. To have this environment loaded at the start, you just also put this command into the config.fish file.
To deactivate the environment, the command is simply
conda deactivate

and takes no arguments after deactivate.
This is mostly a write-up of the file conda.fish. Since FISH works a bit differently from the POSIX-ish shells, I figured it might be worth including.

Hello,
I followed your instructions for miniconda3 instead of anaconda3 and, I used the first command without changing the directory path from anaconda3 to miniconda3. Now, I receive the warning:
set: Warning: $PATH entry "$HOME/anaconda3/bin" is not valid (No such file or directory)
Is there a way I can change the $PATH entry?
Thank you.

If the bad directory is at the front of fish_user_paths, you should be able to do
'set -U fish_user_paths  $fish_user_paths[2..-1]'.
I think you can also use
'set -Ue fish_user_paths[n]' where 'n' is the index of the bad directory. Remember the FISH's arrays start at 1. I haven't tried this way.
Please first try these on a test variable before using them on fish_user_paths. It has been a while since I've much used the shell.
Get Outlook for Androidhttps://aka.ms/ghei36

From: Vinh Ton<EMAIL_ADDRESS>Sent: Wednesday, July 17, 2019 7:46:25 AM
To: gtrichards/PHYS_T480_F18
Cc: Hyatt,Earl; Author
Subject: Re: [gtrichards/PHYS_T480_F18] Mention how to enable Anaconda in fish shell (#1)
External.
Hello,
I followed your instructions for miniconda3 instead of anaconda3 and, I used the first command without changing the directory path from anaconda3 to miniconda3. Now, I receive the warning:
set: Warning: $PATH entry "$HOME/anaconda3/bin" is not valid (No such file or directory)
Is there a way I can change the $PATH entry?
Thank you.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgtrichards%2FPHYS_T480_F18%2Fissues%2F1%3Femail_source%3Dnotifications%26email_token%3DAKMCY5H2BVNLSARC76XRKIDP74BBDA5CNFSM4FWX4CL2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2D5TGI%23issuecomment-512219545&data=02|01|ejh92%40drexel.edu|6441a8de7f2b4e97544e08d70aac65cf|3664e6fa47bd45a696708c4f080f8ca6|0|0|636989607866640162&sdata=bcYAja078FLE5ocCQ%2BRkoULO%2Fp5cziNQEuSP3bn%2B1aY%3D&reserved=0, or mute the threadhttps://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAKMCY5F3QYIADWGFFNJRVBTP74BBDANCNFSM4FWX4CLQ&data=02|01|ejh92%40drexel.edu|6441a8de7f2b4e97544e08d70aac65cf|3664e6fa47bd45a696708c4f080f8ca6|0|0|636989607866640162&sdata=n%2FgWOrf3Vx96YX3jyiZS9f%2FC3VOeyLTVuQpKfyP3N%2Bc%3D&reserved=0.


refactor(dashboard/home): move to packages

move home to packages

Why do we need to move the home to packages?

To remove all code from the /src/app folder and keep only the config file. The home serves for the login page generation. It could be replaced with custom implementation.


Sequential execution of dependent tasks

When declaring a task to depend on other tasks via dependsOn array tag there is no way to specify the dependent tasks to run in sequential order. At the moment they all run in parallel at once. I think it would be useful feature to be able to specify task execution order as seq or async.
An example of this would be CMake project where you have separately specified tasks to configure, build, run tests and finally run the built project. Then you want to combine those tasks into single task and they have to execute in order.
Note: this is partially duplicated issue of #53339

You can always put them in sequence. So if you want the order A, B C, make C depend on B and B depend on A. Is this not working for you?

Yes this works, but then you get hierarchy dependency and you can't run separate task without running the parent task first. Say D is combination of A, B, C and you want to run them in order when D is executed but when C alone is executed you do not want to also run A and B.
If I broaden previous CMake example usually during the active development you don't want to always run tests before executing built project. In current case you would either have to run test task first or make a new task that only executes build and run tasks in order. This brings a lot of unnecessary boilerplate code to the task scheme.

Adding to the above, if I have different configurations, I also would have to create each of those chains and standalone tasks for each configuration as well, even if some of the other tasks are identical. I.e. if I have tasks A1/A2/A3, B, C, D, then I have to create three totally separate chains of dependencies, plus the separate tasks to run each step without dependencies.

I also would love to see this.
Just add a dependsOnOrdered option that runs tasks sequentially and all in the same terminal.

I have also find a need for this. I am working with docker commands based tasks where I need build and run tasks separately defined without dependencies and also define a task where first it build and then run.

In fact, in it's current state the 'dependsOn' property is a bit misleading since all process will run in parallel.  The hability to make them go in sequence would be very appreciated.  When one says 'dependent', it means (in my head, anyways) that process 'C' will only run if processes 'A' and 'B' completed sucessfully. Would be neat to have that behavior implemented.

dependson should have the default behaviour of serial and have parallel as an option. Specifying an array implies to the end user that the dependencies will be satisfied in order.


Dragging tabs around can cause empty regions

Code:
class MainApplication : Application() {
    override fun start(stage: Stage) {
        val root = DetachableTabPane()
        val scene = Scene(root)

        (0..3).forEach {
            root.tabs.add(DetachableTab("Tab $it").apply {
                content = Text("Content $it")
            })
        }

        stage.scene = scene
        stage.show()
    }
}

After playing around with it a bit, the application somehow ended up like this:

After experimenting for a bit, it seems to be caused by moving the topmost/leftmost tab of a row/column.

Hi, I can replicate. I'll try to find a solution. Thanks for reporting the bug.

Closed, no activity.


Add extension for Github handling of code blocks within lists

(nicoulaj/idea-markdown#124)
GitHub requires 8 spaces for nesting code blocks in lists.
It would be nice to have support for this through an extension.

It is. The issue was errors in the parser, not configuration.

@sirthias, I think this one can be closed.


Changed control flow and some @staticmethod decorators

Now the game is run from the file run.py, and the user will be asked to continue playing every round. The I/O functions are managed in a new different file (ask_user.py). I fixed some methods not working properly and some bugs.

These changes look great by the way @NachoNav -- nice work!
My only suggestion from here (if you want) is to swap the main.py and run.py files and rename run.py since best practice is always to run from the main.py file with
if __name__ == 'main':
    main()

I also liked what you did teasing out ask_user.py and improving those two functions 👍


⚠ File access has degraded performance

In f404470, File access (https://fyle.uk/file/fish) experienced degraded performance:

HTTP code: 200
Response time: 13965 ms

Resolved: File access performance has improved in 5134dc1 after 8 minutes.


formInstanceId attribute added

fix for multiple instances of the same hubspot form embedded on the same page

Form seems to always appear now. Thanks, @eballeste. I'll wait for your tracking changes and then test again.

Just pushed @jseldess, thanks for waiting for this!

Still looks good, @eballeste. Merging.


Add migration instructions

We upgraded from tippy-react 1.1.1 to 2.2.0 and realised some styles were slightly off. Looking at the errors we found some css files were not found and had to change the imports as follows.
- import 'tippy.js/dist/tippy.css?raw'
- import 'tippy.js/dist/themes/google.css?raw'
+ import 'tippy.js/index.css?raw'
+ import 'tippy.js/themes/google.css?raw'

We didn't find other upgrades needed to be done in our code, but there might be other use cases that require further changes.
Should there be a "Migrating from v1" section in the readme?

You don't need to import the main CSS anymore -- the default import auto-injects it into <head>.  Themes still need to be imported etc. The 2.0.0 release mentions this but maybe it's not clear enough

https://github.com/atomiks/tippy.js-react/releases/tag/v2.0.0
I've updated the Breaking changes section to be clearer. That release changelog is effectively the guide 😄 hopefully it's good enough?


Shorter bytecode by leveraging repeatitive patterns

This is not doing what it is advertising. The compiler does not do as expected.


Feat/warrior/2020.2

Are this and #673 just awaiting QA review? @Raigi can you take a look when you get a chance?

Are this and #673 just awaiting QA review? @Raigi can you take a look when you get a chance?

OTF pipeline for this branch has passed.
Creating rpi device and updating it also worked