Something about User: not stopping the conversation.

Ok I used Amica with Ollama on CPU with model like mistral dolphin-mistral and  Luna llama2. Everything looked fine.
Then I installed Kobold with rocBLAS.  Then  Amica  started to respond in my place like,  User bla bla bla.
I am  99% sure that User: was hard coded to stop the conversation and wait. The only explanation I can think of is that the delays for stopping the conversation is too long Is there no stopper maybe?  With rocBLAS I get over 60T/s on q4 model. Then it seem to be enough to  generate a  lot of sentence before any stomping can happens.
I tried the demo and noticed that sometime the demo is able to say User: Yes  in my place for yes no question then stop just after that.  It seem to support my hypothesis that it do not stop, or stop fast enough for short sentence.
So it it plausible? If so how can we make the stopping function that kick in quicker when the AI try to respondent for the user?

Also related to the LLM trying to take user places.   Is there a prompt that is known to reduce the chance that it happen.
Even with llama.cpp sometime the LLM slip and try to impersonate the "User" by not using "User:"
Also I tried to find where the "User:" stop word it is in the code. but searching the word user give quite a lot of result.  I though I found it in /src/features/chat/llamaCppChat.ts  . But when i added "User" there alongside "User:"  it did not make it stop at User.
I tried this
 headers: headers,     method: "POST",     body: JSON.stringify({       stream: true,       n_predict: 400,       temperature: 0.85,       cache_prompt: true,       stop: [         "</s>",        ${config("name")}:,         "User:",         "User"

Arbius has a $100 AIUS bounty for this issue!
Brief: Figure out what is causing the bug and fix it.
Please read carefully:
To begin work on a bounty, reply by saying “I claim this bounty” - you will have 48 hours to submit your PR before someone else may attempt to claim this bounty.
To complete the bounty, within 48 hours of claiming, reply with a link to your PR referencing this issue and an Ethereum address. You must comply with reviewers comments and have the PR merged to receive the bounty reward. Please be sure to focus on quality submissions to minimize the amount of time reviewers must take.

I claim this bounty #99

Thank you. Your PR has been merged. Please send ETH address for AIUS.

Thank you. Your PR has been merged. Please send ETH address for AIUS.

0xD44248b6Ab4B6580cd982A80D4B26dC7058264f2


bug - remove axiom between licence and emission quantity value

Description of the issue
remove axiom between licence and emission quantity value
Ideas of solution
If you already have ideas for the solution describe them here
Workflow checklist

[ ] I am aware of the workflow for this repository

Yes, that is a clear error. Go for fixing it.


Update search-the-audit-log-in-security-and-compliance.md

@brucehuy PR merged. Thanks for making this change.


REX-Ray EBS Docker Plug-in

Note: As the label indicates, this is a work-in-progress and is being submitted as PR in order to provide the ability to centralize solicited feedback from other engineers, such as @codenrhoden, with regards to the build process.
This patch introduces the first Docker 1.13 plug-in, REX-Ray for Amazon EBS. The name of the Docker plug-in will be rexray/ebs and all future Docker storage plug-ins based on REX-Ray will adhere to the same pattern - rexray/driver.
Due to Travis-CI's inability to take advantage of Docker when using container builds coupled with non-container builds being so much slower, the inclusion of support for automated Docker plug-in builds will rely on enqueuing custom Travis-CI jobs at the end of a successful build.
All Docker plug-in-related material is found in the .docker/plugins subdirectory. Several common files are in the .docker/plugins directory and are copied or copied with sed into the .docker/plugins/driver directory at build time.

Codecov Report

Merging #720 into release/0.8.0 will not change coverage.

@@              Coverage Diff              @@
##           release/0.8.0    #720   +/-   ##
=============================================
  Coverage           7.43%   7.43%
=============================================
  Files                 21      21
  Lines               2581    2581
=============================================
  Hits                 192     192
  Misses              2372    2372
  Partials              17      17

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a5420b5...1d2b349. Read the comment docs.


Get tracking Data PTZ BRCH-800 Sony

Hello,
I'm trying to get tracking datas from Sony PTZ BRC H-800. I'm in 4.26 version. I get a message in live link that the connection is Status Receiving but I don't see subject representation ? I don't really understand the configuration of Connection String.
Thanks for your help
Julien Darras

I don't really understand the configuration of Connection String.

connection string specify IP address and PORT to listen for incoming UDP data. If you specify <IP_ADDRESS>:20000 that will mean to listen ALL network interfaces and UDP port 20000.
check if firewall bypass that data, next check if camera really send anything to specified port (Wireshark or any other sniffer)

Thanks for your advices, Do you know if the are différences between Free D Protocol ? Can I ask you with which device do you used this plug ? Is it possible that we have a code specific to sony that interferes with the free D protocol ?
Can you post 4.26 version  ?
Have a good day
Julien

Thanks for your advices, Do you know if the are différences between Free D Protocol ? Can I ask you with which device do you used this plug ? Is it possible that we have a code specific to sony that interferes with the free D protocol ?
Can you post 4.26 version  ?
Have a good day
Julien

Can I ask you with which device do you used this plug ?

i did a tests against Panasonic AW-UE150 and emulator of FreeD data that comes from https://www.disruptar.com/disruptar-downloads

Is it possible that we have a code specific to sony that interferes with the free D protocol ?

i think you need to check first if data from camera reach you computer. you can use https://github.com/max-verem/VRPN-Free-d to check if Free-D data comes to your computer.

Can I ask you with which device do you used this plug ?

i did a tests against Panasonic AW-UE150 and emulator of FreeD data that comes from https://www.disruptar.com/disruptar-downloads

Is it possible that we have a code specific to sony that interferes with the free D protocol ?

i think you need to check first if data from camera reach you computer. you can use https://github.com/max-verem/VRPN-Free-d to check if Free-D data comes to your computer.

Thanks for your answer, I'm not able to used the VRPN-Free-d but I receive the data. I needed first to reset the camera and setup the tracking data output ip address and change the UDP port number to 20000. (not working if I leave 40 000)
It's working fine but I get only one package of data like you can see on the picture

I can control the camera rotations but not the lens. Can you tell me how to do ?
Julien

Thanks for your answer, I'm not able to used the VRPN-Free-d but I receive the data. I needed first to reset the camera and setup the tracking data output ip address and change the UDP port number to 20000. (not working if I leave 40 000)
It's working fine but I get only one package of data like you can see on the picture

I can control the camera rotations but not the lens. Can you tell me how to do ?
Julien

Lens control not implemented here, because of calibration requirement. but you can use https://www.disruptar.com/disruptar-downloads for that job

Lens control not implemented here, because of calibration requirement. but you can use https://www.disruptar.com/disruptar-downloads for that job


Amy doesnt bother Leo enough

No problem. Will be introduced in 1.0.2 patch.

Feature introduced in commit 05fa99adf79eb19862275b7120db274b236eb2d2. Will be implemented in the next build.

Fixed and released in RELEASE-v1.0.2


feat: add inactive fair state to Fair2

The type of this PR is: Feature

This PR resolves FX-2347
Description
To be consistent with the current Fair view this PR updates the Fair2 view to be pared down for inactive fairs:

Also updates handling for missing images (which maybe shouldn't happen, but I was able to navigate to this one from City Guide, e.g.)

PR Checklist (tick all before merging)

[x] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[x] I have added tests for my changes, or my changes don't require testing, or I have included a link to a separate Jira ticket covering the tests.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added an app state migration, or my changes do not require one. (What are migrations?)
[x] I have added a CHANGELOG.yml entry or my changes do not require one.

We can follow up with the top-padding/margin question if we want! I don't think it blocks this PR.


Error when trading after item award

After awarding an item in bags via auction, when opening an trade with the awarded player, the item is not put in the trade and i get the attacher error.

Error happens when using the new direct award feature as well

Finally an actual error log!
Will be fixed tomorrow


Add Juneteenth National Holiday

This commit is based on the issue #488

this commit is based on the issue #482

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.0007%) to 98.664%

Totals

Change from base Build<PHONE_NUMBER>:
0.0007%

Covered Lines:
5088

Relevant Lines:
5091

💛  - Coveralls

Thank you very much! 👍

Looks like this does the same thing as #474?

@nattofriends, I just checked it now and you are right, I've also seen this problem in other countries, I will be making a PR later this week to fix it

Thank you @jusce17 ! 👍


Minor compiler bug on modules with variables

module A
    extend self
    property a = 12
end

triggers
BUG: Class doesn't implement instance_vars (Exception)
I use crystal 1.1.1 and Ubuntu 18.04

Fixed by #10554.


[Event Request] Report 357 „Copy Company“ – OnValidate-NewCompanyName

Could we please have a publisher OnValidateNewCompanyName
in function OnValidate-NewCompanyName of Report 357 „Copy Company“?
    requestpage
    {
        ShowFilter = false;

        layout
        {
            area(content)
            {
                group(Control2)
                {
                    ShowCaption = false;
                    field("New Company Name"; NewCompanyName)
                    {
                        ApplicationArea = Basic, Suite;
                        Caption = 'New Company Name';
                        NotBlank = true;
                        ToolTip = 'Specifies the name of the new company. The name can have a maximum of 30 characters. If the database collation is case-sensitive, you can have one company called COMPANY and another called Company. However, if the database is case-insensitive, you cannot create companies with names that differ only by case.';

                        trigger OnValidate()
                        begin
                            NewCompanyName := DelChr(NewCompanyName, '<>');
                            // start kvsmed
                            OnValidateNewCompanyName(NewCompanyName);
                            // stop kvsmed
                        end;
                    }

…
    // start kvsmed
    [IntegrationEvent(false, false)]
    local procedure OnValidateNewCompanyName(var NewCompanyName: Text[30]);
    begin
    end;
    // stop kvsmed

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Update tinyMCE to latest version

Our version of Tinymce has a known security vulnerability, so we need to update it. Fortunately, this update will also give us some cool new features described in detail here.

Benjamin did this work as part of the Rails 6 upgrade.


Add support for different models in num_tokens_from_text function

Why are these changes needed?
This PR extends the num_tokens_from_text function to support a wider range of language models beyond the "gpt-x" series. It enhances code flexibility and welcomes community contributions for various models, improving project versatility.
Related issue number
Closes #63

Checks

[ ] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[x] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[ ] I've made sure all auto checks have passed.

@microsoft-github-policy-service agree

Also, code format checking is failed, please run pre-commit install in the root folder of your local  repo, and then you'll enable code formatting for your changes.

Codecov Report

Merging #90 (098e020) into main (dc70b80) will decrease coverage by 2.07%.
The diff coverage is 75.00%.

@@            Coverage Diff             @@
##             main      #90      +/-   ##
==========================================
- Coverage   39.98%   37.91%   -2.07%
==========================================
  Files          17       17
  Lines        2036     2028       -8
  Branches      453      451       -2
==========================================
- Hits          814      769      -45
- Misses       1149     1182      +33
- Partials       73       77       +4

Flag
Coverage Δ

unittests
37.91% <75.00%> (-1.97%)
:arrow_down:

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

Files
Coverage Δ

autogen/retrieve_utils.py
68.75% <75.00%> (+5.05%)
:arrow_up:

... and 2 files with indirect coverage changes


Add version: Mozilla.Firefox.ESR.fur version 115.12.0

Created by 🥟 Dumplings.
Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:
(Automated response - build 896.)


Make brandnewcongress.org/work

This is going to be the central organizing portal centered around our goal to hit 100k supporters in every congressional district.  I'm imagining it looks like this: https://gomockingbird.com/projects/n24027s/XIqXhT

Join a national team. This will show all the available teams with onboarding processes for each. This is basically the current brandnewcongress.org/teams page.
Organize locally. This will drill down into a section with information for how to do specific stuff locally. It also needs a way for local organizers to request stuff to use.  A lot of the info that we need to put in here exists on https://docs.google.com/document/d/1Op0OaZNuykCJckSCn4vABDEr4VEdTrMeTsPCZFNSJo4/edit
Share on social media

Eventually we want to make it so all signups people produce for us get tracked.  I also really would love a CD map with actual tracking of how close we are to our goal of 100k signups in every district.
Once we finish this we should change all links to /teams to instead point to /work.  This means both in the website and informing help desk/call team/orientation team/speakers team/comms teams about the change.

Here's my mobile mockup we talked about.

For a v1 one, I think the goals here should be:

Set up static information in a central area, combining our current /work and /teams pages.
Get a good user flow going

Combine this with #143 -- we need to refocus this page on nominations.


Add editex distance measure

@kvpradap - I checked the implementation in abydos and looks correct to me. Can I take that code? Is there any issue with that?

You can use it as a reference and rewrite the code.


[Discussion] Removal of Azure Functions version 1.0.12582

Discussion issue for the removal of Azure Functions version 1.0.12582

By when are they being removed or effective-immediately?


How to create notifications after updates?

Hi! First of all, thanks for the awesome package!
I'm trying to implement desktop notifications after the feeds are updated showing the number of new entries. However I couldn't find a good way to implement that. An advice around elfeed-update doesn't work since the update is done asynchronously. So far I'm using the elfeed-update-init-hooks and elfeed-update-hooks hooks for that (please check below). But that's more like an workaround because I need a keep a global count and because elfeed-update-hooks runs for every feed.
Do you see a better way for doing that? Thank you very much!
  (setq ~elfeed-count 0)

  (defun ~elfeed-save-count ()
    "Save the number of entries before an update."
    (elfeed-db-ensure)
    (setq ~elfeed-count (elfeed-db-size)))
  (add-hook 'elfeed-update-init-hooks #'~elfeed-save-count)

  (defun ~elfeed-notify-new (url)
    "Show a notification after an update if there are new entries."
    (let* ((count (elfeed-db-size))
           (new (- count ~elfeed-count)))
      (when (> new 0)
        (alert (format "From %s" url)
               :title (format "Elfeed: %d new %s"
                              new (if (= new 1) "entry" "entries"))
	       :icon "internet-chat"))
      (setq ~elfeed-count count)))
  (add-hook 'elfeed-update-hooks #'~elfeed-notify-new)

Hi Marcello, not sure if this is what you're looking to do, but I
detect when the update has completed by checking
(elfeed-queue-count-total) in my update-hook. Something like:
(defun s1pff/elfeed/update-hook (_url)
  (when (eq (elfeed-queue-count-total) 0)
    (do-the-update-thing)))

hth,
Marcelo Cerri @.***> writes:

Hi! First of all, thanks for the awesome package!
I'm trying to implement desktop notifications after the feeds
are updated showing the number of new
entries. However I couldn't find a good way to implement
that. An advice around elfeed-update doesn't
work since the update is done asynchronously. So far I'm using
the elfeed-update-init-hooks and
elfeed-update-hooks hooks for that (please check below). But
that's more like an workaround because I
need a keep a global count and because elfeed-update-hooks runs
for every feed.
Do you see a better way for doing that? Thank you very much!
(setq ~elfeed-count 0)
(defun ~elfeed-save-count ()
"Save the number of entries before an update."
(elfeed-db-ensure)
(setq ~elfeed-count (elfeed-db-size)))
(add-hook 'elfeed-update-init-hooks #'~elfeed-save-count)
(defun ~elfeed-notify-new (url)
"Show a notification after an update if there are new
entries."
(let* ((count (elfeed-db-size))
(new (- count ~elfeed-count)))
(when (> new 0)
(alert (format "From %s" url)
:title (format "Elfeed: %d new %s"
new (if (= new 1) "entry"
"entries"))
:icon "internet-chat"))
(setq ~elfeed-count count)))
(add-hook 'elfeed-update-hooks #'~elfeed-notify-new)
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this
thread.


Push (Tabular) Data Package to BigQuery

Fixed by:

https://github.com/frictionlessdata/jsontableschema-bigquery-py
https://github.com/okfn/datapackage-storage-py

:8ball:

Here's the blog post summarizing the changes: http://okfnlabs.org/blog/2016/03/11/frictionless-data-transport-in-python.html


Arduino Nano rp2940 accel and gyro values appear to be swapped

After installing the edgeimpulse CLI and starting the edge-impulse-daemon, I was able to login to edgeimpulse.com in the Chrome browser and with the edge-impulse-daemon. I then was able to collect data samples from my device that is connected to my Mac laptop. The sensor data collected while doing the continuous motion gestures looks reasonable for the type of gestures performed; however, the values in the sample datasets has the accelerometer swapped with that of the gyro.
The constants in the source file:
./firmware-pi-rp2040/ThirdParty/Wire/src/Wire.h
are:
// Wire
#define SDA 12
#define SCL 13
#define PIN_WIRE1_SDA 6
#define PIN_WIRE1_SCL 7
What if any other constants may need to be corrected for the accelerometer and gyro values being correct?
Thanks,
John P.

Hello!
In your screenshot I do not see values in the sample datasets has the accelerometer swapped with that of the gyro. What made you to come to the conclusion they are swapped?

The large amplitude of the yellow and orange signals corresponds to me moving the Adruino Nano RP2040 board from side to side on my laptop. The legend of the graph shows the orange and yellow lines belonging to the gyrX, gyrY, gyrZ sensors.  The red, green, blue lines for the accX, accY, accZ sensors does have about the same periodicity but a much, much smaller amplitude.   Maybe the gyro sensor values are much greater that that of the accelerometer (i.e. I could be wrong).

Yes, accX, accY, accZ are in m/s2 units, while gyroscope is in deg/s. That's why the numbers for gyroscope are much larger than for accelerometer. They do not appear swapped.
I think your original question was answered. I'll keep the issue open for a while, since I want to discuss scaling of gyroscope measurements internally - it might make more sense to scale it or use radians instead of degrees per second.


fix(dropdown): corrects placeholder fonter color

resolves #673

@danethurber can you rerun the ci build?


Duplicate Model class being generated after build if folder contains periods

create the following
app/src/main/sqldelight/com.example.folder.model/Family.sq
you're gonna get duplicate packages and generated files.

I'm also experiencing this bug. It usually happens just after starting AS.


Android Tensorflow Lite 2.9.0 AAR InterpreterAPI not found Error

System information

OS Platform and Distribution (: Ubuntu
TensorFlow installed from (source or binary):
TensorFlow version (or github SHA if from source): 2.9.0 AAR

Issue details
As per our requirement, I want to add TF Lite AAR file into our project.
So I have downloaded AAR file(2.9.0) from Maven and added to my project.Then I can imports the Interpreter and other required things, but when I try to build and run the project I’m getting InterpreterAPI class not found error like this.([please refer the screenshots][2]](https://i.stack.imgur.com/RPMkM.png)[3])
class file for org.tensorflow.lite.InterpreterApi not found
If I add below 2.7.0 version aar files, I’m able to build and run the projects but those are deprecated, I want use latest AAR file only.
Can anyone please help me on this?
Note: I should use AAR only not gradle dependencies

Hi @MadiTechapps !
Did you also mention the location of aar file in builld.gradle file as mentioned in this document.  You can also install the AAR file to your local Maven Repo through the below command.
mvn install:install-file \
  -Dfile=<location folder containing aar file>/tensorflow-lite.aar \
  -DgroupId=org.tensorflow \
  -DartifactId=tensorflow-lite -Dversion=0.1.100 -Dpackaging=aar

Please let us know the results after following the above step.
Thank you!

Yes I did it,
I got Build success message on terminal
see this screenshot

@MadiTechapps !
Shall we consider this issue as  resolved then.
Thank you!

I have tried 2.10.0 version too, but getting Cannot find symbol error (see the below screenshots)
Here the error details for 2.7.0 & 2.8.0 &2.9.0 versions
Screenshot
for 2.10.0 version error details
Screenshot

Hi @sachinprasadhs !
Could you look at this issue.
Thank you!


Update README.md (fixed a small typo :)

Typo in line 935: it's --> its
In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[X] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[ ] Improvement
[ ] New extractor
[ ] New feature
[X] None of the above. :) :)

Description of your pull request and other information
The readme.md file contained a typo in line 935. The line had it's, but the correct word is its. This is my first ever pull request on github. If I've made an error somewhere in this pull, please let me know. :)

Is it to be expected that any changes to the Readme.md file will have an "errored check":

ERROR: The Travis CI build could not complete due to error.


Support ' heartbeat.interval.ms' options to reduce WAL disk space consumption of PG

https://debezium.io/documentation/reference/connectors/postgresql.html#postgresql-property-heartbeat-interval-ms

hi @docete I have commit a PR for this https://github.com/ververica/flink-cdc-connectors/pull/107

fixed in 4127661


Attempt to speed up web packing by threading

Summary
Building on the threading work done in terra to speed up webpack builds.
Thanks for contributing to Kaiju.
@cerner/kaiju

Closing for now, I want to go back and do some more webpack cleanup


Add BOOST_BEAST_INITFN_RETURN_TYPE

BOOST_BEAST_INITFN_RETURN_TYPE will make things easier, should have done it from the get-go.

We will use BOOST_ASIO_INITFN_RESULT_TYPE directly from Asio


how to access POST, PUT, PATCH, DELETE data?

I'm doing SSR with flow-router and react, but how to get POST data after a traditional form submit?

It's not meant for that. Use https://github.com/meteorhacks/picker for normal server side routes.


Added Something inside the readme file

ok

What kind of change does this PR introduce?

What is the current behavior?

What is the new behavior?

What might this PR break?
Please check if the PR fulfills these requirements

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

Other information:

Did you make this pr by mistake?


Canceling SQL Server query with while loop hangs forever

See StackOverflow post (https://stackoverflow.com/questions/48461567/canceling-query-with-while-loop-hangs-forever?noredirect=1#comment83955305_48461567) here for a full description of the issue.
Essentially, the issue is that for a certain query I am finding that calling CancellationTokenSource.Cancel() hangs indefinitely instead of canceling the query. The same query cancels instantly in SQL Server Management Studio. Here is code the reproduces the issue:
void Main()
{
    var cancellationTokenSource = new CancellationTokenSource();
    var blocked = RunSqlAsync(cancellationTokenSource.Token);
    Console.WriteLine(blocked.Wait(TimeSpan.FromSeconds(1))); // false (blocked in SQL as expected)
    cancellationTokenSource.Cancel(); // hangs forever?!
    Console.WriteLine("Finished calling Cancel()");
    blocked.Wait();
}

public async Task RunSqlAsync(CancellationToken cancellationToken)
{
    var connectionString = new SqlConnectionStringBuilder { DataSource = @".\sqlexpress", IntegratedSecurity = true, Pooling = false }.ConnectionString;
    using (var connection = new SqlConnection(connectionString))
    {
        await connection.OpenAsync().ConfigureAwait(false);

        using (var command = connection.CreateCommand())
        {
            command.CommandText = @"
                WHILE 1 = 1
                BEGIN
                    DECLARE @x INT = 1
                END
            ";
            command.CommandTimeout = 0;
            Console.WriteLine("Running query");
            await command.ExecuteNonQueryAsync(cancellationToken).ConfigureAwait(false);
        }
    }
}

Thanks for the update @divega . Now that there is renewed focus on SqlClient, can this be labeled as a bug? It's clearly buggy behavior and as more and more people shift to using async queries passing through the RequestAborted cancellation token from ASP.NET Core I anticipate that this will come up more frequently.

The explanation at https://github.com/dotnet/SqlClient/issues/44#issuecomment-362757646 makes me wonder if async (i.e. CancellationToken-based) cancellation should have a similar implementation to SqlCommand.Cancel(), e.g. using Attention messages.
However I think it in https://github.com/dotnet/SqlClient/issues/109 we were seeing async cancellation work correctly, so I am not sure I understand this issue.
cc @Wraith2, @roji, @saurabh500

This isn't the same issue as #109 and @EgorBo is spot on at pinpointing the problem. At the moment a lock is taken in EndExecuteNonQuery and then in TdsParserStateObject.Cancel the lock is attempted and cancellation isn't allowed if it can't be acquired.
If I take out that acquired check meaning that it'll take the lock if it can but will still cancel even if it can't get it then the test works. The rest of the manual test suite also passes.

It's not clear to me what the upshot of this is. It sounds like both CancelAsync and CancellationToken based cancellation are deadlocks waiting to happen? What's the recommended way to cancel an ongoing SQL query, preferably asynchronously?

The fix was blocked by https://github.com/dotnet/SqlClient/pull/248 which is still waiting.

@Wraith2 the PR you linked is now merged. Does that fix this issue or just open the door for fixing it?

declare @index int ;
set @index = 3;
declare @maxIndex int
declare @id nvarchar(10);
set @maxIndex = (select count(*) from aspnetusers);
while (@index <= @maxIndex)
begin
set @id = (select id from aspnetusers where Id = @index)
print 'id : '+ @id
set @index = @index+1;
end

@keivansahebdelfard does your post mean that you are still having this problem? If so can you post the version of SQLClient that you're using and the minimal code that you use with that sql statement please.

Just to add more details about this issue, this is actually reproducible all the way till System.Data.SqlClient v4.6 (.NET Framework) (didn't go further, but this is an initial design issue).
Neither of the two APIs SqlCommand.Cancel() or CancellationTokenSource.Cancel() work for Async APIs. The above repro can be tried against any driver, all hang on Cancellation. SSMS is probably using Sync APIs that's why this is not seen there.
The cause of issue as also pointed by @Wraith2 correctly (https://github.com/dotnet/SqlClient/issues/44#issuecomment-494950240) is the lock handling design in this case. The PR #956 is looking good so far, but tests need adjustment as tests have been based on current buggy behavior so we shall fix them next week and bring the PR to readiness.
cc @saurabh500
Below 2 solutions can be used as workaround, based on requirements:
Option 1. Use Sync APIs to execute query and cancel command when needed. Example below:
        static void RunTest(string connString)
        {
            var cancellationTokenSource = new CancellationTokenSource();
            using var connection = new SqlConnection(connString);
            connection.Open();
            using SqlCommand command = connection.CreateCommand();
            Task t = Task.Run(() => RunSql(command));
            Thread.Sleep(5000); // Wait 2 seconds.
            command.Cancel(); // does not hang
            Console.WriteLine("Finished calling Cancel()");
            t.Wait();
        }

        static void RunSql(SqlCommand command)
        {
            command.CommandText = @"
                WHILE 1 = 1
                BEGIN
                    DECLARE @x INT = 1
                END
            ";
            command.CommandTimeout = 0;
            Console.WriteLine("Running query");
            command.ExecuteNonQuery();
        }

Option 2. Set Command Timeout to cancel query after certain duration.
        static void RunTest(string connString)
        {
            using var connection = new SqlConnection(connString);
            connection.Open();
            using (SqlCommand command = connection.CreateCommand();
            Task blocked = RunSqlAsync(command);
            Console.WriteLine(blocked.Wait(TimeSpan.FromSeconds(1))); // false (blocked in SQL as expected)
            blocked.Wait();
        }

        static async Task RunSqlAsync(SqlCommand command)
        {
            command.CommandText = @"
                WHILE 1 = 1
                BEGIN
                    DECLARE @x INT = 1
                END
            ";
            command.CommandTimeout = 5; // Triggers timeout after 5 seconds.
            Console.WriteLine("Running query");
            await command.ExecuteNonQueryAsync().ConfigureAwait(false);
        }

@Wraith2 @saurabh500
Do you have a strong reason to support this lock (in all Async methods):
https://github.com/dotnet/SqlClient/blob/d150725aa1d6a296ebc5153e509b77ea19fe7904/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlCommand.cs#L1367-L1374
We don't have any lock on _stateObj when executing Sync APIs.
Looking at the comment: "_lock on stateObj prevents races with close/cancel" it doesn't make sense to me. Cancel() MUST intercept query execution and Cancel the query immediately (as it does in Sync APIs, so why only hold this lock in Async APIs?)
I also tested after removing this lock, and all tests pass, but I'm continuing to test more complex test cases manually.
Wanted to know your thoughts on that.

In sync cases the lock isn't needed because we don't try to ensure that any objects lower than SqlClientFactory are safe for multithreaded execution, as far as I know. If you use the same command from multiple threads you're in uncharted territory, in reality it'll probably work most of the time as long as you don't try something like executing two readers from a non-mars connection.
In this case either close or cancel must occur and the other must not, they're mutually exclusive for a small portion of the time because multiple pieces of state need to be updated to put the state into either cancelled or returning results, cancel is the more complicated. All i've done in the PR is replace the waited lock with a non waited interlock cmpexchg which prevents wait but might end up with issues where the execute completion is running at the same time as the cancellation logic, from what I can tell as soon as cancellation is set the completion logic will eventually see that fact and throw the correct error but there is the possibility that there could be weird timing cases that weren't possible before because the entire code blocks were mutually exclusive where now only the change of state is exclusive.

as long as you don't try something like executing two readers from a non-mars connection.

Is this even allowed? You can try below code with/without MARS enabled:
using (SqlCommand command = connection.CreateCommand())
{
    async Task RunSqlAsync(SqlCommand cmd) =>
        await cmd.ExecuteReaderAsync().ConfigureAwait(false);

    command.CommandText = @"SELECT @@VERSION";
    RunSqlAsync(command).Wait();

    command.CommandText = @"SELECT @@VERSION";
    RunSqlAsync(command).Wait();
}

We know below relationship is true for MARS as well as non-MARS:
1 SqlCommand = 1 SqlDataReader (owner) = 1 TdsParserStateObject (cached) = 1 SessionHandle
For MARS, we have multiple session Handles, which multiplies everything:
1 SqlConnection = n SqlCommand (parallel) = n SqlDataReader (parallel resp.) = n TdsParserStateObject (cached) = n SessionHandle
[This is as per design]
So, there's only 1 SqlDataReader allowed at a time on a SqlCommand, and you cannot "Execute" multiple times on 1 SqlCommand which is = 1 StateObj, so why lock it? The comment also only mentions about Close/Cancel race condition with execute - but we WANT to intercept here, no?

Is this even allowed?

With waits yes it's allowed because they're serialized. Without waits no in both synchronous and asynchronous modes because you're only allowed to have one owner per parser and the reader takes ownership as it executes. Moreover there's plenty of checking at call time to make sure there's only one asynchronous operation of any type executing at any time. Multi threading in both scenarios is supported through cheap creation of multiple connections and linked objects.
The locking is to ensure that only one thread is mutating the parser and state object at any given time because the state transitions cause multiple variables to be changes you can't have partial interleaving. You can do this in a course way with locking which just prevents entry to the critical section but incurs waits or you can do it with interlock gates which prevents the wait but means you have to be really careful about ordering of gate checks. The locking is far easier to understand and work with.

It's not allowed with waits too. You have to close first DataReader and then execute again.
Technically if that was an issue - you could execute same command from 2 threads synchronously too - but that's just Bad Practice.

It depends on exactly what RunSqlAsync does but I agree with your description. From my reading of the code in the past executing two sync commands from two threads concurrently will throw an exception when the state object is found to be owned by another reader but as you say it's a Bad Idea so lets not worry about that.

You can do this in a course way with locking which just prevents entry to the critical section but incurs waits or you can do it with interlock gates which prevents the wait but means you have to be really careful about ordering of gate checks. The locking is far easier to understand and work with.

I'm lacking most of the context here, but just wanted to mention that as long as no contention is anticipated, locks aren't expensive - taking a free lock is generally a very cheap operation. I wouldn't go into lock-free CompareExchange or similar for perf reasons unless contention is anticipated (which doesn't seem to be the case - this seems to be just a guard against invalid user behavior) and the perf benefits are demonstrated.

It isn't really a problem of how expensive the locks are because as you say they're pretty cheap most of the time. The problem is that the EndExecute process inside the library is taking a lock very early and holding it for a long time and because that same lock is required for cancellation it prevents cancel, it effectively serializes it to occur after the wait so you'll get a cancellation but it won't happen until the query is finished which isn't the intention.
the compareexchange isn't for perf it's just for making the state transition atomic and preventing both EndExecuteInternal (which is Close from the data reader confusingly) and Cancel can't both be executing in a way that they think they've succeeded. Instead of locking to serialize we use the successful change of state to identify the "winner" and let them execute.

We are having a similar issue but with Reader.ExecuteReadAsync which hangs without respecting cancellationToken we pass to it when reading large rows. Any suggestions on the workaround before fixing is in place?

There isn't a workaround because the cancellation isn't respected. The PR's that might fix the problem are in review.

@katwan the only workaround I know of is to use the synchronous ExecuteReader API with SqlCommand.Cancel()

@cheenamalhotra what version of Microsoft.Data.SqlClient is this fixed in? I'm a bit confused because the related PRs are in a different repo.

It's in https://github.com/dotnet/SqlClient/releases/tag/v4.0.0-preview2

But the change log for the 4.0 release says the issue was fixed. How come?

@abatishchev this seems like an oversight. Thanks for finding it. We will fix the documentation.

Current alternative:
// Register cancellation token to cancel command after command timeout, e.g. 5 seconds like under:
CancellationTokenSource source = new();
source.CancelAfter(5000);
source.Token.Register(() =>
{
    Console.WriteLine("Cancelling operation.");
    sqlCommand.Cancel();
});

// Instead of calling:
await sqlcommand.ExecuteReaderAsync(source.Token); // which gets stuck due to this issue

// Call sync API wrapped in a task that will cancel with token as well:
await Task.Run(() => sqlCommand.ExecuteReader(), source.Token))

// or simply call:
sqlCommand.ExecuteReader(); // as command will be canceled with token canceling this execution.

Current alternative:

Thank you for your response @cheenamalhotra!
But, with what you're proposing, doesn't it mean that we'd have a thread blocked on each sync ExecuteReader(), risking thread exhaustion and higher memory pressure?

I just stumbled upon this issue as well. I have a command with an infinite timeout doing WAITFOR (RECEIVE ...), TIMEOUT 1000 in a loop until it receives something. I am unable to cancel it.

Thread 34880:
Microsoft.Data.SqlClient.dll!Microsoft.Data.SqlClient.TdsParserStateObject.Cancel
Waiting on lock owned by Thread 35048, double-click or press enter to switch to thread]
Microsoft.Data.SqlClient.dll!Microsoft.Data.SqlClient.TdsParserStateObject.Cancel(object caller)
Microsoft.Data.SqlClient.dll!Microsoft.Data.SqlClient.SqlDataReader.Cancel(Microsoft.Data.SqlClient.SqlCommand command)
Microsoft.Data.SqlClient.dll!Microsoft.Data.SqlClient.SqlCommand.Cancel()
Microsoft.Data.SqlClient.dll!Microsoft.Data.SqlClient.SqlCommand.CancelIgnoreFailure()
Microsoft.Data.SqlClient.dll!Microsoft.Data.SqlClient.SqlCommand.CancelIgnoreFailureCallback(object state)
System.Private.CoreLib.dll!System.Threading.CancellationTokenSource.Invoke(System.Delegate d, object state, System.Threading.CancellationTokenSource source)
System.Private.CoreLib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state)
System.Private.CoreLib.dll!System.Threading.CancellationTokenSource.ExecuteCallbackHandlers(bool throwOnFirstException)
...


Normalize CLI Argument Format for Consistency

Summary
This PR introduces a change to the CLI argument format by replacing --hf_token with --hf-token. This adjustment ensures consistency across the tool's interface, as all other parameters follow the hyphenated (-) format rather than using underscores (_). This inconsistency can potentially lead to user confusion and a slight deviation from common CLI practices.
Changes and Impact

The --hf_token parameter has been updated to --hf-token across the codebase.
This modification introduces a breaking change, requiring users to adapt their scripts and command-line usage to accommodate the new argument format.

Thanks for the PR. Would you mind rebasing w/ main!

done, rebased


Trigger logout by clicking button

Hi there,
Is there a way to trigger logout when the button is click...
<button v-on:click="logout">Logout</button>
<v-facebook-login
            app-id="0000000000455"
            @sdk-init="handleSdkInit"
            @connect="handleConnect"
            @logout="handleLogout"
            @click="handleClick"
          >
          </v-facebook-login>

As you can see, I have a logout button and I need to logout also the facebook when the button logout is click. Thanks.

It should work out of the box. The demo source code only taps onto the logout event, but the trigger itself is already incorporated into the component. Re-investigate your issue.

Thanks, I tried it and didn't work...  maybe this.$refs.facebook.logout would be great.
<v-facebook-login
           ref="facebook"
            app-id="0000000000455"
            @sdk-init="handleSdkInit"
            @connect="handleConnect"
            @logout="handleLogout"
            @click="handleClick"
          >
          </v-facebook-login>

I still fail to understand the problem. See the demo. Click on it, then login, then click again (it will logout). Isn't that what you want?

No that's not what I mean... I mean you have a button then it will trigger logout to your <v-facebook-login>

OK, so you want to attach the logout method to another button, other than the one rendered by the component, does that sound right?

Yes... Thanks.

Looks like we can add ref to the scope component and that will make it available under this.$refs.facebook.$refs.scope. Seems a bit hacky, but worth a try. You can submit a PR or wait for a while until I get some spare time to add this feature.

OK, decided to have a quick go. It wasn't possible with ref, so I passed the scope object to the sdk-init event. Updated docs with example. 👍

It works but there is an error...

Looks like you tried to attach it to a submit event, perhaps incorrectly. Try an arrow function: `@submit="() => facebook.scope.logout".

@click="facebook.scope.logout" works but there is an error.  @submit="() => facebook.scope.logout"  is not working with the same error.

I just tried this and it works without any errors.
<form v-if="facebook.scope.logout" @submit="facebook.scope.logout">
  <button>logout</button>
</form>


Invariant Violation Error

I got the below mentioned error when application build and run.
I am using the following versions:
magento: 2.3
react-native-cli: 2.0.1
react-native: 0.59.10
OS : windows10
IMAGE SCREENSHOT FOR ERROR REFERENCE:

@Insha-Siddiquii have you done https://github.com/troublediehard/magento-react-native/wiki/Setup#2-setup-new-cms-block-in-magento-admin-which-will-be-used-in-homepage ? It looks like something wrong with your homepage config.

yeah i followed all setup guide and there was no problem in that. I inspected the problem , this was actually with react native that does not allow my store url to fetch data and initialize magento. Problem solved when i changed my store url  from http://localhost/xxxxx to http://ip-address:port/xxxx.

Happy to hear you solved it.


Add Fund My token to the Sell Pop-up listing of tokens to use for a transaction

As a user, who is selecting tokens to sell, I want to be able to fund my bot with tokens from Onramper directly from within the dialog box so that I don't have h find the dialog box on the main screen.
Acceptance Criteria

Update UI so that Funding the bot is part of the sell dialog. Desing:

https://www.figma.com/file/ClniQyKFqN1hSpWizV5O4A/Paloma?type=design&node-id=7122-21890&mode=design&t=XnmbzkhPtJaB3K29-4

@taariq no details for #2 ?

@wdev733 I deleted the 2nd image. It was an original draft that @joycehermosilla improved on with the first. Let me know if you need further support or clarification.

@taariq thanks for the quick answer. So user will move to onramper page when he clicks the Add funds to your bot ?

@wdev733 Yes. When we say "move" we mean they will have popup page/dialog window for onramper. They won't leave their position page.

Curve Bots design: https://www.figma.com/file/vLd6scwseZilfUZJXI6oRQ/Curve-Bots?type=design&node-id=202-36&mode=design&t=9o4XjPeSzr06EYOa-4 @wdev733


Uninstall the script

How do you uninstall everything that was installed by the script and restore to the earlier state?

This is not really supported.
This script is an easy way to install audio receiver software on a freshly installed Raspbian installation and is not meant to run on e.g. a heavily customized Raspbian installation. So, the easiest way is to just delete the SD card and flash a clean Raspbian image again.
The other way is to have a look at the scripts and try to revert everything by hand. There will not be an uninstaller or something like this, sorry.

Thank you for replying !
I'll have a look at the script and uninstall the components :)
Btw, beautiful product !


Initialize RCTAnimatedNode with _needUpdate = YES

I had some cases where animations would not play at all on iOS and this was due to some nodes not being marked as needing to update.
I don't have an exact repro or know 100% why it happens but this fixes the issue and makes sense to initialize node as needing to update. Also that _needsUpdate value is meant as an optimization to avoid traversing to node graph too much so it won't break anything.

cc @ryangomba

@janicduplessis I'm going to submit a PR today that addresses invalidation on iOS holistically. There are a number of things that are broken / flaky - and it looks like you keep running into them :( I'm gonna hold off on this PR until we have that one to look at.

@ryangomba Awesome, I'll close this one and try your PR when ready


[BUG] dynamic-bridge - handling of 0 as default attribute value is different for static and dynamic clusters

Reproduction steps
As the title says: If the default value of a nullable numeric cluster attribute is set to 0 in a .zap file it doesn't behave the same for static and dynamic(generated from matter idl) clusters.
Because of this line, if a an attribute default in a .zap file is set to 0 the default doesn't get set in the .matter file and a nullable value gets initialized to NULL, when using dynamic generation.
On the other hand if the same cluster attribute is used statically(from GENERATED_CLUSTERS array), 0 is a legitimate value and isn't considered as NULL.
This has caused me some issues, because Apple Home would always say "Device not responding", when I used it with the dynamically generated WindowCovering cluster, which has the CurrentPositionLiftPercent100ths attribute, which is left empty(0) (NULL when generating dynamically) by default. When using it with fixed clusters(all-clusters-app) it would work fine because the attribute would return 0.
Bug prevalence
Whenever I do this
GitHub hash of the SDK that was being used
7ccd5d40e4540e2a2ef1b24686a8128fe6c6d2ff
Platform
core
Platform Version(s)
No response
Anything else?
No response

This seems like a bug in the IDL bits, @andy31415

Looks like some inconsistency for sure.
@bndkk could you provide me with a concrete example/reproduction? What zap file should I use or how should I change things to see this behavior? Can you give me a concrete nullable numeric attribute that I can try things out with?

I see CurrentPositionLiftPercent100ths referenced. Taking a look.
What would be your expectation for the IDL to contain?

Currently I see in examples/window-app/common/window-app.matter:
 server cluster WindowCovering {
    ram      attribute type default = 0x08;
    // ...
    ram      attribute endProductType;
    persist  attribute currentPositionLiftPercent100ths;
    // ...

In zap I see (for server side):
            {
              "name": "CurrentPositionLiftPercent100ths",
              "code": 14,
              "mfgCode": null,
              "side": "server",
              "type": "Percent100ths",
              "included": 1,
              "storageOption": "NVM",
              "singleton": 0,
              "bounded": 0,
              "defaultValue": "0",
              "reportable": 1,
              "minInterval": 0,
              "maxInterval": 65344,
              "reportableChange": 0
            },

so it does seem like it should want a defaultValue of 0.

The issue may be with the logic of {{~#if_is_non_zero_default defaultValue~}} within the template. This default is obviously zero, however the value is nullable so being zero is important.

For a nullable attribute where the default is actually set to null, the defaulValue will in fact be null, I believe.
if_is_non_zero_default calls isNonZeroValue which returns false for null, 0, empty string, and in general anything else that will be treated as falsy by JS.
It also returns false for the string "0", strings that look like "0x00", and the string "false".
Which means it's broken for nullable attributes of various types.
Why are we testing for this "non_zero" condition at all?  If the default value is 0, then the default value is 0 and should be represented accordingly in the .matter file, no?

Not sure about the logic directly, from what I remember it may be that zap was setting default value 0 for things that could not be 0 (e.g. nullable strings defaulting to "0").
I will try to see how things behave when I remove that logic.


Decouple rosout publisher init from node init.

depends on https://github.com/ros2/rcl/pull/1065
address https://github.com/ros2/rclcpp/issues/2147

Codecov Report

Merging #351 (470643f) into master (442c4e8) will decrease coverage by 0.25%.
The diff coverage is 12.50%.

@@            Coverage Diff             @@
##           master     #351      +/-   ##
==========================================
- Coverage   69.20%   68.96%   -0.25%
==========================================
  Files          16       16
  Lines        2715     2723       +8
  Branches      765      770       +5
==========================================
- Hits         1879     1878       -1
- Misses        450      456       +6
- Partials      386      389       +3

Impacted Files
Coverage Δ

rclc/src/rclc/node.c
65.62% <12.50%> (-17.71%)
:arrow_down:

... and 1 file with indirect coverage changes

@JanStaschulat thanks for the review, but

depends on https://github.com/ros2/rcl/pull/1065

we should wait until this dependent fix is merged. do you want me to revert this?


Research Expenditures by Division Report

Feedback from David Bailey on Research Expenditures by Division Report

No scale on left of box and whiskers

Duplicate of #155, closing.


Ephemeral runners created with the deprecated --once flag instead of --ephemeral

See the following blog post, for instance https://github.blog/changelog/2021-09-20-github-actions-ephemeral-self-hosted-runners-new-webhooks-for-auto-scaling/

This will also have the side effect of automatically de registering runners once they have completed execution, meaning charm code no longer needs to remove offline runners


Emoji do not render in PDFs

Hi,
I've just cloned the repo and compiled it. After compiling that document, I've a blank page (using Evince) or some tofu (using Firefox):
#emoji.face.grin

The generated PDF is 10MB big, with the Noto Color Emoji font embedded. When changing the zoom level, Evince writes some font thing failed to stderr.
System: Ubuntu 22.04, cargo 1.68.0, typst 045a1096

looks like a font issue. I get expected result:
https://github.com/typst/typst/files/11058297/emoji.pdf
18.2 KB. I am using Segoe UI Emoji font.

Hum, that's quite interesting:
#set text(font: (
  "Segoe UI Emoji"
))
Segoe Emoji here → #emoji.face.grin #emoji.amphora ← ?

#set text(font: (
  "Noto Color Emoji"
))
Noto Emoji here → #emoji.face.grin #emoji.amphora ← ?

 There may also be unrelated font issues at play here.

Any way for us to provide verbose logs? I'm running into what I think is this issue on my Mac.
test 123 #emoji.warning #emoji.turtle

#set text(font: (
  "Helvetica Neue"

))
test 123 #emoji.warning #emoji.turtle

#set text(font: (
  "Apple Color Emoji"
))
test 123 #emoji.warning #emoji.turtle

emoji-test.pdf

With the help of new bing, I found a relevant answer: https://community.adobe.com/t5/acrobat-discussions/emoji-in-adobe-pdf/m-p/10148090#M121259. According to this answer, the reason for the emoji display problem may be that the PDF specification does not support SVG format fonts. The answer also points out two ways to solve this problem(if the reason is correct):

rasterize or vectorize any glyphs for which the SVG definition varies from the default monochrome CFF or TrueType definition
produce and embed a Type 3 font into the PDF for such characters.

I hope this information is helpful to everyone!

Is there an already planned fix for this, or is the fix still unclear?  For me emojis have been "working" minimally with Twitter Color Emoji: only a grayscale outline is exported in PDFs.

The planned fix is to export them as XObjects with /ActualText to make them copyable. If that turns out to be problematic, another alternative would be to embed them as Type 3 fonts.

Glad to here this, thanks 😃

I'm not sure why there is no visual progress on this issue, so I wanted to share something that could help solve the problem quicker. About half a year ago LibreOffice's latest version was 7.4 which didn't support emoji characters in PDF files. But I've read that in v7.5 it should be fixed.
https://wiki.documentfoundation.org/ReleaseNotes/7.5#Filters:

PDF

Support embedding color (e.g. Emoji) fonts using color layers (using COLR/CPAL OpenType tables). tdf#104403 (Khaled Hosny)
Support embedding color (e.g. Emoji) fonts using color bitmaps (using CBLC/CBDT or sbix OpenType tables). tdf#121327 (Khaled Hosny)

I recently upgraded my LO suite and sure enough, the bug is gone, finally! But I don't really use LO Writer (typesetting systems FTW). Still, if that project resolved the same issue that this project has, then the solution is out there.
Here is a simple example (using v<IP_ADDRESS>): emoji.zip

If that turns out to be problematic, another alternative would be to embed them as Type 3 fonts.

Okular says that emoji has a type "Type 3", so Type 3 is fine. Although I don't know if it's bad or not, because the emoji is copying fine into the clipboard (and different font types is still a heavy/new topic for me).

I'm not sure why there is no visual progress on this issue,

Mostly because we just didn't have time to implement this yet.
Thanks for the resources about how LibreOffice does it. This might come in handy.

The planned fix is to export them as XObjects with /ActualText to make them copyable. If that turns out to be problematic, another alternative would be to embed them as Type 3 fonts.

FWIW, I have done both approaches before, XObjects in luaotfload (for luatex) and Type 3 in LibreOffice. XObjects work fine, but text copying was a proplem with CDBT table (old Noto Color Emoji) as these fonts have no outline glyphs and /ActualText does not seem to work if its enclosing images only. Type 3 seems to be more cleaner.

Thanks, that's good information!

As a workaround, I wrote a package svg-emoji to replace emoji with an SVG glyps directly. For now, it only offer Noto support.

As discussed on Discord, here is some background on color fonts and Typst's PDF font handling and then the steps required to fix this issue.
A bit of background on color fonts
OpenType supports multiple formats for encoding emoji fonts. The data for each of these is stored in OpenType tables within the font. We can query this data with ttf-parser. The following color formats exist:

sbix: A table that encodes emojis as raster images. Backed by Apple. (Example font: Apple Color Emoji)

CBDT: Another table that encodes emojis as raster images, but in a slightly different way. Backed by Google. (Example font: Noto Color Emoji)

SVG: Encodes emojis as a subset of SVG. Backed by Adobe and Mozilla. (Example font: Twitter Color Emoji)

COLRv0: Encodes emojis with the normal font outlines + color palettes. Backed by Microsoft. (Example font: Segoe UI Emoji)

COLRv1: Microsoft noticed that color emojis with just plain colors look a bit boring, so they added a ton of SVG-like features to the COLR table. This format is quite recent and support for it isn't merged into ttf-parser yet. Even with the latest updates, Windows doesn't seem to ship it, so we can skip it for now. (Example font: Recent versions of Noto Color Emoji)

The inner workings of these OpenType tables is mostly abstracted away by ttf-parser, but it's still important to know how they work conceptually.
How Typst writes text and fonts into PDFs
Within write_text in typst-pdf/src/page.rs, text is written by writing CIDs (character ids) into the content stream with the /TJ operator. In spite of their name CIDs are not like Rust chars. Instead, they typically map 1-1 to glyphs IDs in a font because we configure a Identity CID-to-CID mapping (except in the case of CFF fonts, which work a bit differently).
The CIDs reference a font configured via the /Tf operator. While writing the text items, we collect all fonts that are referenced, which we then embed into the PDF at the end. This happens in typst-pdf/src/font.rs To be able to copy from the PDF, a PDF viewer must map the CIDs back to Unicode text. This is what the /ToUnicode mapping is for, which we write for each font.
So, this is how it works for normal fonts. The problem now is that PDF viewers completely ignore the color tables in emoji fonts and fall back to normal outlines (if available). To get emojis to show up, we have two different options:

Encode them as graphics rather than text. Then, they aren't copy-pastable. While we can, in theory, specify an /ActualText that should be copied, many PDF viewers don't seem to support that.

Encode them as Type 3 fonts. A Type 3 font is a special type of PDF font that doesn't embed font data in an external format like TTF or CFF, but rather defines the font's glyphs directly as PDF objects. This way, we can create the emojis as PDF graphics, but display them with the normal text-showing operators.

Based on the conversation above and what other tools do, Type 3 seem like the better approach. Relevant details can be found in the PDF 1.7 specification section 9.5.6. "Type 3 fonts".
Implementing it in Typst
Here's a rough outline of the steps involved in implementing emoji handling for PDF in Typst:

When writing a glyph in a text run, we need to detect whether an emoji glyph definition exists in any of the formats above. If yes, we need to terminate the text run and switch to a Type 3 font we will generate for it. This should live in typst-pdf/src/page.rs, likely using some helpers defined in typst-pdf/src/font.rs.

We need code to convert emoji definitions in any of the formats above into PDF content streams. The PNG exporter has existing code for all the formats except COLR (since it's a recent addition to ttf-parser) whereas the SVG exporter doesn't handle them yet. To share as much code as possible between the exporters, it would probably make sense to convert a color glyph to a Typst Frame rather than directly producing PDF content for it and then reuse this frame across all three exporters. This code could live in typst/src/text/font/color.rs.

An unfortunate limitation of Type 3 fonts is that they can encode at most 256 glyphs, so if more than 256 emojis from the same font are used, we need to write multiple Type 3 fonts for that one.

We need to actually write the necessary variable number of Type 3 fonts for each font and generate /ToUnicode mappings for them. This should live in typst-pdf/src/font.rs.

Damn, all I wanted was a little 🐿, turns out it's Specs War Infinity Edition
Thanks for planning on supporting this 😀

@elegaanz thanks a lot for this crucial feature!
Typst is now 1.0 for me 🐿

Not sure if I'm missing something, but this still doesn't work for me. A file containing simply:
This should be a face #emoji.face but it's not

Produces the text with a gap where the emoji should be. Do I need to specify a special font? I'm just using whatever the default is when I run typst compile temp.typ.
Any help would be appreciated!

I'm not sure compiler has an emoji font, so if you don't have one installed locally, then this probably is the issue. Another one is that you didn't compile the latest version as it only would work correctly in the next 0.12 version.

Thanks for that! I had version 0.11.1 installed and upgrading to the git head (brew install --HEAD typst) fixed the problem.

I can confirm that upgrading to the git head (brew install --HEAD typst) fixed the problem for me as well ... hello emoji!  Thank you @Andrew15-5  and @davystrong.  Perfect timing for a project that I am working on.

Note that you can now download the v0.12.0-rc1 or wait for a bit and use an upcoming v0.12.0.

The only way it works for me on current Linux (with Typst v0.12.0) in the VSCode Preview is font "Noto Emoji". The emojis are black-white and do not look as good as the original emoji images. Color Emoji fonts that I tested were not working. Is there any other font confirmed to be working on Linux in the VSCode Preview?

@krisutofu This is a problem with the VS Code extension's preview. It uses its own rendering mechanism, which does not seem to support emojis so far. If you export the PDF, it should be all good.


[ZEPPELIN-1482] Load updated dependency library on interpreter restart

What is this PR for?
If user specifies library path in interpreter dependency setting, even when the file on this path is updated, new file doesn't take effect on interpreter restart but does only when user clicks Edit -> Save.
The mechanism of dependency loading is copying all dependency libraries under local-repo/ {interpreterId} and add these directory to classpath of interpreter process. Zeppelin copies these dependencies either on Zeppelin startup or dependency saving/editing.
This PR checks if the library on specified local path is updated, and copy them to local-repo/ {interpreterId} on restart if there is change.
What type of PR is it?
Bug Fix & Improvement
What is the Jira issue?
ZEPPELIN-1482
How should this be tested?

Download commons-csv-1.1.jar and commons-csv-1.2.jar to /my/path
cp commons-csv-1.2.jar /my/path/commons-csv.jar
Set dependency artifact of spark interpreter to /my/path/commons-csv.jar
Run %spark import org.apache.commons.csv.CSVFormat.Predefined in paragraph and see if it runs without error
cp commons-csv-1.1.jar /my/path/commons-csv.jar
Restart spark interpreter
Run %spark import org.apache.commons.csv.CSVFormat.Predefined in paragraph and see if error occurs.

Questions:

Does the licenses files need update? no
Is there breaking changes for older versions? no
Does this needs documentation? no

Tested and LGTM

Merging if there is no more discussion


Add a "usage" field in aoai.metric to record token usages

Currently, aoai.metric only records time and deployment name.
It would be useful for cost monitoring,  if the server can also record the token usage for each request.
This patch updated the related table schema and procedures to include one additional field "usage" to record the token usage info. The logging call was also moved into request_manager.py, so that it executes after the usage is available.

hey @oreh, thanks for the PR, I did a quick review tonight and it looks about right, I'll do a more thorough review tomorrow. Thanks, Dave

Currently, aoai.metric only records time and deployment name. It would be useful for cost monitoring, if the server can also record the token usage for each request.
This patch updated the related table schema and procedures to include one additional field "usage" to record the token usage info. The logging call was also moved into request_manager.py, so that it executes after the usage is available.

Hey @oreh is there any reason the usage type in Postgres is not type JSON or JSONB? I think JSONB maybe a better option as then it becomes querable... I'll play around with ideas, but let me know if there was a reason.
Thanks, Dave

It is a better idea to use JSONB. Let me find a time today to update it.

It is a better idea to use JSONB. Let me find a time today to update it.

That's ok, I'll update, I want to add token counter to the daily requests table as well as that is the most efficient for Power Bi Reporting.
Cheers Dave

Just noticed your comments after making the jsonb change :).

Just noticed your comments after making the jsonb change :).

Cool - I've made a change to the attendee_metric proceedure and the attendee_request table with an additional field called total_tokens - this is a daily count of token usage - I didn't think necessary to break down further. It's more efficient for Power BI reporting and in theory we could limit daily usage by tokens...
Doing one more test, then I'll merge.
Cheers Dave

@oreh ironed out a couple of issues and have merged. Thanks for the PR, much appreciated.
How do you plan to use the proxy?
Regards, Dave

First of all, thanks a lot for building this project and making it open source. We are using this project to server our internal Hackathon, running today and tomorrow :D. The patch was to 1. protect the raw access key and 2. to run post-event usage analysis.
In our case, we only deployed the 'proxy' application, and exposed it as a private service. The adminstration work was done by a direct db-management python modul using sqlalchemy. In this way, the setup was quite straightforward.
I like the token-count feature you added, as it brings in the possibility of budget control. While the cost of  different types of requests varies a lot. So the actual implementation is still complicated. But we are closer to that now.


Investigate template prop

We need to investigate the idea of a template prop (like a render prop but just static JSX instead of a function) to allow for "Headless Tippy". Instead of the core library creating the elements for you, you pass the JSX. That way, for instance, you can animate them using react-spring.
const springProps = useSpring({
  opacity: 1,
  from: { opacity: 0 },
})

<Tippy
  template={
    <animated.div style={springProps}>
      Hello...
    </animated.div>
  }
>
  <button />
</Tippy>

This might be a plain hook instead, but I haven't progressed far enough on the next core version to see if that will be viable.
In the next Tippy for React (v4), the default import will still be the default vanilla element creation, but there will be a headless import to allow you to do this.

This is being implemented in v4


need a C++ API

The SPIR-V Tools API is a C API to provide ABI stability and a lowest-common-denominator target for multiple languages.  However, it's begging for a more convenient C++ API.

+1

This is done via #410 & #411.


Reset amount on reset button click

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/41763
PROPOSAL: https://github.com/Expensify/App/issues/41763#issuecomment-2102708992
Tests

Launch New Expensify app.
Go to FAB > Split expense.
Enter amount and select a few users.
Tap on split amount input.
Manually enter the split amount.
With keyboard up, tap on Reset button.
Verify the split amount is reset

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Launch New Expensify app.
Go to FAB > Split expense.
Enter amount and select a few users.
Tap on split amount input.
Manually enter the split amount.
With keyboard up, tap on Reset button.
Verify the split amount is reset

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

android.webm

Android: mWeb Chrome

androidweb.webm

iOS: Native

ios.webm

iOS: mWeb Safari

iosweb.webm

MacOS: Chrome / Safari

web.webm

MacOS: Desktop

Desktop.webm

@eVoloshchak PR ready

@eVoloshchak PR ready. Please check.

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@eVoloshchak
The issue was specifically about Android and iOS devices, which I have successfully resolved. If you would like to address the mWeb behavior as well, I believe this should be addressed as a separate issue. Working on mWeb will require the same amount of time as the original issue. Since only Android and iOS are checked, I considered that. So I think this issue here is fixed for the platforms as stated originally. Also, that comment you highlighted was a requested possibility, but is not mentioned in the original issue to check that platform. So I believe this PR should be approved for merging and I can work on mWeb as separate issue if you want to raise new issue for that.

Friendly bump @eVoloshchak

@eVoloshchak any update?

Apologies for the delay @kaushiktd

Also, that comment you highlighted was a requested possibility, but is not mentioned in the original issue to check that platform.

I do agree with this, the issue description specifically mentions native platforms. Let's fix it here and then decide if the same is worth doing for mWeb
@kaushiktd, could you merge the latest main please?

@eVoloshchak if I'm understanding it correctly, you are asking me to do the PR again, right? Not requesting mWeb.

Not requesting mWeb

That is correct

if I'm understanding it correctly, you are asking me to do the PR again,

No, the PR is fine, but "This branch has conflicts that must be resolved"
Just sync your branch with the latest changes from main, and I'll go over the checklist once more

@eVoloshchak PR ready. Please check.

@eVoloshchak Let me check. Thanks for the feedback.

@eVoloshchak PR is ready. Please check.

@eVoloshchak New PR Ready for review

Friendly bump @eVoloshchak

Making a build to test this out

@eVoloshchak @youssef-lr friendly bump on this for an update

Can we fix conflicts please?

I think this looks good from a design standpoint too.

From the recordings though, it looks like on iOS, hitting reset keeps you focused in the same input you were editing. But on desktop, hitting Reset makes you lose focus on the input you were editing. Is that on purpose?

Sounds good, thanks for confirming!
On Wed, Jul 10, 2024 at 10:57 AM Kaushik Kapadiya @.***>
wrote:

@shawnborton https://github.com/shawnborton this is the default
behaviour of desktop as well as web
—
Reply to this email directly, view it on GitHub
https://github.com/Expensify/App/pull/42897#issuecomment-2219944149, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AARWH5SP24YIX5VBNC2XA6DZLTZOTAVCNFSM6AAAAABISILTJKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMJZHE2DIMJUHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/youssef-lr in version: 9.0.7-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Cherry-picked to staging by https://github.com/thienlnam in version: 9.0.7-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by https://github.com/thienlnam in version: 9.0.7-8 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/mountiny in version: 9.0.8-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


[Question] How does this fix anything?

How does this even remotely relate to the VOIP issue that's going on. All you do is trim the say message for whitespace. Please do not give the illusion that this fixes anything.....
Have a nice day.

Both chat and voice chat do not work in multiplayer (on walkie talkie). Therefore this mod is useful. It returns partial functionality, which for some unknown reason was turned off for text chat.

This is not a fix for VOIP. I've edited the title and description of the mod to reflect that all it fixes is chat-based radio.
As to how it fixes it:

The radio relies heavily on IsoGamePlayer.lastSpokenLine to pick up messages. However, ISChat.lua uses processSayMessage and other various helpers defined in LuaManager.java, which don't set lastSpokenLine. By either adding setLastSpokenLine(text) in ISChat.lua or in the actual source code for processSayMessage, you can get the radio to work. Note how I added setLastSpokenLine? Yeah, that's what fixes it.


Update link for Redux Middleware Tutorial - Fix #4647

name: Update link for Redux Middleware Tutorial
about: Fixing a broken link
Checklist

[x] Is there an existing issue for this PR?

#4647

[x] Have the files been linted and formatted?

What docs page needs to be fixed?

Section: Learning Resources
Page: https://redux.js.org/introduction/learning-resources#middleware

What is the problem?
The resource for Redux Middleware Tutorial is pointing to a broken link.
What changes does this PR make to fix the problem?
The original link has been replaced with a GitHub repository containing notes authored by the original writer of the article. This new link provides access to the same content that was initially available on the author's blog.

thanks!


[SUGGESTION] Blacklist JJ Meteors from being affected by particle changes in this mod

https://minecraft.curseforge.com/projects/jj-meteor
With these two mods installed, the explosion particles constantly fire from the meteors from JJ's meteor mod, causing quite a bit of lag.

@Sunconure11 I am removing the explosion effect from the v3.5 version of DS.  It can easily cause lag overload on really large explosions and there is no real easy way to address.

Pushed a BETA of v3.5 to CurseForge that has explosions removed.  Note that the new version has a library dependency on OreLib (another library mod I made).  Make sure you read the release notes prior to upgrade.


[analyzer][doc] Mention that Z3 as the constraint solver is highly unstable

Closes #3757

cc @dilyanpalauzov @ryao

Hopefully this is a good enough solution we can mention in CodeChecker's documentation until Z3 support in official Clang picks up.

It's great to mention the Z3 performance limitation, LGTM


Tina local

21

Tina Comment 59

#sign-off

#sign-off

You signed off, but the build has not completed or there are outstanding validation warnings. Please wait for the build to complete, and address any outstanding validation warnings. Then, you can sign off on the pull request.

PRMerger: Sign off requires successful build
You signed off, but the build has not completed or there are outstanding validation warnings. Please wait for the build to complete, and address any outstanding validation warnings. Then, you can sign off on the pull request.


Decoding actions and not observations

Hi,
Thanks for providing an open implementation with clean codes.
I just want to ask why did you choose VAE to encode and decode actions (it is already small vector, 8 or 7 for example) and not observations which are higher dimension (42 or more depends on the env and task)?
Stable-baselines3 provides GAIL implementation in "imitation learning" branch, is it possible to apply your idea with it?
thanks in advance.
kind regards

Hi,
Thanks for providing an open implementation with clean codes.
I just want to ask why did you choose VAE to encode and decode actions (it is already small vector, 8 or 7 for example) and not observations which are higher dimension (42 or more depends on the env and task)?
Stable-baselines3 provides GAIL implementation in "imitation learning" branch, is it possible to apply your idea with it?
thanks in advance. kind regards

Thank you for interest. We believe it is equally important to compress the states as the actions, and we are working on an extended version which considers both. Our motivation on learning latent actions is from the example of controlling the robot arm joints (7 dof) versus controlling in its end-effector. In fact, this paper shows that we only need 2 dof, which makes it easier to understand and interpolate the robot behavior.
The imitation learning library from SB3 is a good starting point but we have personally found its implementation to be quite convoluted. We also found discriminator regularization tricks (gradient penalty, spectral normalization) to be quite important in the robosuite environments and it would be just easier for us to implement our own version. It would definitely be possible to apply the latent space ideas on top of the imitation learning library.


Project/assign automation fails with "Parameter token or opts.auth is required"

It looks like the Project/assign automation in PR #441 doesn't work for me, I see:
##[error]Parameter token or opts.auth is required

in https://github.com/ZcashFoundation/zebra/pull/448/checks?check_run_id=748611278

I think I'm going to tear this out, it doesn't work on external prs because of permissions and should never 'fail a build' if it breaks.

Try this instead
https://github.com/apps/project-bot


grpc Ruby gem fails to install due to using too many parallel jobs while compiling inside container

What version of gRPC and what language are you using?

grpc version: 1.41.1
language: ruby

What operating system (Linux, Windows,...) and version?

Linux (multiple versions)

What runtime / compiler are you using (e.g. python version or version of gcc)

Multiple versions

What did you do?

Tried to install gem inside a container: gem install grpc

What did you expect to see?

grpc gem installs successfully

What did you see instead?
The grpc installation was killed by Linux's out-of-memory killer.
This happens because Etc.nprocessors as used in grpc's extconf.rb file returns 36 cpus for the CI machine we're using, which makes grpc try to compile stuff with make -j72.
Unfortunately we're inside a constrained docker container, but the 36 cpus value returned by Etc.nprocessors is the value for the host machine, not the container (this is a Ruby, not grpc limitation).
Having 72 instances of gcc is too much for most CircleCI resource classes and thus the installation fails by running out of memory.
Anything else we should know about your project / environment?
I work @Datadog on our ddtrace Ruby gem, and we have support for integrating with grpc. I ran into this issue in our integration tests that run in CircleCI (https://github.com/DataDog/dd-trace-rb/issues/1791).
It would be great if grpc could actually use the number of CPUs that is assigned to the docker container; failing that, even having a simple environment variable where we can specify the number of make jobs or way of disabling the parallel compilation would be enough to solve the issue for us.

PTAL at https://github.com/grpc/grpc/pull/28250, which adds an env var to override this


Update common files.

@geeknoid: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

operator-lint
a8192400398a8578f37eb725b895b117fac931ce
link
/test operator-lint

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@geeknoid I'll let @sdake decide if this makes sense to pull in since it'll revert some of his changes. I quickly worked on sort of a reverse idea and will create a PR in common-files with some of those changes, which once merged can be pulled into operator.


Exhaustive search via transition enumeration

The ability to enumere counterexamples is crucial in such usage scenarios as model-based testing, where counterexamples are used as test cases. As the first step towards #79, we need to implement the simplest exhaustive search for counterexamples: via enumerating sequences of transitions.

the tool should support --continue option;
every new counterexample returned with -continue should use a different sequence of transitions leading to an invariant violation.

In case of a lot of non-determinism this can of course blow up, because it means enumerating the tree branches. But exhaustiveness on the base of transition sequences is the simplest to implement, and offers an intuitive mental picture for the end user. This strategy can later be complemented in the scope of #79 with different ones (based on the values of state variables for example).

@Kukovec do you like to give it a try? The new transition executor is documented in ADR003, which is used by SeqModelChecker.

I would de-prioritize this one in favor of #730

Last time we have decided to prioritize this approach, at least as a provisional solution. I think there is a nice way to implement enumeration of counterexamples and make it useful in various scenarios. See a detailed description in the discussion #827.


Grid artifact related to SSE instructions

We are using D435 and have issue with depth images obtained by Python interface.
In the past we used <IP_ADDRESS> librealsense installed by pip. There are four-part versions on pip.
We got images like this (please notice irregular grid):

We trained our Machine Learning models based on this data.
Now we try to use our models on Nvidia Jetson TX2.
Because of ARM architecture we are not able to install librealsense by pip.
We checkout versions by tags, and compile. There are only three-part versions on github. We tried:

v2.13.0
v2.14.0
v2.14.1

But all those versions are giving us images like this:

What is the cause and what should we do to obtain images like the first one (with grid)?
Thank you!
PS. There is exactly the same python code obtaining both of images shown in this post.  We think that the difference is because of different behavior of pyrealsense2.align function: in pip and github version of librealsense.

Hi @mdukaczewski
First, this is a rather specific issue, sorry for your trouble.
The grid is an artifact that was first introduced by mistake in #2040 (first released in 2.14.0)
and mostly resolved in #2217 (2.15.0)
As far as I can tell 2.14.1 should still include this bug.
Alternatively, you could try checking out the specific commit:
git checkout 7abb777fec9dba494fabbf5d18dfdf901a1aba0e
To force this issue, all you need is for the following condition in align.cpp to take the second branch.

@dorodnic thank you for your answer. Unfortunately it looks that grid artifact is related to SSE code path. So we are not able to reproduce it on Jetson device. We are able to reproduce it on x86 though, but it's not sufficient for us.

Sorry to hear.
In the non-SSE code, I believe the corresponding point would be align.cpp:32-58
If instead of filling a polygon corresponding to the depth pixel, you always map depth to a single color pixel, something like:
float depth_pixel[2] = { depth_x, depth_y }, depth_point[3], other_point[3], other_pixel[2];
rs2_deproject_pixel_to_point(depth_point, &depth_intrin, depth_pixel, depth);
rs2_transform_point_to_point(other_point, &depth_to_other, depth_point);
rs2_project_point_to_pixel(other_pixel, &other_intrin, other_point);
const int other_x0 = static_cast<int>(other_pixel[0] + 0.5f);
const int other_y0 = static_cast<int>(other_pixel[1] + 0.5f);
transfer_pixel(depth_pixel_index, other_y0 * other_intrin.width + other_x0);

This should restore the bug on resolutions where depth has lower pixel density.