API change: define transaction factories, instead of builders (see sdk-js-core)

See:

https://github.com/multiversx/mx-sdk-js-core/blob/main/src/tokenOperations/tokenOperationsFactory.ts
https://github.com/multiversx/mx-sdk-js-core/blob/main/src/transferTransactionsFactory.ts

Implemented in the new repository: https://github.com/multiversx/mx-sdk-py.


Syntax problem

Challenge Use Conditional Logic with If Statements has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

// Example
function ourFunction(isItTrue) {
  if (isItTrue) {
    return "Yes, it's true";
  }
  return "No, it's false";
}

// Setup
function trueOrFalse(wasThatTrue){
  if (wasThatTrue) {
    return "Yes, that was true";
  }

  {
    return "No, that was false";
  }
}

I encounter a problem with this challenge, for some odd reason the code was returning "Yes, that was true" but it wasn't checking it off on the challenge goals, the way I fixed it was by rewriting the function from scratch and making sure I had open and closing curly brackets for my - return "No, that was false" - segment.
my guess is that there's a indentation problem somewhere.

"For some odd reason my code didn't work" isn't exactly a reproducible issue we can do something to fix.. Maybe you could provide some more information?
If there isn't an issue, you can close this report :)

@WanderBread as a side note JS doesn't about indentation.
You're else part of the statement should also actually contain and else or not include the second set of curly braces.
Finally I've just ran your code and it works. Try refreshing your browser and re-running your code.

I'm going to close for now as it is more of a help request. If the issue persists than feel free to re-open the issue. Otherwise, happy coding!

@benmcmahon100  I was looking for a way to explain myself better, so I apologize for the inconvenience... my code worked it was the original code that gave me a problem... I would make sure to be more specific if I ever run into any other problems... again my apologies for the lack of explanation.

@WanderBread No worries! No incomvenience experienced! :stuck_out_tongue:
Thank you for being a pro-active user and reporting issues!
Happy coding!


[DOC] Add how to limit number of cores in tabular FAQ

Issue #, if available:
https://github.com/awslabs/autogluon/issues/904
Description of changes:
Add how to limit number of cores in tabular FAQ
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Job PR-1482-1 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-1482/1/index.html

Job PR-1482-2 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-1482/2/index.html


extend list of known_good_names (.notdef, .null, etc)

    fb.new_check("Glyph names are all valid?")
    known_good_names = ['.notdef', '.null']
    bad_names = []
    # we should extend this list according to the opentype spec

