Journald logging does not accept the "tag" or "syslog-tag" options

Info:

docker version: 1.9.1
Host: CoreOS
Infrastructure: AWS

Problem Summary:
Using the journald log driver does not allow the use of tags in the log lines, seemingly contrary to the code comments and docs.
Steps to Reproduce

Run a container with the syslog driver and the tags option:
docker run --log-driver=syslog --log-opt tag="{{.ImageName}}/{{.Name}}/{{.ID}}" --name ...

Observe the logs using journalctl: journalctl CONTAINER_NAME=name and see that the lines are in the format: image name/name/id log message

Run the same command but using the journald driver:
docker run --log-driver=journald --log-opt tag="{{.ImageName}}/{{.Name}}/{{.ID}}" --name ...

Observe error message:
Error response from daemon: Cannot start container abc123...: Failed to initialize logging driver: unknown log opt 'tag' for journald log driver

Attempt to use syslog-tag instead and observe the same error:
docker run --log-driver=journald --log-opt syslog-tag="{{.ImageName}}/{{.Name}}/{{.ID}}" --name ...

Attempt to use a journald equivalent and observe the same error:
docker run --log-driver=journald --log-opt journald-tag="{{.ImageName}}/{{.Name}}/{{.ID}}" --name ...

More Details
According to the release notes for version 1.9.0, a standard "--tag" option was added to work generically across log drivers. The setup and usage for this is described in PR #15384. This is specifically related to the fact that the journald logging driver doesn't print the tags in its log lines the same way that syslog and other drivers do. There are a few issues referencing the support of labels and custom fields, but they have been closed. Additionally, according to this comment in the source code, journald should accept the tag argument.
Essentially, I need to be able to print, using the journald driver, the following line:
Feb 17 18:53:32 ip-1-2-3-4.ec2.internal docker/containername/container/id [26356]: ::1 - - log line info
using the built in: {{.ImageName}}/{{.Name}}/{{.ID}} tag templates.

If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
For more information about reporting issues, see CONTRIBUTING.md.
You don't have to include this information if this is a feature request
(This is an automated, informational response)

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

It looks like tag support for journald was only recently added and will be in 1.11.
Sorry for the inconvenience.

Note, this was added in #19564

Still can't write tag to journald
more info:

docker --version: Docker version 1.12.3, build 6b644ec
docker run -i --log-driver=journald --log-opt tag="{{.Name}}" --name journald alpine echo toto
journalctl CONTAINER_NAME=journald: Dec 15 15:29:51 xx.xx dockerd[17173]: toto

The tag is written to the field CONTAINER_TAG for each message, not to the message itself.
If you do:
journalctl CONTAINER_TAG=<tag>
then you will see all messages for the specified tag.
In a sense it is working as advertized, but I find it odd not seeing anywhere in the output the tag or container name.
It is specially confusing when we have many containers outputting to journald as we don't see any indication of who's who in the messages, only the dockerd service common to all of them.
This does not happen when using syslog, but in contrast we loose the ability to get logs via docker command line.
I could not find any way using journalctl to output any field associated with the messages, so I could better parse the messages coming from different containers.
Am I missing something?

@cllovatto that's how journald works. There's a feature request in the systemd repository that you may be interested in:
You can use the -o option to specify the output format (e.g. to print each log entry as JSON);
$ journalctl -o json CONTAINER_TAG=mysql1

{ "__CURSOR" : "s=349c8f9893984ef0bbf1231afb11ffd6;i=22f3;b=609e5a3fed2f4bf29a615ac88e229be0;m=433851ab40;t=55b4c5e6d7fe2;x=9a76f6fe9a046b28", "__REALTIME_TIMESTAMP" : "1507758443429858", "__MONOTONIC_TIMESTAMP" : "288707685184", "_BOOT_ID" : "609e5a3fed2f4bf29a615ac88e229be0", "_UID" : "0", "_GID" : "0", "_CAP_EFFECTIVE" : "3fffffffff", "_SYSTEMD_SLICE" : "system.slice", "_MACHINE_ID" : "a920d7234de74739945794b24bc9b558", "_HOSTNAME" : "ubuntu-2gb-ams3-01", "PRIORITY" : "3", "_TRANSPORT" : "journal", "_PID" : "9008", "_COMM" : "dockerd", "_EXE" : "/usr/bin/dockerd", "_CMDLINE" : "/usr/bin/dockerd -H fd://", "_SYSTEMD_CGROUP" : "/system.slice/docker.service", "_SYSTEMD_UNIT" : "docker.service", "MESSAGE" : "error: database is uninitialized and password option is not specified ", "CONTAINER_TAG" : "mysql1", "CONTAINER_ID" : "141fbe360a87", "CONTAINER_ID_FULL" : "141fbe360a8789eebfcf20674e16669c761a19906c1756461040f80a2d520335", "CONTAINER_NAME" : "mysql1", "_SOURCE_REALTIME_TIMESTAMP" : "1507758443429361" }
{ "__CURSOR" : "s=349c8f9893984ef0bbf1231afb11ffd6;i=22f4;b=609e5a3fed2f4bf29a615ac88e229be0;m=433851acee;t=55b4c5e6d8190;x=d90bd5ae08837a8c", "__REALTIME_TIMESTAMP" : "1507758443430288", "__MONOTONIC_TIMESTAMP" : "288707685614", "_BOOT_ID" : "609e5a3fed2f4bf29a615ac88e229be0", "_UID" : "0", "_GID" : "0", "_CAP_EFFECTIVE" : "3fffffffff", "_SYSTEMD_SLICE" : "system.slice", "_MACHINE_ID" : "a920d7234de74739945794b24bc9b558", "_HOSTNAME" : "ubuntu-2gb-ams3-01", "PRIORITY" : "3", "_TRANSPORT" : "journal", "_PID" : "9008", "_COMM" : "dockerd", "_EXE" : "/usr/bin/dockerd", "_CMDLINE" : "/usr/bin/dockerd -H fd://", "_SYSTEMD_CGROUP" : "/system.slice/docker.service", "_SYSTEMD_UNIT" : "docker.service", "CONTAINER_TAG" : "mysql1", "CONTAINER_ID" : "141fbe360a87", "CONTAINER_ID_FULL" : "141fbe360a8789eebfcf20674e16669c761a19906c1756461040f80a2d520335", "CONTAINER_NAME" : "mysql1", "MESSAGE" : "  You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD", "_SOURCE_REALTIME_TIMESTAMP" : "1507758443430044" }

or some other formats:
$ journalctl -o verbose CONTAINER_TAG=mysql1
-- Logs begin at Sun 2017-10-08 13:35:41 UTC, end at Wed 2017-10-11 21:49:10 UTC. --
Wed 2017-10-11 21:47:23.429361 UTC [s=349c8f9893984ef0bbf1231afb11ffd6;i=22f3;b=609e5a3fed2f4bf29a615ac88e229be0;m=433851ab40;t=55b4c5e6d7fe2;x=9a76f6fe9a046b28]
    _UID=0
    _GID=0
    _CAP_EFFECTIVE=3fffffffff
    _SYSTEMD_SLICE=system.slice
    _BOOT_ID=609e5a3fed2f4bf29a615ac88e229be0
    _MACHINE_ID=a920d7234de74739945794b24bc9b558
    _HOSTNAME=ubuntu-2gb-ams3-01
    PRIORITY=3
    _TRANSPORT=journal
    _PID=9008
    _COMM=dockerd
    _EXE=/usr/bin/dockerd
    _CMDLINE=/usr/bin/dockerd -H fd://
    _SYSTEMD_CGROUP=/system.slice/docker.service
    _SYSTEMD_UNIT=docker.service
    MESSAGE=error: database is uninitialized and password option is not specified
    CONTAINER_TAG=mysql1
    CONTAINER_ID=141fbe360a87
    CONTAINER_ID_FULL=141fbe360a8789eebfcf20674e16669c761a19906c1756461040f80a2d520335
    CONTAINER_NAME=mysql1
    _SOURCE_REALTIME_TIMESTAMP=1507758443429361
Wed 2017-10-11 21:47:23.430044 UTC [s=349c8f9893984ef0bbf1231afb11ffd6;i=22f4;b=609e5a3fed2f4bf29a615ac88e229be0;m=433851acee;t=55b4c5e6d8190;x=d90bd5ae08837a8c]
    _UID=0

$ journalctl -o export CONTAINER_TAG=mysql1
__CURSOR=s=349c8f9893984ef0bbf1231afb11ffd6;i=22f3;b=609e5a3fed2f4bf29a615ac88e229be0;m=433851ab40;t=55b4c5e6d7fe2;x=9a76f6fe9a046b28
__REALTIME_TIMESTAMP=1507758443429858
__MONOTONIC_TIMESTAMP=288707685184
_BOOT_ID=609e5a3fed2f4bf29a615ac88e229be0
_UID=0
_GID=0
_CAP_EFFECTIVE=3fffffffff
_SYSTEMD_SLICE=system.slice
_MACHINE_ID=a920d7234de74739945794b24bc9b558
_HOSTNAME=ubuntu-2gb-ams3-01
PRIORITY=3
_TRANSPORT=journal
_PID=9008
_COMM=dockerd
_EXE=/usr/bin/dockerd
_CMDLINE=/usr/bin/dockerd -H fd://
_SYSTEMD_CGROUP=/system.slice/docker.service
_SYSTEMD_UNIT=docker.service
MESSAGE=error: database is uninitialized and password option is not specified
CONTAINER_TAG=mysql1
CONTAINER_ID=141fbe360a87
CONTAINER_ID_FULL=141fbe360a8789eebfcf20674e16669c761a19906c1756461040f80a2d520335
CONTAINER_NAME=mysql1
_SOURCE_REALTIME_TIMESTAMP=1507758443429361

For me the whole reason behind tagging is so that rsyslog can capture these tags and designate which files to place the logs.  I do this with rsyslog templating.  Using journalctl -o json isn't very human readable.  Docker needs to fix this logging issue to provide "yes" answers to the following requirements:
Log-driver   Access to human-readable files?   View logs using “docker logs ”?
Syslog                             yes                                                            no
Journald                           no                                                            yes

@dwayne-lee do you mind open a ticket for this?
Thanks.


For on & once, return function which can be used to stop listening to events.

This is necessary when on & once functions are for multiple events and you only care for one of the events.

If you do .once('a b') and a is triggered - the function could still be invoked if b is triggered.

Refactor NeuroDatabase.ready to use returned off statement.

Refactor Neuro.get to use returned off statement.


[AutoRelease] t2-search-2023-08-01-50404(can only be merged by SDK owner)

https://github.com/Azure/sdk-release-request/issues/2985
Live test success
https://dev.azure.com/azure-sdk/internal/_build?definitionId=1031
BuildTargetingString
azure-mgmt-search
Skip.CreateApiReview
true

issue link:https://github.com/Azure/sdk-release-request/issues/2985


