[Bug]: Handle exception when same failed upload twice

backend_app    | (sqlalchemy.dialects.postgresql.asyncpg.IntegrityError) <class 'asyncpg.exceptions.UniqueViolationError'>: duplicate key value violates unique constraint "uploaded_file_name_key"
backend_app    | DETAIL:  Key (name)=(Sample.csv) already exists.
backend_app    | [SQL: INSERT INTO uploaded_file (name) VALUES ($1::VARCHAR) RETURNING uploaded_file.id]
backend_app    | [parameters: ('Sample.csv',)]
backend_app    | (Background on this error at: https://sqlalche.me/e/20/gkpj)
backend_app    | INFO:     <IP_ADDRESS>:44526 - "POST /api/file HTTP/1.1" 500 Internal Server Error
backend_app    | ERROR:    Exception in ASGI application
backend_app    | Traceback (most recent call last):
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 538, in _prepare_and_execute
backend_app    |     self._rows = await prepared_stmt.fetch(*parameters)
backend_app    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_app    |   File "/usr/local/lib/python3.11/site-packages/asyncpg/prepared_stmt.py", line 176, in fetch
backend_app    |     data = await self.__bind_execute(args, 0, timeout)
backend_app    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_app    |   File "/usr/local/lib/python3.11/site-packages/asyncpg/prepared_stmt.py", line 241, in __bind_execute
backend_app    |     data, status, _ = await self.__do_execute(
backend_app    |                       ^^^^^^^^^^^^^^^^^^^^^^^^
backend_app    |   File "/usr/local/lib/python3.11/site-packages/asyncpg/prepared_stmt.py", line 230, in __do_execute
backend_app    |     return await executor(protocol)
backend_app    |            ^^^^^^^^^^^^^^^^^^^^^^^^
backend_app    |   File "asyncpg/protocol/protocol.pyx", line 207, in bind_execute
backend_app    | asyncpg.exceptions.UniqueViolationError: duplicate key value violates unique constraint "uploaded_file_name_key"
backend_app    | DETAIL:  Key (name)=(Sample.csv) already exists.
backend_app    |
backend_app    | The above exception was the direct cause of the following exception:
backend_app    |
backend_app    | Traceback (most recent call last):
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1971, in _exec_single_context
backend_app    |     self.dialect.do_execute(
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 919, in do_execute
backend_app    |     cursor.execute(statement, parameters)
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 572, in execute
backend_app    |     self._adapt_connection.await_(
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 131, in await_only
backend_app    |     return current.driver.switch(awaitable)  # type: ignore[no-any-return]
backend_app    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 196, in greenlet_spawn
backend_app    |     value = await result
backend_app    |             ^^^^^^^^^^^^
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 550, in _prepare_and_execute
backend_app    |     self._handle_exception(error)
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 501, in _handle_exception
backend_app    |     self._adapt_connection._handle_exception(error)
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 789, in _handle_exception
backend_app    |     raise translated_error from error
backend_app    | sqlalchemy.dialects.postgresql.asyncpg.AsyncAdapt_asyncpg_dbapi.IntegrityError: <class 'asyncpg.exceptions.UniqueViolationError'>: duplicate key value violates unique constraint "uploaded_file_name_key"
backend_app    | DETAIL:  Key (name)=(Sample.csv) already exists.
backend_app    |
backend_app    | The above exception was the direct cause of the following exception:
backend_app    |
backend_app    | Traceback (most recent call last):
backend_app    |   File "/usr/local/lib/python3.11/site-packages/uvicorn/protocols/http/h11_impl.py", line 407, in run_asgi
backend_app    |     result = await app(  # type: ignore[func-returns-value]
backend_app    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_app    |   File "/usr/local/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 69, in __call__
backend_app    |     return await self.app(scope, receive, send)
backend_app    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_app    |   File "/usr/local/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__
backend_app    |     await super().__call__(scope, receive, send)
backend_app    |   File "/usr/local/lib/python3.11/site-packages/starlette/applications.py", line 123, in __call__
backend_app    |     await self.middleware_stack(scope, receive, send)
backend_app    |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in __call__
backend_app    |     raise exc
backend_app    |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__
backend_app    |     await self.app(scope, receive, _send)
backend_app    |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 91, in __call__
backend_app    |     await self.simple_response(scope, receive, send, request_headers=headers)
backend_app    |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 146, in simple_response
backend_app    |     await self.app(scope, receive, send)
backend_app    |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
backend_app    |     await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
backend_app    |   File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
backend_app    |     raise exc
backend_app    |   File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
backend_app    |     await app(scope, receive, sender)
backend_app    |   File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 758, in __call__
backend_app    |     await self.middleware_stack(scope, receive, send)
backend_app    |   File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 778, in app
backend_app    |     await route.handle(scope, receive, send)
backend_app    |   File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 299, in handle
backend_app    |     await self.app(scope, receive, send)
backend_app    |   File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 79, in app
backend_app    |     await wrap_app_handling_exceptions(app, request)(scope, receive, send)
backend_app    |   File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
backend_app    |     raise exc
backend_app    |   File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
backend_app    |     await app(scope, receive, sender)
backend_app    |   File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 74, in app
backend_app    |     response = await func(request)
backend_app    |                ^^^^^^^^^^^^^^^^^^^
backend_app    |   File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 278, in app
backend_app    |     raw_response = await run_endpoint_function(
backend_app    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_app    |   File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
backend_app    |     return await dependant.call(**values)
backend_app    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_app    |   File "/app/src/api/routes/file.py", line 32, in upload_and_return_id
backend_app    |     new_file = await file_repo.create_uploadfile(file_name=file.filename)
backend_app    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_app    |   File "/app/src/repository/crud/file.py", line 17, in create_uploadfile
backend_app    |     await self.async_session.commit()
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/ext/asyncio/session.py", line 1009, in commit
backend_app    |     await greenlet_spawn(self.sync_session.commit)
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 203, in greenlet_spawn
backend_app    |     result = context.switch(value)
backend_app    |              ^^^^^^^^^^^^^^^^^^^^^
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1972, in commit
backend_app    |     trans.commit(_to_root=True)
backend_app    |   File "<string>", line 2, in commit
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/state_changes.py", line 139, in _go
backend_app    |     ret_value = fn(self, *arg, **kw)
backend_app    |                 ^^^^^^^^^^^^^^^^^^^^
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1257, in commit
backend_app    |     self._prepare_impl()
backend_app    |   File "<string>", line 2, in _prepare_impl
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/state_changes.py", line 139, in _go
backend_app    |     ret_value = fn(self, *arg, **kw)
backend_app    |                 ^^^^^^^^^^^^^^^^^^^^
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1232, in _prepare_impl
backend_app    |     self.session.flush()
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 4296, in flush
backend_app    |     self._flush(objects)
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 4431, in _flush
backend_app    |     with util.safe_reraise():
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__
backend_app    |     raise exc_value.with_traceback(exc_tb)
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 4392, in _flush
backend_app    |     flush_context.execute()
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/unitofwork.py", line 466, in execute
backend_app    |     rec.execute(self)
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/unitofwork.py", line 642, in execute
backend_app    |     util.preloaded.orm_persistence.save_obj(
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/persistence.py", line 93, in save_obj
backend_app    |     _emit_insert_statements(
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/persistence.py", line 1233, in _emit_insert_statements
backend_app    |     result = connection.execute(
backend_app    |              ^^^^^^^^^^^^^^^^^^^
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1422, in execute
backend_app    |     return meth(
backend_app    |            ^^^^^
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 514, in _execute_on_connection
backend_app    |     return connection._execute_clauseelement(
backend_app    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1644, in _execute_clauseelement
backend_app    |     ret = self._execute_context(
backend_app    |           ^^^^^^^^^^^^^^^^^^^^^^
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1850, in _execute_context
backend_app    |     return self._exec_single_context(
backend_app    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1990, in _exec_single_context
backend_app    |     self._handle_dbapi_exception(
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2357, in _handle_dbapi_exception
backend_app    |     raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1971, in _exec_single_context
backend_app    |     self.dialect.do_execute(
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 919, in do_execute
backend_app    |     cursor.execute(statement, parameters)
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 572, in execute
backend_app    |     self._adapt_connection.await_(
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 131, in await_only
backend_app    |     return current.driver.switch(awaitable)  # type: ignore[no-any-return]
backend_app    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 196, in greenlet_spawn
backend_app    |     value = await result
backend_app    |             ^^^^^^^^^^^^
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 550, in _prepare_and_execute
backend_app    |     self._handle_exception(error)
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 501, in _handle_exception
backend_app    |     self._adapt_connection._handle_exception(error)
backend_app    |   File "/usr/local/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 789, in _handle_exception
backend_app    |     raise translated_error from error
backend_app    | sqlalchemy.exc.IntegrityError: (sqlalchemy.dialects.postgresql.asyncpg.IntegrityError) <class 'asyncpg.exceptions.UniqueViolationError'>: duplicate key value violates unique constraint "uploaded_file_name_key"
backend_app    | DETAIL:  Key (name)=(Sample.csv) already exists.
backend_app    | [SQL: INSERT INTO uploaded_file (name) VALUES ($1::VARCHAR) RETURNING uploaded_file.id]

This bug causes database insertion errors due to existing file names. Can we return a 'file name already exists' exception to the frontend, similar to checking email or username?

Close per PR#86 fixed


Merge ecli and ecc docker image

Merge the dockerfile, it will increase the size of the docker image, but significantly reduce maintenance costs and improve availability.
The new docker image includes ecc and ecli.
Run with whatever -v -i or other flag.
docker run eunomia-x86_64:latest ecli
docker run eunomia-aarch64:latest ecc

This change needs to be discussed, mentioning @yunwei37 @try-agaaain @Officeyutong @oluceps.
The main reason for this change is that the docker build cannot copy files outside the directory, which prevents the ecli dockerfile from being generic.
Also don't need to worry about image size, compared with the previous ecc image, this image only adds an ecli binary(by using multi-stage builds).

so why not add ecli to ecc image，while make another ecli docker alone?

In fact, that's what this change does, just renamed the merged docker.

I think it's not a good idea to rename and merge the docker. ecli user does not need the ecc images

Yes, this will add unnecessary image size for ecli users, maybe with docker-compose.
But in any case, I think that is not a way to simply copy ecli in docker.
https://github.com/eunomia-bpf/eunomia-bpf/blob/ef25c0d6df844d13f12eb93aa7d246df211f5c4f/ecli/dockerfile#L6-L10

What's going on now?

Does ecli really require a docker image?

Yes, here is no reason to run the bpf program in docker.


Use requestActivityTransitionUpdates on Android

The plugin currently uses the raw activity stream on this line: https://github.com/Dev-hwang/flutter_activity_recognition/blob/fc307fae14686b4ce0470782862bcfe089a26c81/android/src/main/kotlin/com/pravera/flutter_activity_recognition/service/ActivityRecognitionManager.kt#L74C12-L74C12
In addition to the option of subscribing to the raw activity recognition stream it would be good to have the option to just subscribe to transition events:
https://developers.google.com/android/reference/com/google/android/gms/location/ActivityRecognitionClient#requestActivityTransitionUpdates(com.google.android.gms.location.ActivityTransitionRequest, android.app.PendingIntent)

Agree. This will be a very useful enhancement.


Why Ruby 2.3?

Hi,
this is just a question that bothers me/us. Why do you only support Ruby 2.3? Is there a special 2.3 feature you are using? Or was this just for convenience?  Because this makes it so much harder to use it with ChefDK which uses Ruby 2.1.8.
Cheers,
Stefan

Thanks for your interest in the project.
Ruby 2.3 was chosen because it's the latest release; as this project is not directly related to Chef, we were not focused on ensuring compatibilty with the Chef Development Kit.
Once we have a proper CI/CD pipeline set up, we can explore supporting older versions of Ruby, but until then, we recommend that you work with the project as outlined in the README.

okay, thank you


Bug: Open a card for editing, add prioritized todo

It says "no changes that need to be saved"
Recent regression?  Perhaps https://github.com/jkomoros/card-web/commit/1be94690a5aab6c2527d801ba7ec5f87fd362c5f broke it?

Yeah, 1be6469 broke it.
Previously 678ec138c79f3e388433df74c24f24571622bac2 was the thing that changed that line


[OneExplorer] Introduce ConfigObject

This commit introduces ConfigObject class which is composed of
parsed dictionary object of given ini file.
ONE-vscode-DCO-1.0-Signed-off-by: Dayoung Lee<EMAIL_ADDRESS>

Format error... T.T


Placeholder text for date field on event form

Event form now has placeholder text specifying the input format ("DD/MM/YYYY") in the event date field.

@meganniu If we're adding in the Calendar dropdown, is this still required? Will we still be using a DialogInput or will we be switching to another calendar class that we'll import?

Merging for Howard's Demo tomorrow.


[Launcher]: Align to PAI folder structure

Coverage decreased (-19.5%) to 51.958% when pulling ce067ac97d367caeb4457d2f8a3650141aa71f78 on yqwang/folder-refactor into 1ed07f0dadb07606b7b82378054482acaf3ec645 on folder-refactor.


upgrade: also bump clustermesh-apiserver

We forgot to upgrade this particular DaemonSet if present.
Fixes: #689
Signed-off-by: Casey Callendrello<EMAIL_ADDRESS>

Test failure is a flake - a request to one.one.one.one returned 403, presumably because we were spamming it.


Issue-4 Downgrading realm dependency as 2.3.4 is unstable.

Coverage remained the same at 100.0% when pulling 26ddd6db1c1d46e0b54a82a47790627b63ad0aa3 on issue-4-downgrading-realm into 5c45bf92a6c24275feb753cc95366e74c754a956 on master.

@billmalarky Try Realm 2.4.x as we have a few fixes for RN debugging in 2.4.0.

Ok I will test it out and deploy when I get the chance to work on this this
week.
Thank you.
On Mon, May 14, 2018, 4:34 AM Kenneth Geisshirt<EMAIL_ADDRESS>wrote:

@billmalarky https://github.com/billmalarky Try Realm 2.4.x as we have
a few fixes for RN debugging in 2.4.0.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/billmalarky/react-native-queue/pull/19#issuecomment-388739071,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABxTU1jk626azNsKMHbZqNkum4YivDtdks5tyUGKgaJpZM4Tq8LJ
.


Accidentally deleting a container when actual wanted to delete a snapshot.

Required information

Distribution: Ubuntu
Distribution version: 16.04 xenial
The output of "lxc info" or if that fails:

config:
  storage.zfs_pool_name: lxd
api_extensions:
- id_map
- id_map_base
- resource_limits
api_status: stable
api_version: "1.0"
auth: trusted
auth_methods: []
public: false
environment:
  addresses: []
  architectures:
  - x86_64
  - i686
  certificate: |
    -----BEGIN CERTIFICATE-----
    ......................
    -----END CERTIFICATE-----
  certificate_fingerprint: 0272c243731fdec721dce38cd0a6f468448d7fc9c628b4e76cb0f13bfff28851
  driver: lxc
  driver_version: 2.0.8
  kernel: Linux
  kernel_architecture: x86_64
  kernel_version: 4.4.0-128-generic
  server: lxd
  server_pid: 3264
  server_version: 2.0.11
  storage: zfs
  storage_version: "5"

Issue description
Accidentally deleting a container when actual wanted to delete a snapshot.
Steps to reproduce

Running lxc list and seeing that you have a snapshot on one container which you want to remove
Run lxd show <container> to find the snapshop name
Accidentally run lxd delete <container_name> <snapshot name>, notice that I managed to forget /.
Get really mad on yourself for deleteing a container in production which is is daily usage but 10-15 employees.

Information to attach
So this isn't really a bug. More of a request for making a bigger difference between deleting containers and deleting snapshots. Since one is very critical in production and the other is not.
Another option is to have a confirmation when deleting a container. It's just so much work to recreate the container.

Agreed.. a little tricky..   it would be better to ask for confirmation, or have a different syntax for snapshots.  The same thing had happened to me.

yeah I also got surprised by the default of not asking for confirmation for the destructive delete command.
Unfortunately, it will break backward compatibility with scripts using lxc delete but in interactive usage, prompting the user for confirmation by default unless an optional flag is set would be a good idea.

We don't plan on changing the default behavior as this would indeed break scripts and various tools that wrap lxc delete and don't expect an interactive workflow.
One is to setup an alias from lxc delete to lxc delete -i:
stgraber@castiana:~$ lxc alias add delete "delete -i"
stgraber@castiana:~$ lxc delete c1
Remove c1 (yes/no):

The other is to use the new deletion protection feature that got merged earlier today and will be available in LXD 3.3. With it in place, you can mark containers that should never be deleted with the security.protection.delete=true config key and any delete attempt from whatever means (CLI, API, ...) will be rejected until the key is unset.

@laralar the problem is that existing scripts wouldn't know about it and would suddenly start to fail... This is a backward compatibility issue, so it's not possible to just change it like that.

Is lxc alias supported for a long time? lxc 2?
Where is this this stored?
I wanted to raise the consern about accidely deleteing containers.

@zertrin this is completely understood. That is why I wrote the "LoL"
Sometimes keeping a design functionality because of past decisions is not the best choice though and it may be worth the effort of doing dinner manual work for a better design and usability.  I'm not saying that this is the case. That is for you to judge. But yes. I have deleted containers accidentally. I don't know how many people have done that or will do that in the future and the amount of effort required sometimes to rebuild a not backed up container may be more than changing a few scripts.
Maybe the alias can be created on the place where the scripts are run so that they don't have to be changed.
I'm not saying which designs better, keeping the delete without confirmation by default or changing it to a "-f required". I have my opinion. But I think that backwards compatibility is not always the best decision choice for keeping something how it is.
Just my 2 cents.

@stoivo The alias feature was already in 2.0 but without a command to control it. On 2.0 you'd need to manually add the alias in  .config/lxc/config.yml


[pydantic v2] csv and pandas reader DocList with Nested Documents is not working

Context
Loading from csv and pandas with pydantic v2 is not working :

https://github.com/docarray/docarray/blob/4ef493943d1ee73613b51800980239a30fe5ae73/tests/units/array/test_array_from_to_csv.py#L47
https://github.com/docarray/docarray/blob/4ef493943d1ee73613b51800980239a30fe5ae73/tests/units/array/test_array_from_to_pandas.py#L25

Actually, I feel that the this is caused by #1787.
The tests that are failing are the ones where a precomputed csv assumes that an image can be constructed direcly from a url.

And the problem with pandas seems to be related to DocVec and not DocList

I think what is broken for the Pandas tests is the DocList to DocVec transformation with nested docuemnts


Meta issue - conda-store-ui integration

The latest version of jupyterlab-conda-store==0.2.7 is now ready for testing.
Please add your feedback to this issue.
Thank you :)

One issue I've encountered is that I can only see the global namespace.

A user who is only a member of the analyst group doesn't not have the access to create conda environments. This has been the default behavior for some time; they can nagivate to the /conda-store endpoint but they won't be able to login and do anything.
With this new UI, they will still see the Conda-Store menu dropdown but if they try and create an environment, they will get hit with a request not authorized error message. There might not be a simple way for us to hide the Conda-Store menu dropdown but I thought I would call it out here.

Two points:

I really don't like the 'analyst', 'developer' groupings. I know why it was done historically but I don't think it is explained anywhere and I think it we need to change it. That is a larger issue than what we are discussing here.
In terms of permissions, even an 'analyst' should be able to see the global and nebari-git namespaces in read-only format and be able to make personal environments.

Also, "Global" is a shared environment and should be visible in the "Shared Environments" section. Above that section it should show personal environments. Also why are the 'nebari-git' envs missing?

Suggestion: Add a little info button next to nebari-git that says in a dialog "These environments are managed by the nebari-config.yml"
And maybe another info button next to my name dropdown that says "These environments are visible only to you"

When I click on an enivornment, it never loads, just spins.

When I click on a different one and come back to that environment, it loads everything except "Builds" and "Logs"

When you aren't logged in, it should actually tell you "you aren't logged in - Log in to see environments"

Why are some installed versions listed, but others missing?

Visually, we need a header above the person environment dropdown to match the SHARED ENVIRONMENTS. Something like PRIVATE ENVIRONMENTS above my namespace

Other minor ui issue: https://github.com/Quansight/conda-store-ui/issues/232

If you have two channels, and you grab a channel to re-order them, the channel jumps 2 inches away from where you are "grabbing" on the screen. It works, it just sits 2 inches away from you mouse.


Added a new click animation "About Us" button

Fixes Issue
Closes #789
Changes Proposed
Added a new click animation button after referring to a youtube video
Screenshots
https://github.com/Spyware007/Animating-Buttons/assets/120516365/f76bf02f-dbb8-4e53-87aa-82bd1f04ac8e
Checklist

[x] You've linked this PR to the correct issue.
[x] You have checked that the code is working correctly.
[x] You ⭐ the repository!

Note
Please kindly review, add labels and merge

Please resolve the merge conflicts

Please mention your name in the Data.js file and reupload

Is it okay now?

Is it okay now??


Fix ra_cargo_watch test on windows.

Due to difference in path parsing on platforms, the current input to the snapshot tests in ra_cargo_watch cause a panic when running on Windows. This PR attempts to avoid these error by jerry-rigging the output of map_span_to_location_naive when running in #[cfg(test)] to always create unix-style paths with no validation.
I'm open to better solutions, but this fixes the issue, while keeping most of the tests useful on all platforms.
If somebody running on Windows could test this that would be great, as I'm working in the blind here :)
Fixes #2720 (probably).

More specifically it seems the issue is Path::has_root (as called by is_absolute) doesn't really like checking a UNIX style path when running on Windows. And apart from disabling the tests completely on Windows, I'm not sure what else to do.

Hm, I think I'll be more comfortable with #[cfg(not(windows))] on the test itself. That way, we can add a #[cfg(windows)] test with windows paths as well. I imagine we might actually want to test this, as cargo watch seems to be a part where the current strategy of "test only on linux, because everything is, by definition, platform agnostic" might fall down.

Actually, give me a minute, past me was smart, so there's a better solution that this :)

Actually, never mind. We will still have different output even though I change the workspace root per platform. The trouble is that the actual cargo output relatively cross-platform as it only uses relative paths. The problem comes when introducing the workspace root as the file url has to be from an absolute path.
The workspace path is easily irrecoverable per platform, but the snapshot test would still error out on different platforms due to different output.

Okay, force pushed a version that just disables the test on windows for now. I'll try to figure out a way to not duplicated the entire test cases tomorrow, but this should do for now.

bors r+

I think CI is not running in Windows, do we want to enable it?

@lnicola yes, if it is not significantly slower than the linux one. If it is slower, we need to move ra_watch thread to a separate repository, similarly to how we handle ra_vfs.


”Ocnița”, ”Pinticu”, ”Viile Tecii” are listed in the drop-down menu

Description:
When user writes ”Ocnița”, ”Pinticu”, ”Viile Tecii” the locations appear in the drop-down menu next to the comune and the county witch is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Ocnița"

Expected results
The location appears in the drop-down menu as "Ocnița, Bistrița-Năsăud (Teaca)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Pinticu"

Expected results
The location appears in the drop-down menu as "Pinticu, Bistrița-Năsăud (Teaca)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Viile Tecii"

Expected results
The location appears in the drop-down menu as "Viile Tecii, Bistrița-Năsăud (Teaca)".


Make haskell.org/alex redirect to haskell-alex.readthedocs.io ?

I have updated https://haskell.org/alex (fixing #128), but I wonder whether we should simply make it a redirect to https://haskell-alex.readthedocs.io and maintain all information there?

[ ] @gbaz, can https://haskell.org/alex be simply made a redirect (and how)?
[ ] There is currently old stuff at webhost.haskell.org:alex that should be deleted:sftp> ls
_darcs                    alex-2.1.0rc.tar.gz       dist                      doc
index.html                index.html-darcs-backup0

After #128, only index.html is used, the rest is not connected (and badly outdated).
[dist contains some old packings of alex-2, and doc the old rendered docbook manual.]
I am going to delete all of this, unless some screams.

The Haddock maintainers chose to host their documentation on readthedocs. If you want to do the same then @gbaz or another member of the haskell-infra team can set up a redirect for you.
On the other hand, you are welcome to just integrate the page into the www.haskell.org repo.

On the other hand, you are welcome to just integrate the page into the www.haskell.org repo.

How would that work?  Would it be a .markdown file under site/?  Or where would I put the .html file (for the simplest solution)?

Would it be a .markdown file under site/?

That would work, and I think you can also put the HTML contents into the .markdown file because Markdown should allow embedding of HTML.

isn't Markdown problematic with colour use

The docs are update, and we are ready to do this.

This is done!


Small changes for some strings

Capitalization of an error message.
String changes in the Theme Editor for consistency.

Thanks!

Cherry picked into 3.0.3


How to read parallel exo file set?

Hello,
I have a software package that writes parallel exodus files. For example, if ran in serial, it creates results.exo but in parallel with mpirun -n 4 gives results.exo.4.0, results.exo.4.1, ... results.exo.4.3 (files attached in the zip).
my_exo_results.zip
How can I read these exo files into python with meshio? Using the syntax
exo = meshio.read( "results.exo")

works great in my workflow for the serial case. Is there something similar for the parallel case?
Please let me know if I can provide any more info about my problem. Thanks in advance!

Ah, Albany! I used to work with Andy Salinger when I was at Sandia.

Is there something similar for the parallel case?

Not yet, I'm afraid. Your best bet is probably to look for somewhere else to convert parallel exodus files to a serial one, and take it from there.

Thanks for letting me know. Yes, I saw your github username in some of the Trillinos and Albany commits!
I'll look around for a tool to serialize the exodus files. I'll make a follow up post here with what I find for posterity.

Assuming you have Trilinos installed somewhere, you can use the epu tool:
epu -auto results.exo.4.*

which will give you the serial fileresults.exo. Feel free to close this issue if appropriate!

picking this up as still open - have there been any alternatives to the epu tool mentioned above, for machines without Trilinos installed?


Task 637 rayza component badge component development

Screenshots

Task linked: TASK-637 [component Badge] Component development


Easy UI fixes

If there are UI updates we want that take less than an hour (e.g changing button names, descriptions), list them here so we have a record.
Create separate branch and PR for each fix so that it's easy to review.

Converted to issue to be able to link PRs to this ticket


Deprecate old paths for module-availability testers

Summary
The canonical location for all of these is qiskit.utils.optionals,
along with all the other import testers.  Historically these objects
were available from qiskit.visualization just because they were reused
in several places within that module, and now a few downstream packages
have begun importing from there.  The alternate path was made available
in Terra 0.20.

Details and comments
Follow-on from #7525.  Uses the Python 3.7+ module-level __getattr__ to make Matt happy!

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

5 of 8 (62.5%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.003%) to 83.967%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

qiskit/visualization/init.py
5
8
62.5%

Totals

Change from base Build<PHONE_NUMBER>:
-0.003%

Covered Lines:
54245

Relevant Lines:
64603

💛  - Coveralls


Add Swift 5 Support

Description of the pull request
This PR drops support for Swift 4.2, updates dependencies to latest versions, and changes syntax to be compatible with Swift 5 and the newer dependencies.
Why is the change necessary?
PusherSwift currently uses older versions of dependencies to maintain support for Swift 4.2, since Swift 5.1 is now the latest, it's perhaps high time to drop 4.2.

Any thoughts @TomKemp ? :)

Happy new year bump

Closing due to #261, thanks @TomKemp !


CONTRIBUTING.md won't say you can fill up your memory when building all the features

When building all the AWS features available on Rusoto, the build may require more than 5GB of memory. There is a warning about this in README.md. Would it be useful to have one in CONTRIBUTING.md as well?

I submitted the PR #597 with the warning in CONTRIBUTING.md

Good catch, thanks!
The workaround we use for this in CI is to split our features into batches.  https://github.com/rusoto/rusoto/blob/master/appveyor.yml#L27 shows how we do that for Appveyor along with a link to the relevant issue.  Should we add that info to the CONTRIBUTING file as well?

@matthewkmayer, I updated my PR #597 with the info on how to build a small set of features. Do you think it lacks any more information? Do you think it should be written in a different way?

The file has a link to go to a table of available services that can be built for Rusoto. The link however leads to the README page where you must find another link to the table. Wouldn't it be better to put the direct link to the services, i.e. https://www.rusoto.org/supported-aws-services.html?
If so, should we open a new issue for this?

Probably a good idea. I think that's because we previously had the list of services in the README (but I might be wrong about that).

I think we did have a list of services in the README back when we only had a handful, rather than 50 or 60+.
This particular issue is done, thanks @gabriellhrn !


Support the 1e00000 null encap for PCAP files

This is needed for the pcap files from Apple. Probably related to issue #109.

Resolved in commit 37eedda


web_video_server: 0.0.2-0 in 'jade/distribution.yaml' [bloom]

Increasing version of package(s) in repository web_video_server to 0.0.2-0:

upstream repository: https://github.com/RobotWebTools/web_video_server.git
release repository: https://github.com/RobotWebTools-release/web_video_server-release.git
distro file: jade/distribution.yaml
bloom version: 0.5.19
previous version for package: null

web_video_server
* Merge pull request #10 from mitchellwills/develop
  Added option to specify server address
* Added option to specify server address
* Merge pull request #3 from mitchellwills/develop
  Remove old http_server implementation and replace it with async_web_server_cpp package
* Moved from using built in http server to new async_web_server_cpp package
* Did some cleanup of streamers
* Update package.xml
* Contributors: Mitchell Wills, Russell Toris

Please reopen this one too... :cry:


Documentation linters should cause the docs build to fail

We recently introduced a minor docs regression, but the build succeeds:
$ make render-docs
  GEN   Documentation/_api
3.7.9-alpine3.11: Pulling from library/python
Digest: sha256:0ddccce8820c89f39cde6c482b3ba8bcad9e6652a060c329b7b963112df0b8e7
Status: Image is up to date for python:3.7.9-alpine3.11
docker.io/library/python:3.7.9-alpine3.11
[+] Building 0.2s (9/9) FINISHED
 => CACHED [internal] load remote build context                               0.0s
 => CACHED copy /context /                                                    0.0s
 => [internal] load metadata for docker.io/library/python:3.7.9-alpine3.11    0.0s
 => [1/5] FROM docker.io/library/python:3.7.9-alpine3.11                      0.0s
 => CACHED [2/5] RUN apk add --no-cache --virtual --update     aspell-en      0.0s
 => CACHED [3/5] ADD ./requirements.txt /tmp/requirements.txt                 0.0s
 => CACHED [4/5] RUN pip install -r /tmp/requirements.txt                     0.0s
 => CACHED [5/5] RUN install -m 0777 -d /usr/local/lib/python3.7/site-packag  0.0s
 => exporting to image                                                        0.1s
 => => exporting layers                                                       0.0s
 => => writing image sha256:b154a615b47f5151ad87ac483a96de71e3c01e2e4548279b  0.0s
 => => naming to docker.io/cilium/docs-builder                                0.0s
  GEN   Documentation/_build/html
Validating documentation (syntax, spelling)...
Building documentation (html)...
/src/Documentation/operations/upgrade.rst:197: WARNING: Pygments lexer name 'txt' is not known
/src/Documentation/operations/upgrade.rst:208: WARNING: Pygments lexer name 'txt' is not known
b71eec644d2594e9030bcf7c40b6fd0956faeded6c3ee17258767b76ecc32ed9
Running at http://localhost:9081
$ echo $?
0

When there are warnings like this, it should cause the docs build to fail so that we fix these issues before merging the code.

^ Run from master commit 99eff1b46c37 .


tests: some driver tests of frdm_k64f build failed in twister (shows devicetree error)

Describe the bug
After SDHC support was added into commit: 33b851f71e4268685e850f053d7577026f052b53, build tests by twister will fail due to
devicetree error: 'label' is marked as deprecated in 'properties:' in /home/xx/zephyrproject/zephyr/dts/bindings/sdhc/zephyr,sdhc-spi-slot.yaml for node /soc/spi<EMAIL_ADDRESS>
We simply remove the label of shdc in dts file can avoid this, but we are not sure if this is right solution.
diff --git a/boards/arm/frdm_k64f/frdm_k64f.dts b/boards/arm/frdm_k64f/frdm_k64f.dts
index 770225e851..c6844cada2 100644
--- a/boards/arm/frdm_k64f/frdm_k64f.dts
+++ b/boards/arm/frdm_k64f/frdm_k64f.dts
@@ -156,7 +156,6 @@ arduino_spi: &spi0 {
                compatible = "zephyr,sdhc-spi-slot";
                reg = <0>;
                status = "okay";
-               label = "SDHC_0";
                mmc {
                        compatible = "zephyr,sdmmc-disk";
                        status = "okay";

To Reproduce
Steps to reproduce the behavior:

source zephyr-env.sh
twister -T tests/driver/dac/dac_api -vv
See build error

Expected behavior
Test can build and run by west and twister.
Impact
This impact some tests in frdm_k64f. Build error happens when we build/run it by twister. This block some PRs, Ex,
https://github.com/zephyrproject-rtos/zephyr/pull/49826
https://github.com/zephyrproject-rtos/zephyr/pull/50020
Logs and console output
Loading Zephyr default modules (Zephyr base).
-- Application: /home/mm/zephyrproject/zephyr/tests/drivers/dac/dac_api
-- Found Python3: /usr/bin/python3.8 (found suitable exact version "3.8.10") found components: Interpreter
-- Cache files will be written to: /home/mm/.cache/zephyr
-- Zephyr version: 3.1.99 (/home/mm/zephyrproject/zephyr)
-- Found west (found suitable version "0.12.0", minimum required is "0.7.1")
-- Board: frdm_k64f
-- Found host-tools: zephyr 0.15.0 (/home/mm/zephyr-sdk-0.15.0)
-- Found toolchain: zephyr 0.15.0 (/home/mm/zephyr-sdk-0.15.0)
-- Found Dtc: /home/mm/zephyr-sdk-0.15.0/sysroots/x86_64-pokysdk-linux/usr/bin/dtc (found suitable version "1.6.0", minimum required is "1.4.6")
-- Found BOARD.dts: /home/mm/zephyrproject/zephyr/boards/arm/frdm_k64f/frdm_k64f.dts
devicetree error: 'label' is marked as deprecated in 'properties:' in /home/mm/zephyrproject/zephyr/dts/bindings/sdhc/zephyr,sdhc-spi-slot.yaml for node /soc/spi@4002d000/sdhc@0.
-- In: /home/mm/zephyrproject/zephyr/twister-out/frdm_k64f/tests/drivers/dac/dac_api/drivers.dac.api/zephyr, command: /usr/bin/python3.8;/home/mm/zephyrproject/zephyr/scripts/dts/gen_defines.py;--dts;/home/mm/zephyrproject/zephyr/twister-out/frdm_k64f/tests/drivers/dac/dac_api/drivers.dac.api/zephyr/zephyr.dts.pre;--dtc-flags;'';--bindings-dirs;/home/mm/zephyrproject/zephyr/dts/bindings;--header-out;/home/mm/zephyrproject/zephyr/twister-out/frdm_k64f/tests/drivers/dac/dac_api/drivers.dac.api/zephyr/include/generated/devicetree_generated.h.new;--dts-out;/home/mm/zephyrproject/zephyr/twister-out/frdm_k64f/tests/drivers/dac/dac_api/drivers.dac.api/zephyr/zephyr.dts.new;--edt-pickle-out;/home/mm/zephyrproject/zephyr/twister-out/frdm_k64f/tests/drivers/dac/dac_api/drivers.dac.api/zephyr/edt.pickle;--edtlib-Werror;--vendor-prefixes;/home/mm/zephyrproject/zephyr/dts/bindings/vendor-prefixes.txt
CMake Error at /home/mm/zephyrproject/zephyr/cmake/modules/dts.cmake:230 (message):
  gen_defines.py failed with return code: 1
Call Stack (most recent call first):
  /home/mm/zephyrproject/zephyr/cmake/modules/zephyr_default.cmake:108 (include)
  /home/mm/zephyrproject/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
  /home/mm/zephyrproject/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
  CMakeLists.txt:5 (find_package)

-- Configuring incomplete, errors occurred!

Environment (please complete the following information):

OS: (e.g. Linux, MacOS, Windows)
Toolchain Zephyr SDK 0.15.0
Commit SHA: 33b851f71e4268685e850f053d7577026f052b53

Hi @mmahadevan108 , could you please help on this issue? Thanks!


Update README.md

What is the motivation for adding/enhancing this feature?

Having a good README.md, It's easy to new developers to get familiar with the project
What are the acceptance criteria?

[ ] About section
[ ] Get Started section
[ ] Contributing section

Can you complete this feature request by yourself?

[x] YES
[ ] NO

Additional information

Refer other Readme.md files in similar projects

Are you interested in picking this issue? You can take examples from our other repositories

Yes. I'll start working on this


add improvements

update project name
add HostWorkingDir

Since

Pull request authors cannot approve their own pull requests.

I'll just force it~


undefined method `absolute?'

using the sledgehammer on a 2.2.3p173 ruby app for osx ... did not work ...
# config/boot.rb
require "faster_path/optional/monkeypatches"
FasterPath.sledgehammer_everything!

faster_path-0.0.9/lib/faster_path/optional/monkeypatches.rb:5:in `absolute?': undefined method `absolute?' for FasterPath:Module (NoMethodError)
lib/ruby/2.2.0/pathname.rb:398:in `join'
config/application.rb:12:in

adding require 'faster_path' gets me to a new error:
bundle/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi/library.rb:133:in `block in ffi_lib': Could not open library 'vendor/bundle/ruby/2.2.0/gems/faster_path-0.0.9/target/release/libfaster_path.dylib':

which I guess is rust missing ... but would be great if that failed at install time or have a nicer error message

Ah.  You're in OS X.  Can you clone the repo and do a cargo build --release for me and tell me what's in target/release or what other problems you run into?

I'm thinking I can add a dylib option to my Cargo.toml file if it's not being built in the Mac OS.  So let me know what you find.

ls target/release/
build                deps                 examples             libfaster_path.dylib native

works when I run cargo build --release in vendor/bundle/ruby/2.2.0/gems/faster_path-0.0.9 ...

Alright, thanks!  I've added Mac support.  I was removing all non so,dll files before so now I've added dylib.  I'm going to build another release version.

tried using it here ... no speedup to be found :(
https://github.com/zendesk/samson/pull/1068

0.1.0 released.  Can you use the derailed memory stack profiler for the speed test?

Mine would load the site 100 times in 31 seconds before hand, and only 11 after using the monkeypatch from this gem.  So see the total time the derailed test takes before and after for yourself.

can you give me the command I should run, readme for derailed is pretty long :D

Since my development environment is different I usually do
RAILS_ENV=development bundle exec derailed exec perf:stackprof

I wonder if your Gemfile loads before config boot?  In my application it put this code in config/initializers/faster_path.rb .  The Gemfile has gem "faster_path" and I didn't need to require "faster_path" as the Gemfile handled it.

Gemfile does not handle it, Bundler.require in config/application.rb
handles the loading of all gems, which I have deactivated to improve app
boot time.
On Mon, Jun 13, 2016 at 5:28 PM, Daniel P. Clark<EMAIL_ADDRESS>wrote:

I wonder if your Gemfile loads before config boot? In my application it
put this code in config/initializers/faster_path.rb . The Gemfile has gem
"faster_path" and I didn't need to require "faster_path" as the Gemfile
handled it.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/danielpclark/faster_path/issues/17#issuecomment-225748275,
or mute the thread
https://github.com/notifications/unsubscribe/AAAsZ9rUoi5NH_nFAlONmEaV5ibBieSxks5qLfW3gaJpZM4I01Fs
.

with:
==================================
  Mode: cpu(1000)
  Samples: 1139 (61.82% miss rate)
  GC: 110 (9.66%)
==================================
     TOTAL    (pct)     SAMPLES    (pct)     FRAME
       120  (10.5%)         120  (10.5%)     block in ActiveSupport::FileUpdateChecker#max_mtime
       104   (9.1%)         104   (9.1%)     block in Logger::LogDevice#write
       123  (10.8%)         101   (8.9%)     ActiveSupport::FileUpdateChecker#watched
       199  (17.5%)          90   (7.9%)     block in ActiveRecord::Migrator.migrations
        64   (5.6%)          64   (5.6%)     Time#compare_with_coercion
        88   (7.7%)          44   (3.9%)     ActiveSupport::Inflector#camelize
        41   (3.6%)          41   (3.6%)     ActiveRecord::ConnectionAdapters::Mysql2Adapter#active?
        30   (2.6%)          30   (2.6%)     block in BetterErrors::ExceptionExtension#set_backtrace
        28   (2.5%)          28   (2.5%)     block in ActiveSupport::Dependencies#loadable_constants_for_path
        29   (2.5%)          25   (2.2%)     ActiveSupport::Inflector#inflections
        41   (3.6%)          25   (2.2%)     block (2 levels) in BindingOfCaller::BindingExtensions#callers
        22   (1.9%)          22   (1.9%)     ActiveRecord::MigrationProxy#mtime
        22   (1.9%)          22   (1.9%)     block in ActiveSupport::FileUpdateChecker#watched
        22   (1.9%)          22   (1.9%)     ActiveRecord::MigrationProxy#initialize
        16   (1.4%)          16   (1.4%)     Statsd#send_to_socket
        18   (1.6%)          15   (1.3%)     block in ActiveSupport::Inflector#camelize
        12   (1.1%)          12   (1.1%)     block in ActionDispatch::FileHandler#match?
        12   (1.1%)          11   (1.0%)     Hashie::Mash#custom_writer
       128  (11.2%)          10   (0.9%)     block in ActiveSupport::Dependencies#load_file
         9   (0.8%)           9   (0.8%)     block in ActiveSupport::Dependencies#search_for_file
        27   (2.4%)           7   (0.6%)     Hashie::Mash#initialize
         7   (0.6%)           7   (0.6%)     Rack::MiniProfiler::TimerStruct::Base#initialize
         7   (0.6%)           7   (0.6%)     ActionDispatch::Journey::Visitors::Each#initialize
         6   (0.5%)           6   (0.5%)     ThreadSafe::NonConcurrentCacheBackend#[]
         7   (0.6%)           6   (0.5%)     ActiveRecord::ConnectionAdapters::DatabaseStatements#reset_transaction
         7   (0.6%)           5   (0.4%)     block in Module#delegate
         5   (0.4%)           5   (0.4%)     block (2 levels) in ActiveSupport::Dependencies::WatchStack#new_constants
         4   (0.4%)           4   (0.4%)     block in ActionDispatch::Journey::GTG::Builder#build_followpos
         4   (0.4%)           4   (0.4%)     block (2 levels) in <class:Numeric>
         6   (0.5%)           4   (0.4%)     ActionView::Context#_prepare_context

without:
     TOTAL    (pct)     SAMPLES    (pct)     FRAME
       128  (11.3%)         128  (11.3%)     block in ActiveSupport::FileUpdateChecker#max_mtime
       124  (11.0%)         124  (11.0%)     block in Logger::LogDevice#write
       113  (10.0%)         100   (8.9%)     ActiveSupport::FileUpdateChecker#watched
       192  (17.0%)          78   (6.9%)     block in ActiveRecord::Migrator.migrations
        62   (5.5%)          62   (5.5%)     Time#compare_with_coercion
        91   (8.1%)          51   (4.5%)     ActiveSupport::Inflector#camelize
        43   (3.8%)          43   (3.8%)     ActiveRecord::ConnectionAdapters::Mysql2Adapter#active?
        41   (3.6%)          41   (3.6%)     ActiveRecord::MigrationProxy#mtime
        40   (3.5%)          24   (2.1%)     block (2 levels) in BindingOfCaller::BindingExtensions#callers
        24   (2.1%)          24   (2.1%)     block in BetterErrors::ExceptionExtension#set_backtrace
        23   (2.0%)          23   (2.0%)     ActiveRecord::MigrationProxy#initialize
        19   (1.7%)          19   (1.7%)     Statsd#send_to_socket
        19   (1.7%)          16   (1.4%)     block in ActiveSupport::Inflector#camelize
        16   (1.4%)          16   (1.4%)     block in ActionDispatch::FileHandler#match?
        16   (1.4%)          16   (1.4%)     block in ActiveSupport::Dependencies#loadable_constants_for_path
        22   (1.9%)          15   (1.3%)     ActiveSupport::Inflector#inflections
        13   (1.2%)          13   (1.2%)     block in ActiveSupport::FileUpdateChecker#watched
         8   (0.7%)           8   (0.7%)     Rack::MiniProfiler::TimerStruct::Base#initialize
         8   (0.7%)           8   (0.7%)     ThreadSafe::NonConcurrentCacheBackend#[]
         7   (0.6%)           7   (0.6%)     block in ActiveSupport::Dependencies#search_for_file
        97   (8.6%)           6   (0.5%)     block in ActiveSupport::Dependencies#load_file
         5   (0.4%)           5   (0.4%)     Rack::Utils::HeaderHash#[]=
         6   (0.5%)           4   (0.4%)     block in Module#delegate
         6   (0.5%)           4   (0.4%)     ActiveRecord::ConnectionAdapters::Quoting#_quote
         4   (0.4%)           4   (0.4%)     Rack::BodyProxy#initialize
         5   (0.4%)           4   (0.4%)     Rack::Utils#parse_nested_query
         9   (0.8%)           3   (0.3%)     Hashie::Mash#initialize
         5   (0.4%)           3   (0.3%)     Rack::MockRequest.env_for
         3   (0.3%)           3   (0.3%)     Hashie::Mash#custom_writer
        25   (2.2%)           3   (0.3%)     ActionView::Renderer#render_template

also the gem advertises to improve boottime ... and derailed has very little to do with boot time ...

It advertises load time, not boot time.  Here's the difference it makes for me.
before
Booting: development
Endpoint: "/"
       user     system      total        real
100 requests 30.530000   1.780000  32.310000 ( 32.509564)
Running `stackprof tmp/2016-06-13T07:02:21-04:00-stackprof-cpu-myapp.dump`. Execute `stackprof --help` for more info
==================================
  Mode: cpu(1000)
  Samples: 8114 (0.01% miss rate)
  GC: 978 (12.05%)
==================================
     TOTAL    (pct)     SAMPLES    (pct)     FRAME
      2334  (28.8%)        2334  (28.8%)     Pathname#chop_basename
      1218  (15.0%)        1036  (12.8%)     Hike::Index#entries
      1308  (16.1%)         432   (5.3%)     BetterErrors::ExceptionExtension#set_backtrace
       419   (5.2%)         416   (5.1%)     Sprockets::Mime#mime_types
      1749  (21.6%)         345   (4.3%)     Pathname#plus
      1338  (16.5%)         277   (3.4%)     BindingOfCaller::BindingExtensions#callers
       462   (5.7%)         238   (2.9%)     Hike::Index#find_aliases_for
       466   (5.7%)         234   (2.9%)     Hike::Index#sort_matches
      1976  (24.4%)         227   (2.8%)     Pathname#+
      1992  (24.6%)         133   (1.6%)     Hike::Index#match
       264   (3.3%)         132   (1.6%)     ActionView::PathResolver#find_template_paths
       236   (2.9%)         126   (1.6%)     Hike::Index#pattern_for
       121   (1.5%)         104   (1.3%)     Hike::Index#build_pattern_for
        90   (1.1%)          90   (1.1%)     Hike::Trail#stat
      2980  (36.7%)          67   (0.8%)     Pathname#join
        64   (0.8%)          59   (0.7%)     ActiveSupport::FileUpdateChecker#watched
        58   (0.7%)          58   (0.7%)     Time#compare_with_coercion
       106   (1.3%)          57   (0.7%)     Hike::Index#initialize
      6234  (76.8%)          57   (0.7%)     Sprockets::Rails::Helper#check_errors_for
       943  (11.6%)          38   (0.5%)     Pathname#relative?
        48   (0.6%)          29   (0.4%)     Sprockets::Engines#deep_copy_hash
        28   (0.3%)          28   (0.3%)     ActiveSupport::SafeBuffer#initialize
       136   (1.7%)          25   (0.3%)     ActiveSupport::FileUpdateChecker#max_mtime
        25   (0.3%)          25   (0.3%)     ActionView::Helpers::AssetUrlHelper#compute_asset_extname
        44   (0.5%)          24   (0.3%)     ActiveSupport::Inflector#camelize
       111   (1.4%)          20   (0.2%)     Sprockets::Asset#dependency_fresh?
       124   (1.5%)          20   (0.2%)     ActionView::Helpers::AssetUrlHelper#asset_path
        19   (0.2%)          19   (0.2%)     String#blank?
        16   (0.2%)          16   (0.2%)     Sprockets::Base#cache_key_for
     10487 (129.2%)          15   (0.2%)     Sprockets::Base#resolve

after
Booting: development
Endpoint: "/"
       user     system      total        real
100 requests 10.990000   0.590000  11.580000 ( 11.687753)
Running `stackprof tmp/2016-06-13T18:10:34-04:00-stackprof-cpu-myapp.dump`. Execute `stackprof --help` for more info
==================================
  Mode: cpu(1000)
  Samples: 2910 (0.00% miss rate)
  GC: 329 (11.31%)
==================================
     TOTAL    (pct)     SAMPLES    (pct)     FRAME
       500  (17.2%)         500  (17.2%)     #<Module:0x0000000452a450>.chop_basename
       850  (29.2%)         206   (7.1%)     Hike::Index#match
       630  (21.6%)         199   (6.8%)     BetterErrors::ExceptionExtension#set_backtrace
       680  (23.4%)         179   (6.2%)     Pathname#plus
       698  (24.0%)         154   (5.3%)     BindingOfCaller::BindingExtensions#callers
       155   (5.3%)         146   (5.0%)     Hike::Index#entries
       242   (8.3%)         121   (4.2%)     ActionView::PathResolver#find_template_paths
       795  (27.3%)         115   (4.0%)     Pathname#+
       198   (6.8%)         101   (3.5%)     Hike::Index#find_aliases_for
       189   (6.5%)          94   (3.2%)     Hike::Index#sort_matches
        93   (3.2%)          92   (3.2%)     Sprockets::Mime#mime_types
       107   (3.7%)          53   (1.8%)     Hike::Index#pattern_for
        58   (2.0%)          52   (1.8%)     ActiveSupport::FileUpdateChecker#watched
        49   (1.7%)          49   (1.7%)     Time#compare_with_coercion
        59   (2.0%)          48   (1.6%)     Hike::Index#build_pattern_for
        46   (1.6%)          46   (1.6%)     #<Module:0x0000000452a450>.absolute?
       880  (30.2%)          39   (1.3%)     Pathname#join
       140   (4.8%)          32   (1.1%)     ActiveSupport::FileUpdateChecker#max_mtime
        31   (1.1%)          16   (0.5%)     Hike::Index#initialize
        27   (0.9%)          16   (0.5%)     ActiveSupport::Inflector#camelize
      3061 (105.2%)          13   (0.4%)     Hike::Index#find
        68   (2.3%)          11   (0.4%)     ActiveRecord::Migrator.migrations
        27   (0.9%)           9   (0.3%)     ActiveSupport::Dependencies::Loadable#require
         8   (0.3%)           8   (0.3%)     ThreadSafe::NonConcurrentCacheBackend#[]
         8   (0.3%)           8   (0.3%)     Hashie::Mash#convert_key
         8   (0.3%)           8   (0.3%)     Rack::MiniProfiler.config
        40   (1.4%)           8   (0.3%)     Rack::MiniProfiler::TimerStruct::Sql#initialize
      3026 (104.0%)           7   (0.2%)     Hike::Index#find_in_paths
         7   (0.2%)           7   (0.2%)     String#blank?
        28   (1.0%)           5   (0.2%)     Sprockets::AssetAttributes#search_paths
danielpclark@allyourdev:~/dev/fast/tagfer-daniel$ less config/initializers/faster_path.rb

As you can see I addressed the method my application hit the most and the site improved load time by 66%.
I'm using Sprockets version 2.12.4 which has more Pathname usage and uses the Hike gem as well which also uses Pathname.

Do you know why you're having a Samples: 1139 (61.82% miss rate)?  I'm not having misses in my derailed checks.

Not sure, maybe because the action was too fast ... I gutted a bunch of things to make it not require a logged in user ... results with full page / logged in user:
100 requests 38.750000   6.400000  45.150000 ( 62.857037)
Running `stackprof tmp/2016-06-14T01:58:08+00:00-stackprof-cpu-myapp.dump`. Execute `stackprof --help` for more info
==================================
  Mode: cpu(1000)
  Samples: 31096 (8.82% miss rate)
  GC: 2245 (7.22%)
==================================
     TOTAL    (pct)     SAMPLES    (pct)     FRAME
     10202  (32.8%)       10202  (32.8%)     Sprockets::PathUtils#stat
      2293   (7.4%)        2293   (7.4%)     block in Mysql2::Client#query
      2774   (8.9%)        1737   (5.6%)     ActionView::PathResolver#find_template_paths
      6122  (19.7%)        1395   (4.5%)     ActiveRecord::ConnectionAdapters::Mysql2Adapter#exec_query
      1303   (4.2%)        1303   (4.2%)     Rack::MiniProfiler.config
      1149   (3.7%)        1149   (3.7%)     block in Logger::LogDevice#write
      1037   (3.3%)        1037   (3.3%)     block in ActionView::PathResolver#find_template_paths
       646   (2.1%)         646   (2.1%)     block (2 levels) in Rack::MiniProfiler::TimerStruct::Sql#initialize
       978   (3.1%)         601   (1.9%)     Sprockets::URITar#initialize
       983   (3.2%)         541   (1.7%)     Sprockets::Cache::FileStore#safe_open
       545   (1.8%)         421   (1.4%)     Sprockets::URITar#expand
       377   (1.2%)         377   (1.2%)     Sprockets::Paths#root
      1042   (3.4%)         306   (1.0%)     block in #<Module:0x007f9c4d9b0f28>.render_javascripts
       288   (0.9%)         288   (0.9%)     URI::RFC3986_Parser#split
       278   (0.9%)         273   (0.9%)     Sprockets::PathUtils#entries
       216   (0.7%)         216   (0.7%)     #<Module:0x007f9c4c0cbad0>.load_with_autoloading
       532   (1.7%)         181   (0.6%)     block in #<Module:0x007f9c4d9b0f28>.render_stylesheets
       390   (1.3%)         174   (0.6%)     Sprockets::EncodingUtils#unmarshaled_deflated
       163   (0.5%)         163   (0.5%)     rescue in Dalli::Server::KSocket::InstanceMethods#readfull
       153   (0.5%)         153   (0.5%)     block (4 levels) in Sprockets::Mime#compute_extname_map
       172   (0.6%)         146   (0.5%)     block in ActionView::PathResolver#query
       128   (0.4%)         128   (0.4%)     block in ActiveSupport::FileUpdateChecker#max_mtime
       119   (0.4%)         119   (0.4%)     Sprockets::PathUtils#absolute_path?
       112   (0.4%)         112   (0.4%)     ActiveSupport::PerThreadRegistry#instance
       111   (0.4%)         110   (0.4%)     Set#add
       110   (0.4%)         110   (0.4%)     block in BetterErrors::ExceptionExtension#set_backtrace
       101   (0.3%)         101   (0.3%)     Set#replace
       134   (0.4%)         100   (0.3%)     ActiveSupport::FileUpdateChecker#watched
        78   (0.3%)          78   (0.3%)     ThreadSafe::NonConcurrentCacheBackend#[]
        78   (0.3%)          75   (0.2%)     Sprockets::DigestUtils#digest

and with config.assets.compile = false
      2472  (12.2%)        2472  (12.2%)     Rack::MiniProfiler.config
      2167  (10.7%)        2167  (10.7%)     block in Mysql2::Client#query
      3118  (15.4%)        1967   (9.7%)     ActionView::PathResolver#find_template_paths
      1300   (6.4%)        1300   (6.4%)     block in Logger::LogDevice#write
      7696  (37.9%)        1228   (6.0%)     ActiveRecord::ConnectionAdapters::Mysql2Adapter#exec_query
      1151   (5.7%)        1151   (5.7%)     block in ActionView::PathResolver#find_template_paths
      1048   (5.2%)        1048   (5.2%)     block (2 levels) in Rack::MiniProfiler::TimerStruct::Sql#initialize
       286   (1.4%)         248   (1.2%)     block in ActionView::PathResolver#query
       192   (0.9%)         191   (0.9%)     ActiveSupport::PerThreadRegistry#instance
       222   (1.1%)         191   (0.9%)     block in #<Module:0x007f9e659ca4e0>.render_javascripts
       216   (1.1%)         177   (0.9%)     block in #<Module:0x007f9e659ca4e0>.render_stylesheets
       168   (0.8%)         168   (0.8%)     block in ActiveSupport::FileUpdateChecker#max_mtime
       142   (0.7%)         142   (0.7%)     ThreadSafe::NonConcurrentCacheBackend#[]
       136   (0.7%)         136   (0.7%)     block in BetterErrors::ExceptionExtension#set_backtrace
       133   (0.7%)         133   (0.7%)     rescue in Dalli::Server::KSocket::InstanceMethods#readfull
       166   (0.8%)         126   (0.6%)     Arel::Nodes::Binary#hash
       111   (0.5%)         111   (0.5%)     block (4 levels) in Class#class_attribute
       225   (1.1%)         105   (0.5%)     block in ActiveRecord::Migrator.migrations
       155   (0.8%)         103   (0.5%)     ActiveRecord::Relation#initialize_copy
       101   (0.5%)         101   (0.5%)     Time#compare_with_coercion
       128   (0.6%)         101   (0.5%)     ActiveSupport::FileUpdateChecker#watched
       163   (0.8%)          91   (0.4%)     block (2 levels) in BindingOfCaller::BindingExtensions#callers
        79   (0.4%)          79   (0.4%)     block in ActiveSupport::Dependencies#loadable_constants_for_path
        76   (0.4%)          74   (0.4%)     block in ActiveRecord::QueryMethods#validate_order_args
        74   (0.4%)          74   (0.4%)     block in ActiveSupport::Inflector#apply_inflections
       223   (1.1%)          72   (0.4%)     ActiveModel::AttributeMethods::ClassMethods#attribute_alias?
        68   (0.3%)          68   (0.3%)     ActiveRecord::Inheritance::ClassMethods#base_class
        65   (0.3%)          65   (0.3%)     block (2 levels) in <class:Numeric>
        61   (0.3%)          61   (0.3%)     Arel::Collectors::Bind#<<
       186   (0.9%)          58   (0.3%)     ActiveRecord::QueryMethods#preprocess_order_args

I see you're using the Sprockets ~> 3.0 series.  When I tried upgrading to that it slowed my site down by roughly 20% . see: https://github.com/rails/sprockets/issues/84#issuecomment-223742047
I'm not sure how much Sprockets depends on the STDLIB Pathname class anymore.  I'll look into it.

Yep.  As of Sprockets 3.0 series they've dropped most of their use of Pathname.  See: https://github.com/rails/sprockets/blob/master/lib/sprockets/path_utils.rb
They only require Pathname is an ALT separator is used and then only use the Pathname#absolute? method.
I don't think you'll see any performance gain unless you downgrade your Sprockets version, or until we add more methods that the newer Sprockets depends on.

Hey @grosser , I did more research into Sprockets.  I've written all the details in the README.  After my research I believe your website can gain around 31% faster page load time by downgrading to Sprocket 2.0 series.  And then you may get an additional 30% by using this gem.  This result will be more clearly seen on your logged in user derailed profile results.  I'm basing these numbers off of my own website though so the data for you will likely vary.


Add more locales for international titles

Adds the following locales for titles:

Thai
Chinese
Korean

afaik only Chinese is in usage for Black Cat Detective, but dramas will require the others (so I figured I'd add 'em too)


i am creating a hotword detection chatbot, i would like my chatbot to activate through command" hello dexter" and everything after hello dexter should be recognized by it. we should not speak hello dexter again and again..could anyone help me out in the existing javascript code

best title ever


"show ARGB value color of selected pixel" is clipped to 8-bit values

When viewing images encoded at 10-bits, the numeric readout for the pixel at the current cursor location is clipped to a maximum of 255. It it therefore not possible to accurately assess the numeric value for HDR pixels, as they all clip to the SDR white value.

The ARGB value displayed is the color value mapped from 8-bit or 16-bit color to [0, 255] instead of clipping into [0, 255]. Therefore, 255 actually means the maximum color value which is 255 in 8-bit color, 1024 in 10-bit color or 65535 in 16-bit color.
There are 2 more issues based-on your question:

We may design an alternative way to display color value instead of mapping it into [0, 255].
Currently we don't support displaying HDR image. It is still a technical limitation that we need to take more time to investigate.

Ah, yes, it does run the range rather than clip. However, not very useful for checking encoding quality as the number's are not accurate. Addressing #1 would be helpful.
#2 is no small task! Certainly would be nice.

+1 for No. 1, I think reading the code value at full bit depth is important for an app like this.


PD responds with own address instead of broadcast address when replying to a broadcast.

Describe the bug
Currently a PD responds with it's own address when responding to a broadcast.
Expected behavior
The spec says this:

Address 0x7F is reserved as a special "BROADCAST"
address that each PD will accept and respond to, just as if
it matched its communication address. The reply message
will use 0x7F plus the reply flag (0x7F+0x80=0xFF) in its
address field. Since each PD will respond to 0x7F, the
use of the broadcast address should be limited to
controlled (single PD) configurations.

Additional context
Here the reply address is set to the device address unconditionally:
https://github.com/goToMain/libosdp/blob/af47df7d46f081df17bd41f729dd3bc887a375f1/src/osdp_phy.c#L181-L181
The problem ist that you have no reference to the original request at this point, so I don't know how to fix this nicely. My workaround is to hack something into pd_send_reply() but this is quite hacky and I don't like it:
static int pd_send_reply(struct osdp_pd *pd)
{
	int ret, packet_buf_size = get_tx_buf_size(pd);

	uint8_t req_addr = pd->packet_buf[1];

	/* init packet buf with header */
	ret = osdp_phy_packet_init(pd, pd->packet_buf, packet_buf_size);
	if (ret < 0) {
		return OSDP_PD_ERR_GENERIC;
	}
	if (is_pd_mode(pd)) {
	    // reply to broadcasts with broadcast address
	    if (req_addr == 0x7f) pd->packet_buf[2] |= 0x7f;
	}
	// ...
}

Indeed, thanks for reporting this issue. Fixed now.

Also available from stable branch v2.4.x if you are not ready for all the fancy changes in latest master :)


Handle nix symbolic strings on Nix side

This allows us to shortcut usage of NixString in many places.
We could probably get rid of NixString entirely as well, but it needs more consideration.
Part of https://github.com/nickel-lang/organist/issues/58.

We could probably get rid of NixString entirely as well, but it needs more consideration.

I don't think we want to get rid of the contract, but we can reduce it to something like
let NixString = fun label value =>
  if predicate.is_string_fragment value then
    nix-s%"%{std.contract.apply NixStringFragment label value}"%
  else
    std.contract.apply NixSymbolicString label value

And remove the nixsString “type”

So I found something utterly interesting while looking into this: Somehow, the
if predicate.is_string_fragment value then
    nix-s%"%{std.contract.apply NixStringFragment label value}"%

bit (or the equivalent on main) isn't behaving properly, and the resulting json contains tons of nested symbolic strings:
{
  "fragments": [
    {
      "fragments": [
        {
          "fragments": [
            {
              "fragments": [
                {
                  "fragments": [
                    {
                      "fragments": [
                        {
                          "fragments": [
                            {
                              "fragments": [
                                {
                                  "fragments": [
                                    {
                                      "fragments": [
                                        {
                                          "fragments": [
                                            {
                                              "fragments": [
                                                {
                                                  "fragments": [
                                                    {
                                                      "$__organist_type": "nixInput",
                                                      "attr_path": [
                                                        "bash"
                                                      ],
                                                      "input": "nixpkgs"
                                                    }
                                                  ],
                                                  "prefix": "nix",
                                                  "tag": "SymbolicString"
                                                }
                                              ],
                                              "prefix": "nix",
                                              "tag": "SymbolicString"
                                            }
                                          ],
                                          "prefix": "nix",
                                          "tag": "SymbolicString"
                                        }
                                      ],
                                      "prefix": "nix",
                                      "tag": "SymbolicString"
                                    }
                                  ],
                                  "prefix": "nix",
                                  "tag": "SymbolicString"
                                }
                              ],
                              "prefix": "nix",
                              "tag": "SymbolicString"
                            }
                          ],
                          "prefix": "nix",
                          "tag": "SymbolicString"
                        }
                      ],
                      "prefix": "nix",
                      "tag": "SymbolicString"
                    }
                  ],
                  "prefix": "nix",
                  "tag": "SymbolicString"
                }
              ],
              "prefix": "nix",
              "tag": "SymbolicString"
            }
          ],
          "prefix": "nix",
          "tag": "SymbolicString"
        }
      ],
      "prefix": "nix",
      "tag": "SymbolicString"
    },
    {
      "fragments": [
        {
          "fragments": [
            {
              "fragments": [
                {
                  "fragments": [
                    {
                      "fragments": [
                        {
                          "fragments": [
                            {
                              "fragments": [
                                {
                                  "fragments": [
                                    {
                                      "fragments": [
                                        {
                                          "fragments": [
                                            {
                                              "fragments": [
                                                {
                                                  "fragments": [
                                                    "/bin/bash"
                                                  ],
                                                  "prefix": "nix",
                                                  "tag": "SymbolicString"
                                                }
                                              ],
                                              "prefix": "nix",
                                              "tag": "SymbolicString"
                                            }
                                          ],
                                          "prefix": "nix",
                                          "tag": "SymbolicString"
                                        }
                                      ],
                                      "prefix": "nix",
                                      "tag": "SymbolicString"
                                    }
                                  ],
                                  "prefix": "nix",
                                  "tag": "SymbolicString"
                                }
                              ],
                              "prefix": "nix",
                              "tag": "SymbolicString"
                            }
                          ],
                          "prefix": "nix",
                          "tag": "SymbolicString"
                        }
                      ],
                      "prefix": "nix",
                      "tag": "SymbolicString"
                    }
                  ],
                  "prefix": "nix",
                  "tag": "SymbolicString"
                }
              ],
              "prefix": "nix",
              "tag": "SymbolicString"
            }
          ],
          "prefix": "nix",
          "tag": "SymbolicString"
        }
      ],
      "prefix": "nix",
      "tag": "SymbolicString"
    }
  ],
  "prefix": "nix",
  "tag": "SymbolicString"
},

Changing that to
if predicate.is_string_fragment value then
    std.contract.apply NixStringFragment label value

leads to the generated json to be 20x smaller, and the shell to open ~10x faster

This is somehow making the Nix evaluation quite slower (roughly 30%). Which is mildly weird because the Nickel output is actually slightly simpler.

It looks like on CI evaluation for HaskellStack times out or something:
Fri, 29 Sep 2023 18:06:20 GMT HaskellStack	building '/nix/store/nvp9ah3vknqxkb24xmjkn7icn5gb8ry7-nickel-res.json.drv'...
Fri, 29 Sep 2023 18:21:58 GMT HaskellStack	nickel-res.json> /build/.attr-0l2nkwhif96f51f4amnlf414lhl4rv9vh8iffyp431v6s28gsr90: line 21:     7 Killed                  /nix/store/xwaksh6skva1ilm12ac9m3ianxvk8dqg-nickel-lang-cli-1.1.1/bin/nickel -f eval.ncl export > $out

so I would guess this change somehow made Nickel evaluation way longer...

It seems to be making that specific one loop indeed :thinking:
The weird thing is that it doesn't do that when running nickel export manually, nor in the “non flake” test case (and not for the other shells afaict)

Ahah, so it is a problem of double-application of a contract (same as https://github.com/tweag/nickel/issues/1630 ?).
Evaluating the equivalent of the eval.ncl generated by Organist indeed gets stuck for the haskell shell:
let nix = (import "./templates/default/nickel.lock.ncl").organist in
let nickel_expr | nix.contracts.OrganistExpression =
  import "./templates/default/project.ncl" in

nickel_expr


Import live photos as a pair

** Before submitting a bug report, please ensure you are running the most recent version of osxphotos and that the bug is reproducible on the latest version **
Describe the bug
The documentation of the import command mentions "  - Live photos and RAW+JPEG pairs are imported as separate files, not as a
single asset." This is not correct Live Photos are (at least on MacOS 14.2.1) matched on the Mac application and imported as a single asset.
To Reproduce
Steps to reproduce the behavior:
Step 1 export
osxphotos export \
--live
--sidecar JSON
--library

Step 2 read the documenation
osxphotos help import
Step 3 create a new Photos library (opt+start the app)
Step 4 import the Photos in the test library
osxphotos import -w -s
Expected behavior
The documentation reflects the reality
Screenshots
N/A
Desktop (please complete the following information):

OS: MacOS 14.2.1
osxphotos version (osxphotos --version): 0.67.0

Additional context
see comments to #1322

Interesting -- I was able to reproduce this. It seems that importing live photos does indeed cause Photos to associate the pair. The error has to do with the fact that when Photos does this it doesn't return the UUID for the newly imported live component (presumably because it didn't create a new asset, just matched it to the existing asset.) I confirmed the order of import is not important -- it happens whether you import the .HEIC or the .mov first and it doesn't matter if you've imported something else in between the two components.
Interestingly this does not work for RAW+JPEG pairs.
I will look at how to handle this in import. The good news is the import still works correctly despite the error but the errors should not really be reported as they're not actually errors. The code should look for live pairs in the current folder and import those together.

These can be imported at once like this:
>>> from photoscript import PhotosLibrary
>>> photoslib = PhotosLibrary()
>>> results = photoslib.import_photos(["/users/user/Desktop/export/IMG_4331.HEIC", "/users/user/Desktop/export/IMG_4331.mov"],skip_duplicate_check=True)
>>> results
[<photoscript.Photo object at 0x102355fd0>]
>>> photo = results[0]
>>> photo.uuid
'6457941A-0CFE-4B4B-B19D-F8C37E932051'
>>>

Interestingly if I create a random video the same name as the HEIC, Photos does not import this as the live component. Photos is matching the live + HEIC components somehow ....time, metadata, etc. I need to figure out how it's doing this and only import as a pair when they match.

The image component has this metadata:
[MakerNotes]    Live Photo Video Index          :<PHONE_NUMBER>

The live video has this:
[QuickTime]     Live Photo Auto                 : 1
[QuickTime]     Live Photo Vitality Score       : 1
[QuickTime]     Live Photo Vitality Scoring Version: 4

So it might be possible to check both images to see if they are "live" before import.  Will need to do some testing to see what triggers the association in Photos.

Here I found more infos on how the files are tagged: https://stackoverflow.com/questions/32508375/apple-live-photo-file-format - hope it helps

Great! That's perfect. For the images, I already have code that can read the metadata (cgmetadata) but will need to write code to read the Quicktime metadata. (exiftool can do this but I don't want to make it a dependency for import).


How do i padding for trackbar

Thank you for your lib @mymai91
I would like to make toggle like this:

I tried with padding: 3px in trackBarStyle and trackBar, but it's not working.
Please tell me how to do it.
Here is my code:
      <Toggle
        value={value}
        onPress={onChange}
        trackBar={{
          width: 40,
        }}
        trackBarStyle={{ height: 24, width: 40, backgroundColor: Colors.PrimaryBlueBlizzardBlue }}
        thumbButton={{ height: 18, width: 18, radius: 9 }}
        thumbStyle={{ backgroundColor: Colors.white }}
      />

Thank you so much <3

@hungdev Hey, not sure if you still have this issue but I ran into wanting to do this as well. I ended up just adding a wrapper container around the toggle and adding the padding on it and matching the background color of the wrapper and the trackBar.
May not work in your case but was the easiest solution for me.


Update voting TAC members

Please add Javier Perez as a new appointed TAC voting representative from IBM. A replacement for Enyu Wang.
Updates in https://tac.openmainframeproject.org/  and  https://www.openmainframeproject.org/about/tac possible other locations.

Set to rollout overnight - please confirm tomorrow and close if it all looks right

Updated,  thanks


Improve documentation and examples for constraints

All the places where we document constraints lack sufficient examples to show how to define complex constraints, most importantly constraints on tuples ("multi-property constraints"), which seems to be a common stumbling block.

Dupe of #2280


alex: fix generated type for 'alex_accept'

The change fixes lexer generation failure for GHC lexer.
GHC lexer is special because it calls alexScanUser
to thread lexer state.
Added minimal test tokens_scan_user.x
to cover alexScanUser use.
Signature was reintroduced in commit 00431304aa18ada0a12aab43443023a86521f353
accidentally.
Fixes https://github.com/simonmar/alex/issues/98
Signed-off-by: Sergei Trofimovich<EMAIL_ADDRESS>

LGTM! :+1:

Thankyou!


refactor: remove behavior protocol syntax

Summary of Changes

Remove the syntax for behavior protocols
We can add this (and the actual validation) again once we have more use cases for behavior protocols. For now they only seem to be useful to ensure that predict/transform can only be used on fitted models/transformers.

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

Visual Studio Marketplace
GitHub release

Your semantic-release bot :package::rocket:


Merge Gemma into Llama

This PR merges the Gemma model into our Llama model architecture. The Gemma model architecture is different from Llama's in the following ways:

Gemma ties the token embeddings and the LM head (like BLOOM) while Llama has separate parameters for the two.
Gemma normalizes the hidden states after the embedding layer.
Gemma uses GeGLU while Llama uses SwiGLU.
Gemma's head size (256) is not equal to hidden_size // num_heads (192).
Gemma's RMSNorm multiplies 1 + weights instead of weights.

NOTE: This PR may not enable the LoRA support for Gemma, due to Gemma's tied embeddings.
Considering the above differences, I'm actually not 100% sure whether it's the right decision to merge the two models. Please push me back if you think this is not a good idea. @esmeetu @Yard1

I think adding so many conditionals is a code smell. What we could do instead is reuse common elements, eg. MLP and attention layers. But they should be separate classes IMO.

@Yard1 Good point! Though I believe all the differences except the tied embeddings are pretty small. Do you think the new conditionals in this PR are too complex?

I think it's a bad pattern that will make the code less maintainable, especially if we have to add more models like that. The changes to MLP and attention layers are fine though!

@WoosukKwon The decision to merge gemma into llama was a tough one, I would suggest leaving it as is, it's a bit complex, more so than internlm2 and qwen that I had prepared to merge earlier, I just want to wait for llama3 to come out maybe there will be something new🤩.
Instead, what we could possibly look at right now is if we can decouple lora support from the model file, keep new future features separate from the model file itself, these features are loaded at load stage. @Yard1

Closing this PR following @Yard1 and @esmeetu's advice.


test exit code

Added Amplify Security workflow
Removing search query
Fixing linting error
Attempting to fix linting errors
update Amplify Security workflow to use action
test exit code

Sorry, created on the wrong repo by mistake.


Creation should support kwargs

From the docs:

Arrow objects can be instantiated directly too, with the same arguments as a datetime:

I misread this as Arrow supporting the same syntax as datetime does:
>>> datetime.datetime(year=2016, month=2, day=1)
datetime.datetime(2016, 2, 1, 0, 0)

However kwargs do not work as expected:
>>> import arrow
>>> arrow.get(year=2016, month=2, day=1)
<Arrow [2017-01-26T11:51:37.054519+00:00]>

Using kwargs is more readable (especially in international teams, is the 2 supposed to represent a month or day?) and would make refactoring code to use Arrow easier.
The current behaviour could introduce bugs because the kwargs do not raise an exception but return an object that is different from what the developer would expect.

Is there still interest in this issue? I'd be willing to work on this issue


Pagination added

Fixes Issue🛠

Closes #
#1127
Description👨💻

i added pagination in home screen ,per page 10 project card display
Type of Change📄

[ ] Bug fix (non-breaking change which fixes a bug)
[x] New feature (non-breaking change which adds functionality)
[x] Style (non-breaking change which improves website style or formatting)
[ ] Documentation (non-breaking change which updates or adds documentation)
[x] Responsiveness (non-breaking change which improves UI/UX on different screen sizes)

Checklist✅

[x] I am an Open Source contributor
[x] I have performed a self-review of my code
[x] My code follows the style guidelines of this project
[x] I have commented on my code, particularly in hard-to-understand areas

Screenshots/GIF📷

@Rakesh9100 ,now please merged it

@Rakesh9100 ,give the response and also merged it with level label

@Rakesh9100 ,please merged it with level label

@Rakesh9100 ,please merged it with level label
alos give the response

@Rakesh9100 please merged it

@Rakesh9100 ,please merged it

i Kindly requested you

Can I know why have you closed your previous PR, and why the logic part is written in HTML file and not in JS file @Varsani2520

@Rakesh9100 ,i re clone the Repo so previous Pr are closed

Seperate your logic from index.html file and keep in script.js file and then make the new commits in this same PR, don't close this @Varsani2520

ok @Rakesh9100

@Rakesh9100 now check it

@Rakesh9100 pleased merged it

@Rakesh9100 ,please merged it

When we search something, it shows the calculator which has that search word either in title of the calculator or the description, but it is removed after your changes, and now it fetches that search only from the titles. Pls fix @Varsani2520


Tensorflow 2.3.1 training does not use GPU but CPU with  CUDA 11.2

I am trying to train a custom dataset with the following backbone
ssd_resnet50_v1_fpn_1024x1024_coco17_tpu-8
I have the following information about the system
System information
Ubuntu 18.04)**:
TensorFlow 2.3.1
TensorFlow version
Python version 3.6
CUDNN 11.2 cuDNN 8.5
GPU K80
I get the following error when I try to train the model
When I try to train my model it showed the following log when starting training and I see that it does not use GPU at all..

Here is the output of the NVIDA GPU - that is nothing is used

The training has started but it is using CPU

@awaisbajwaml
Please upgrade to tf 2.4 and let us know, as 11.0 is tested for tf 2.4 onwards.
Cuda 11.2 is work in progress, you may refer to this issue, for future updates on it.

@Saduf2019
I am able to solve the issue, here are the steps:
First I upgraded to 2.4.0 but it gave me multiple errors.
After that, I used symlinks to start the training again, and now it is working fine.
I have summarized a blog post here and hence closing the issue.
Thanks for your help


fix critical bug: https server do not accept http and https request

Pull Request Test Coverage Report for Build 1730

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
10 unchanged lines in 4 files lost coverage.
Overall coverage increased (+0.06%) to 62.915%

Files with Coverage Reduction
New Missed Lines
%

server/highway/highway_conn.go
2
79.05%

core/loadbalancer/session_stickiness_strategy.go
2
78.46%

core/handler/tracing_handler.go
3
0.0%

core/registry/registrator.go
3
60.66%

Totals

Change from base Build 1729:
0.06%

Covered Lines:
5483

Relevant Lines:
8715

💛  - Coveralls


Update TE-3.1

Integrate non-default VRF test as part of the base testing procedure (which is our interest and also reduce test complexity).
Ensure that we are programming them in the correct hierarchical order and receive  FIB ACK (current code implementation only checks for RIB ACK).
Clarify the scenarios for testing error reporting.
In-place NHG update will be covered by TE-3.7.

@nflath can you help review the logic?
@liulk can you help review after @nflath?

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1314

Relevant Lines:
1808

💛  - Coveralls

Create an issue for tracking the code changes after this PR is merged.

Create TE-3.7 for in-place update.
Keep MAC overriden.
explicitly calling out repeated steps in error reporting.
Create issue track the code changes. to handle the disparity.
FIB ACK.

https://github.com/openconfig/featureprofiles/issues/417 created for handling code disparity.

@liulk can you help review? Thanks.

a friendly reminder to @liulk

Agree with the suggestions from @liulk's latest commit, and copied the suggestions to otg folder too.

/gcbrun


PathFollow with RotationMode = Oriented is wrong at unit_offset = 1.0

Godot version
3.3.2.stable
System information
Windows 10
Issue description
This seams to work, from unit_offset 0.0 to 0.999, the z-axis of the PathFollow is aligned to the Path correctly. But at unit_offset 1.0 suddenly the x-axis is aligned to the path. This seams like a bug.
Steps to reproduce
Play the Project: At unit_offset = 1 the rotation is wrong.

Minimal reproduction project
Here a simple Godot 3.3.2.stable project, which shows the bug:
Godot_3_3_2_stable_PathFollow_Bug_Example.zip

https://github.com/godotengine/godot/issues/48864 says this only happens when the rotation mode is set to XYZ, not Oriented.

Another note: When you switch rotation_mode to Y, XY, or XYZ, the rotation works for the first pass. But when you repeat the PathFollow movement, the rotation is always added, and is also buggy. You can try this with my project and switching e.g. to XYZ.
 Thank you.

 Thank you.

Bugs in existing nodes are fixed by contributors on a best-effort basis. There are many other bugs in PathFollow right now, and few contributors to help on this.

I would like to help, but I am not the C++, and Bezier expert. Can I donate/vote for a working PathFollower?
I have done some tests with the Rotation modes of PathFollow. They seam so buggy (for years?), that noone can use them successfully.
I think I have to write my own rotation/tangent code for curves, started here:
https://godotengine.org/qa/111365/curve3d-how-to-get-the-direction-at-a-given-point

Can I donate/vote for a working PathFollower?

Due to how Godot's development works, there is no way to donate or vote to specific features to be fixed.

Thanks


feat: multiple install paths with fallbacks

This adds a new feature which allows specifying multiple paths in install-path instead of a single path. If this is set, then we use the next paths in the set as fallbacks in case the earlier options aren't available. As a result, path errors for HomeSubdir and EnvSubdir that were formerly fatal instead cause us to fall back to the next case; the only actual fatal error is if we exhaust the array of options and find nothing viable.
I've added tests for two fallback options and confirmed they work, along with a test for what happens if the first path in the array is valid and we don't perform a fallback.
I haven't fully massaged the spacing in the jinja templates to keep it from adding extra newlines in places that don't need them. I did add a comment for people reading the generated script who might be confused by what looks like a pointless if statement.
This isn't yet backwards compatible with existing Cargo.tomls for users already using install-path. I've temporarily adjusted install-path to always be an array, which will cause errors for users already using it as a string. We'll want to adjust the parsing so that a string parses to a one-length array.

Some pseudo-jinja-rust-shell code i think the impl should look like:
// start with nowhere to install
_install_dir = ""

// First off, if we get handed FORCE_INSTALL_DIR, just use that
if $CARGO_DIST_FORCE_INSTALL_DIR {
   // two major families of install-strategy, that the updater
   %if strategies.contains("cargo_home") && strategies.len == 1
      _install_dir="$CARGO_DIST_FORCE_INSTALL_DIR/bin"
      _env_script_path="$CARGO_DIST_FORCE_INSTALL_DIR/env"
      _install_dir_expr="$(echo "$CARGO_DIST_FORCE_INSTALL_DIR/bin" | sed "s,$HOME,\$HOME,")"
      _env_script_path_expr="$(echo "$CARGO_DIST_FORCE_INSTALL_DIR/env" | sed "s,$HOME,\$HOME,")"
   %elseif !strategies.contains("cargo_home")
      _install_dir="$CARGO_DIST_FORCE_INSTALL_DIR"
      _env_script_path="$CARGO_DIST_FORCE_INSTALL_DIR/env"
      _install_dir_expr="$(echo "$CARGO_DIST_FORCE_INSTALL_DIR" | sed "s,$HOME,\$HOME,")"
      _env_script_path_expr="$(echo "$CARGO_DIST_FORCE_INSTALL_DIR/env" | sed "s,$HOME,\$HOME,")"
   %else
      jinjaerror "cannot combine CARGO_HOME with other strategies"
   %endif
}

// Try to find an appropriate place to install
%for strategy in strategies
  if _install_dir.is_empty() {
    %if strategy.kind == "cargo_home"
      if $CARGO_HOME {
        _install_dir = "..."
      } else if $HOME {
         _install_dir = "..."
      } else {
        // error i guess
      }
    %elseif strategy.kind == "home"
      if $HOME {
        _install_dir = "..."
      }
    %elseif strategy.kind == "env"
      if ${strategy.envvar} {
        _install_dir = "..."
      }
    %else
      jinjaerror "unimplemented strategy"
    %endif
  }
%endfor

if _install_dir.is_empty() {
  error "oopsie whoopsie no install dir"
}

// ok install paths handled, now do the rest of setup
...

I think your suggestion makes sense, and I did write this with the consideration we might have some more ideas about #944. In the absence of that, yeah, we have to avoid mixing strategies. I wonder if it makes more sense to consider making this an error in Rust at the place we produce the installer stuff before feeding it into jinja, or even when loading the user's config, in order to make sure we get a nicer-looking error.

I wonder if it makes more sense to consider making this an error in Rust at the place we produce the installer stuff before feeding it into jinja, or even when loading the user's config, in order to make sure we get a nicer-looking error.

oh yes absolutely, i just decided to fold it into the jinja to avoid making the idea more complicated to express


Update Datastore query docs

Add the namespace example to the guide and Query.
[closes #1357]

Waiting to hear from @frankyn before merging.