https://github.com/googlefonts/fontbakery/blob/a02a4f01cb6f4664b91fa6d7c695bddf1187bd32/fontbakery-check-ttf.py#L2273-L2277
(issue #924)

At https://www.microsoft.com/typography/otspec/recom.htm we have:
NOTE: The PostScript glyph name must be no longer
than 31 characters, include only uppercase or
lowercase English letters, European digits, the
period or the underscore, i.e. from the set [A-Za-z0-9_.]
and should start with a letter, except the special
glyph name ".notdef" which starts with a period.

and at http://partners.adobe.com/public/developer/opentype/index_glyph2.html there's this:
A glyph name may be up to 31 characters in length, must
be entirely comprised of characters from the following set:

    A-Z
    a-z
    0-9
    . (period)
    _ (underscore)

and must not start with a digit or period.
The only exception is the special character ".notdef".

"twocents", "a1", and "_" are valid glyph names.
"2cents" and ".twocents" are not.

and currently we have:
    fb.new_check("Glyph names are all valid?")
    known_good_names = ['.notdef', '.null']

So I think we simply have to remove '.null' from the list of known good names and then we're settled with the single one expection to the "no name starting with a period" naming rule.

Unless someone can point me to a definitive list of exceptions to the rule, I'll assume that (as stated in the spec) '.notdef' is the only exception.

@davelab6 please review and close

I noticed that Jura-Regular.ttf does have the .null glyph. Should we accept it as valid even though (afaik) it is not mentioned in the spec ?
Or should Jura be fixed instead?

See "First Four Glyphs in Fonts" section of https://www.microsoft.com/typography/otspec/recom.htm
Thus Jura should be fixed

And we should have a test that they are there

ok, great!
So I'll bring back .null to the list of known_good_glyphnames
And Jura is perfectly fine.

@behdad Could you help me here? I don't know how to check for the presence of '.notdef' in a font using fonttools.

@behdad Could you help me here? I don't know how to check for the presence of '.notdef' in a font using fonttools.

Like, check that glyph0 is named '.notdef'?
font.getGlyphOrder()[0] == '.notdef'

thanks, @behdad :+1:

In OT 1.8, only .notdef is recommended now and the rest not mentioned.

.null is still mentioned in the CORL table spec. Apparently DirectWrite has some implementation detail that expects the glyph at index 1 be empty (non printable), but this only applies for CORL/CPAL color fonts, not all fonts.
If gid1 is non empty, then it will show up underneath all other color glyphs; this happens in Windows 10 on Google Chrome.
https://github.com/MicrosoftDocs/typography-issues/issues/346


Fix minor grammar mistakes in Russian translation

I added a few more fixes to Russian translation.
I actually should have added these fixes yesterday in my previous PR (https://github.com/feincms/feincms/pull/659), but I didn't notice these strings somehow, so here we are again :)

Thank you! :-)


kie-issues#785: Integrate the Boxed Expression Editor into the new DMN Editor properties panel making it possible to edit its cells

Closes: https://github.com/apache/incubator-kie-issues/issues/785; and
Closes: https://github.com/apache/incubator-kie-issues/issues/1018
Deployed version on https://ljmotta.github.io/kie-tools-demos/kie-issues-785/#/
This PR integrates the boxed expression editor into the new dmn editor properties panel.
Some general changes:

Improve the read-only constraint enum component
Fix small bugs on beeToDmn.ts
Regenerates all IDs and adds IDs to all missing xsd:ID objects on a DMN file. This action prevents cells with an "@_id" === undefined.
Fix Storybook source maps.
Disable shortcuts on boxed-expression-component Storybook.
Fix small bugs on boxed-expression-component.

Hello @ljmotta is available some deployed version of editor with your changes please? Would like to do some manual tests. Or do I need to build it locally on my own?

@jomarko The PR is not ready for review yet. As soon it's ready for review I'll publish it.

02 Output Constraint
For Output header cells, we have a Constraint section, however only if the column is bound to a Structure? Is that expected? Because currently for columns bound to built -in data types, we do display Constraint section at all.
Maybe of options below would make the situation more 'clear':

Do not display Constraint for any column, if that is currently never supported
Display Constraint always, and say explicitly if that is supported or not for a given column
maybe some other option

03 Data Type Constraint and Monaco Suggestion
probably unrelated to the changes in the PR, however wanted to mention it here so we track it somehow.
Please notice adding data type constraint in combination of monaco suggestion causes an 'invalid Z index' issue? we see a button over suggestions.

04 Commit the change
Imagine a situation like below, there is a cell selected and user put some description, a in our screenshot. Now imagine user want to proceed to the next cell, so he clicks to the next cell, the problem, maybe, maybe it is intended, is if user immediately click to another cell, then the a is committed into this second selected cell.
Initial state

Click to next cell

05 Function parameters
Are in the properties panel written the same font as other text, maybe small change of font would make the properties panel more readable?

vs. using bold

08 Back Compatibility
Opening an old model [1] has different result on legacy editor vs the new editor. please notice the decision table output header cell.
Legacy Editor

vs. New Editor

[1] https://raw.githubusercontent.com/redhat-cop/businessautomation-cop/master/testing-examples/cucumber-quarkus-example/src/main/resources/pricing.dmn

@jomarko Thanks a lot for your review! I'll answer the raised observations inline:
1 - We have opted to use only constraints from custom data types, instead of letting create constraints on the Decision Table header.
2 - As mentioned on 1, to create a constraint it’s necessary to create a custom data type, and not a Structure.
3 - It’s not related to this PR. I've confirmed on the dailydev env. Can you create a new issue so we can track this?
4 - This is a serious problem. I will take a look into it.
5 - I guess it would be good to incorporate this.
6 -

It shouldn’t be possible to change the node data type! Can you create an issue for this bug?
Regarding the boxed expression, we have disabled the option to open it.

7 -

We’re not tracking then, but I’ll add it to the 945 epic.
I’ll improve the comment. The disabled shortcuts are from Storybook and not from the Boxed Expression. It was causing a conflict with the Monaco editor.
The description is a tag of the DMN XSD. The @_ is a property of a tag.

8 - This is a bug on the dailydev environment too. Can you create an issue to track this?

@jomarko I've incorporated all your comments (4,5,7). Also, I've fixed all issues you've pointed out (3,6,8). The deployed page was updated. Please refresh the cookies to ensure you have the latest version (ctrl+shift+R)

Thank you for all updates and quick fix @ljmotta . I can confirm all points are fixed, however 08 seems still a little bit not ideal. When I open the model, in the output header of the decision table, the name is correct - Best Proce however it doesn't show number as data type, it still points to Undefined.

Is that expected somehow? I mean do older DMN versions specify DT output data type somehow incompatibly with DMN 1.5 spec so we can not derive it?

@jomarko I overlooked the issue, sorry. I've already addressed and updated the deployed version.

@jomarko The DT-simple-01 and DT-complex-01 were a bug I've introduced on the previous commits, and it affected all expressions. Thanks for spotting it. Regarding DT-simple-02, when a Decision Table has only one output column, the Decision Table Output Header cell represents two cells. The Decision and the Column itself, thus we have the Decision Name, Decision Type, Column Name and Column Type. This becomes evident when we create a new output column, and now we will not have the Decision Name, Decision Type.

@ljmotta thank you for explanation of the DT-simple-02. I have rechecked DT-simple-01 and DT-complex-02 using [1] and the sync mechanism works without an issue.
@tiagobento thank you for reminder about new expression types. I can confirm using [1] the For, Every and Some cause an issue [2]. On the other hand, If/Conditional is working ok.
[1]
https://ljmotta.github.io/kie-tools-demos/kie-issues-785
[2]

@jomarko This issue was on main, I need to rebase and update my version. But I'll need to fix a few more things on the idRandomizer file.

I can still see the issue for: For, Every and Some expression. I guess there are still some pending updates on your site? Please let me know once I should recheck the behavior.

@jomarko I've updated the deployed version. The last time you've tried it was missing a few adjustments. Now, it should work with the Iterator expressions.

@jomarko I've finish with the changes, and I've re-deployed the PR.


dynamically adding youtube video puts page into reload loop

Expected behaviour
youtube video should load on button click event
Actual behaviour
youtube iframe gets added to player div but forces page to reload
console msg: Loading failed for the

for info, the YT API uses window messages which was being overridden by my own messenger.


Cannot init pip package bad main() call logic -> from lfimap import main

└─$ python3
Python 3.11.6 (main, Oct  8 2023, 05:06:43) [GCC 13.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from lfimap import main
>>> main()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/kali/Desktop/leet_toolz/LFImap/lfimap.py", line 264, in main
    if args['param'] in config.url:
                        ^^^^^^^^^^
AttributeError: module 'src.configs.config' has no attribute 'url'. Did you mean: 'urls'?

Issue background:
When running python3 lfimap.py -h, interpreter looks for if(__name__ == "__main__") and enter this block, however once the program is imported as a module and main() is called (like pip configuration does/requires), it will error out, because checkArgs is not called at all in that case:
# Check command-line arguments
if not checkArgs():
    sys.exit(-1)

Should now be fine to init pip:
Python 3.11.6 (main, Oct  8 2023, 05:06:43) [GCC 13.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from lfimap import main
>>> main()
[-] Mandatory arguments ('-U', '-F' or '-R') unspecified. Refer to help menu with '-h' or '--help'.


how to remove vue meta

Version
2.6.10
Reproduction link
https://togiri.herokuapp.com/
Steps to reproduce
just see the source ctrl   u
What is expected?
theme should be #183650
favicon shoudl be there
favicon not show in another route
What is actually happening?
theme #4DBA87
favicon still using default vue

my guess is because vue override his own meta

Hi, thanks for your interest but Github issues are for bug reports and feature requests only. You can ask questions on the forum, the Discord server, gitter or StackOverflow.


MFA in s3 buckets

Using Terraform one can create an s3 bucket.
when the Terraform doesn't include the MFA feature, KICS identifies it as a high finding.
but, it's not possible to config MFA on buckets using Terraform.
A possible solution is to use AWS cli after the Terraform and then use Terraform refresh.
it might be a good idea to write something about it, in kics report.
Links about Terraform doesn't support MFA in IaC with buckets:
https://github.com/hashicorp/terraform-provider-aws/issues/629
https://github.com/hashicorp/terraform/issues/12973
Terraform refresh
https://www.hashicorp.com/blog/detecting-and-managing-drift-with-terraform
Terraform with MFA
bucketmfa.tf.txt

Specifications

Version: v1.3.2
Platform: Terraform
Subsystem:

There's a chance we can solve this once we get post tfplan scanning working https://github.com/Checkmarx/kics/issues/3903


@mzikherman - Save button logged out

For the sake of momentum, I'm going to try this extremely simple approach out and see if I can get a version into Force today.

So the idea is that when this component is used within Force, everything will work? (with the modal for auth replacing the full redirect)
If so, will this work in storybooks or do we need some sort of update there for this? I'm wondering how to work/dev on this locally from within reaction-force.

Yeah, this will not work in storybooks. Though for that matter, I'm not entirely clear on what the best way to simulate a global application state would be, or how we would even test routes in storybooks.

I'm not entirely clear on what the best way to simulate a global application state would be

Is that referring to ‘the current user’?

or how we would even test routes in storybooks

Yeah, we need to figure this out. Did you look into stubbing the Relay data rather than making actual requests?


chore: 🤖 update to latest polkadot dependencies

Description
use @polkadot/dev-ts as node loader for typegen to avoid errors
Breaking Changes
None
JIRA Link
DA-850
Checklist

[ ] Updated the Readme.md (if required) ?

Current versions of typegen want to run in a "type": "module" environment, however this would be a pretty big breaking change for us, and potentially our consumers.
Using the polkadot node loader allows the newer versions to be backwards compatible, so lets us upgrade to the latest versions.

:tada: This PR is included in version 22.0.0-beta.5 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fix compatibility with Ruby 2.0

public_method_defined? was not behaving like expected with Ruby 2.2
and was breaking __dir__

Thanks for the PR. I'm curious what the bug was. Could you give me an example?

Sure! It's was defining backward's __dir__ even with Ruby 2.2. Apparently public_method_defined? was with an unexpected behaviour, retuning false when it should be returning true:
irb(main)> Kernel.public_method_defined? :__dir__
=> false
irb(main)> Kernel.__dir__
=> "/home/vagrant/code/lotus"
irb(main)>

So, after load minispec/metadata, __dir__ just got broken, always returning the path which the gem was installed, for example: /home/vagrant/.rbenv/versions/jruby-<IP_ADDRESS>/lib/ruby/gems/shared/gems/minispec-metadata-3.2.0/tmp/coffee_shop instead /home/vagrant/code/lotus/tmp/coffee_shop

Important
I just noticed that the issue is with jRuby. Both MRI and jRuby responds false to Kernel.public_method_defined? :__dir__ (which is not expected, right?). But, when __dir__ get override it breaks on jRuby, apparently just File.dirname(File.expand_path(__FILE__)) isn't enough to mimic jRuby behaviour.

I see. I don't use JRuby, so I'll take your word for it.
Either way, after looking at where __dir__ was being used, I decided to just remove it. Only place it was used was to open README.md. But everybody using the gem could be affected by it. So I removed it.
Thanks for bringing it up.

Awesome, thanks :)


cleaned up some stuff

un merged.... broke chat event i believe and keyevent maybe, clickgui doesn't open lol and certain things like esp do not work, and commands (prolly cause of chat event).

:(

failed contributor


Primitive preset support

Add a button "Import settings" next to the "Restart SteamVR" button in the settings tab. The button should open a file picker, that starts from the root directory of ALVR and looks for .json files. The imported file should then be read as JSON and submitted to the driver through POST "/session" (like for saving settings normally).
Also add a dedicated page in the setup wizard with the same button (it should be after the tracking and performance presets page). The text body should explain to import a specific file if using the Oculus Go.

Done. Thanks @Ekristoffe!

Done. Thanks @Ekristoffe!


Navigation Property not saving with BulkInsert

I have used EFCore.BulkExtensions for about a year (.Net Core 3.1, SQL Server 2019) and in my experience, navigation properties would always automatically be populated, even if there is no explicitly defined reference column.
For example, following simple classes:
public class Customer
{
    public int ID { get; set; }
    public String Name { get; set; }
    public Cont Continent { get; set; }
}

public class Cont
{
    public int ID { get; set; }
    public String Name { get; set; }
}

When creating a List with properly populated "Cont" objects (with proper ID as it exists in the database) then I always had success that the customer table in the database had the implicitly created "ContinentID" column properly populated with the ID of the "Cont" object.
I upgraded to 3.6.1 and it stopped working: the ContinentID prop is always NULL for every single customer entity. The version I used before was 3.1 or thereabouts. However, downgrading back to 3.1 does not help. Tried to up- and downgrade to all sorts of version with no luck at all.
On low versions like 3.1.6 I get a different error
    The given value 'Customer' of type String from the data source cannot be converted to type int for Column 2 [ContinentID] Row 1.
    ----> System.FormatException : Failed to convert parameter value from a String to a Int32.
    ----> System.FormatException : Input string was not in a correct format.

but does not work.
Tried to use "IncludeGraph" but conceptually, that's the other way around really - it would try to insert "Cont" objects in above scenario if not existing yet. At least that's my understanding.
I found one way around it - adding the reference column explicitly in every entity (e.g. int property ContinentID in above example in the Customer class), and manually, in my code, populate the reference prop. Then it does work properly.
But do I HAVE to go that route? I have a  lot of entities.
Was there some sort of fundamental change, or a change in a related / dependent package which makes this no longer work? What is my route to handle this problem? Will an upgrade to EFCore 5 and BulkExtensions 5.x help?
I do not necessarily want to upgrade EFCore 5 since it's not LTS.

Navigation prop. support was added in 3.2.1 https://github.com/borisdj/EFCore.BulkExtensions/issues/139
You can check it on test ShadowFKPropertiesTest with ItemLink.
If still having issues try to alter that test to reproduce it.

Thanks.
Noticed that my code works perfectly with version 3.2.5.
Cannot find test ShadowFKPropertiesTest in the project.
The only test I can find regarding shadow properties has nothing to do with foreign keys, and only tests that we can manually set them and they are saved to the database. As mentioned, I know that this works.
What does not work is the automatic value assignment in case the shadow property is an automatic prop created for a foreign key relation. It does seem to work in some of the versions of the package.
Checked various package versions, here the result
3.2.5 		works, flag "EnableShadowProperties" not yet supported
3.3.0		works, flag "EnableShadowProperties" not yet supported
3.3.5		works both with EnableShadowProperties = false / true
3.3.6           works with EnableShadowProperties = false, gives duplicate column error with EnableShadowProperties = true
3.3.7		works with EnableShadowProperties = false, gives duplicate column error with EnableShadowProperties = true
3.3.8		works with EnableShadowProperties = false, gives duplicate column error with EnableShadowProperties = true
3.3.9           does not work, neither with EnableShadowProperties = true, or false
3.4.0		does not work, neither with EnableShadowProperties = true, or false
...
3.6.1		does not work, neither with EnableShadowProperties = true, or false
The duplicate column error (package versions 3.3.6 - 3.3.8) does not occur on every entity. Could not determine why it happens on some. Simple entities with a single foreign key relation don't seem to have a  problem.

I was referring to this Test: https://github.com/borisdj/EFCore.BulkExtensions/blob/ebc6d2786fd9e24f4820524330558cb00c3f19d4/EFCore.BulkExtensions.Tests/EFCoreBulkTestAtypical.cs#L432
or in v3 branch:
https://github.com/borisdj/EFCore.BulkExtensions/blob/53609bb6151bc0884692e68d513cfa773522074b/EFCore.BulkExtensions.Tests/EFCoreBulkTestAtypical.cs#L340
If you do not plan upgrading to v5 until 6 is fully released, which is soon, then keep it on v3.2.5 if it works fine.

I can keep it on 3.2.5
Did some more checking on this. I am noting what I found, in case it helps. From what I have seen the error might also be occuring in the 5 branch, undetected.
The test ShadowFKPropertiesTest is not so very good.
Occasionally the BulkInsert command inserts no records at all (silently with no error message), but there is no Assert for that in the test.
You do a BulkRead(entities), and this does not change "entities" if no data is returned, which means, in such a case, you may end up "testing" the entities collection you just created in memory, not what the database holds.
And even if BulkRead() would return an empty collection, the subsequent loop would not run and the
test passes, even though nothing was inserted at all.
(The "context.BulkDelete(context.ItemLinks.ToList());" at the end of the tests makes that also easy to miss in the database itself.)
I would prefer to just obtain the collection with dbContext.ItemLinks.ToList() to be sure, and do
an assert to make sure some records actually got inserted.
So instead of the following
        if (dbServer == DbServer.SqlServer)
        {
            context.BulkRead(entities);
            foreach (var entity in entities)
            {
                Assert.NotNull(entity.Item);
            }
        }

the code should be like this
        if (dbServer == DbServer.SqlServer)
        {
            List<ItemLink> links = context.ItemLinks.ToList();
            Assert.True(links.Count() > 0, "ItemLink row count");
            foreach (var link in links)
            {
                Assert.NotNull(link.Item);
            }
        }

Now this "not inserting any records" does not happen for every entity type.
Tested with 4 different classes, with integer and string type foreign keys,
and here is what I see:

some entity types get no records inserted
some entity types get the records inserted but foreign key property is NULL
none work properly

All of the above data is for version 3.6.1.
If we are using version 3.3.5, every test passes for every entity, so something seems broken after 3.3.5.

I have confirmed that FK remains Null even on current version.
The issue being current value is here null, not sure why.
https://github.com/borisdj/EFCore.BulkExtensions/blob/ebc6d2786fd9e24f4820524330558cb00c3f19d4/EFCore.BulkExtensions/SQLAdapters/SQLServer/SqlServerAdapter.cs#L688

I see the test for this only covers SQL server. Is Postgres unsupported for shadow FKs?  If so is there any work around other than adding the ID field directly into the parent entity?  I am trying to attach existing objects as FKs to entities to insert/update.  The object structure is the same as napdevs original example.

Having this problem on latest version.
BulkSave and BulkInsert both are inserting int foreign key as 0, which shouldn't even commit to database because it violates foreign key constraint, but then triggers a failure on a subsequent save on the same context.

I'm having trouble with this for current version, EFC 6, .NET 6
using
        {
            SetOutputIdentity = true,
            IncludeGraph = true,
            TrackingEntities = true
        }

Bulk operations try to insert 0 for the key instead of observing auto generated values
If I do not supply a config, it inserts correctly but does not emit identity values


Update top-onboarding.md - Fixing DL names to join

Update top-onboarding.md - Fixing DL names to join

Hey Praveen - please submit the PR to this folder in docs repo - https://msazure.visualstudio.com/One/_git/AzureUX-PortalFx?path=%2Fdocs%2Fportal-sdk%2Ftemplates&version=GBdev


Add Android production deploy lane

Details
Adds Android production deploy lane, which will allow us to move a version from internal testing to production via GitHub actions.
Fixed Issues
Fixes https://github.com/Expensify/Expensify/issues/155198
Tests
I tested this locally and it did not throw any errors, we will need to test this further when we wire everything together.
andrew ➜ Expensify.cash VERSION=1000001492
andrew ➜ Expensify.cash bundle exec fastlane android production
[✔] 🚀
[15:44:18]: ---------------------------
[15:44:18]: --- Step: opt_out_usage ---
[15:44:18]: ---------------------------
[15:44:18]: Disabled upload of used actions
[15:44:18]: Driving the lane 'android production' 🚀
[15:44:18]: ---------------------------------------------
[15:44:18]: --- Step: google_play_track_version_codes ---
[15:44:18]: ---------------------------------------------
[15:44:19]: Found '1000001492' version codes in track 'internal'
[15:44:19]: ----------------------------------
[15:44:19]: --- Step: upload_to_play_store ---
[15:44:19]: ----------------------------------

+---------------------------------+-----------------------------------------+
|                        Summary for supply 2.176.0                         |
+---------------------------------+-----------------------------------------+
| package_name                    | com.expensify.chat                      |
| json_key                        | ./android/app/android-fastlane-json-ke  |
|                                 | y.json                                  |
| track                           | internal                                |
| track_promote_to                | production                              |
| rollout                         | 1.0                                     |
| skip_upload_apk                 | true                                    |
| skip_upload_aab                 | true                                    |
| skip_upload_metadata            | true                                    |
| skip_upload_changelogs          | true                                    |
| skip_upload_images              | true                                    |
| skip_upload_screenshots         | true                                    |
| release_status                  | completed                               |
| validate_only                   | false                                   |
| check_superseded_tracks         | false                                   |
| timeout                         | 300                                     |
| deactivate_on_promote           | true                                    |
| ack_bundle_installation_warning | false                                   |
+---------------------------------+-----------------------------------------+

[15:44:21]: Uploading all changes to Google Play...
[15:44:23]: Successfully finished the upload to Google Play

+------+--------------------------+-------------+
|               fastlane summary                |
+------+--------------------------+-------------+
| Step | Action                   | Time (in s) |
+------+--------------------------+-------------+
| 1    | opt_out_usage            | 0           |
| 2    | google_play_track_versi  | 1           |
|      | on_codes                 |             |
| 3    | upload_to_play_store     | 3           |
+------+--------------------------+-------------+

[15:44:23]: fastlane.tools finished successfully 🎉

Conflicts from https://github.com/Expensify/Expensify.cash/pull/1643

Just tested this once more and I believe it's working as expected:
andrew ➜ Expensify.cash VERSION=1.0.2-7
andrew ➜ Expensify.cash bundle exec fastlane android production
[✔] 🚀
[12:39:37]: ---------------------------
[12:39:37]: --- Step: opt_out_usage ---
[12:39:37]: ---------------------------
[12:39:37]: Disabled upload of used actions
[12:39:37]: Driving the lane 'android production' 🚀
[12:39:37]: ---------------------------------------------
[12:39:37]: --- Step: google_play_track_version_codes ---
[12:39:37]: ---------------------------------------------
[12:39:39]: Found '1000001495' version codes in track 'internal'
[12:39:39]: ----------------------------------
[12:39:39]: --- Step: upload_to_play_store ---
[12:39:39]: ----------------------------------

+---------------------------------+-----------------------------------------+
|                        Summary for supply 2.176.0                         |
+---------------------------------+-----------------------------------------+
| package_name                    | com.expensify.chat                      |
| json_key                        | ./android/app/android-fastlane-json-ke  |
|                                 | y.json                                  |
| track                           | internal                                |
| track_promote_to                | production                              |
| rollout                         | 1.0                                     |
| skip_upload_apk                 | true                                    |
| skip_upload_aab                 | true                                    |
| skip_upload_metadata            | true                                    |
| skip_upload_changelogs          | true                                    |
| skip_upload_images              | true                                    |
| skip_upload_screenshots         | true                                    |
| release_status                  | completed                               |
| validate_only                   | false                                   |
| check_superseded_tracks         | false                                   |
| timeout                         | 300                                     |
| deactivate_on_promote           | true                                    |
| ack_bundle_installation_warning | false                                   |
+---------------------------------+-----------------------------------------+

[12:39:41]: Uploading all changes to Google Play...
[12:39:45]: Successfully finished the upload to Google Play

+------+--------------------------+-------------+
|               fastlane summary                |
+------+--------------------------+-------------+
| Step | Action                   | Time (in s) |
+------+--------------------------+-------------+
| 1    | opt_out_usage            | 0           |
| 2    | google_play_track_versi  | 1           |
|      | on_codes                 |             |
| 3    | upload_to_play_store     | 5           |
+------+--------------------------+-------------+

[12:39:45]: fastlane.tools finished successfully 🎉

Checked the dashboard and 1.0.2-7 is in review for full rollout to production:


TF Lite Benchmark does not compile on aarch64(RK3399)

System information

OS Platform and Distribution: Debian 9.12
Mobile device: development board of RK3399 (Based on Big.Little architecture, it integrates dual-core Cortex-A72and quad-core Cortex-A53 with separate NEON coprocessor)
TensorFlow installed from (source or binary): source
TensorFlow version: 2.2.0
Python version: 3.5.3
Installed using virtualenv? pip? conda?: N/A
Bazel version (if compiling from source): 2.0.0
GCC/Compiler version (if compiling from source): 6.3.0
CUDA/cuDNN version: N/A
GPU model and memory: Mali T860 MP4

Describe the problem
bazel build -c opt tensorflow/lite/tools/benchmark:benchmark_model cannot successfully build the binary of benchmark.
Any other info / logs
ERROR: /media/linaro/9aced46d-1704-4d54-8f78-7bb9c3cc8def/tmp/_bazel_linaro/d6df223f3277e5d3a224cafaa5ad64da/external/XNNPACK/BUILD.bazel:1910:1: C++ compilation of rule '@XNNPACK//:asm_ukernels' failed (Exit 1)
external/XNNPACK/src/f32-igemm/gen/6x8-minmax-aarch64-neonfma-ios.S:1:0: error: unknown value 'armv8.2-a+fp16' for -march
// Auto-generated file. Do not edit!
Target //tensorflow/lite/tools/benchmark:benchmark_model failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 152.931s, Critical Path: 58.65s
INFO: 81 processes: 81 local.
FAILED: Build did NOT complete successfully
Please let me know if anything else is needed to compile the benchmark on aarch64.

armv8.2-a+fp16 is not available in gcc before 7. Either use newer gcc or change the compilation options used by XNNPACK.
See https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/architecture-support

@wangg
Please update as per above comment

It compiles perfectly after I switch to GCC 10.1. Thanks for the help.

Is there any way to solve this problem with GCC-8.2.0?


Initial routing of network events to replay interface code.

This is just an initial stab.  Once we start converting events over one by one, we might need to modify this code to send different bits of info with the message.
I'm just pulling forward some basic initial info so we can start playing with how to associate all the events to the appropriate requests, streams, etc.

I encountered another issue with the NewBookmark call in https://github.com/replayio/chromium/pull/144, where we only can that call on the main thread, so this PR will need to be updated to handle that situation as well.

@bhackett1024 I fixed all of the conditionals to ensure main thread.  Reason being that it doesn't make sense if they're on different threads in the first place.  The C++ vec keeping the events is racy and not mutex-wrapped.

Imma land this now.  If checking for main-thread in all the event-handling code is an issue I'll fix that up later.


Make clearer separation of isolated sessions

What do these changes do?
Make clearer separation of isolated sessions by allowing registering on address schemes.
Related issue number

Fixes #xxxx
Check code requirements

[ ] tests added / passed (if needed)
[ ] Ensure all linting tests pass, see here for how to run them

LGTM, but Codacy Static Code Analysis failed, could you fix it?

I think all these issues brought by Codacy are legacy and caused by code movement.


You have been Featured/Recommended in eMagazine

Hello Creators of YOUTUBE-DL, We liked your work so much that we shared and recommended it to be used in our eMagazine on Page 8 (titled: The Replacer In Your Shells) of Smart Indies 15 August 2015. You can read it on PC/MAC/SMARTPHONE/TABLETs in ZOOM FULL SCREEN. Link: https://www.facebook.com/smartindies.officialpage/posts/1013835621993802

Offtopic.


adding new XAI dependecy

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (0f9f955) 98.40% compared to head (8b54d3d) 98.40%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #98   +/-   ##
=======================================
  Coverage   98.40%   98.40%
=======================================
  Files           8        8
  Lines         566      566
=======================================
  Hits          557      557
  Misses          9        9

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Resolved by #107


Add IQGT token

Official announcement: http://iqgt.club/
Project team background:
The IQG team was established in December 2019 and started design and development. The founder, Michael, Ph.D., Senior entrepreneur and expert in the Internet field. He has been working in the mobile Internet field for more than ten years and has studied the blockchain industry for five years. Doctor of computer, good at big data processing, image processing, cloud computing, etc .; blockchain technology preacher, software development, virtual trading technology and other senior engineers, have participated in the development of large-scale blockchain underlying systems.
Project basic information:
IQG is a global open miner alliance chain based on blockchain, dedicated to creating a new digital asset IQGT, which has the characteristics of globalization, multi-domains, no borders, easy operation, fast circulation, and wide audience.A breakthrough in lowering the threshold of international financing and broadening the social financing market. Its direct sales and crowdfunding method is an economic way to grab the bottom of social income. Its biggest benefit is to pull in the gap between the rich and the poor, promote everyone's participation, and provide a platform for common prosperity for all sectors of society.
Recommended Gas Limit (For ERC-20 project teams) for transaction: 60,000

欢迎在社区中推荐用户使用 imToken 2.0 管理资产。


"Maximum call stack size exceeded" when Generating ES5 bundles

🐞 Bug report
Command (mark with an x)

[ ] new
[x] build
[ ] serve
[ ] test
[ ] e2e
[ ] generate
[ ] add
[ ] update
[ ] lint
[ ] xi18n
[ ] run
[ ] config
[ ] help
[ ] version
[ ] doc

Is this a regression?
Yes, this is a regression. Downgrading @angular-devkit/build-angular to 0.801.2 fixes the issue and ES5 bundles can be created successfully.
Description
 A clear and concise description of the problem...
ES5 bundles fail to be generated with the error "Maximum call stack size exceeded". In my case, I am building an application with Ionic, which leverages ES5. This appears to have been introduced with this commit.
🔬 Minimal Reproduction
I have created a repository that demonstrates this bug.

Checkout https://github.com/devinshoemaker/repro-max-call-stack
npm install
ng build

If you downgrade @angular-devkit/build-angular then build will complete successfully.

npm install<EMAIL_ADDRESS>ng build

Issues that don't have enough info and can't be reproduced will be closed.
🔥 Exception or Error

Generating ES5 bundles for differential loading...
An unhandled exception occurred: Call retries were exceeded
See "/private/var/folders/g8/67bzwl0j545gpglt_9z4k8dw0000gn/T/ng-vOpJ85/angular-errors.log" for further details.

🌍 Your Environment

     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/

Angular CLI: 8.3.21
Node: 10.17.0
OS: darwin x64
Angular: 8.2.14
... common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.803.21
@angular-devkit/build-angular     0.803.21
@angular-devkit/build-optimizer   0.803.21
@angular-devkit/build-webpack     0.803.21
@angular-devkit/core              8.3.21
@angular-devkit/schematics        8.3.21
@angular/cli                      8.3.21
@ngtools/webpack                  8.3.21
@schematics/angular               8.1.3
@schematics/update                0.803.21
rxjs                              6.5.4
typescript                        3.5.3
webpack                           4.39.2

Duplicate of https://github.com/angular/angular-cli/issues/16515

@devinshoemaker, thanks a lot for the repo. Will post it in other issue.

To confirm behavior, I can reproduce ng build failing.
But the following were successful:
ng build --source-map=false
ng build --prod
ng build --prod --source-map

@devinshoemaker Can you confirm the above on your machine?

@clydin, I got the same results.

@clydin I got the same results as well.

@devinshoemaker If you have some time can you try one more thing?  Add the following source map options to the build target options object (note the vendor: true part) and try an ng build:
            "sourceMap": {
              "scripts": true,
              "styles": true,
              "vendor": true
            }

@clydin adding that to my angular.json resulted in a successful build.

@devinshoemaker If you have some time can you try one more thing? Add the following source map options to the build target options object (note the vendor: true part) and try an ng build:
            "sourceMap": {
              "scripts": true,
              "styles": true,
              "vendor": true
            }

This worked for me too, But I have no idea why.
Your other solution works as well: https://github.com/angular/angular-cli/issues/16515#issuecomment-572625203
Also runing ng build --prod works for me.
2nd and maybe 3rd suggest this is a memory problem which for me makes some sense, but every single error I've had mentions node_modules\jest-worker\build\workers\processChild.js, also everyone who pasted a log when creating an issue like this mentions jest-worker. Yet my project has no test written yet at all. Is no one suspicious of this? Could this be some jest bug?

@aledujke have you updated your Angular version? This was fixed for me in a more recent update.

I had to downgrade from ^0.803.25 (after running an ng update @angular/cli@^8) to 0.801.2 to get round the issue when trying to run a non-prod ng build --stats-json:
An unhandled exception occurred: Call retries were exceeded
---
[error] Error: Call retries were exceeded
    at ChildProcessWorker.initialize (/sanitized/node_modules/jest-worker/build/workers/ChildProcessWorker.js:193:21)
    at ChildProcessWorker.onExit (/sanitized/node_modules/jest-worker/build/workers/ChildProcessWorker.js:263:12)
    at ChildProcess.emit (events.js:321:20)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)

I got around the issue with the latest "@angular-devkit/build-angular": "^0.803.25", by running node --max_old_space_size=4096 node_modules/@angular/cli/bin/ng build --stats-json as suggested by clydin here: https://github.com/angular/angular-cli/issues/16515#issuecomment-572625203
The --max_old_space_size flag is discussed here: https://github.com/nodejs/node/issues/7937

@devinshoemaker yes it is fixed for me too now.


Default files contain a newline

The default files created with punch --init contain a starting newline that shall be removed

Solved in 1.1.1


Multi select is stopping event propogation

Hello @jameskerr ,
I am facing a issue , onClick i am selecting nodes (selectMulti) , since the shift key is down the event propogation is stopped and preventing my component(contextMenu) from opening up.
please suggest a solution or a work around this issue , thanks !

Wow, I am just now experiencing a similar issue.
If I have rendered the tree component, then elsewhere in our app, this event is no longer firing
useEffect(() => {
const handleDragEndGlobal = () => {
handleDragEnd()
}
document.addEventListener('dragend', handleDragEndGlobal)

return () => {
  document.removeEventListener('dragend', handleDragEndGlobal)
}

}, [])
Why is rendering the tree component preventing this event to no longer fire? Thank you for any info.

Not sure if this will fix your issue, but it fixed my above issue - see - https://github.com/brimdata/react-arborist/issues/17
Specifically in my case, using the tree's parent as the element to pass as the root element for the dndRootElement prop
  <div ref={treeContainerRef} className="relative flex h-full min-h-0 flex-col " // Set this div as a flex container > {treeContainerRef.current && ( <Tree dndRootElement={treeContainerRef.current} ref={treeRef} data={treeData} // etc. > {HierarchyPanelTreeNode} </Tree> )} </div>


Add release for environments without npm

Issue Description
npm is required to install. A tarball could be added to the releases page and installed with kibana -i https://github.com/elasticfence/kaae/master.tar.gz

Hi @mterron and Thanks for your feedback!
The tarball is not yet in place as KaaE is still considered in development and a package might provide the false impression of this being ready for production. The main blocker is the scheduler not reloading, I'll add this feature and an automated build this week as per our other projects/plugins.

temporarily... https://github.com/elasticfence/kaae/releases/tag/snapshot


changed map height

Fixes Issue
Users facing difficulty in scrolling the map section in mobile phones and tabs because of the large height and the lesser margin of the map in the map section.

Closes #8558
Changes proposed

Decreased the height of the map and its container for screen width lesser than 1000px. Also increased margin for the map container for screen width lesser than 1000px.

Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[x] All new and existing tests passed.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

Screenshots

Looks good to me!

No activity for over 2 weeks, so I will close this pull request. I have made the changes and I will try to add you both to the commit when merging https://github.com/EddieHubCommunity/BioDrop/pull/8902


[UI bug] UI quirk in the card items

There is a UI quirk in the card items. There is extra black space by the right & left of these card items:

Expected behaviour
There shouldn't be this black space. The Image should cover that space too.

I would like to take this

Sure :+1:


fix: remove sentry + github api deps

allows dashboard to be deployed w/o SENTRY_DSN & GITHUB_API_TOKEN
if not set, contributors won't show up nor errors reported

📝 Changed routes:

/open-source

(view full size)

Commit 9b2945bcbcd0ee8b390095728094643019e905b5 (https://thirdweb-bfigfrsz9.thirdweb-preview.com).


Remove the CPFP output of the Spend for deployments without Cosigning Servers

They can always RBF which is:

More cost efficient to them
Less expensive in sats and logic (eg dust) to everyone

Related to #104

I think it makes more sense to have it as optional. It may be better in some cases to rely on CPFP if the burden of coordinating managers is already high.

Yes. From the meeting Yesterday i think we are rather leaning toward:

Make CPFP outputs optional
Implement an "RBF" feature (only possible for deployments without cosigning servers)

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
Le mardi 11 janvier 2022 à 12:51 PM, JSwambo @.***> a écrit :

I think it makes more sense to have it as optional. It may be better in some cases to rely on CPFP if the burden of coordinating managers is already high.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.Message ID: @.***>

Closing in favour of #104 .


Example / README aren't up-to-date anymore

Looks like the API diverged from the example.

Hi! So sorry!
I was in the middle of refactoring some stuff but got sidetracked with work these past two weeks. I honestly didn't think people would be using this yet! 😅
I'll get this updated asap!

Please lemme know if you need any more help! Should note this library is still using v4.5.0 of the protocol so you may find some events are not available.

Nice, thanks for updating! I'm planning to use this as a replacement for go-obs-websocket in obs-cli and obs-scene-switcher once it's ready and supporting the latest protocol.

Hi @muesli - just wanted to let you know I got this updated to using v4.9.1 of the protocol!
https://github.com/andreykaipov/goobs/releases/tag/v0.5.0
Please lemme know if you have any other comments or concerns!

@andreykaipov Fantastic! Will try to integrate this in obs-cli & obs-scene-switcher and report back!


[INFRA-2347] Shorten plugin name

This plugin caused INFRA-2347 due to a path length limitation. I worked around that in https://github.com/jenkins-infra/update-center2/pull/314 by blacklisting the old plugin ID.
As the plugin name violates the naming convention anyway, work around that limitation by shortening it.
FYI @olamy

@daniel-beck I filed #1351 with additional changes for this plugin, so you could either merge this PR and then I'll merge into my PR, or you could close this.


Create a Readme File and add detailed structure about the project

Here is an example

Hi @kumarshantanu01,
Please assign this issue to me. I'd like to work on it under Hacktoberfest 2023.
Thank you!


Build byte code files in CI, remove from git tree

Previously we have been checking-in the byte code files, but this is undesirable for many reasons. Most of the work here is a rip from https://github.com/TBD54566975/tbdex-rs/pull/96
I've also removed the jitpack.yml because that will no longer function with the removal of the byte code files from source control.
@ALRubinger @leordev I went as far as to run Maven tests, but could we go ahead and add snapshot deployments? I don't want to go the full 9-yards and add releases, but if we could go ahead and deploy snapshots then that would be a big win for cross-project integrations (since I'm removing the JitPack integration here).

@leordev @ALRubinger I've added you as CODEOWNERS, lmk if you'd prefer to not be


Mapping a RegularFileProperty from one task to a Property in another task in an included build fails on second run with configuration cache enabled

I have an included build that defines a plugin and some tasks. The plugin is applied by my Android project. If I have configuration cache enabled on the main project, then the second+ time I run the bump task, the build fails.
abstract class ShouldSkipTask : DefaultTask() {
  init {
    outputs.upToDateWhen { false }
  }

  @get:OutputFile
  abstract val shouldSkipProp: RegularFileProperty

  @TaskAction
  fun shouldSkip() {
    shouldSkipProp.get().asFile.writeText("true")
  }
}

abstract class BumpTask : DefaultTask() {
  init {
    outputs.upToDateWhen { false }
  }

  @get:Internal
  abstract val shouldSkipProp: Property<Boolean>

  @TaskAction
  fun bump() {
    if(shouldSkipProp.getOrElse(false)) {
      println("Skip")
    }
    else {
      println("Didn't Skip")
    }
  }
}

class IncludeBuildPlugin : Plugin<Project> {
    override fun apply(target: Project) {
        val skipTask = target.tasks.register("shouldSkip", ShouldSkipTask::class.java) {
            it.shouldSkipProp.set(target.layout.buildDirectory.file("should_skip.txt"))
        }

        target.tasks.register("bump", BumpTask::class.java) {
            // as a possibly related issue, if this dependsOn is removed, a different error occurs
           // Failed to query the value of task ':app:bump' property 'shouldSkipProp'.
           //   Querying the mapped value of task ':app:shouldSkip' property 'shouldSkipProp' before task ':app:shouldSkip' has completed is not supported

            it.dependsOn(skipTask)
            it.shouldSkipProp.set(
                skipTask.flatMap { skip ->
                    skip.shouldSkipProp.map { skipFile ->
                        skipFile.asFile.readText() == "true"
                    }
                }
            )
        }
    }
}

If I change BumpTask.shouldSkipProp to a RegularFileProperty and set it using:
            it.shouldSkipProp.set(
                skipTask.flatMap { skip ->
                    skip.shouldSkipProp
                }
            )

then the build works.
Steps to Reproduce
Repro project
Run gradle :app:bump
Your Environment
Gradle 7.2
Build scan URL: Appears that because of the error, a scan is not generated

This is no longer reproducible with 7.5-rc-3.

Fixed in 7.5.


Make IcedWindow match newer baseview API.

It seems that a recent commit to baseview added an additional parameter
to the on_frame function for the WindowHandler trait. Since it seems
like that variable isn't used, I simply added it to the function signature.

Ah, I see that you've already made these changes. Closing.


Made changes to the file in order to pass the pt file

Closes the issue #109.
I believe that there are still few changes to be made, any advise is welcome.

@abhigya-sodani can you do a review?

Hey, just tested your branch, I dont think you are passing the new model when we generate a completion using call_small, only when we refinetune call small. I.e look at like 238 of optimize.py

The model path will be stored in **kwargs which is being passed when the small_model is called in the line 238 and the CALL_SMALL in line 64 of client.py first checks if the path is given and would load the model if given and then proceed to call the generate function.

whats a an example test script that would demonstrate and exercise this change?

So the end user can pass the parameter small_model_filename while calling the complete function like shown below:
# import our client
from llm_vm.client import Client
from llm_vm.config import settings
import os

# Instantiate the client specifying which LLM you want to use
client = Client(big_model='neo', small_model='pythia')

# specify the file name of the finetuned model to load
small_model_filename = '2023-08-06T13:18:12_pythia-70m-deduped.pt'
# big_model_filename = '2023-08-06T13:18:12_gpt-neo-1.3B.pt'

# Put in your prompt and go!
response = client.complete(prompt = "Answer question Q. ",context="Q: What is the currency in myanmmar",
                           openai_key=settings.openai_api_key,
                           small_model_filename=small_model_filename,
                           finetune=True)
print(response)

But I don't see the model being updated and I'm unable to trace since the functions being called are asynchronous. And could you tell me what sort of script should I run in order to pass the if condition in line 236 and call the self.call_small() in line 238 of optimize.py?

right now you shouldn't have to pass a model in for it to use a trained model, that should be stored in the c_id.  Line 234 gives us if a given cid already has a model assigned to it
model = self.storage.get_model(c_id)

this is the model that we need to load for generation and finetuning. It should be done whenever a prompt with a context window that has already been finetuned for (i.e a cid that already has a model for it stored in memory) is called again. Right now this "memory" only exists within a singular runtime so the way I test it is :
#! /usr/bin/env python3
# import our client
from llm_vm.client import Client
import os
import time
#from llm_vm.config import settings
# Instantiate the client specifying which LLM you want to use
client = Client(big_model='chat_gpt', small_model='pythia')

# Put in your prompt and go!
response = client.complete(context= "Answer question Q. ",prompt="Q: What is the currency in myanmmar",
                           openai_key="",
                           temperature=0.0,
                           data_synthesis=True,
                           finetune=True,)
print(response)
time.sleep(60)
response = client.complete(context= "Answer question Q. ",prompt="Q: What is the economic situation in France",
                           openai_key="",
                           temperature=0.0,
                           data_synthesis=False,
                           finetune=False,)
print(response)

The delay is there to give the async pythia training time to complete before making the second call. Notice how the context is the same for both calls, so for the second call the trained model should be used. I think the current quickstart_finetune has the prompt and context parameters reversed right now.

Tested and seems to work
@cartazio do you want to review before we push.
Also @mmirman let's send some merch over

I’ll take a close reading tomorrow / Monday
On Fri, Aug 11, 2023 at 7:25 PM abhigya-sodani @.***>
wrote:

Tested and seems to work
@cartazio https://github.com/cartazio do you want to review before we
push.
Also @mmirman https://github.com/mmirman let's send some merch over
—
Reply to this email directly, view it on GitHub
https://github.com/anarchy-ai/LLM-VM/pull/111#issuecomment-1675513541,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAABBQV5QMATVSUFSCQCGA3XU25PDANCNFSM6AAAAAA3GPQU6Q
.
You are receiving this because you were mentioned.Message ID:
@.***>

@cartazio did you get a chance to review?

nope, forgot, i'll look later today / tomorrow
On Mon, Aug 14, 2023 at 1:38 PM abhigya-sodani @.***>
wrote:

@cartazio https://github.com/cartazio did you get a chance to review?
—
Reply to this email directly, view it on GitHub
https://github.com/anarchy-ai/LLM-VM/pull/111#issuecomment-1677792911,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAABBQR65CM5LUOSA3O2K5LXVJPCRANCNFSM6AAAAAA3GPQU6Q
.
You are receiving this because you were mentioned.Message ID:
@.***>


✏ Fix typo in detail string

fix typo (email -> string)

Thanks @kevinliao852! ☕
It seems this was covered in another PR, so I'll close this one. But thanks for the effort!


feat: custom metadata on upload

What kind of change does this PR introduce?
Feature
What is the new behavior?
We can now pass custom metadata (up to 1MB) to:

[x] Standard uploads
[x] Tus Uploads
[x] S3 Uploads

FInally closes https://github.com/supabase/storage/issues/439

Thank you!

Is there any documentation or example for passing metadata through TUS (e.g. https://github.com/supabase/supabase/blob/master/examples/storage/resumable-upload-uppy/index.html)?


improve livness-command for sleep

Please provide a description of this PR:
improve livness-command for sleep

@my-git9: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-telemetry-istiodremote_istio
da4f50d7cc31f2714f5a2ad9d803d75fc2d7447b
link
true
/test integ-telemetry-istiodremote

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.

/test integ-telemetry-istiodremote


tweak: enable bash-language-server for other shells

Describe your changes
Add other shells to bash-language-server languages because it would work for other shell configuration files as well.
Checklist before requesting a review

[x] I have successfully tested installation of the package.
[x] I have successfully tested the package after installation.

Screenshots

This won't enable the language server for other shells inside Neovim, just list it for those shells

You're correct. I'll fix the wording.


build: Use sass instead of the deprecated node-sass library

https://sass-lang.com/blog/libsass-is-deprecated
Closes #6483

The following vulnerabilities have been detected:
src/webapp/yarn.lock »<EMAIL_ADDRESS>– Template injection in ejs (critical severity)
  ↪ https://github.com/advisories/GHSA-phwq-j96m-2c2q
src/webapp/yarn.lock »<EMAIL_ADDRESS>– Server-Side Request Forgery in Axios (high severity)
  ↪ https://github.com/advisories/GHSA-4w2v-q235-vp99
src/webapp/yarn.lock »<EMAIL_ADDRESS>– Incorrect Comparison in axios (high severity)
  ↪ https://github.com/advisories/GHSA-cph5-m8f7-6c5x
src/webapp/yarn.lock »<EMAIL_ADDRESS>– Improper Verification of Cryptographic Signature in node-forge (high severity)
  ↪ https://github.com/advisories/GHSA-cfm4-qjh2-4765
src/webapp/yarn.lock »<EMAIL_ADDRESS>– Improper Verification of Cryptographic Signature in node-forge (high severity)
  ↪ https://github.com/advisories/GHSA-x4jg-mjrx-434g
src/webapp/yarn.lock »<EMAIL_ADDRESS>– Open Redirect in node-forge (moderate severity)
  ↪ https://github.com/advisories/GHSA-8fr3-hfg3-gpgp
src/webapp/yarn.lock »<EMAIL_ADDRESS>– Improper Verification of Cryptographic Signature in `node-forge` (moderate severity)
  ↪ https://github.com/advisories/GHSA-2r2c-g63r-vccr
src/webapp/yarn.lock »<EMAIL_ADDRESS>– URL parsing in node-forge could lead to undesired behavior. (low severity)
  ↪ https://github.com/advisories/GHSA-gf8q-jrpm-jvxq
src/webapp/yarn.lock »<EMAIL_ADDRESS>– Prototype Pollution in node-forge debug API. (low severity)
  ↪ https://github.com/advisories/GHSA-5rrq-pxf6-6jx5
src/webapp/yarn.lock »<EMAIL_ADDRESS>– Command injection in simple-git (high severity)
  ↪ https://github.com/advisories/GHSA-3f95-r44v-8mrg
src/webapp/yarn.lock »<EMAIL_ADDRESS>– Command injection in simple-git (high severity)
  ↪ https://github.com/advisories/GHSA-28xr-mwxg-3qc8
src/webapp/yarn.lock »<EMAIL_ADDRESS>– OS Command Injection in node-notifier (moderate severity)
  ↪ https://github.com/advisories/GHSA-5fw9-fq32-wv5p
src/webapp/yarn.lock »<EMAIL_ADDRESS>– node-ipc behavior change (low severity)
  ↪ https://github.com/advisories/GHSA-3mpp-xfvh-qh37

They probably all previously existed. We ought to address them, but that can be done in a separate PR. This PR is sufficient for us to use Node v16, which would previously run into build failures when building libsass.


Cosmos DB database and collection create commands are not idempotent

The Cosmos DB integration in the Azure CLI has some inconsistent behaviour when compared to the Storage provider, around how creating databases and collections work.
In Storage, commands like az storage collection create are idempotent - if the collection already exists then the command doesn't fail, but instead returns a JSON object indicating that nothing was created.
In Cosmos DB though, executing az cosmosdb database create or az cosmosdb collection create will fail with a process exit code if the database/collection already exists.
In Storage, there is a --fail-on-error flag that we can set if we want an error to be thrown. I would much prefer that Cosmos DB have the same behaviour - no error by default, but an error if explicitly requested. This makes it much easier to integrate the Azure CLI steps into build and release pipelines. Having error exit codes for expected states like this can be very difficult to manage with many build and release tools.

Any updates on this issue?  I am currently trying to get a build step in our CI pipeline to make sure that a cosmos db collection is created if it doesn't exist(as it is required for a step further down the release pipeline).  Currently this is not possibly via azure cli and requires maintaining multiple build steps/captured output to first check if the collection exists and then conditionally call the next build step based on that output.

I've just noticed this too.

Hi @johndowns thank you for raising this issue. We are currently working on changing the way databases and collections are accessed by the CLI. Currently, the CLI uses "azure-cosmos", which is a data-plane python package. Soon, the CLI will instead access collections and databases through our resource provider.
When this change is made, the collection create command will be idempotent. The implementation will be very similar to the current implementation of creating a database account, which does not throw an error when the account already exists. The target date for completion of this work item (416566) is September. We will keep you updated as work progresses.

Hi, in CLI version 2.0.71, we released a preview version of the new database and collection management commands. These commands are idempotent and do not throw an error if the resource already exists. Each API has their own command group.
For example, az cosmosdb mongodb database create returns the state of the database resource when run multiple times.


fixes use of mkstemp and associated file-descriptor-leaking behavior

I was pretty surprised to find this behavior - but it showed up while running lots of independent simulations serially under the same process - the OS (Mac/*nix) said it reached the open-file limit.  Investigation revealed that mkstemp returns a file descriptor ready for r/w - even though epanet later opens this file under a different handle, closes the second handle, and removes the file - without closing the (leaked) descriptor.
This workaround uses mkstemp to only create the file name from the template provided. The temp file created is closed and unlinked.

Just out of curiosity, do the files stay opened after your app terminates, thereby preventing file access by any newly launched app or does the OS free all of them?

The OS will clean up the file descriptors in some way that is mysterious to me - maybe just because the process owns them, and when the process dies the descriptors go away. In any case on Mac, the ulimit is configurable but by default is pretty low.

@samhatchett was there any specific reason for #including unistd.h in the changes made to project.c? This header file, which provides access to POSIX, doesn't seem to be needed for the new lines that were added to the getTmpName() function and is not included with MS VC.

@LRossman you are right - I think I started to use unlink which is posix, but replaced it with the more-standard remove call. I will revert that include line. Thanks!

#533

actually @LRossman - turns out that removing unistd.h gives a warning:
warning: implicit declaration of function 'close' is invalid in C99

How about replacing the current code with this:
    strcpy(fname, "enXXXXXX");
    FILE *f = fdopen(mkstemp(fname), "r");
    fclose(f);
    remove(fname);

which should compile with just using stdio.h.

this would work, as would conditional inclusion of unistd.h - since the close-containing code is only compiled on *nix-like systems anyway. which seems simpler?

Using fdopen seems simpler than adding an #ifdef statement for including unistd.h and thus introducing POSIX compatibility that is not required anywhere else in the code.
Also I wonder if the remove(fname) line can be deleted since each of the three temporary files whose names are generated by getTmpName(), are removed when a project is deleted, even if they are never opened by the toolkit.

may I draw your attention to the current state of the file and function in question...
given this precedent, I'd almost suggest putting <unistd.h> in an else clause just beyond <windows.h> - this might be least intrusive to the existing style 😉
https://github.com/OpenWaterAnalytics/EPANET/blob/d111fbfda29d79e301cfa525b6a9baff8731117f/src/project.c#L1068
⬇
//*** For the Windows SDK _tempnam function ***//
#ifdef _WIN32
#include <windows.h>
#endif

char *getTmpName(char *fname)
//----------------------------------------------------------------
//  Input:   fname = file name string
//  Output:  returns pointer to file name
//  Purpose: creates a temporary file name with path prepended to it.
//----------------------------------------------------------------
{
#ifdef _WIN32

    char* name = NULL;

    // --- use Windows _tempnam function to get a pointer to an
    //     unused file name that begins with "en"
    name = _tempnam(NULL, "en");
    if (name == NULL) return NULL;

    // --- copy the file name to fname
    if (strlen(name) < MAXFNAME) strncpy(fname, name, MAXFNAME);
    else fname = NULL;

    // --- free the pointer returned by _tempnam
    if (name) free(name);

    // --- for non-Windows systems:
#else
    // --- use system function mkstemp() to create a temporary file name
    int f = -1;
    strcpy(fname, "enXXXXXX");
    f = mkstemp(fname);
    close(f);
    remove(fname);
#endif
    return fname;
}

I just pushed my fixes for issue #528, using a conditional #include unistd.h in project.c (see PR #536). It failed the the gcc-based Travis CI test with a "cannot find unistd.h" error. When I switched to my option of using fdopen() it passed Travis CI.


task/install: skip package removal by default

Every teuthology job cleans up its package install after completion.
This was necessary cleanup when we didn't reimage boxes before the use
of FOG as we wanted a "clean" slate for the next job to acquire the
machine. Now this is just unnecessary work which takes up valuable
machine time. For one job I looked at, this takes about 2 minutes.
We should still test that there are no unexpected issues with removing
the packages but this can be delegated to a small subset of smoke tests.
That will be posted in another PR to ceph.git.
Signed-off-by: Patrick Donnelly<EMAIL_ADDRESS>

really looking forward to see less nose when analyzing teuthology logs

@batrick what about doing or not doing the cleanup based on reimageable target is or it is not. We still have code in lock module which relies on that logic.

@batrick what about doing or not doing the cleanup based on reimageable target is or it is not. We still have code in lock module which relies on that logic.

Sure, I'll have a look.

@batrick what about doing or not doing the cleanup based on reimageable target is or it is not. We still have code in lock module which relies on that logic.

@kshtsk is there a simple way to check if a remote can be reimaged? I didn't see any code that checks it (in the lock module or otherwise).

See also: https://github.com/ceph/ceph/pull/36827

@batrick what about doing or not doing the cleanup based on reimageable target is or it is not. We still have code in lock module which relies on that logic.

@kshtsk is there a simple way to check if a remote can be reimaged? I didn't see any code that checks it (in the lock module or otherwise).

You need to check the remote's machine_type presence in teuthology.provision.get_reimage_types()

https://github.com/ceph/ceph/pull/36827#issuecomment-681310115

https://pulpito.ceph.com/pdonnell-2020-08-27_18:05:18-smoke-master-distro-basic-smithi/
^ removes packages as usual. New fs run showing install unwind skipping removal:
https://pulpito.ceph.com/pdonnell-2020-08-27_19:37:17-fs-master-distro-basic-smithi/

https://pulpito.ceph.com/pdonnell-2020-08-27_21:19:21-smoke-master-distro-basic-smithi/

@susebot run deploy


Bots chat replies doesn't work

They only write text from the [UNKNOWN] string.

Well, it's working for Russian characters (utf8).
Not for English. Should be ok with 473.

Thanks. Now, replies work fine.


pdf link of paper?

Thank you for this open-sourced tool! Is there a link to pdf of this paper somewhere?

Thank you for your interest! Unfortunately, the PDF cannot be shared publicly due to copyright restrictions. However, here is a shareable link provided by the publisher: https://rdcu.be/d2Bwt. Besides, you can also access the paper through the publisher's website https://doi.org/10.1038/s42256-024-00940-5 or through institutional access if you have it. Feel free to download the paper from there.

https://rdcu.be/d2Bwt works perfect! Thanks!


Add Firestore bundles snippets

Android snippets for:
https://firebase.google.com/docs/firestore/solutions/serve-bundles

Also adding @schmidt-sebastian for another look


"ENOENT: no such file 'template.json'" when using 'parameters.json' with 'template.bicep'

Does this occur consistently? Yes
Repro steps:
Use both the ARM VSCode extension and the Bicep VSCode extension

Create or open a Bicep file. If created from an ARM template.json file, remove the template.json file, so that only the template.bicep file exists.
Create or open the corresponding ARM template.parameters.json parameters file
Navigate around in VSCode in the parameters file for a while, including switching away from the window to another window

Expected: no error
Actual: toast notification: ENOENT: no such file or directory, open 'c:...\template.json'
I am using only Bicep. Although I could keep a compiled template.json file just to prevent the error or check the linkage between template and parameters using the VSCode extensions, this seems sub-efficient.

Action: Go To Definition
Error type: ENOENT
Error Message: ENOENT: no such file or directory, open 'c:...\non-existent-arm-template.json'
Version: 0.15.10
OS: win32
OS Release: 10.0.22624
Product: Visual Studio Code
Product Version: 1.77.0
Language: en

I experience as well, for a main.parameters.json without a main.json.


Improvements to animated edges in graph

Closes #51 #52

[ ] Add/Update Tests

Re #51 I am using the read rate for Connectors as indicator whether or not the edges should be animated. Don't know how to do it differently.

Re #51 I am using the read rate for Connectors as indicator whether or not the edges should be animated. Don't know how to do it differently.

I would say that only if read rate or replicas is 0 (null is a different case), no animation should happen. In all other cases (including null), animation is our best guess

Re #51 I am using the read rate for Connectors as indicator whether or not the edges should be animated. Don't know how to do it differently.

I would say that only if read rate or replicas is 0 (null is a different case), no animation should happen. In all other cases (including null), animation is our best guess

I don't think the connectors have a replicas metric

Re #51 I am using the read rate for Connectors as indicator whether or not the edges should be animated. Don't know how to do it differently.

I would say that only if read rate or replicas is 0 (null is a different case), no animation should happen. In all other cases (including null), animation is our best guess

I don't think the connectors have a replicas metric

A, didn't see that you explicitly referred to connectors. Well there you have number of tasks :-)

@philipp94831 It's implemented this way for connectors now. Should I add another condition for streaming apps to disable the animation if the read rate is 0? Afaict this would be the only thing missing now.

@philipp94831 It's implemented this way for connectors now. Should I add another condition for streaming apps to disable the animation if the read rate is 0? Afaict this would be the only thing missing now.

Check if it behaves like this:

If a node has a read rate and it is 0, no incoming edge should be active
If a node has replicas and it is 0, no incoming edge should be active
If a node has tasks and it is 0, no incoming edge should be active

For connectors additionally:

If a source connector has an active outgoing edge, the incoming edge from the source system should be active (don't know if we have such a case here)
If a sink connector has an active incoming edge, the outgoing edge to the sink system (e.g., ES index or JDBC table) should be active


Debugging Nuklear code?

Hi! Nuklear is driving me nuts. Like 70% of the API is missing docs, so stuff I try either doesn't does what I'm trying to do, or crashes the VM.
Could it be possible to debug Nuklear code? From what I've read it can get pretty complex.
From what I've gathered I'd need to recompile Nuklear with whatever compiler settings LWJGL uses, with debug symbols, then use those compiled libs in the Java program instead of LWJGL-bundled ones (somehow, LD_PRELOAD maybe?), launch it, then attach a debugger to the process from an IDE (I'm guessing I'd be using something like QtCreator or KDevelop).
Is that right? Or is there a simpler way that I'm not seeing?
Probably I could also grab any of the self contained examples in Nuklear's repo and use those as test-bed for what I'll be doing in Java, I guess that could be more practical...

If I recall correctly, you can directly specify the absolute path to the library using an system property, which should be easier than LD_PRELOAD.

Indeed, not all Nuklear functions are documented, but the native header contains usage documentation that has not been added to LWJGL yet (PRs welcome).
My recommendation would be:

Read the usage sections and have a look at the code examples (in nuklear.h).
Play with the native demos.
Attach nuklear.h to your project and inspect the code when you're having trouble. Most functions are very simple and you can easily figure out if you're doing something wrong.

If you really want to use a debugger, then yes, it should be possible to build lwjgl_nuklear with debug symbols. There's no system property for Nuklear that overrides the shared library location, but it shouldn't be a problem. Use either java.library.path or org.lwjgl.librarypath to point to the folder containing the debug binary and make sure the bundled binary isn't in the classpath (if the SharedLibraryLoader is used). You can use -Dorg.lwjgl.util.Debug=true and -Dorg.lwjgl.util.DebugLoader=true to verify that the correct one is being loaded.
The compiler options that need to change in order to produce a debug binary are in config/<platform>/build.xml, in the "compile" macrodef.

Read the usage sections and have a look at the code examples (in nuklear.h).
Attach nuklear.h to your project and inspect the code when you're having trouble. Most functions are very simple and you can easily figure out if you're doing something wrong.

Yup that's exactly what I have been doing and as I mentioned, comments just stop happening 1/4 into the sources and after that it's just a stream of not terribly intuitive code where each function depends on an unknown function that has to be called before to use it.

Play with the native demos.

Yeah, I'll do that first. It involves half of what I'd have to do to get a debugger going (ie, setting up the environment to compile the lib) so I might as well just try that first. Hopefully since it's a single header lib that ought to simplify things.
Do you compile https://github.com/LWJGL/lwjgl3/blob/master/modules/core/src/main/c/nuklear/nuklear.h as-is or are there any defines set anywhere else? There are tons of things that can be #ifdef'd inside Nuklear and I'm not sure which ones LWJGL uses in particular, if any.

Use either java.library.path or org.lwjgl.librarypath to point to the folder containing the debug binary and make sure the bundled binary isn't in the classpath

Sweet, I'll use that then.

Do you compile nuklear.h as-is or are there any defines set anywhere else? There are tons of things that can be #ifdef'd inside Nuklear and I'm not sure which ones LWJGL uses in particular, if any.

The generated C file that includes nuklear.h is here.


support for OCaml >=4.04.0

Installation via opam pin fails for OCaml versions 4.04.0 and 4.04.1:
# Error: This expression has type
# [...]
#        but an expression was expected of type
#          Ast_405.Parsetree.attributes = Ast_405.Parsetree.attribute list
#        Type Parsetree.attribute = string Asttypes.loc * Parsetree.payload
#        is not compatible with type
#          Ast_405.Parsetree.attribute =
#            string Ast_405.Asttypes.loc * Ast_405.Parsetree.payload
#        Type Parsetree.payload is not compatible with type
#          Ast_405.Parsetree.payload

Is this easy to fix?

Sorry, didn't see the pull request (I have ppx_deriving pinned). Works.


Event Priority

We list here the bugs, features and enhancements most needed for the event, and link the entries so we don't forget anything. Good to have it on hand. Will update main post when replies are posted.
Our users should not add new suggestions or reports here. If it is new, create a new issue and link it here if needed for the event.

My opinion:
Battle Prediction #29
Screenshot button on Battle Tab #399
Improvement for the Paging on the Sortie History #417

It's a sad story that there is no "sticky posts" option or "announcements" option on Github like many webboards there.
PS. Ah @dragonjet, this 444th number is your intending or just about the RNG? :relieved:

RNG :laughing:

Somewhat better than 444th number than 666 or 616 :stuck_out_tongue_closed_eyes:
Note am somewhat reserving this post position for suggestions to be added.

Top priority would be decode how the bew combined fleet api is formed and let kc3 kai accomodate with that.
Also #369 drop report info

I found some minor glitch that should be tested and fixed just a while ago. Complete report is in #471

updated main post

v016? Just be after or during in the Summer event?

ah I think all except

#461 Verify all Event API calls are supported
#369 Drop reporting per event difficulty

are possible before the event

that v16 milestone is supposed to be during the long maintenance, so it's the same as being before-event

poi's dev mentioned that he can no longer find info about plane slot distribution on new abyssal ships from api_start2 after the most recent api update. Is this a problem here as well or is there some other methods to obtain the info?

yep, iirc and equipment and possibly planes slots as well were removed from api_start2 since October 2014, or at least the equipment is. If the plane slots remained after october, it might have been removed as well in the same API update where we also lost compass prediction.
the way to get enemy plane count right now is via the battle APIs where it specifically says total plane count (not per slot) and how many were shot down inside data: api_koukou

If i understand corrwctly, then in case a new abyssal ship equipped with 2 different type of torpedo bombers and 2 different type of dive bombers, we have next to no way to find out do is it 10-20-30-40 or 25-25-25-25?

In my opinion, these two also need to be resolved by the time event starts:
#482 Battle prediction update for night battles
#485 Ship sunk by support expedition is not marked in the prediction

@c933103 hmm somewhat right, we won't know the plane slot combination, but we might be able to know the plane type combination. the battle APIs include equipment IDs used by the enemy, that's why when they shoot on the in-game animation, we can see their equipment on the pop-in CG. but that's only icons, not telling how much stat that equipment is, and how many slots that is/
#482 is resolved now I think, we just have to test
#485 yes will add it

then, #28

#533

omg omg so much to do i dont know anymore
i still need to prepare the decoders for later asdf asdf
:sob:

@dragonjet Beware catbomb overloading :cat2:

we do have a way to test while maintenance though >:)
Go to chrome-extension://xxxxxx/pages/test/index.html

After-event API verification and other issues will be further tracked on #461


Fix free-memory write in k_thread_abort(_current) from an ISR

Discussion in the big saga in #68262 turned up a longstanding issue with the way thread abort works in ISRs: the thread struct itself gets cleaned up, but the exit code on the ISR path still needs to use that _current pointer to do things like save the full pickled context of the interrupted thread in switch_handle (and other arch-specific data too, details vary).  But that thread is dead now, and the caller of k_thread_abort() was promised that the memory is free and available for reuse.
This hasn't traditionally been a problem because "most" threads are static and will only be reused for another thread, and we've always disallowed k_thread_create() in ISRs.  But that's not documented, and on SMP this becomes an unresolvable race: other CPUs need to know whether the foreign ISR has completed before they can know it's safe to touch the thread memory, and we don't provide any hooks for that.  (This race was in fact how this was discovered).
The fix is pretty simple though: just freeload on the pre-existing dummy thread handling used at CPU startup to swap _current for a dummy.
I was worried that existing architectures were doing bad magic of their own (e.g. caching a _current pointer in a register), but that seems not to be the case.  The augmented test added to catch post-abort modifications to the thread struct should help to keep the arch layers clean in the future.
The only gotcha currently is POSIX, which unfortunately does a "deferred" abort at ISR exit based on the _current pointer, and isn't expecting that to change.  That's going to need some modification to work with this scheme, so for now it remains susceptible to the same kind of application bug.  But as long as no other platforms allow it, we should be safe enough.

FWIW, this is actually based on the same refactor from the SMP abort proposal too, but doesn't contain it.  It's really best thought of as a separate bug.  But once this is merged, the SMP race becomes trivial to fix.

As far as I can tell, this also fixes the deadlock issue I described in https://github.com/zephyrproject-rtos/zephyr/issues/64646.

Not quite, it still has the cycle deadlock where N threads can point at each other and get stuck.  But that's now trivially fixable by a very slightly rebased version of this patch: https://github.com/zephyrproject-rtos/zephyr/pull/70455/commits/727c5606a9d1219621c6b49b32cc6035515292cb  Basically this fixes the hard part where we had to think of a way to whitebox the call to z_sched_switch_spin() by removing the need for that call entirely.

I find myself in an unusual position as a reviewer--in opposition to the author but arguing that the proposed code is even better than the author thinks. :)  I've run through my analysis of events a few times with different number of CPUs and each time I find that your current code resolves the deadlock.
At the risk of sharing a dense and tedious analysis, what I find is ...

CPU0 in ISR0 and CPU0->current = T0, CPU1 in ISR1 and CPU1->current = T1.
CPU0 calls k_thread_abort(T1), CPU1 calls k_thread_abort(T0)
CPU0 wins sched_spinlock and marks T1 as aborting
CPU0 calls halt_thread_spin(), unlocks sched_spinlock and spins on T1 waiting for it to halt
CPU1 wins sched_spinlock and marks T0 as aborting
CPU1 calls halt_thread_spin()
6.1. CPU1 halts CPU1->current (aka T1) thereby breaking CPU0 out of its loop
6.2. CPU1->current becomes a dummy thread
6.3. CPU1 unlocks sched_spinlock and spins T0 waiting for it to halt
CPU0 wins sched_spinlock, and then unlocks it after it returns from halt_thread_spin()
CPU0 finishes k_thread_abort(T1) and exits the ISR
CPU0 as part of leaving the ISR calls next_up() and finds that CPU0->current (aka T0) is halting
CPU0 halts T0 (breaking CPU1 out of its loop) and sets CPU0->current to a dummy thread
CPU0 finishes exiting the ISR and a new thread is scheduled
CPU1 wins the sched_spinlock and then unlocks it after returning from halt_thread_spin()
CPU1 finishes k_thread_abort(T0) and exits the ISR
CPU1 calls next_up(), but CPU1->current is already a dummy thread
CPU1 finishes exiting the ISR and a new thread is scheduled

No deadlock.
If you think I missed something I would love to hear it.

OK, cleanup is pushed, please re-review

Needed a rebase too

Rebase, fix the interrupt/relax issue, also steal @peter-mitsis 's test patch from the earlier PR which really should have been in this one to start with.

Quick question: is it really necessary to have a dummy thread struct per CPU?

is it really necessary to have a dummy thread struct per CPU?

Sort of.  The way the framework works right now is that everyone in the world gets to assume there's a _current that points to a valid struct.  And this is a circumstance where that can't be an actual thread, because the preempted thread got  aborted and its memory is free to be used for other purposes.  So we need something.
It's nontrivially expensive, it's true.  Though if it helps: note that this now replaces the on-stack dummy thread used at CPU startup, reducing initialization pressure on the interrupt stack[1].  So some apps might be able to shrink that and pay less cost.
The asymptotically ideal situation would be to somehow store just the single bit indicating "we're in an ISR with no _current", and check that everywhere needed.  But that's a ton of auditing.  We might consider moving in that direction on a per-arch basis, e.g. "CONFIG_ARCH_NO_DUMMY_THREAD_NEEDED" or whatever.
[1] Alternatively, we could look at moving these dummies back to the interrupt stack, maybe placing them at the bottom.  That doesn't eliminate the cost either but can at least be shared with other uses instead of being a dedicated block.

Oh, and just to make it clear: this is just a bare struct _thread, there's no stack or other auxilliary data to go with it.

My point is more precisely: why having one dummy for each CPU?
It is a non trivial chunk of memory in some cases. Why not having a
single one instead? Unless I'm missing something, we don't care if
multiple CPUs write to it simultaneously.

Ah, got it.  Mostly just pure conservatism, wanting to be robust vs. architectures that are going to read stuff back out from the thread or use it as scratch space or whatever.  Also having just one would disallow using it as the MP startup dummy because it would be racy if someone wanted to bring up CPUs in parallel.  But I'm quite sure it would work.

Just ran twister with relevant tests on a single dummy version and the
world is not falling appart.
ARM64 would certainly benefit from having only one dummy. That's
about 2KB of wasted memory otherwise.

The current version of the is_halting() loop locks/unlocks interrupts. This introduces a subtle hole that your original approach that locked/unlocked sched_spinlock did not have.

Let us imagine that CPUx is in that is_halting() loop waiting for CPUy to abort the thread Ty.
When CPUy aborts Ty in halt_thread(), one of the first thing it does is to clear the halting bits.
Clearing those halting bits breaks CPUx out of its is_halting() loop allowing CPUx to return immediately from z_thread_halt().
However, CPUy is not quite done with Ty even though it cleared the halting bits. It still has some cleanup to do in halt_thread().
We know that CPUy will be done that cleanup when it releases sched_spinlock.

The net result of the above is that when CPUx (in an ISR) returns from k_thread_abort() in its ISR, there is a short window of time where Ty is still not quite done. This arguably contradicts our documentation which states that "After k_thread_abort() returns, the thread is guaranteed not to be running or to become runnable anywhere on the system." Although it is true that CPUx will need to acquire sched_spinlock as it exits the ISR to determine the next thread to execute, that would still be too late as CPUx could have used other legitimate means to signal a thread running on yet another CPU to do something with Ty's memory.
The original approach that locked/unlocked sched_spinlock  meant that before CPUx could return from z_thread_halt(), it had to first acquire sched_spinlock. This meant that by the time it successfully acquired it, CPUy was guaranteed to be finished all the cleanup on Ty. Thus, when CPUx returned, Ty was as dead as a Monty Python parrot.

OK, it's up.  Hopefully we don't discover anything new.   Left the new patches as separate changes for clarify (it turns out the "spin on is_halting()" was pre-existing anyway from the perspective of a free memory goof, so easy enough to document as a separate bug).

And of course changing the flag ordering ends up breaking native_sim (which is by definition not order-sensitive as it can't preempt!).  Will have to figure that out..

Should be cleaned up now; I missed an early return case (no idea why it didn't fail more broadly: seemingly only native_sim and one x86/nokpti arch test were sensitive to state bits on k_thread_suspend?!)

I am very curious why we need to init dummy thread here.

The name of that routine is unfortunate.  The only initialization it does is to set the flag bit; it's used to set the _current thread pointer to the dummy, which so far has only happened at CPU initialization time (so that the context switch code doesn't need a special path to enter the "first" thread).


08-perform-data-analysis-in-power-bi-desktop.md Exercise 1 lab step changes

Priority
Critical
Lab/Demo Number/Name
08-perform-data-analysis-in-power-bi-desktop.md
Exercise 1, Task 2, Step 2 and 3
and
Exercise 1 Task 3, Step 4 and 5
Describe the bug
Exercise 1, Task 2, Step 2 and 3
Step 2 states: "Select New > Dataset. This opens the Get Data page, and under Create new content > Files, select Get."
The interface has changed I believe. It should say: " Click upload, then Browse.
Step 3 should now state: "Navigate to D:\PL300\Labs\08-perform-data-analysis-in-power-bi-desktop\Starter folder."
Exercise 1 Task 3, Step 4 and 5
Step 4 states: "Next, we repeat the steps to Get Data from lab 1. From the Home ribbon tab > Data group, select Power BI Datasets."
Firstly, I don't know what the phrase "we repeat the steps to Get Data from lab 1" means and should be deleted.
Also, it seems the interface has changed. Step 4 just needs to state now: "On the Home tab, in the Data group, click Get Data, then Power BI datasets."
Step 5 should state: "On the Data hub dialog box, Select the Sales Analysis dataset, then click Connect."
Screenshots
Task 2 step 2:

Task 2 step 3:

Task 3 Step 4:

Task 3 Step 5:

To Reproduce
Expected behavior/Suggested Change
Update needed listed above
Additional context
Add any other context about the problem here.
Note: To share feedback for the slides, please use the MCT Courseware Forum.

@AngieRudduck Can this item and the 2 related open issues for the same UI change please be merged into the current instructions on a priority basis? It's a simple fix. The issue is impacting students in live classrooms.

Agreed.
Arnold Villeneuve<PHONE_NUMBER>
On Tuesday, January 31, 2023 at 09:57:46 a.m. EST, Vitaly Livshits<EMAIL_ADDRESS>wrote:

@AngieRudduck Can this item and the 2 related open issues for the same UI change please be merged into the current instructions on a priority basis? It's a simple fix. The issue is impacting students in live classrooms.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

@arnoldvilleneuve @VitalyMCT @JeffSmalley, I will roll this out ASAP. Please note that the changes that come to Power BI service can be as frequent as weekly, so updates will roll as soon as possible. In consideration, this was already updated in the last 30 days to reflect a different experience, so it's changed already.


Hang on launch when non-ascii character in path

Description of the crash:
When launching 2ship when there is a non-ascii character in the path an error message pops up on launch and the game window hangs indefinitely.
Can you reproduce? If so please list the steps:

[ ] No, I cannot reproduce this crash
[x] Yes, here are the steps to reproduce the crash:

Place a newly extracted 2ship folder in a path that contains a non-ascii character (example: þ)
Generate the o2r files by providing a MM rom
Attempt to launch 2ship

Screenshots or videos:

Logs:
No log file was generated
System Information:

OS: Windows 11
GFX Backend: DirectX
Game Version: 1.0.0 Rika Alfa
Rom Version: 1.0 NTSC Cartridge dump

Fixed by #743


stat '# /etc/shells: valid login shells'

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.78.2
OS Version: Ubuntu 23.04

Steps to Reproduce:

Start VSCode
Look at stat calls (for example by using strace)

[pid 239554] 00:02:45 statx(AT_FDCWD, "# /etc/shells: valid login shells", AT_STATX_SYNC_AS_STAT|AT_SYMLINK_NOFOLLOW, STATX_ALL, 0x7f78df9d8648) = -1 ENOENT (No such file or directory)

Expected behaviour:
# /etc/shells: valid login shells is not accessed since it is not a valid filepath.
Actual behaviour:
VSCode tries to access # /etc/shells: valid login shells which is not a valid file path.
Additional information
This is the contents of /etc/shells:
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/bin/dash
/usr/bin/dash
/usr/bin/sh

Terminal profile code
The only thing I could find related to /etc/shells in VSCode was the terminal profile code. Maybe this condition should be negated, e.g !e.trim().includes('#') instead of e.trim().includes('#') to filter out the comments correctly?
https://github.com/microsoft/vscode/blob/b3f2337542a15907c998d4e14e73d2bdc2e96530/src/vs/platform/terminal/node/terminalProfiles.ts#L394

@SimonSiefke can you confirm that you aren't seeing this issue in the latest insiders?
I've also verified this by code review

I can confirm it is fixed in insiders. Thanks @Tyriar! :)