feat: component context info

Related issue: #38, #53
Features:

mu, pods, classic layouts support for app models definitions lookup, including js and ts files.
mu, pods, classic layouts support for app transforms definitions lookup, including js and ts files.
addon components and helpers definitions lookup
AngleBracket components autocomplete (including addon-located components) for mu, pods, classic layouts.
go-to routes, component properties, actions for mu, pods, classic
go-to service declaration definition for classic components
go-to ember/addon import support
store.peekRecord, findRecord... model names autocomplete for classic
belongsTo, hasMany model names autocomplete for classic
transitionTo,.. routes autocomplete for classic
named: service(name) services autocomplete
template linting fix
in-repo addons lookup (for classic and mu apps)

@lifeart this PR seems to implement a lot of things. would it be possible to split the features into separate PRs to make them easier to review?

@Turbo87 don't think so, because is a bunch of refactoring from original implementation, I'm was trying to split it to different files, main logis parts should be nice.

This looks awesome!!! Is there anything else to do? This feature would ease my day a loot :muscle:

I've made a bunch of small and large changes throughout so far, and will try to keep iterating on this (albeit at a slower pace) on future days; I expect we can land it Soon™, and as we do it'll have much richer/more solid type behavior.

@lifeart This is so awesome! 🎉
@chriskrycho Are there any major blockers left in this PR?

@lifeart This is so awesome! 🎉
@chriskrycho Are there any major blockers left in this PR?

@sandstrom  just use https://marketplace.visualstudio.com/items?itemName=lifeart.vscode-ember-unstable

@sandstrom  just use https://marketplace.visualstudio.com/items?itemName=lifeart.vscode-ember-unstable

@lifeart Awesome, just tried it and it works great. 🏅
Any plans to pull all that functionality into this repo? So that more people will discover it.

@lifeart Awesome, just tried it and it works great. 🏅
Any plans to pull all that functionality into this repo? So that more people will discover it.

friendly ping @chriskrycho @locks


Weaker faraday dependency

A lot of gems (one that we use is omniauth-facebook) still depend on an older version of the faraday gem. I tried rolling this back to 0.9 and found out that the calls to retrieve access_token as well as queries to the tax invoice endpoint still function correctly. Hope you guys can verify that the gem works fine on an older faraday too.
By the way the gem file had to be removed from the repo otherwise bundler refused to build the gem, due to the git ls-files command used in the gemspec.

Thank you for the fix.


[bal-navigation] - performance update

only show desktop or mobile solution in the DOM. Use a conditional rendering here.

@rainerblumenthal @max-voss 2nd performance update issue

to solve that issue we need to refactor the whole navigation, due to bad html constructions and conditional rendering


.Net: Migrate AzureOpenAIFiles service to Azure.AI.OpenAI SDK v2

Motivation and Context
This PR migrates the AzureOpenAIFileService service to the Azure.AI.OpenAI SDK v2.
Description

The ClientCore.Files and AzureOpenAIFileService classes are refactored to use Azure model classes and have a few constructors that are only relevant to the file service. The organization parameter is dropped because it's not relevant to Azure services. The version parameter is dropped as well in favor of having a constructor that accepts AzureOpenAIClient to keep the service and its extension methods aligned with other service/extension methods signatures. These breaking changes are tracked in the issue: https://github.com/microsoft/semantic-kernel/issues/7053
The AzureOpenAIFileUploadPurpose enum is extended to support additional constants on top of the two - Assistants and FineTune introduced by the new OpenAIFileService.
The AzureOpenAIFilePurpose enum is introduced to represent the file purpose of uploaded files.
Service collection and kernel builder extension methods are added to register the service in the DI container.
Unit and integration tests are added as well. A few tests are temporary skipped due to issues identified in the underlying library. See the issue for more details: https://github.com/microsoft/semantic-kernel/issues/7167

It has been decided to obsolete the file service, so it will not be migrated, and the PR is no longer necessary.


[BUG] fix broken release pipeline due to permissions issues

Describe the bug
https://github.com/Azure/aca-dotnet-workshop/actions/runs/8631209186 Workflow is broken.
Need to fix in some way
Expected behavior
Should work
Actual behavior
Fails
Reproduction Steps
Merge to main and publish action fails.

This is fixed now


add sentiment_analysis_cnn (#256)

Merge @xiaotinghe 's PR:
https://github.com/dmlc/gluon-nlp/pull/256
Description
Add sentiment analysis with textCNN including various data sets. This is intended to use convolutional neural networks (textCNN) for sentiment analysis.

Convolutional neural networks for sentiment analysis

The script shows how to use convolutional neural networks (textCNN) for sentiment analysis on various datasets.

Various datasets for sentiment analysis.

MR is a movie-review data set of 10,662 sentences labeled with respect to their overall sentiment polarity (positive or negative).
SST-1 is an extension of the MR data set. However, training/test splits are provided and labels are fine-grained (very positive, positive, neutral, negative, very negative). The training and test data sets have 237,107 and 2,210 sentences respectively.
SST-2 is the same with SST-1, but neutral sentences are removed and only binary sentiment polarity are considered: very positive is considered as positive, and very negative is considered as negative.
SUBJ is a Subjectivity data set for sentiment analysis. Sentences labeled with respect to their subjectivity status (subjective or objective).
TREC is a movie-review data set of 10,000 sentences labeled with respect to their subjectivity status (subjective or objective).

Checklist
Essentials

[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage
[x] Code is well-documented

Changes

[x] textCNN model.
[x] textCNN running scripts.
[x] Data sets (MR, SST, Subj, and TREC)

Comments

N.A.

Job PR-391/2 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-391/2/index.html

Job PR-391/3 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-391/3/index.html

Job PR-391/5 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-391/5/index.html

@xiaotinghe Please check my above changes. Let me know if you spot any issues. Again, thank you for your great contributions to gluonnlp :)

Job PR-391/6 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-391/6/index.html

Job PR-391/7 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-391/7/index.html

Thank @sravanbabuiitm and @szha for all the feedbacks!
Last thing: please keep commit history of @xiaotinghe when merging to master in order to acknowledge his contributions to gluonnlp.


Fix AudioStreamPlayer.get_playback_position() always returning 0 when using AudioStreamInteractive

Fixes the problem mentioned in #97791. AudioStreamPlayer.get_playback_position() now returns the playback position of the current stream, or 0 if there is no current stream.
Bugsquad edit:

Fix #97791

See my https://github.com/godotengine/godot/issues/97791#issuecomment-2429830156 about the issue.

Closing based on https://github.com/godotengine/godot/issues/97791#issuecomment-2429830156, it seems this is intended behavior (but that needs to be better documented).


Rangehood - Replacement Project

03-11-22 Need to get new unit off the living room floor. Purchased five (5) months ago!!

On or around weekend 17|18-12-22

removed old unit.
sugar soaped walls (TNX Aunty Alex)
attempted to set new unit in place.
needed to modify out tube with aluminium tape.
Just need to gib patch some holes. Possibly paint. Re-wash kitchen joinery with sugar soap. Sort cups / glasses.

15-04-23 Get a rattle on there, lad!


HTML title differs from PDF title

Description
The html is "A better way to format your document for CEUR-WS" but when you download the PDF it is "A Planet Scale Spatial-Temporal Knowledge GraphBased On OpenStreetMap And H3 Grid"
(Optional:) Please add any files, screenshots, or other information here.
No response
(Required) What is this issue most closely related to? Select one.
Other
Internal issue ID
9641239d-0387-4877-b33d-58d9ce4d6c65
Paper URL
https://arxiv.org/html/2405.15375
Browser
Firefox/129.0
Device Type
Desktop

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."


feature: add shortcut and docs for oauth keycloak integration

A clear and concise description of what you want the system to do.

Create a shortcut for keyclock (similar to https://authp.github.io/docs/authenticate/misc#shortcuts)
Document the integration in under https://github.com/authp/authp.github.io/tree/main/docs/authenticate/oauth

        generic_oauth2_backend {
          method oauth2
          realm generic
          provider generic
          client_id <id>
          client_secret <secret>
          scopes openid email profile
          base_auth_url https://<keycloak-url>
          metadata_url https://<keycloak-metadata-url>
        }

to:
keycloak <keycloak-url>

See https://github.com/greenpau/caddy-auth-portal/issues/215

Closed in favor of https://github.com/greenpau/caddy-security/issues/21


Clearly delineate UI code from logic

@gvidon as with DataPackagist, we need to strictly delineate UI "glue" and interactions from the main logic of the application.
We are using most of the libraries from DataPackagist anyway, but please do a quick review of work done so far and ensure that we are enforcing such a delineation.
Add comments here for any areas we might need to address.
Also inviting @pwalsh @danfowler @rgrp to use this issue to dump comments on this as we iterate on os-import this sprint.

@pwalsh @danfowler @rgrp at the moment there is just single method I would move out of UI area — https://github.com/openspending/os-import/blob/develop/os-import/src/scripts/components/ui/create-dp/upload.js#L62
There is CSV parsing, schema infering and GoodTables validation. I would also call it more relevant to what it does.

Closing in favor of notes in #30


Added todo app

@imrudrakarmakar will my projects count toward hacktoberfest or am I doing wrong PR's? (sorry, I am new)


The metadata retrieve operation failed: INVALID_TYPE: sObject when adding custom metadata to manifest

Summary
After adding CustomMeta to the project manifest, I can no longer retrieve source, due to a CustomMetadata entity in a managed package.
Steps To Reproduce:

Install zendesk managed package (It likely works with other managed packages which expose custom metadata
Add CustomMetadata to project manifest

   <types>
        <members>*</members>
        <name>CustomMetadata</name>
    </types>

run sfdx force:source:retrieve --manifest my/project/manifest/package.xml

Expected result
It would retrieve all custom metadata
Actual result
Command fails:
ERROR running force:source:retrieve:  The metadata retrieve operation failed: INVALID_TYPE: sObject type 'Zendesk__Zendesk_Global_OAuth_Client__mdt' is not supported.

Additional information
Feel free to attach a screenshot.
SFDX CLI Version(to find the version of the CLI engine run sfdx --version):
7.23.1-ced0ec4940
SFDX plugin Version(to find the version of the CLI plugin run sfdx plugins --core)
@oclif/plugin-commands 1.2.3 (core)
@oclif/plugin-help 2.2.1 (core)
@oclif/plugin-not-found 1.2.3 (core)
@oclif/plugin-plugins 1.7.8 (core)
@oclif/plugin-update 1.3.9 (core)
@oclif/plugin-warn-if-update-available 1.7.0 (core)
@oclif/plugin-which 1.0.3 (core)
@salesforce/sfdx-trust 3.0.5 (core)
analytics 1.2.1 (core)
generator 1.1.1 (core)
salesforcedx 46.13.1 (core)
├─ force-language-services 46.18.0 (core)
└─ salesforce-alm 46.17.0 (core)
OS and version:
osx 10.14.5

Look like API issue happen also on workbench see img

This issue is being tracked in the following Known Issue:
https://success.salesforce.com/issues_view?Id=a1p3A0000003ek8

@ChuckJonas This is a known issue owned by another team. I will pass on your comments, but close this issue


Add "skip" option for uncommited changes during update

Describe the feature
Currently, when doom sync -u encounters a package repo with uncommitted changes, it presents three options:
> Repository "some-repo" has a dirty worktree:

    M foo.el
    M bar.el

      1) Abort
      2) Stash changes
      3) Discard changes (Recommended)

  How to proceed? (1, 2, 3)

None of these options are convenient when actively working on that repo: your best option is to stash the changes, but then you have to re-apply them right after doing the update. It would be much more convenient if there were a fourth option:
4) Skip update for this repository

This option would simply leave the repository unchanged and continue to the next repository.
System information

SYSTEM  info       ("Arch Linux" .


Add support for let chains

See https://github.com/rust-lang/rust/pull/88642.
EDIT @ytmimi:  Also see https://github.com/rust-lang/fmt-rfcs/issues/169 for the discussion on how let-chains should be formatted. I encourage anyone in the community to share their thoughts on the styling rules in the linked RFC. The formatting logic cannot be implemented in rustfmt until the formatting rules have been decided.

Just wanted to call out that I think not having support for let chains right now is related to #4955 and the fact that we don't currently format ast::ExprKind::Let AST nodes.
https://github.com/rust-lang/rustfmt/blob/5c558e2c11f33e1e25932607458396be883d36b5/src/expr.rs#L130
If anyone is interested in taking this on right now, this is probably the place to start.

Closing in favor of #4955

I am housekeeping my dashboard closing issues that are not on my radar and will probably take some time to be resolved.
@ytmimi If that is of your interest, feel free to create another issue.

Any updates about tracking this issue? It looks like it's got stuck in the preferred style decision, isn't it?


feat: deprecate enum val

Both State.val and Rating.val are unnecessary. Dart already has Enum.index, this commit marks the unnecessary properties to be deprecated in future major version release.
This changes won't affect users of this library.

@sonbui00 do you have any thoughts on this?
I would argue removing val is important to make the code cleaner, but I'm still not sure whether it should be deprecated first or just remove it entirely. I don't think val would be used anywhere outside of this library internal logic.
If you prefer to keep val, a getter can be a solution:
 enum Rating {
-  again(1),
-  hard(2),
-  good(3),
-  easy(4);
+  again,
+  hard,
+  good,
+  easy;

-  const Rating(this.val);
+  const Rating();

-  final int val;
+  int get val => index + 1;
 }


Add other operations to Width class

It would be nice to add other operations to the Width class eg  -, <, >, etc ...

Do you have specific use cases for this feature?


Bugfix: Prevent Shape Layer Icons getting cut off in Firefox

Context
In the layers panel the shapes icons were getting cut off in Firefox (and a little bit in Chrome).
Summary
Tweak the shapes layer icon component to make sure it isn't cut off in Firefox and Chrome.
Relevant Technical Choices
Ended up solving this by adjusting the clip-path transform: scale to shrink it just slightly .9 - the issue was that we were using the maskDef.ratio for the scale here when a) sometimes the ratio would boost it over 1 so the clip path would then grow to be too big and the overflow (as is the nature of clip paths) is just cut off and b) the icon size is contained anyways. So, that in tandem with just allowing the div that has the clip path applied to be 100% of the container (always 21px) gives the paths room to render their whole path without impacting layout else where.
To-do
clip-path isn't well supported in Safari, that's why it renders like this:

https://stackoverflow.com/questions/41860477/why-doesnt-css-clip-path-with-svg-work-in-safari
https://caniuse.com/css-clip-path
I moved the clip-path from inline to the ShapePreview styled component so that it could get auto prefixed with webkit - so when that's fixed in Safari it should "just work" now.  The only other way I thought of around this is to not use clip path for this icon anymore but then that's a whole thing with gradients and it doesn't seem worth it.
User-facing changes

Chrome
Firefox
Safari

Before

After

Testing Instructions

[ ] This is a non-user-facing change and requires no QA

This PR can be tested by following these steps:

Reviews
Does this PR have a security-related impact?
No
Does this PR change what data or activity we track or use?
No
Does this PR have a legal-related impact?
No
Checklist

[x] This PR addresses an existing issue and I have linked this PR to it in ZenHub
[x] I have tested this code to the best of my abilities
[x] I have verified accessibility to the best of my abilities (docs)
[x] I have verified i18n and l10n (translation, right-to-left layout) to the best of my abilities
[ ] This code is covered by automated tests (unit, integration, and/or e2e) to verify it works as intended (docs)
[x] I have added documentation where necessary
[x] I have added a matching Type: XYZ label to the PR

Fixes #9704

A few shapes seem to not be vertically centered?

Indeed, and this bothers me but I cannot change it. This has to do with the path of the SVG and where it's lined up. If we weren't using clip paths we could use a viewBox instead and position them in the top right corner consistently and then center them from there but because of the clip path this is as good as we're gonna get. Some of the paths have more white space than others.

Seems like some shapes overlap their containing box a little

Great eye, i'll tinker with this a little bit, should be able to control this one.

This is so smart! Thanks for figuring it out!

this was tricky, thanks for letting me grab it from you.


errore install [all]

pip install rectools и pip install rectools[extension-name]   установились нормально
а вот :
pip install rectools[all]  выдал вот такие ошибки ,
SDK и Visial Studio установлены !
    opt = self.warn_dash_deprecation(opt, section)
  running bdist_wheel
  running build
  running build_ext
  Extra compilation arguments: ['/EHsc', '/openmp', '/O2', '/DVERSION_INFO=\\"2.1.1\\"']
  building 'nmslib' extension
  creating build
  creating build\temp.win-amd64-cpython-310
  creating build\temp.win-amd64-cpython-310\Release
  creating build\temp.win-amd64-cpython-310\Release\similarity_search
  creating build\temp.win-amd64-cpython-310\Release\similarity_search\src
  creating build\temp.win-amd64-cpython-310\Release\similarity_search\src\method
  creating build\temp.win-amd64-cpython-310\Release\similarity_search\src\space
  creating build\temp.win-amd64-cpython-310\Release\tensorflow
  "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.37.32822\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -I.\similarity_search\include -Itensorflow -Ic:\temp\pip-install-b171phqx\nmslib_dde37a94bd0b4873a19978ddf40d8a69\.eggs\pybind11-2.6.1-py3.10.egg\pybind11\include -Ic:\temp\pip-install-b171phqx\nmslib_dde37a94bd0b4873a19978ddf40d8a69\.eggs\pybind11-2.6.1-py3.10.egg\pybind11\include -Ic:\temp\pip-install-b171phqx\nmslib_dde37a94bd0b4873a19978ddf40d8a69\.eggs\pybind11-2.6.1-py3.10.egg\pybind11\include -Ic:\temp\pip-install-b171phqx\nmslib_dde37a94bd0b4873a19978ddf40d8a69\.eggs\pybind11-2.6.1-py3.10.egg\pybind11\include -IC:\Users\TDL\mambaforge\envs\karp\lib\site-packages\numpy\core\include -IC:\Users\TDL\mambaforge\envs\karp\include -IC:\Users\TDL\mambaforge\envs\karp\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.37.32822\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" /EHsc /Tp.\similarity_search\src\distcomp_bregman.cc /Fobuild\temp.win-amd64-cpython-310\Release\.\similarity_search\src\distcomp_bregman.obj /EHsc /openmp /O2 /DVERSION_INFO=\\\"2.1.1\\\"
  distcomp_bregman.cc
  C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.37.32822\include\yvals.h(21): fatal error C1083: ЌҐ г¤ Ґвбп ®вЄалвм д ©« ўЄ«озҐЁҐ: crtdbg.h: No such file or directory,
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.37.32822\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for nmslib
Running setup.py clean for nmslib
Failed to build nmslib
ERROR: Could not build wheels for nmslib, which is required to install pyproject.toml-based projects

Seems like you have a problem with nmslib and you're using Windows.
Have you tried to install rectools[nmslib]? I suppose no because there is no difference in installation process between installingrectools[extension-name] and rectools[all].
Unfortunately, you cannot easily install nmslib on Windows. If you don't need it, then just list explicitly extras that you need like rectools[torch,lightfm]. If you really need nmslib, then try to use workarounds (some ideas)
P.S. Next time specify your OS, Python version and provide specific commands that you're using. Also, use English, please.


Switched from JuliaParser to Base

This works now with the newest Base master.

Looks like it might need a readall on 0.3, and a test result change on 0.4.

Got the 0.4 change done. Where is the readall needed?

There error message on 0.3 sez ERROR: parse has no method matching parse(::IOStream)

I guess it only takes strings?

I talked with @IainNZ and we're going to merge then get set for 0.4, which should be coming very soon.


Make sure matplot has a writable folder inside the docker container

The following error message is displayed when running the docker container
Matplotlib created a temporary config/cache directory at /tmp/matplotlib-vrb6fq9e because the default path (/home/user/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.
A posible solution is to create a VOLUME and let  the environment variable MPLCONFIGDIR in Dockerfile point to the volume

Fixed in #30


Invert Launch in Launcher List Option

@lublak What about a checkbox in settings that flips the default? So all games are by default launched through heroic but you can go into settings if a certain games should be launched directly?
Originally posted by @PhilipK in https://github.com/PhilipK/BoilR/issues/138#issuecomment-1134326940
Just as a feature request :P

This is in version 1.3.10


Fix AppHarness tests

Beat all race conditions in the client_side_storage tests
Fix up deprecated API usage in core framework
Fix up deprecated API usage in integration tests

not sure why test_login_flow is failing here, it's passing for me on local...


Simplify db definition

The DB parameters are defined in several places:

.env_template
Github Action secrets
CI-integrationtests.yml and CI-unittests.yml
(additional listed in the documentation of the datbases, but there we don't need to most recent values)

This PR tries to simplify this at least a bit:

CI-integrationtests.yml and CI-unittests.yml are reading the available values from  .env_template
only SIMTOOLS_DB_API_USER and SIMTOOLS_DB_API_PW are read from secrets

This means we have the only variable parameter SIMTOOLS_DB_SIMULATION_MODEL fixed at one single place.

Closing PR - have a different and better solution.


Consider using storybook-deployer to deploy storybook to GH Pages

https://github.com/storybooks/storybook-deployer

Not sure this is gonna happen.


Filtering only works for DISPLAYED results, not FOUND results

When I make a search I get "150 results found (More items available, scroll down to see more.)"
If I then use the FILTER function, to filter on IP address or User, only the 150 results that are shown, are filtered. So i get maybe 8 results if I apply a filter BEFORE scrolling down the list.
But if I scroll down to the bottom of the list, and additional 150 results are shown, and repeat. So if I apply the filter then, more than the 8 filtered results from before, are shown.
So, in other words: The filter function only works for DISPLAYED results, not FOUND results, so I have to manually scroll down the list to make sure ALL my results in my current search are shown BEFORE I can use the filtering function in any meaningful way.
Tested in both Internet Explorer and Chrome.
Please fix :-(

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

ID: 3494b782-92ad-e365-3398-bd2d760d10c6
Version Independent ID: fa4bca98-3975-23dd-dfac-f23049c71d01
Content: Search the audit log in the Security & Compliance Center
Content Source: microsoft-365/compliance/search-the-audit-log-in-security-and-compliance.md
Service: o365-seccomp
GitHub Login: @markjjo
Microsoft Alias: markjjo

@RipRapRob Please feel free to submit this product feedback at https://office365.uservoice.com/forums/289138-office-365-security-compliance. You could cut and paste this GitHub issue and provide the context of O365 unified audit log.
As an alternative workaround (which may not be any better) you can "download all results", parse the AuditData column (which is a JSON object) and then use Excel's (powerful) filtering functionality. See https://docs.microsoft.com/en-us/microsoft-365/compliance/export-view-audit-log-records.


RuntimeError: CUDA error: invalid configuration argument

When I was trying a zipformer (pruned_transducer_stateless7) on spgispeech, I did the following:
python pruned_transducer_stateless7/train.py --world-size 2 --max-duration 250

I got the following error after the training run for a while:
2022-11-22 23:32:27,044 INFO [train.py:876] (1/2) Epoch 1, batch 14850, loss[loss=0.4185, simple_loss=0.4207, pruned_loss=0.2081, over 4933.00 frames. ], tot_loss[loss=0.3828, simple_loss=0.3939, pruned_loss=0.1859, over 1194952.18 frames. ], batch size: 40, lr: 2.82e-02,
2022-11-22 23:32:27,046 INFO [train.py:876] (0/2) Epoch 1, batch 14850, loss[loss=0.3625, simple_loss=0.366, pruned_loss=0.1795, over 6045.00 frames. ], tot_loss[loss=0.3822, simple_loss=0.3933, pruned_loss=0.1856, over 1200748.57 frames. ], batch size: 17, lr: 2.82e-02,
2022-11-22 23:32:33,171 INFO [zipformer.py:1414] (0/2) attn_weights_entropy = tensor([2.0664, 2.2180, 2.0900, 2.1552, 1.5869, 1.5967, 1.0766, 1.7589],
       device='cuda:0'), covar=tensor([0.0361, 0.0796, 0.3119, 0.0494, 0.0348, 0.0510, 0.0635, 0.0371],
       device='cuda:0'), in_proj_covar=tensor([0.0022, 0.0021, 0.0021, 0.0026, 0.0021, 0.0027, 0.0025, 0.0024],
       device='cuda:0'), out_proj_covar=tensor([3.2804e-05, 3.6589e-05, 3.2693e-05, 4.0759e-05, 3.4965e-05, 4.2606e-05,
        4.0940e-05, 3.8753e-05], device='cuda:0')
2022-11-22 23:32:38,075 INFO [train.py:1134] (0/2) Saving batch to pruned_transducer_stateless7/exp/batch-bdd640fb-0667-1ad1-1c80-317fa3b1799d.pt
2022-11-22 23:32:38,115 INFO [train.py:1140] (0/2) features shape: torch.Size([40, 621, 80])
2022-11-22 23:32:38,117 INFO [train.py:1144] (0/2) num tokens: 1462
Traceback (most recent call last):
  File "pruned_transducer_stateless7/train.py", line 1207, in <module>
    main()
  File "pruned_transducer_stateless7/train.py", line 1198, in main
    mp.spawn(run, args=(world_size, args), nprocs=world_size, join=True)
  File "/home/hltcoe/rhuang/mambaforge/envs/icefall/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 230, in spawn
    return start_processes(fn, args, nprocs, join, daemon, start_method='spawn')
  File "/home/hltcoe/rhuang/mambaforge/envs/icefall/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 188, in start_processes
    while not context.join():
  File "/home/hltcoe/rhuang/mambaforge/envs/icefall/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 150, in join
    raise ProcessRaisedException(msg, error_index, failed_process.pid)
torch.multiprocessing.spawn.ProcessRaisedException:

-- Process 0 terminated with the following error:
Traceback (most recent call last):
  File "/home/hltcoe/rhuang/mambaforge/envs/icefall/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 59, in _wrap
    fn(i, *args)
  File "/home/hltcoe/rhuang/icefall/egs/spgispeech/ASR/pruned_transducer_stateless7/train.py", line 1078, in run
    train_one_epoch(
  File "/home/hltcoe/rhuang/icefall/egs/spgispeech/ASR/pruned_transducer_stateless7/train.py", line 809, in train_one_epoch
    scaler.scale(loss).backward()
  File "/home/hltcoe/rhuang/mambaforge/envs/icefall/lib/python3.8/site-packages/torch/_tensor.py", line 307, in backward
    torch.autograd.backward(self, gradient, retain_graph, create_graph, inputs=inputs)
  File "/home/hltcoe/rhuang/mambaforge/envs/icefall/lib/python3.8/site-packages/torch/autograd/__init__.py", line 154, in backward
    Variable._execution_engine.run_backward(
RuntimeError: CUDA error: invalid configuration argument
CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.

It seems not an OOM error. If setting --max-duration 300, this error can happen at batch 50.
On the other hand, if I try --max-duration 100 as default, it goes well after many batches but the GPU memory usage is very low.
Do you know what may be the issue?

which  version of cuda and pytorch are you using?

CUDA 11.1 and Python 3.8.13

Could you switch to another cuda version, e.g., cuda 10.2?

RuntimeError: CUDA error: invalid configuration argument

Most people are using cuda 11.1 when they have such an issue.

Sure, I will try. Thanks for the suggestion!

For future reference, the following issues are related to this one using cuda 11.1

https://github.com/k2-fsa/icefall/issues/247
https://github.com/k2-fsa/icefall/pull/318

Looks like this is most likely a PyTorch bug that we just happen to be triggering, so probably would be easiest to try different versions of PyTorch and/or CUDA because we would not be able to fix this ourselves.

After we switch to CUDA 10.2, the issue is resolved. Thanks a lot!

(We can use --max-duration 600 and GPU memory utilization is very good.)


Conform forge test --debug syntax

Component
Forge
Describe the feature you would like
A small nit, but when using the debugger, I think it would be great if we could just use -m/--mt/--mc instead of specifying the test name after --debug.
Additional context
No response

I would find it more natural if --debug could be added to any forge test and as long as only one test is matched, it's good to go. That includes only having one contract with one function or multiple contracts, but only leaving one option when specifying --mc.

Agree with @0xPhaze on syntax here, the different --debug syntax always trips me up. I often find myself re-running a single test to iron out errors, then trying to jump in the debugger by just adding --debug to my last command. So for example using forge test --mt testX --mc ContractA --debug should work but error if the combination of matchers gives anything except exactly 1 test (would be nice for it log all the matches in that case too)

What should the behavior be if there's >1 match? Maybe we could have the error log all the matches, and prompt the user to specify:

--match-test,
--match-path,
--match-contract  and/or
--sig

so that there is only 1 match

Marking as resolved
If there is >1 match it now raises:
Error:
2 tests matched your criteria, but exactly 1 test must match in order to run the debugger.

Use --match-contract and --match-path to further limit the search.
Filter used:
	match-test: `test_Increment`

This prompts the user to narrow down:
forge test --debug test_Increment --match-contract Counter2

forge test --debug test_Increment --match-path test/Counter2.t.sol

Which works without issue


Example code errors

Hi, I tried to use the example code from the readme (https://github.com/nim-works/loony#how-to-use) but I got some errors
Hint: used config file '/home/---/.choosenim/toolchains/nim-#devel/config/nim.cfg' [Conf] Hint: used config file '/home/---/.choosenim/toolchains/nim-#devel/config/config.nims' [Conf] ................................................................ /home/---/Desktop/Nim/test.nim(10, 11) template/generic instantiation ofpushfrom here /home/---/.nimble/pkgs/loony-0.1.1/loony.nim(177, 27) template/generic instantiation offetchIncTailfrom here /home/---/.nimble/pkgs/loony-0.1.1/loony.nim(71, 26) Error: attempting to call undeclared routine: 'fetchAdd'
This happens both on the 0.1.0 and 0.1.1

Hi! Can I confirm the version of nim you are using?

I think that error message is consistent with loony being built outside gc:arc or gc:orc.  It only supports those memory managers at the moment.

From the error you have provided it appears that you do not have the std/atomics fetchAdd proc in your scope.
Judging from the code of atomics https://github.com/nim-lang/Nim/blob/devel/lib/system/atomics.nim it would seem that the operation will only be available when compiled with —threads:on
Please ensure you have the following compiler switches:
—gc:arc —threads:on
Give it another shot and let us know if there are further issues.

Yeah, I just came to the same realization.  :laughing:

Hi, Im using
`Nim Compiler Version 1.5.1 [Linux: amd64]
Compiled at 2021-09-23
Copyright (c) 2006-2021 by Andreas Rumpf
git hash: 6163bdd279a2c33d4290223cc7f466c8070b8ce4
active boot switches: -d:release`
I already compiled it with nim c --threads:on --gc:arc test.nim still the same error

Quite odd! Despite the procedures push/pop using the templates, for some reason it required you to import the std/atomics to work. Either way; it has been patched by changing the templates to procedures for now to avoid polluting your name space.
Everything should work with the latest tag.
Thanks :)

compiled successfully

Thanks for letting us know 🙂 if you have questions or ideas give us a shout


Heroku fast instance

https://github.com/deep-foundation/deepcase-heroku here is last build with workinkg workflow but not enouth resourcies


Fix authentication for miners with no ethernet

A couple of miners (Finestra for example) do not have ethernet.
In that case, we should use the WiFi Mac address
https://github.com/NebraLtd/hm-diag/blob/4a9cdafd8d1867d1b7bd16f0a4deaf7f94215ce5/hw_diag/utilities/auth.py#L57-L61
Or perhaps we use the MAC key from hardware definitions as the default:
https://github.com/NebraLtd/hm-pyhelper/blob/8fa184c6026c5f9009fc61ea583883679fed5057/hm_pyhelper/hardware_definitions.py#L54
And if there is not one then fall back to eth, and if not eth then fall back to WiFi.
What do you think @robputt ?

@shawaj There is another issue with the mac address as password. Our thermal labels fade away overtime. In such a case, the user has to find his mac from his internet router. Assuming he knows how and where to look for mac of connected devices.

@pritamghanghas I think finding it from router is probably an acceptable amount of effort. We also include 2 additional spare serial number stickers in the box with the miner, as well as the one attached to the miner itself. Also our tech support can probably help people get it as well.
I'm but sure what other default we could use though? And we need the auth to enable other features.
@KevinWassermann94 @NebraLtd/developers any other thoughts on this?


Floating-point NaN values shouldn't be hardcoded to 0xf97e00 without other options

From RFC 7049bis Draft 12:

If NaN is an allowed value and there is no intent to support NaN
payloads or signaling NaNs, the protocol needs to pick a single
representation, for example 0xf97e00.

It's reasonable for specific protocols to choose 0xf97e00, but I don't think its practical for a generic CBOR library to make that decision for all protocols and all users.
Hard-coding 0xf97e00 result without any option to not to use 0xf97e00 creates problems:

protocols that pick a different single representation of NaN can't use this library.
protocols that support NaN payloads can't use this library.
CBOR tests will fail with this library if they verify NaN payloads.  Whether they investigate further or instantly disqualify this library for being buggy is outside your control.

Some questions:

Are there any generic CBOR libraries in any programming language that always encode NaN to 0xf97e00 without any other option?
What are the benefits that is worth incurring the 3 problems?
Even if you add options, is the default setting to encode NaN to 0xf97e00 the best choice?  Or should it default to converting the NaN payload just like hardware and software implementations of IEEE 754?

Whatever you decide, it should be documented under the Standards section or Limitations section.

@fxamacker thanks for pointing out Canonical CBOR requires 0xf97e00.
RFC 7049 (Oct 2013):

If NaN is an allowed value, it must always be represented as 0xf97e00.

RFC 7049bis Draft 12 (Dec 2019) drops the word "must" regarding 0xf97e00 but it avoids changing the old definition of "Canonical CBOR" by using different terminology.
CTAP2 says:

The representations of any floating-point values are not changed.

Given all this, here's my revised suggestion:

not urgent to add user-configurable options regarding floating-point NaN encoding but default behavior for NaN should be documented for all possible configurations
must not use 0xf97e00 encoding for all floating-point NaN with CTAP2 Canonical CBOR
must keep 0xf97e00 encoding for all floating-point NaN with Canonical CBOR
should keep 0xf97e00 encoding for all floating-point NaN with Core Deterministic but that entire configuration should be marked as "subject-to-change until 7049bis is approved"
with other configs (e.g. default), if user specifies ShortestFloatNone, ShortestFloat32, or ShortestFloat64, then don't convert any NaN to float16.  If user specifies ShortestFloat16 then you decide how the library should behave as default.

Summary of discussion:
Default encoding shouldn't change in v1, so it should continue encoding all floating-point NaN values to 0xf97e00 (CBOR type float16 [0xf9] = 0x7e00) and also ignore ShortestFloatMode.
For now, drop ShortestFloat32 and ShortestFloat64 options to simplify NaN conversion decisions and wrap up v1.5.
CTAP2 standards may have overlooked lossless encoding of infinity values to float16. So we'll add InfConvertMode to determine how to encode Inf and it will ignore ShortestFloatMode:

InfConvertPreserveValue:  lossless encoding to IEEE binary16 (float16) since all values fit
InfConvertNone:  never convert (used by CTAP2 Canonical CBOR but not a good idea)

NaNConvertMode will determine how to encode NaN and it will ignore ShortestFloatMode:

NaNConvertPredefined: always encode to 0xf97e00 (CBOR float16 = 0x7e00)
NaNConvertNone: never convert NaN to other representations (float64 NaN stays float64, etc.)
NaNConvertPreserveValue: if value fits, convert to smallest (preserve payload and quiet bit)
NaNConvertQuietWithPayload: always convert to float16 and force quiet bit = 1

NaNConvertPredefined and NaNConvertNone are blockers for v1.5.   NaNConvertPreserveValue and NaNConvertQuietWithPayload will also be added if time allows this weekend.
Create separate ticket to add PreferredEncOptions() function to milestone v1.5.
Create separate ticket for NaNConvertMode for milestone v1.5.

This issue is resolved by adding NaNConvert to EncOptions:

NaNConvertNone: don't convert NaN to other representations -- used by CTAP2 Canonical CBOR.
NaNConvert7e00: encode to 0xf97e00 (CBOR float16 = 0x7e00) -- used by RFC 7049 Canonical CBOR.
NaNConvertQuiet: force quiet bit = 1 and use shortest form that preserves NaN payload.
NaNConvertPreserveSignal: convert to smallest form that preserves value (quit bit unmodified and NaN payload preserved) -- described in RFC 7049bis Draft 12 when protocols don't want predifined value such as 0x7e00.

None of them are broken.  They all work as intended. :tada:


build: add tslint rule to enforce OnPush change detection

Adds a tslint rule that requires OnPush change detection on all library and CDK components.
Relates to #5035.
Note: we should defer merging this until all of the OnPush PRs have gone through. Also it uncovered that we were missing the MdSidenavContainer from the list on #5035. I'll sort it out tomorrow.

@crisbeto looks like they've all merged!

We're currently stuck on an issue w/ the dialog
https://github.com/angular/material2/pull/6287

No longer relevant since this functionality is part of the validate-decorators rule. The check for changeDetection will be enabled in https://github.com/angular/material2/pull/7119.


[Feature Request] Exit with non-zero status in case of errors

Tell us about your feature request
I'd like to use twitch-cli for automated testing and there, I need the exit status of the twitch-cli command to determine if the test succeeded. This mainly concerns the event subcommand (maybe for the mock-api as well (?)).
Disclaimer

[X] I agree

So exiting with non-zero status in the event of it not returning the excepted 2xx code for those mock endpoints?

So exiting with non-zero status in the event of it not returning the excepted 2xx code for those mock endpoints?

Yes, and when the client returns unexpected data (e.g. an invalid challenge). I'm mostly concerned about the event {retrigger, trigger, verify} subcommands. The event websocket and mock-api are secondary. There, I'd think that if any request/reconnect/... goes wrong, then this is logged, and once SIGINT is received, the process exits with a non-zero status - compared to immediately exiting, which is inconvenient for regular CLI usage.

I'm adding this in, but I wanted to make a note that all errors will print to stdout to make it consistent across the entire program. Different features present data in different ways for different reasons, and it would take a rework of most things to write it in a way that print errors to stdout.
For example, "twitch api get users" will return a non-zero error code (because it returned a 400) but it will still write the JSON output to stdout instead of stderr.

It should be added in the next public release! If you see anything missing reopen this issue or open another :)


Fixing issues and adding maven to manage dependencies

Fix https://github.com/mdcdxcvi/Explorer/issues/3
I also fixed formatting of the code, and restructure the project to be maven compatible
You can run mvn clean install to build the project, tests are run as default

The code has just been refactored. Can you fix your PR?

Update the README.md with the new way of running the project with Maven.

All changes required are implemented. I think this covers the purpose of the issue, if you need further changes that are outside the scope probably better to open other issues

I think the original scope has changed since, I dont mind supporting but i think we can keep going on and on, maybe better to stick with what is really needed and then if more improvements are required create other issues?

Of course, I understand. Just ask for these final fixes because the game isn't working without what it should be.
Out[]: no main manifest attribute, in explorer-1.0.jar

Last changes sent

Thanks for your contribution! ^^


collectionContext.cellForItem(at:, sectionController:) returning nil in long press on cell.

New issue checklist

[X] I have reviewed the README and documentation
[X] I have searched existing issues and this is not a duplicate

General information

IGListKit version: 3.1.1
iOS version(s): 10.3
CocoaPods version: 1.2.1
Xcode version: 8.3.2
Devices/Simulators affected: Test on iPhone 6s simulator
Reproducible in the demo project? (Yes/No):  Yes
Related issues: N/A

Debug information
# Please include debug logs using the following lldb command:
po [IGListDebugger dump]

I was unable to call this method as it doesn't exist.

Amazing Library!
I'm having an issue with collectionContext.cellForItem(at:, sectionController:) returning nil. I added a long press to my cell and on occasion the method mentioned above will return nil.
To reproduce update the LabelSectionController in the sample project to the following:
final class LabelSectionController: ListSectionController {

    private var object: String?

    override func sizeForItem(at index: Int) -> CGSize {
        return CGSize(width: collectionContext!.containerSize.width, height: 55)
    }

    override func cellForItem(at index: Int) -> UICollectionViewCell {
        guard let cell = collectionContext?.dequeueReusableCell(of: LabelCell.self, for: self, at: index) as? LabelCell else {
            fatalError()
        }
        cell.text = object

        let gesture = UILongPressGestureRecognizer(target: self, action: #selector(didLongPressItem(_:)))
        gesture.minimumPressDuration = 0.5
        gesture.allowableMovement = 10
        cell.contentView.addGestureRecognizer(gesture)

        return cell
    }

    override func didUpdate(to object: Any) {
        self.object = String(describing: object)
    }

    @objc func didLongPressItem(_ gesture: UILongPressGestureRecognizer) {
        guard gesture.state == .began else { return }
        guard let cell = collectionContext?.cellForItem(at: 0, sectionController: self) else {
            print("No Cell")
            return
        }

        print("Found Cell")
    }
}

Now when you launch the tail loading example, drag and cause the tail loading to occur. Long press on some cells and you will (at random) get a No Cell in the console. This result came from long pressing on the 40 cell multiple times.

It looks like the [self indexPathForSectionController:sectionController index:index usePreviousIfInUpdateBlock:NO] line 800 of the IGListAdapter is on occasion returning the wrong index path a few times until it gets the active index path of the item.
4 long presses on an item in my app display the following prints of the indexPath in the IGListAdapter with the last indexPath being the correct one:
(lldb) po indexPath
<NSIndexPath: 0xc000000000201a16> {length = 2, path = 26 - 1}
(lldb) po indexPath
<NSIndexPath: 0xc000000000202216> {length = 2, path = 34 - 1}
(lldb) po indexPath
<NSIndexPath: 0xc000000000204616> {length = 2, path = 70 - 1}
(lldb) po indexPath
<NSIndexPath: 0xc000000000204a16> {length = 2, path = 74 - 1}

Nevermind, programming issue on my part where the contentView of the cell was piling up the UILongPressGestureRecognizer and hence retaining the old controllers and sending them into the cellForItem method.


Alert: Warning alert icon is incorrect color (light mode)

With the latest changes the warning alert is not the same color as the border #e49325 but it should be.

Style guide:

With the latest changes the warning alert is not the same color as the border #e49325 but it should be.

Style guide:

Are you talking about the alert icon color difference with respect to border?
#252a2e

#e49325

Also not the icon is wrong in the MWC for Error and Warning, they are reversed with how they should be.


Transparency issue with png black pixels instead

Hi,
I tried your latest nuget which is correct me if I'm wrong version 1.5.13 of croppper.js.
If you try a transparent png on:
https://cropperblazor.github.io/demo
Result is black and avoiding transparency
But on the same version with js it seems to be ok.
https://fengyuanchen.github.io/cropperjs/
At least when you download the image.
Any clue how I can find a workaroud ?
(thought about replacing it with flashy hexa and replacing them in bitmap afterward, but I'm not sure this is a good option)
Thanks in advance.
Regards

It seems that string? doesn't use "transparent" setting to FillColor = "transparent" solved my problem

Sorry, i didn't catch your question fully about this issues. May you implying black preview image in screen below?

If you are about this, you need to change the background of your preview or use a white theme

Hi @bc-hvtk. If I understand correctly you mean this black image after upload transparency png image?

If this problem can be solved with custom styles or an option, that's a good option when you used that library

It seems that string? doesn't use "transparent" setting to FillColor = "transparent" solved my problem

If this problem can be solved with custom styles or an option, that's a good option when you used that library

@MaxymGorn Sure.
Here is on Blazzor.Cropper

Croppie result:

And the black in the background is not transparent by default.
Here the same example from cropperjs same version (default settings).

The result does have a transparent background.
Confirmed workaround wit blazzor.Cropper is to use :
 new GetCroppedCanvasOptions(FillColor="transparent") since null doesn't seem to be correctly interpreted.
I assume js interop should do if null like above

But it doesn't

Ok, I will fix it soon

PR: https://github.com/CropperBlazor/Cropper.Blazor/pull/119

PR: https://github.com/CropperBlazor/Cropper.Blazor/pull/120

New version (1.1.4) is already deployed

@bc-hvtk Did I solve your mistake?

@bc-hvtk Did I solve your mistake?

Based on the change you did, it should. Although it might be an issue with JSInterop misinterpreting null values.
I will test and let you know

Tested and it works in 1.1.4


Serializer: implement encoding and decoding of Target

@wilhuff This is ready for an early review if you'd like. Tests pass except for the issue with limits.

One thing I don't understand is how to distinguish which failures in Decode methods should fail the Reader, and which should be hard asserts.

Should be ready for full review now.


A question for an endosome expert (possible term merge)

How does
GO:1990126   retrograde transport, endosome to plasma membrane
Definition
The directed movement of membrane-bounded vesicles from endosomes back to the plasma membrane, a trafficking pathway that promotes the recycling of internalized transmembrane proteins. PMID:23563491
differ from
GO:0032456    endocytic recycling
Definition
The directed movement of membrane-bounded vesicles from recycling endosomes back to the plasma membrane where they are recycled for further rounds of transport. PMID:16473635

@lbreuza can you comment on this?

@lbreuza can you comment on this?

These terms are basically describing the same process, but one is focused on a vesicular trafficking route (endocytic recycling) while the other was probably created to describe experiments where one measure the recycling of the proteins (retrograde transport, endosome to plasma membrane) through this route. I am not sure makes sense to have both terms but I can imagine how difference papers scope could have triggered the creation of both terms.

These terms are basically describing the same process, but one is focused on a vesicular trafficking route (endocytic recycling) while the other was probably created to describe experiments where one measure the recycling of the proteins (retrograde transport, endosome to plasma membrane) through this route. I am not sure makes sense to have both terms but I can imagine how difference papers scope could have triggered the creation of both terms.

Sounds like we can go ahead with the merge.

Sounds like we can go ahead with the merge.


Semantic highlighting protocol extension

I have started to work on a semantic highlighting extension of the LSP.
The semantic highlighting information is pushed from the server to the client as a notification. This notification contains the lines and the ranges where the coloring has the be applied and the desired coloring details are given as TextMate scopes.
In the reference implementation of the client, I was trying to map the TextMate scopes into the appropriate theme I can use as a decoration in the TextEditor decoration. How can one map the TextMate scopes into themes (and eventually TextEditorDecorationType) with the current VS Code API?
Any suggestions and feedback are welcome. Thanks!
Related issues:

Support semantic highlighting (Microsoft/language-server-protocol)
Proposal for (Semantic) Coloring (see #18) (Microsoft/language-server-protocol)
Provide an API for advanced/semantic source highlighting (Microsoft/vscode)
Add support for lexical syntax coloring (Microsoft/language-server-protocol)

Update:

GH-715: Implemented the semantic highlighting support. is a reference LS implementation in Java.
GH-1845: Extended the LSP with the semantic highlighting capabilities. is a reference client implementation in Theia through the monaco API.

I am closing the issue since semantic highlighting is in the upcoming 3.16 spec.


Test: Nigthly fixes

Fix issues on upgrade test
Fix race conditions on policygen to avoid race conditions.

This change is

test-me-please

test-nightly

test-nightly

test-me-please

\o/ Nightly Build is ok!
15:01:44 [Nightly] SSSSSSSSSSS
15:01:44 [Nightly] Ran 196 of 295 Specs in 17284.320 seconds
15:01:44 [Nightly] SUCCESS! -- 196 Passed | 0 Failed | 0 Pending | 99 Skipped PASS
15:01:44 [Nightly]
15:01:44 [Nightly] Ginkgo ran 1 suite in 4h48m6.262387046s
15:01:44 [Nightly] Test Suite Passed

https://jenkins.cilium.io/job/Cilium-PR-Nightly-Tests-All/173/execution/node/40/log/


Sort README.md Table of Contents

Makes it easier to find the language you're looking for.

Why did you remove C/C++?..

Woops, is that missing? I'll add it back


Expose none constructor

Internally, ValueBag includes a None variant, but there's no way to construct one. Typically in Rust you'd wrap a value in Option to express nullability, but since ValueBag itself is a container, it would be handy to have a way to distinguish between no value bag and a value bag with a None in it (in JavaScript for example the former is undefined, and the latter is null).

It is actually already possible to construct a None variant publicly via ().


VARCHAR(10) is too small

@umpirsky the VARCHAR(10) is too small (IMO), the import of the sql file failed on some rows.
I think you need to set the id column to VARCHAR(20) VARCHAR(63) to be ok.

Or acording to RFC  Labels must be 63 characters or less. https://tools.ietf.org/html/rfc1034#page-11

Woah, true. Thanks for reporting!


Allegro5 port

This is a port from allegro4 to allegro5. It contains quite a lot of changes that were necessary to achieve the upgrade.
Many functions are replaced by their allegro5 counterpart but some are implemented in the allegro_compatibilty.h file.
The main loop was rewritten since events are used for keyboard and joystick input.
The game should now be framerate-independent and use a delta time increment for the physics calculations.
I used the joystick code from https://github.com/dradtke/Allegro-360 to support the Xbox 360 joystick.
There is probably more details but these are the main ones. I have only tried this on win7 with msys2 and on linux. I only have one Xbox 360 controller so I have not tested with several joysticks connected.

Thanks for the PR. Really really useful. I'm going away for 3 weeks tomorrow but I'll look into this as soon as I get back.

Just out of interest what was your motivation to do the conversion. Is it a game you enjoy?

I think it more or less just happened by chance. I stumbled upon it at freegamedev.net and tried it out. I had never heard of it before and not played the amiga version but I tried it and thought it was a nice game. I had previously tried porting another project from allegro4 to allegro5 and I saw that this game was using allegro4 and I thought that it would be a quite simple task to port it since it was not a very big game so I just started. As usual though I underestimated the work needed :) Hopefully using allegro5 can make the game work a bit further into the future too :)

Just compiled on Windows.. Looking good so far. Ive noticed a couple of issues, which i will keep track of here.

When ships crash debris doesnt appear in the top left.

Issue - Mouse pointer is left on the screen when playing the game

Enhancement - bring this change into the code so the ships arent always in the middle of the screen.
https://github.com/martinohanlon/mayhem-pi/commit/231aee0111a3560e226cc87850ef74df65064423#diff-63857f1ef2458c748f693dee1fd2f394R433

I have created a branch to the windows mayhem repo https://github.com/martinohanlon/mayhem/tree/allegro5 to manage this PR.

Regarding the fixed point functions I think it is better to use real floating point math instead of the al_fixed type. It is simpler to debug and reason about real numbers which I think is more important than potential performance gains.  If we do that though we need to look closer at the trigonometric calls (fixsin,fixcos, et c.) since they use binary angles which we need to convert to degrees instead.

I had come to a similar conclusion, I'm not sure if it's related to the move to real numbers but there are changes to the physics of the game e.g. debris travels much further, ships and bullets go faster, the ships fall slower.
Ive also noted a performance decrease, against the small netbook I use when I travel, previously it topped out 40+ fps, now its around 15 fps. I don't know how much of this is allegro 5 or other changes.

Using real numbers will at least make a difference in the places using  the trig maths. It can also be an issue with using a delta increment instead of "tick-based" system. I tried getting the game to run at 40 fps but it was quite hard to make that happen since vsync prefers 30 or 60 fps. Also A5 has a slightly different idioms for handling events and such so a main loop that uses a delta increment seemed like the best way to handle different vsync issues. It also makes it possible to run at 60+ fps which is nice for smoothness.
All performance issues I had were related in one or the other way to drawing or reading bitmaps. Putting pixels in bimaps in particular can be very expensive. I get 60 fps on my machines but they are much better than a netbook so I will try running it on my old netbook too. What OS are you running on btw?

That was running windows 10. What compiler are you using for windows? mingw32?

I originally made loads of changes to get the game running well on windows.

I see, I compiled on windows using msys2/mingw64. I also had some performance problems on windows when I used my dual boot computer with Win7 and Linux. But on linux I had no issues so I guess there is some performance problems specific to windows. We could try compiling using MSVC too. Otherwise the only way to find the bottleneck is to do some profiling on windows.

Started looking at the allegro 5 port again now I am back.
I am quite often getting assertion failures:
assert(frame >= 0 && frame < num_frames);
Any ideas?

It is hard to say without a stack-trace but it has to do with an incorrect calculation of the frame that is used for the collision map. The reason I use a frame is because I calculate a collision map for rotated shapes of the ship to get a faster lookup instead of reading pixels from the bitmap. So the frame is actually more of an angle step counter.

Ill try and get a stack trace for the error.
Im still getting my head around some of the changes you have made, so I may ask some pretty simple question, number 1 being:
Im seeing through-out the changes:
* (dt / 0.025)

Now Im assuming this is so changes are calculates on the delta since last time but why 0.025 (40 fps??).

Yes, it is based upon the fact that all the hardcoded increments assume a 40 fps tick. It is a bit misleading since you could instead just write
* (dt*40)

instead. But the proper thing I think is to multiply the actual constants with 40 beforehand and rename them accordingly like angle_per_sec or speed_per_sec.

Here is the stack trace from the assertion error:
assert(frame >= 0 && frame < num_frames);

(gdb) bt full
#0  0x77718500 in msvcrt!_assert () from C:\WINDOWS\SysWOW64\msvcrt.dll
No symbol table info available.
#1  0x00404386 in test_collision (pv=0x2713b84, currentlevel=0x2713080)
    at collision.cpp:48
        frame = 51
        x_max = 0
        vaisseau = 0x270d7d0
        plt = 0x41706c <platforms1+108>
        test_it = true
        size = 31
        num_frames = 51
        y_max = 58657919
#2  0x0040bf90 in mega_collision_test (allpi=0x2713b04, views=0x2713b84,
    vaisseaux=0x270d7d0, currentlevel=0x2713080, nbplayers=2,
    nombre_vaisseau=2) at player_view.cpp:413
        dca = 0x27130b8
        i = 0
        j = 40955320
#3  0x00403879 in BattleSequence::doTick (this=0x270d7a8,
    screen_buffer=0x26622d0, key_pressed=0x65fca5, key_down=0x65fd88,
    exit_game=0x65fe6b, dt=0.021471918681861268) at battle_sequence.cpp:434
        i = 2
#4  0x00405cad in GameManager::Run (aSeq=0x270d7a8) at game_mgr.cpp:197
        ev = {type = 11, any = {type = 11,
            source = 0x673e9a60 <the_keyboard>,
            timestamp = 50.996551063816113}, display = {type = 11,
            source = 0x673e9a60 <the_keyboard>,
            timestamp = 50.996551063816113, x = 40175936, y = 24,
            width = 120, height = 512, orientation = 67133696}, joystick = {
            type = 11, source = 0x673e9a60 <the_keyboard>,
            timestamp = 50.996551063816113, id = 0x2650940, stick = 24,
            axis = 120, pos = 7.17464814e-043, button = 67133696},
          keyboard = {type = 11, source = 0x673e9a60 <the_keyboard>,
            timestamp = 50.996551063816113, display = 0x2650940,
            keycode = 24, unichar = 120, modifiers = 512, repeat = false},
          mouse = {type = 11, source = 0x673e9a60 <the_keyboard>,
            timestamp = 50.996551063816113, display = 0x2650940, x = 24,
            y = 120, z = 512, w = 67133696, dx = 318, dy = 1893618,
            dz = 1893618, dw = 35, button = 318, pressure = 5.60519386e-045},
          timer = {type = 11, source = 0x673e9a60 <the_keyboard>,
            timestamp = 50.996551063816113, count =<PHONE_NUMBER>40,
            error = 1.0864618450335073e-311}, touch = {type = 11,
            source = 0x673e9a60 <the_keyboard>,
            timestamp = 50.996551063816113, display = 0x2650940, id = 24,
            x = 1.68155816e-043, y = 7.17464814e-043, dx = 1.50908679e-036,
            dy = 4.45612912e-043, primary = 242}, user = {type = 11,
            source = 0x673e9a60 <the_keyboard>,
            timestamp = 50.996551063816113,
            __internal(double,...)(short, char, long double) = 0x2650940,
            data1 = 24, data2 = 120, data3 = 512, data4 = 67133696}}
        now = 51.14943390271835
        do_tick = true
        screen_buffer = 0x26622d0
        key_down = {false <repeats 24 times>, true, false <repeats 202 times>}
        exit_game = false
        delta_min = 0.015384615384615385
        event_queue = 0x26620b8
        key_pressed = {false <repeats 227 times>}
        doexit = false
        seq_next = 0x0
        last_time = 51.127961984036489
#5  0x004091f0 in main () at Mayhem2.cpp:40
        seq = 0x2661b18

This is strange, num_frames should be 72 in the case of the collision map for the ship. The number of frames is set in the init method of the collision map and is set at vaisseau_data.cpp:71
  int num_frames = 360 / VAISSEAU_ANGLESTEP;

where VAISSEAU_ANGLESTEP = 5 which should make num_frames = 72. This should be changed to
 int num_frames = 360 / anglestep;

though since that is the actual input argument. You should also make sure that init_vaisseau_data returns zero and not --1 even if this is not likely the issue. I think the key point is to make sure that the collision map is created properly for the ship. I do not know what is the issue other than that.

Ok, so perhaps this is making more sense, due to the changes relating to angles i have changed to the angle step (to 7 I think) as the ship was rotating too slowly.

Hi @karjonas Im just doing some joystick tesing, when I use an xbox 360 controller I get different button values to the ones in xc.c (https://github.com/dradtke/Allegro-360/blob/master/src/xc.c) - e.g. The left and right shoulder buttons are opposite - did you test a controller? I dont know if its a specific issues to my setup or the code is simply out of date.

I tried it now on Linux and they are correct for me. What OS did you try?

This was windows 10. When I use al_get_joystick_name() the controller
describes itself as an XInput Joystick.
I think I'll add some config to manage different configs by joystick name.
On 15 Nov 2016 20:45, "Jonas Karlsson"<EMAIL_ADDRESS>wrote:

I tried it now on Linux and they are correct for me. What OS did you try?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/martinohanlon/mayhem-pi/pull/25#issuecomment-260762256,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACOLnXZz2OnyMvuo4atemWR49MxePoxSks5q-hnagaJpZM4JpZAI
.

I tried this on Win10 and the mapping is wrong there for me too. On Linux the joystick name is 'Microsoft X-Box 360 pad' so it is indeed platform dependent.

Thanks for checking. I've made some changes to allow for different joystick
maps based on joystick name so it should be ok.
On 20 Nov 2016 13:01, "Jonas Karlsson"<EMAIL_ADDRESS>wrote:

I tried this on Win10 and the mapping is wrong there for me too. On Linux
the joystick name is 'Microsoft X-Box 360 pad' so it is indeed platform
dependent.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/martinohanlon/mayhem-pi/pull/25#issuecomment-261777049,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACOLncDLJlXdoqq6bLWr2ycaDZQDK031ks5rAES_gaJpZM4JpZAI
.

I've just compiled this onto a Raspberry Pi 3. There is a serious problem with performance, opening up the game results in draw_fps of 1 fps and tick ms of > than 300ms. If I comment out the aSeq->doTick, tick_ms drops to 1.2ms but draw_fps stays around 1 fps.
Before I start hacking with the code have you got any thoughts?

Well, if it is not the event queue then it is some real problem with the graphics since we are only clearing a bitmap and drawing it to the screen. Can you try one of the simple allegro5 bitmap examples in their wiki and see if they work correctly?

I put some debug timers into the game mgr. I think I have narrowed down the problem to it taking is taking between 600ms & 1200ms to do:
al_flip_display();

It might be some strange issue with the vsync limiting performance. You could try disabling vsync. I have the older RPi model so I will try it out on that one later this week.

I had the same thoughts re vsync and that's the first thing on my list to
try.
On 23 Nov 2016 09:37, "Jonas Karlsson"<EMAIL_ADDRESS>wrote:

It might be some strange issue with the vsync limiting performance. You
could try disabling vsync. I have the older RPi model so I will try it out
on that one later this week.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/martinohanlon/mayhem-pi/pull/25#issuecomment-262468572,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACOLnWBbqOo0u-oFIKmqbl-vy8MlA--Zks5rBAlrgaJpZM4JpZAI
.

So, ive been doing a bit more investigation. The function which is really slow is drawing bitmaps.
If you write directly to the display al_flip_display() really fast, if you write to screen_buffer and then use al_draw_bitmap() to draw this to the display, when al_flip_display() is called it is really slow.
Modify VSYNC settings didnt make any difference al_set_new_display_option(ALLEGRO_VSYNC, 2, ALLEGRO_REQUIRE);

The screen_buffer bitmap is superfluous so I created a pull request where I removed it and instead use the back buffer directly.

Before I do anything else im going to compile the latest version of allegro on the Pi. I'm currently using the version from the repo.

Updated allegro to 5.2.1 and got the same results.

I need to do some more testing, but I think I have worked out the problem...
Not enough graphics memory!  When set to the default of 64MB, it is very slow, set to 128MB its fine! Presumably the performance problems are due to it having to swap bitmaps between video and system memory.

So, Ive done some more investigation. It looks like allegro isn't clearing video memory, using
sudo vcdbg reloc
I can see the graphics memory allocation, each time you start a game (i.e. from the intro screen) the memory usage increases, but when you exit a level it doesnt clear down the memory. So even after increasing memory allocation, by entering and exiting a number of levels, free memory will reduce to zero.
Only after exiting the game is the memory cleared.

Ah ha...  Im pretty sure the class de-constructor's aren't being called and resources arent being cleared up.
BattleSequence::~BattleSequence() {
  printf("end off class\n");

This doesn't get called.

@karjonas Im pretty sure this is the changes you made in game_mgr.cpp to delete the return screen and therefore invoke the deconstructor.
if (seq_next != iReturnScreen && iReturnScreen) {
        printf(" delete return screen\n");
        delete iReturnScreen;
      }

I dont think its running. Or I certainly never see the debug message.

The logic was indeed incorrect bu when I fixed it it resulted in some other issues so I created a pull request for it https://github.com/martinohanlon/mayhem/pull/13

I've just merged the allegro5 branch into dev. :)

Excellent :) 👍

I've just merged the allegro 5 port into master!
Thank you very much for your contribution, long may it continue :)  This puts us on the right foot for Mayhem to have greater longevity.
Its been interesting getting this PR ready for release, lots of little changes here and there to get it all working across both PC & Pi, but great fun.


[Misc] Use ray[adag] dependency instead of cuda

FILL IN THE PR DESCRIPTION HERE
FIX #xxxx (link existing issues this PR will resolve)
BEFORE SUBMITTING, PLEASE READ THE CHECKLIST BELOW AND FILL IN THE DESCRIPTION ABOVE

 PR Checklist (Click to Expand)
Thank you for your contribution to vLLM! Before submitting the pull request, please ensure the PR meets the following criteria. This helps vLLM maintain the code quality and improve the efficiency of the review process.
PR Title and Classification
Only specific types of PRs will be reviewed. The PR title is prefixed appropriately to indicate the type of change. Please use one of the following:

[Bugfix] for bug fixes.
[CI/Build] for build or continuous integration improvements.
[Doc] for documentation fixes and improvements.
[Model] for adding a new model or improving an existing model. Model name should appear in the title.
[Frontend] For changes on the vLLM frontend (e.g., OpenAI API server, LLM class, etc.)
[Kernel] for changes affecting CUDA kernels or other compute kernels.
[Core] for changes in the core vLLM logic (e.g., LLMEngine, AsyncLLMEngine, Scheduler, etc.)
[Hardware][Vendor] for hardware-specific changes. Vendor name should appear in the prefix (e.g., [Hardware][AMD]).
[Misc] for PRs that do not fit the above categories. Please use this sparingly.

Note: If the PR spans more than one category, please include all relevant prefixes.
Code Quality
The PR need to meet the following code quality standards:

We adhere to Google Python style guide and Google C++ style guide.
Pass all linter checks. Please use format.sh to format your code.
The code need to be well-documented to ensure future contributors can easily understand the code.
Include sufficient tests to ensure the project to stay correct and robust. This includes both unit tests and integration tests.
Please add documentation to docs/source/ if the PR modifies the user-facing behaviors of vLLM. It helps vLLM user understand and utilize the new features or changes.

Notes for Large Changes
Please keep the changes as concise as possible. For major architectural changes (>500 LOC excluding kernel/data/config/test), we would expect a GitHub issue (RFC) discussing the technical design and justification. Otherwise, we will tag it with rfc-required and might not go through the PR.
What to Expect for the Reviews
The goal of the vLLM team is to be a transparent reviewing machine. We would like to make the review process transparent and efficient and make sure no contributor feel confused or frustrated. However, the vLLM team is small, so we need to prioritize some PRs over others. Here is what you can expect from the review process:

 After the PR is submitted, the PR will be assigned to a reviewer. Every reviewer will pick up the PRs based on their expertise and availability.
 After the PR is assigned, the reviewer will provide status update every 2-3 days. If the PR is not reviewed within 7 days, please feel free to ping the reviewer or the vLLM team.
 After the review, the reviewer will put an  action-required label on the PR if there are changes required. The contributor should address the comments and ping the reviewer to re-review the PR.
 Please respond to all comments within a reasonable time frame. If a comment isn't clear or you disagree with a suggestion, feel free to ask for clarification or discuss the suggestion.

Thank You
 Finally, thank you for taking the time to read these guidelines and for your interest in contributing to vLLM. Your contributions make vLLM a great tool for everyone!

thanks for the cleanup!

/ready

please merge main to solve some errors

please merge main to solve some errors

Done.

I see lots of test failures.

@ruisearch42

[2024-08-29T21:41:13Z] ERROR 08-29 14:41:13 api_server.py:171] RPCServer process died before responding to readiness probe
| [2024-08-29T21:41:14Z] /usr/lib/python3.10/multiprocessing/resource_tracker.py:224: UserWarning: resource_tracker: There appear to be 1 leaked semaphore objects to clean up at shutdown
  | [2024-08-29T21:41:14Z]   warnings.warn('resource_tracker: There appear to be %d '
  | [2024-08-29T21:44:17Z] Traceback (most recent call last):
  | [2024-08-29T21:44:17Z]   File "/usr/local/lib/python3.10/dist-packages/urllib3/connection.py", line 196, in _new_conn
  | [2024-08-29T21:44:17Z]     sock = connection.create_connection(
  | [2024-08-29T21:44:17Z]   File "/usr/local/lib/python3.10/dist-packages/urllib3/util/connection.py", line 85, in create_connection
  | [2024-08-29T21:44:17Z]     raise err
  | [2024-08-29T21:44:17Z]   File "/usr/local/lib/python3.10/dist-packages/urllib3/util/connection.py", line 73, in create_connection
  | [2024-08-29T21:44:17Z]     sock.connect(sa)
  | [2024-08-29T21:44:17Z] ConnectionRefusedError: [Errno 111] Connection refused
I am seeing this kind of error. Maybe merging the latest master?

I am seeing this kind of error. Maybe merging the latest master?

Yes, retrying.

Only two lora tests failed, which are also seen on main branch.

Only two lora tests failed, which are also seen on main branch.

please ping me if you want to merge, or if you have further updates.
the pr LGTM right now.

We will address the last comment and ping the global channel for force merge! thanks @youkaichao


Improve Website Performance

Inspect the performance issues with GTMetrics platform and suggest ways ( I mean PRs ofcourse) to improve it

is this project using using apache web-server?
I want to add an efficient cache policy. https://gtmetrix.com/serve-static-assets-with-an-efficient-cache-policy.html

is this project using using apache web-server?
I want to add an efficient cache policy. https://gtmetrix.com/serve-static-assets-with-an-efficient-cache-policy.html

To the best of my knowledge, we are not using apache and directly hosting on Netlify's servers

so which one should I use?
in this, https://gtmetrix.com/serve-static-assets-with-an-efficient-cache-policy.html,  there is info given how to add an efficient cache policy in  apache, nginx, and Microsoft IIS webservers.

here, https://docs.netlify.com/routing/headers/#syntax-for-the-netlify-configuration-file, it says that we can make a netlify.toml specify each individual header rule to implement cache-control.
I have found the cache-control headers from this stackoverflow answer for reference. Does this all look okay to you? if yes, then I will start working on it

Sure you can add the toml file in this soon

can be done in parallel with #510


Feature: WRITE_OLD_BLOCK_TO_STORAGE hint

Issue Number: N/A
Type

[x] feature
[ ] bugfix
[ ] dev (no functional changes, no API changes)
[ ] fmt (formatting, renaming)
[ ] build
[ ] docs
[ ] testing

Description
Breaking changes?

[ ] yes
[x] no

Depends on #109.


File browser input freezes on large folders/slow to populate directories

While using the file browser (such as clicking on the browse button on a file plug on a read node); if a user types /home; as soon as the last character is pressed, the entire UI freezes until the directory view populates.

This is a kindof a duplicate of #508. Would you like to replace it with something more along the lines of what I suggested there?

sure, closing this one and opening one under the suggested title.

Nice one - thanks.


Change relocation color box to a more visible one

i liked more the old kopf "color filled" shards, as it was easier to see the different types (primary, replica, relocating), specially when we have many... the worst problem is the replica vs relocating blocks, they look very similar and hard to detect. So please put the relocating color a more visible color, like yellow, to make it easier to compare it against the "replica green box"

@danielmotaleite hey daniel. I'm actually happy with the way the shard maps looks currently(and also think its much easier to see the difference between primary/replica as it is).
so, at least for now, i will leave this unchanged :)

i understand , it's a matter of different taste...  and you win, it's your software after all! :)
The box vs filled box i'm ok with it, but how about the "replica vs replica relocating blocks"? the colors are similar in the black background due to the small border and the dashes ... if the relocating blocks had a different color (gold, grey, dark-orange, even light-blue) it would help ... magenta and green are too similar due to the size. Notice that i have no problem with the live blocks vs live relocating blocks, only for the replicas that i have trouble identifying then.
Another workaround would be adding the "show only relocating shards" to the "show only unhealthy shards", that way it is easier to spot where are the shards relocating as the list is lot smaller


use build container, make express dev dep

This reduces the docker image size from 1.08G to 111Mb.
Express is no longer needed as the production webserver, as we'll use nginx for that, as all we need to do is serve static assets.

Probably should keep it for now because for local development its convenient for the app to serve itself. We can probably futz with the build so that server.js isn't part of the compiled javascript bundle, but its not that important to do right now.


New keybinding, coloring, bytes properties information

Hello,
First of all, I would like to tell you that I very much love your repo. It's a great hex editor implemented in the best programming language :smile:
But it lacks the functionality I need. So I decided to implement it by myself. Here is the pull request with my changes.
New features that I've implemented:

Fix cargo clippy warning
Support arrow keys for normal, insert mode
Improve replace mode. For me, it's not convenient to replace one byte and then exit to normal mode. I want to replace all needed bytes and only then return to the normal mode. So now we can replace many bytes in the replace mode. Arrow keys for replace mode are also supported
Another major improvement is byte colouring. This feature is inspired by this repo: https://github.com/sharkdp/hexyl . You will see on the screenshot how it looks now (I'll attach it to the pr)
Implement byte properties rendering. byte properties - this is how I call it. IN a short: now programs render u8, i8, i32, u32, hex, utf-8/16 values of the current byte in the right part of the terminal
Improved files structure. I moved all modes to one module: modes (It looks better for me). Also, I moved hex_view to a separate module because I've added new functionality to it.

Example:

All my code are formatted with cargo fmt and linted with cargo clippy.
What you can do:

First of all, make a review of my code :eyes: your program architecture is great. It was easy to add new features. I don't want to make it worse
If you like all my features then merge the pull request
If you don't like all my changes then you can ask me to create another pull request with only part of this pr. For instance, you don't like byte colouring or byte properties. So I can create a new pull request with modes (replace, insert) changes and without colouring or byte properties.

What do you think?

#3

Hi! Thank you very much for the PR -- it's by far the most extensive PR I've received on any project, and I'll be getting to reviewing the code in the weekend. I like the features that you have listed, and I believe they would indeed suit the project well. The new replace mode in fact corresponds to the "overwrite" mode mentioned in the design chart:

Good to see that this also addresses the long-standing #3, which I didn't get around to fixing. I greatly appreciate this PR.

I'm happy that you like the new features
:thinking: I didn't notice overwrite mode when reading the design chart.
Okay, I'll revert changes in the replace mode :ok_hand:
When you review this PR, feel free to ask me anything you want


'json_object' is not of type 'object' - 'response_format'

Hi,
I used this script:
$response = $client->chat()->create([
    'model' => 'gpt-3.5-turbo-1106',
    'max_tokens' => 6,
    'temperature' => 0.2,
    'response_format' => 'json_object',
    'messages' => [
        ['role' => 'user', 'content' => $prompt],
    ],
]);

I got the error:
Uncaught OpenAI\Exceptions\ErrorException: 'json_object' is not of type 'object' - 'response_format' in c:\xampp\htdocs\OpenAI\vendor\openai-php\client\src\Transporters\HttpTransporter.php:131
What is the proper way to use response_format and is it even supported by the library?
Thanks.

Hi @simohammedhttp
This error is thrown by the API because your request in wrong. It should be 'response_format' => ['type' => 'json_object'],


IFeatureFilter Evaluate method to accept some custom parameters.

I am trying to understand if a custom feature filter that we write needs to use some parameters which are not part of HttpContext.
How can we pass extra parameters when we call IFeatureManager.IsEnabled("featurename") which triggers Evaulate method of custom filter.
But how an azure function app or webjob will use it.
`
[FilterAlias("AllowedUsers")]
public class AllowedUsersFeatureFilter : IFeatureFilter
{
private readonly IHttpContextAccessor _httpContextAccessor;
    public AllowedUsersFeatureFilter(IHttpContextAccessor httpContextAccessor)
    {
        _httpContextAccessor = httpContextAccessor;
    }
   // HOW CAN WE PASS SOME parameter when we call IFeatureManager.IsEnabled("featurename")
    public bool Evaluate**(FeatureFilterEvaluationContext context)**
    {
        var featureFilterParams = context.Parameters.Get<AllowedUsersFilterSettings>();
        if (featureFilterParams == null)
            return false;
        var userEmail = _httpContextAccessor.HttpContext.User?.FindFirst(ClaimTypes.Upn)?.Value;
        var alias= userEmail?.Split('@').First();

        return featureFilterParams.Aliases.Split(',').Contains(alias, StringComparer.OrdinalIgnoreCase);
    }
}

`

Hello @praveenlearns,
With the current preview release of our feature management library this is not possible. However, if you are flow an execution context through your application via AsyncLocal, you could achieve the same affect as using an HttpContext.
This functionality can be expected in our preview2 release that is in the works. Thanks.

Thank you Jimmy. That will be very helpful as we are already hooked on to it.