Firewall exceptions don't apply when running through dotnet command

I originally filled this issue at StackOverflow here however I think it makes more sense to be here also.
I have some .net core microservices that I am deploying to remote machines through nomad. At startup each service gets a dynamic port and uses that.
The steps are essentially:

Build project as publish
Zip output
Create nomad job script
Deploy through nomad.
Nomad runs execution script.

This whole process works and I like it. The issue is though that each service needs to communicate with each other and is using dynamic ports so a firewall exception is needed.
I tried adding a firewall exception for the dll however that doesn't seem to work.
However if I compile to an exe and add the exception then it does.
I am using Fabio as a reverse proxy however that takes the request and forwards it directly to the machine:port where the service actually is.
If using dotnet xyz.dll to execute .net core applications is the suggested way then how to also support dynamic firewall rules?
If it is helpful this is my execution script that nomad uses:
netsh advfirewall firewall add rule name="Allow %1" dir=in action=allow program="%2"
dotnet %2
netsh advfirewall firewall delete rule name="Allow %1" dir=in

In summary above script adds the firewall rules which don't work if %2 is a dll.
If %2 is an exe then firewall works (dotnet %2 becomes just %2 since it is exe)

Is it limitation of the firewall that is not able to find process based on DLL name? (that's what the program is I assume)
Maybe I am missing something ...
What would you suggest that dotnet should change?
Can you just hack it and rename DLL to EXE - will that make it work?

That is a good idea to try the rename. I honestly didn't think of that however I doubt it would work.
I think in a developers mind dotnet xyz.dll runs the program xyz which should obey all "program" rules like firewall exceptions. Since xyz is the program in this case.
However it seems that in reality dotnet.exe is run takes the IL in xyz.dll and executes that. This all makes sense however what to do with firewall rules?
The network requests are coming from dotnet not xyz.dll so the firewall ignores those rules.
I would expect dotnet to interact with the firewall in an intelligent manner so it knows this information and can react to it.
I can try the rename. If it works I will be highly surprised.

Then register the firewall for dotnet.exe as it is the main EXE.
I don't think .NET should know anything about firewalls, etc.

Registering dotnet.exe in the firewall is a massive security hole.
I do agree that dotnet.exe shouldn't know about the firewall however maybe the firewall should know about dotnet.
Seems like there is not clear cut answer to this.
However suggesting .net core be run via dotnet.exe and firewall exceptions be limited to the application instead of port means network access is highly limited.

How does Java work in this case with this firewall? I bet they ran into similar problems ... or any other runtime using runner.exe.

Good question. I can investigate.

It appears they have the same issue which makes sense.
Firewall should allow finer grain permissions especially when you have an app runner however that would probably be a mess.
Limiting it to exe makes it clear and easy however it limits the portability of dynamic network enabled .net core application.
Anyways thanks for trying to understand this.


fix: Gracefully handle browsers that do not support service workers.

Fixes #4364.
Firefox's private browsing mode does not set the serviceWorker property on the Navigator object. Attempting to use that property without checking for its existence first will cause the entire site to fail to load.
I tested this by running the development server locally and checking that it loads in Firefox's private browsing mode after I added this guard.

Thanks for reviewing this quickly!

Thanks for reviewing this quickly!


Update for Python 3.7 compatibility

Minimally changes igc_lib for python 3.7 compatibility. Testing on local files as well as unit tests.
Test output:
.........................................................
Ran 59 tests in 3.643s
OK

Thank you very much! Minor changes, all looks good. Merging.

Hey, I needed to make some changes so that it still works with us laggards using Python 2.7
Please see this commit if things still work for you (I believe they should):
https://github.com/xiadz/igc_lib/commit/999aa744d1f61307cba29254e400da0699842362


make device transfers non-blocking in transforms

Fixes #7504

Thanks for the PR @nlgranger but I am not certain that the use of non_blocking=True will have any significant effect in a lot of these cases: to be non-blocking, the data transfer must come from pinned memory, and it looks like a lot of those tensors are in pageable memory.

I forgot about pinning memory...
In my own code I have opted for the second route, which consists in registering parameters as nn.Module buffers. It breaks the API but would make a lot more sense now that that Transfoms are Modules as well and that many of us are running transforms on GPU.

I have fixed a few remaining bugs. In the end the API is unchanged. As mentioned previously, I have no idea how to implement tests for this. I don't think it makes sense to check for sync point globally since some ops might be unavoidable (ex: nonzero, unique).


[FEATURE] Load url variable from .env instead of hardcode

Is your feature request related to a problem? Please describe.
The url in javascript of contribution catalog was hardcoded now, which might be an issue for the future.
Describe the solution you'd like
Load the variable using .env file.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

This is currently implemented. Closing.


add calculate_idle_share_reserves

_calculateIdleShareReserves  is not in rust yet, but would be helpful to have for comparing to present value & invariance tests.

added in https://github.com/delvtech/hyperdrive/pull/853


Correct command

closes https://github.com/MicrosoftDocs/OfficeDocs-SharePoint/issues/4055
confirmed with OneDrive PM

@MikePlumleyMSFT
PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


i want to select multiple picture from library.

want to select multiple picture from library.
i want to select multiple pictures from library and as given code in the example i am doing same. i.e
        for item in items {
            switch item {
            case .photo(let photo):
                print(photo)

------------->  self.imagesList.append((photo.asset?.image)!)
the code infant of arrow making an issue that asset as no member image. i want to get images and assign to the array of images.

I also have the same problem, can u help me ? @s4cha

Check the last version please.


Blue Green deployment strategy

Hello,
I get the following error when I use the Blue/Green strategy.

Hello, @serxansherif
Did you mean Azure DevOps yaml scheme ?
https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema%2Cparameter-schema - here I see no any "blueGreen" keywords for strategies. Parallel, matrix, maxParallel only.
.
Please clarify, where did you try to use your yaml file, and if it's possible, please provide link to definition of this yaml
Thank you!

Hello @andy-mishechkin
According to the following link, Blue green deployment strategy can be used in the yaml pipeline.
https://github.com/microsoft/azure-pipelines-yaml/blob/master/design/deployment-strategies.md

Hi @serxansherif blue-green strategy is obsolete at the moment - you can find list of available strategies in docs.
I created PR for this - https://github.com/microsoft/azure-pipelines-yaml/pull/541


[beta] Solidity Unit Tests

This PR adds Solidity unit tests alongside your Javascript unit tests! 👏  🎉 💃
Installation
$ npm uninstall -g truffle
$ git clone https://github.com/ConsenSys/truffle.git
$ cd truffle
$ git checkout solidity-tests
$ npm install -g .

Notable Changes

Solidity unit tests! (of course :) )

You can now import contracts outside of the contracts directory (fixes #141). Example:
import "../node_modules/somemodule/Contract.sol";

BREAKING CHANGE: Because of the above change, all imports for all your contracts need to be explicitly relative (or absolute; see below).
Good:
import "./SomeDependency.sol";

NOT good:
import "SomeDependency.sol";

Note that in the second case there was no ./ in front of SomeDependency.sol;. Truffle and the solidity compiler can no longer assume you meant ./ if not specified.
Though rarely needed, this change now allows imports to be absolute paths where it didn't in the past.

An example solidity unit test is now included with truffle init.

Solidity Unit Testing
Solidity test contracts live alongside Javascript tests as .sol files. When truffle test is run, they will be included in the mocha run with a separate test suite per test contract. These contracts maintain all the benefits of the Javascript tests: namely a clean slate per test suite, access to deployed contracts via migrations, runnable on any Ethereum client, and usage of snapshot/revert features (if supported by your Ethereum client) for increased speed. An example solidity unit test looks like this:
import "truffle/Assert.sol";
import "truffle/DeployedAddresses.sol";
import "../contracts/MetaCoin.sol";

contract TestMetacoin {
  function testInitialBalanceUsingDeployedContract() {
    MetaCoin meta = MetaCoin(DeployedAddresses.MetaCoin());

    uint expected = 10000;

    Assert.equal(meta.getBalance(tx.origin), expected, "Owner should have 10000 MetaCoin initially");
  }

  function testInitialBalanceWithNewMetaCoin() {
    MetaCoin meta = new MetaCoin();

    uint expected = 10000;

    Assert.equal(meta.getBalance(tx.origin), expected, "Owner should have 10000 MetaCoin initially");
  }
}

And when running the test:
$ truffle test
Compiling ConvertLib.sol...
Compiling MetaCoin.sol...
Compiling ../test/TestMetacoin.sol...

  TestMetacoin
    ✓ testInitialBalanceUsingDeployedContract (61ms)
    ✓ testInitialBalanceWithNewMetaCoin (69ms)

  2 passing (3s)

There are some very important structural items to discuss:

First, your assertion functions are provided by the truffle/Assert.sol library. This is the default assertion library, however you can include your own assertion library so long as the library outputs the correct events to the test runner. You can find all available assertion functions in Assert.sol. These functions are meant to mimic those available in your Javascript tests, and more documentation will be written about each function in the future.

The addresses of your deployed contracts (contracts that were deployed in your migration) are available through the truffle/DeployedAddresses.sol library. This is provided by Truffle and is recompiled and relinked before each suite is run to provide your tests with a clean slate deployment. This library provides functions for all of your deployed contracts, in the form of:
DeployedAddresses.<contract name>();

This will return an address that you can then use to access that contract.

In order to use the deployed contract, you'll have to import the contract code first. Notice import "../contracts/MetaCoin.sol"; in the example. This import is relative to the test contract, which exists in the ./test directory, and it goes outside of the test directory in order to find the MetaCoin contract. It then uses that contract in a test function below to cast the address to the MetaCoin type.

All test contracts must start with Test, using an uppercase T. This distinguishes this contract apart from test helpers and project contracts, letting the test runner know it represents a test contract.

Like test contract names, all test functions must start with test, all lowercase. Each test function is executed as a single transaction, in order of appearance in the test file (like your Javascript tests). Assertion functions provided by truffle/Assert.sol trigger events that the test runner evaluates to determine the result of the test. Assertion functions return a boolean representing the outcome of the assertion which you can use to return from the test early to prevent execution errors (i.e, errors that the TestRPC will expose).

You are provided many test hooks, shown in the example below. These hooks are beforeAll, beforeEach, afterAll and afterEach, which are the same hooks provided by mocha in your Javascript tests. You can use these hooks to perform setup and teardown actions before and after each test, or before and after each suite is run. Like test functions, each hook is executed as a single transaction. Note that some complex tests will need to perform a significant amount of setup that might overflow the gas limit of a single transaction; you can get around this limitation by creating many hooks with different suffixes, like in the example test below:
import "truffle/Assert.sol";

contract TestHooks {
  uint someValue;

  function beforeEach() {
    someValue = 5;
  }

  function beforeEachAgain() {
    someValue += 1;
  }

  function testSomeValueIsSix() {
    uint expected = 6;

    Assert.equal(someValue, expected, "someValue should have been 6");
  }
}

This test contract also shows that your test functions and hook functions all share the same contract state. You can setup contract data before the test, use that data during the test, and reset it afterward in preparation for the next one. Note that just like your Javascript tests, your next test function will continue from the state of the previous test function that ran.

You do not need to extend from any Test contract like in other solidity testing frameworks. This is to make writing solidity unit tests easier, and should allow for more extensibility in the future with less hassle.

Like Javascript tests, failing tests return the events that were fired (minus assertion events) so you can get a better sense of how your contracts-under-test performed.

Further Work / Testing
I still need to verify that these tests will run on a geth private network. As well, I need to verify you can bring in your own assertion library. If you'd like to do this verification on your own and report back that would be much appreciated.
It would also be a good exercise for people to run their existing Javascript tests and determine that they still function as expected. Compilation and migrations got minor internal changes as well, so verifying your contracts compile and deploy correctly would be very helpful.
Special Thanks
Special thanks goes out to @PeterBorah for letting me ask him extensive questions about the framework. As well, the assertion library was provided by SolUnit that, although deprecated, significantly reduced the amount of work needed to implement this feature.
Cheers! Feedback welcome!

Thanks for this!
Something to add here. This currently doesn't support 0.4.x. But I assume it will when all is merged. To add it, I had to add pragma Assert.sol & add this line to deployed.js when creating DeployeAddresses.sol (before starting with "library ...." )
 source += "pragma solidity ^0.4.3;" + "\n\n";
Also. An aside. Solc 0.4.3 introduced warnings when inline assembly doesn't balance. I've been using Nick Johnson's string utils and they throw these warnings now.
Example of a warning.
/Users/simondlr/code/ethereum/ujo-contracts/contracts/StringUtils.sol:468:26: Warning: Inline assembly block is not balanced. It leaves 3 item(s) on the stack.
                assembly {

This has to be fixed in stringutils.sol. However, I thought if it would be possible to have an option to try and continue on warnings, and not just err if that's the case (probably another issue for the future).


RemoteAttribute and multiple submit buttons don't work together

I have a ViewModel with a Property which uses a RemoteAttribute
public class MyViewModel
{
  ...
  [Remote(action: "MyValidationAction", controller: "MyController")]
  public string MyProperty{ get; set; }
}

My form in the View have beside MyProperty multiple submit buttons.
<form asp-action="DefaultAction" >
  <input asp-for="MyProperty"  />

  <input type="submit" value="DoDefault" />
  <input type="submit" value="DoSomethingElse" asp-action="OtherAction" />
</form>

When I click on the DoSomethingElse-Button the path goes to the DefaultAction instead the OtherAction.
The RemoteProperty itself works fine. The DoSomethingElse-Button works fine if I remove the RemoteAttribute from the myProperty.

Hi @habex-ch. Can you please share a complete sample to repro the behavior?

This works fine for me, so would be happy to see your sample.

@kichalla, what were your findings in regards to this issue?

Moving this out to the Backlog as this is not a priority for the upcoming milestone. Also, there has not been much interest from the community in this issue during all this time.


Package Requested

[X] I would like someone else to build the manifest.
[ ] I would like help so I can submit the manifest.
[ ] I have performed a search and couldn't find this package.
[ ] I have checked that the installer for this package is not a standalone or portable executable or a .zip file
[ ] I think there is a new version available and I have provided the URL.

Please provide the following information
Publisher: KDE e.V.
Publisher Url: http://kde.org
Package Name: KDE.Filelight.Nightly
Description: http://apps.kde.org/filelight
Package Version: master-785
Installer URL: http://binary-factory.kde.org/view/Windows 64-bit/job/Filelight_Release_win64/lastSuccessfulBuild/artifact/filelight-21.08.2-785-windows-msvc2019_64-cl-sideload.appx
Current Package Identifier (for new versions): master-785

Duplicate of #39190
Please post your KDE requests here


Bot is failing to communicate on Facebook Channel ( Bad Request )

Version
"botbuilder": "^3.13.1",
"botbuilder-azure": "^3.0.4"

Describe the bug
Bot was working fine for a lot of time ( on Facebook Channel ), no code changes where made.
From 15/04/2019 Bot stopped responding to Facebook messages with the following error:
Error: POST to 'https://facebook.botframework.com/v3/conversations/xxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxx/activities/vM8xdHOumCjl_b_wdJMclUXt8gbAMoHzCIklsYqfTeWLMmK49afoLlymD-y_42dRmhTgMkfL399qBQwD-iVGjQ' failed: [400] Bad Request
    at Request._callback (/home/bots/node_modules/botbuilder/lib/bots/ChatConnector.js:675:46)
    at Request.self.callback (/home/bots/node_modules/request/request.js:185:22)
    at Request.emit (events.js:197:13)
    at Request.EventEmitter.emit (domain.js:446:20)
    at Request.<anonymous> (/home/bots/node_modules/request/request.js:1161:10)
    at Request.emit (events.js:197:13)
    at Request.EventEmitter.emit (domain.js:446:20)
    at IncomingMessage.<anonymous> (/home/bots/node_modules/request/request.js:1083:12)
    at Object.onceWrapper (events.js:285:13)
    at IncomingMessage.emit (events.js:202:15)
    at IncomingMessage.EventEmitter.emit (domain.js:446:20)
    at endReadableNT (_stream_readable.js:1129:12)
    at processTicksAndRejections (internal/process/next_tick.js:76:17)

Web Chat on Azure Portal works as expected.
Looking at 'Connected Channels' View on Azure Portal shows no issues at all !

Incoming messages are received by the bot. Issue arises when bot tries to reply to a message.
Have no ideas how to debug this further.
[bug]
[javascript]

Hi @Alexander-0x80
Do you have Application Insights configured for the bot? You should be able to find more information about this error there.
Have you tried refreshing your facebook page token?
It looks like this is on the Facebook end:

(#2022) Your account has been disabled. If you have any questions or concerns, you can visit our FAQ page.

Hi @EricDahlvang
Yes, i have Application Insights configured, but i don't seem to find any error related information there.
Also i have tried multiple times to refresh my token.
This Error message you have attached, how did you find it ?
I am able to login/logout from Facebook without any issue, so this is really confusing.

This error should be propagated back to your bot if you are logging exceptions.  It shows in our logs.

The exceptions are being logged in app insights, this is how it looks like:

We do not see any error description there. Only status codes as i mentioned above.
I would really appreciate if you could guide me how to find it.
Also you mention that "in our logs" you see the error message. Are we talking about a same
bot ? because we are running multiple bots on this account.

No, that looks like a bug.  The Health column should be showing exceptions, and your application insights should show the Facebook API error as well.  I will investigate further, and get back to you.

Hi @Alexander-0x80
I apologize for the late response.  An engineer is investigating why this error is not showing in the bot's health column.  I'll let you know when I get more information.

@Alexander-0x80 please share the Bot Handle for this bot.  If you prefer, you can email it to me on the address on my profile.

@Alexander-0x80
We are logging invalid token errors:

If you see a similar problem, where we are not logging Facebook Messenger connector errors in the health column, please open a new issue.


Error when trying to install plugin in a fresh install

Winter CMS Build
dev-develop
PHP Version
8.1
Database engine
MySQL/MariaDB
Plugins installed
No response
Issue description
When I use the web backend interface to install a plugin, I get this error
"Attempt to read property "created_at" on null" on line 1048 of ......../modules/system/classes/UpdateManager.php
Steps to replicate
Go to the Updates & Plugins page and click on any of the these buttons at the top of the page:
Check for Update
Install Plugins
Install Themes
Workaround
Use composer at the command prompt to install the plugins. I have not found a workaround in the web interface.

@borcherds-ralph Composer is currently the only way truly supported in Winter for installing plugins and themes.

This particular error has been reported many times, it was introduced in 1.2.4 and has already been fixed on develop.


Make newline comparison work crossplat

Fixes issue 585150
I've manually verified this mpack fixes the issue in VS for Mac.

:shipit:
This change looks good to me. We should probably take a look at everywhere we use Environment.Newline in Razor because I would contend that outside of 1-2 places where we initialize things it's always wrong.  All of our code needs to work with either newline format regardless of platform.

:shipit:


PROD : NullRef Exception in CreateKustoQueryUri for Data Source

Request Id : g-39ae6de9-3f38-4d17-aaa2-077c866d2f1b
Intermittently,  the call to create kusto uri for tenant Id fails with null ref.
Need to check prod settings to see if we are selecting the right kusto cluster for the stamp requested.

Just another case in which this occurred:
RequestId: g-0e6929bc-8b51-4127-ab55-b95ef9b63fe8

This issue is not specific to GetTenantId. It looks like for DataSource, we added a module to create kusto query link. That method is encountering a  null ref.

PROD Request Id :
g-71ee7c5a-772d-4aa2-8a66-19b2f4c37953

Potential fix In Code-Review


Packaging for Solus

OS:
Solus
Hey Guys,
Is it possible to build for Solus's eopkg manager? Josh, the community manager, has tried but he gets an error when attempting to package it. link There are few of us really wanting to use this on Solus.

@FedoraTipper I have 0 clue how eopkg or Solus operates and to be honest I don't have the time / energy to find out 😆

Closing as WONTFIX because it falls on its face during build by creating recursive directories to the point it is actually creates a ENAMETOOLONG.

That seems like he is trying to build with an old version of npm / node that doesn't have flat pacakging.  If you can explain (or he can explain) what I need to do to generate an eopkg I can try make one as a release artifact

Closing out, any discussion RE this can take place in Gitter

For what it's worth, I was able to reproduce this attempting to build in a Ubuntu (16.10) docker container. Using node v6.9.1 from the official installer. electron-packager recursively extracts itself until into its own directory. During that, it attempts to remove some files and runs into ENAMETOOLONG while unlinking some files.


XS✔ ◾ update monitoring

❌ Add a description.

@mustafaStakater Image is available for testing. docker pull stakater/workshop-exercise:SNAPSHOT-PR-125-2dc7ad45


IOError: [Errno 2] No such file or directory: 'rules/jira.yaml'

https://github.com/Yelp/elastalert/commit/3e71527e410396f56ff57346b9f9af65f7d2ab0e
This change seems to break when we place a jira.yaml config one level above the rules directory. On startup elastalert fails to load the jira account config as it expects it to be under rules. If we place the config under rules it fails to load the config as it expects it to be rule.
INFO:elastalert:Found 7 unique values for oiqhash
Traceback (most recent call last):
  File "/usr/local/bin/elastalert", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/dist-packages/elastalert/elastalert.py", line 1861, in main
    client = ElastAlerter(args)
  File "/usr/local/lib/python2.7/dist-packages/elastalert/elastalert.py", line 130, in __init__
    self.conf = load_rules(self.args)
  File "/usr/local/lib/python2.7/dist-packages/elastalert/config.py", line 477, in load_rules
    rule = load_configuration(rule_file, conf, args)
  File "/usr/local/lib/python2.7/dist-packages/elastalert/config.py", line 117, in load_configuration
    load_modules(rule, args)
  File "/usr/local/lib/python2.7/dist-packages/elastalert/config.py", line 362, in load_modules
    rule['alert'] = load_alerts(rule, alert_field=rule['alert'])
  File "/usr/local/lib/python2.7/dist-packages/elastalert/config.py", line 420, in load_alerts
    alert_field = [create_alert(a, b) for a, b in alert_field]
  File "/usr/local/lib/python2.7/dist-packages/elastalert/config.py", line 411, in create_alert
    return alert_class(alert_config)
  File "/usr/local/lib/python2.7/dist-packages/elastalert/alerts.py", line 539, in __init__
    self.get_account(self.rule['jira_account_file'])
  File "/usr/local/lib/python2.7/dist-packages/elastalert/alerts.py", line 301, in get_account
    account_conf = yaml_loader(account_file_path)
  File "/usr/local/lib/python2.7/dist-packages/staticconf/loader.py", line 167, in yaml_loader
    with open(filename) as fh:
IOError: [Errno 2] No such file or directory: 'rules/jira.yaml'

If we place the account config above the rules directory we need to use:
jira_account_file: ../jira.yaml
This works


issue with queuing emails

Laravel Version:  v8.9.0
PHP Version:  7.3.24
ramsey/uuid: 4.1.1 (latest version)
Database Driver & Version:

Description:
I am using Laravel Spark, sending invitation emails (ie. using SendInvitation which in turn uses InviteUserEmail). This causes an exception as the $id is an instance of LazyUuidFromString and not a string/integer, which breaks inside \Illuminate\Queue\SerializesAndRestoresModelIdentifiers::restoreCollection().
I am opening the issue here because I suspect the issue isn't Spark specific.
Steps To Reproduce:
Invite a user to a team inside Laravel Spark
Hacky Fix
    protected function restoreCollection($value)
    {
        if (! $value->class || count($value->id) === 0) {
            return new EloquentCollection;
        }
        $collection = $this->getQueryForModelRestoration(
            (new $value->class)->setConnection($value->connection), $value->id
        )->useWritePdo()->get();
        if (is_a($value->class, Pivot::class, true) ||
            in_array(AsPivot::class, class_uses($value->class))) {
            return $collection;
        }
        $collection = $collection->keyBy->getKey();
        $collectionClass = get_class($collection);
        return new $collectionClass(
            collect($value->id)->map(function ($id) use ($collection) {
if ($id instanceof LazyUuidFromString) {
    $id = $id->serialize();
}
                return $collection[$id] ?? null;
            })->filter()
        );
    }`
```

I am not sure if this is related to https://github.com/ramsey/uuid/issues/327

Please post your jobs.

It is a bit tricky .. as stated above, this is inside a Laravel Spark application, which is proprietary code, so I am not sure if I am allowed to share the code in a public ticket. so maybe even though I am fairly sure that the issue is inside the framework, I should rather discuss this with Laravel Spark maintainre?

Maybe what I can say is that the Spark code assigns Uuid::uuid4() as the ID of the model being serialized here. This returns an instance of LazyUuidFromString. Is this not allowed? ie. would it be the responsibility of the Spark code to ensure that the ID is a string?

Hmm yeah it should be a scalar or at least have the option to be converted to a scalar. I'm talking this over with the team.

ok thank you .. there are 4 places where a UUID is assigned during model creation, if you have access to the code you can find them with the following search:
https://github.com/laravel/spark-aurelius/search?q=Uuid%3A%3Auuid4()

Oh one more thing .. those places have not changed in a long time. So it was possible before to assign Uuid::uuid4() and indeed maybe the issue is a BC break inside the Ramsey UUID library.

hmm yeah .. LazyUuidFromString seems to be new in 4.0 and it does not have __toString() method, which is probably why things worked before, ie. it was just converted to a string when needed automatically.

ah no .. it does have a __toString()

so indeed forcing the string cast fixes the issue as well return $collection[(string)$id] ?? null;

Invite a user to a team inside Laravel Spark

I can invite a user to a team inside Laravel Spark without problems. We haven't received a similar issue from other customers. You'll need to share more details on your issue.

ok thx. do you also have ramsey/uuid 4.1+ ?

What's the full stack trace of the exception you get?

also what is InviteUserEmail ?

ah damn indeed. this part is custom code.
anyway I have a work around, by simply forcing the id to be a string.
I will try to create a reproducable test case on plain Laravel to show the issue with using a model with UuidInterface instances as the ID while using the Queue. If I manage to do this then we can have a more productive discussion. Sorry for not doing this immediately. I clearly got confused about what is custom code and what is spark code.
closing the ticket for now until I have this reproducable test case.

@lsmith77 no worries. Thanks for raising this. Glad you got it sorted 👍


Added missing datastore-index

If deployed directly as a new application, requests to / fail with the following error:
com.google.appengine.api.datastore.DatastoreNeedIndexException: no matching index found.
The suggested index for this query is:
    <datastore-index kind="Greeting" ancestor="true" source="manual">
        <property name="date" direction="desc"/>
    </datastore-index>

	at com.google.appengine.api.datastore.DatastoreApiHelper.translateError(DatastoreApiHelper.java:51)
	at com.google.appengine.api.datastore.DatastoreApiHelper$AsyncCallWrapper.convertException(DatastoreApiHelper.java:74)
	at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:96)
	at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:88)
	at com.google.appengine.api.datastore.FutureHelper.getInternal(FutureHelper.java:75)
	at com.google.appengine.api.datastore.FutureHelper.quietGet(FutureHelper.java:35)
	at com.google.appengine.api.datastore.BaseQueryResultsSource.getIndexList(BaseQueryResultsSource.java:152)
	at com.google.appengine.api.datastore.BaseQueryResultsSource.loadMoreEntities(BaseQueryResultsSource.java:181)
	at com.google.appengine.api.datastore.QueryResultIteratorImpl.ensureLoaded(QueryResultIteratorImpl.java:161)
	at com.google.appengine.api.datastore.QueryResultIteratorImpl.nextList(QueryResultIteratorImpl.java:115)
	at com.google.appengine.api.datastore.LazyList.forceResolveToIndex(LazyList.java:93)
	at com.google.appengine.api.datastore.LazyList.resolveToIndex(LazyList.java:73)
	at com.google.appengine.api.datastore.LazyList.resolveToIndex(LazyList.java:56)
	at com.google.appengine.api.datastore.LazyList.isEmpty(LazyList.java:260)
	at org.apache.jsp.guestbook_jsp._jspService(guestbook_jsp.java:105)

If you run it locally, the necessary index will be defined IIRC. Are you aware of it @akbertram ?

Thanks Takashi, yes, I understand the indices are added by the dev server.
However, I am using the project as part of an integration test for the
appengine jenkins plugin, during which the project is deployed without
having first been run locally, so it was an issue for me.
On May 27, 2015 3:58 AM, "Takashi Matsuo"<EMAIL_ADDRESS>wrote:

If you run it locally, the necessary index will be defined IIRC. Are you
aware of it @akbertram https://github.com/akbertram ?
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/appengine-guestbook-java/pull/14#issuecomment-105720082
.

I'm fine with adding this.
@ludoch What do you think?

Was added in
https://github.com/GoogleCloudPlatform/appengine-guestbook-java/commit/59355397780a6007a9cd6f499ee89925eda96339#diff-8e42c038410001c2b39cd51cb723d54c
On Wed, May 27, 2015 at 9:52 AM, Takashi Matsuo<EMAIL_ADDRESS>wrote:

I'm fine with adding this.
@ludoch https://github.com/ludoch What do you think?
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/appengine-guestbook-java/pull/14#issuecomment-105991341
.

Oh yes. Sorry I didn't noticed it.
@akbertram The repo already has the index definition, so closing this now. Please feel free to report if it works for you.


Should not allow to "Hide" the last view in a custom view container

When I make e.g. "NPM Scripts" its own container, I am offered with a "Hide" action still, even though it is the only view:

To Verify:

Drag outline from explorer into Activity Bar
Open outline viewlet and right click the header.

Ensure "Hide" is not shown and that you cannot toggle it via the checkbox option


Mail not marked as read

What's going wrong?
Read email not marked as read in the server
What steps will reproduce the problem?

Read mail
Mail marked as read on K9
When new mail arrives, the previous email is marked unread

What do you expect to have happen?

After reading mail on K9, mail is marked as read on server

What do you see instead?

After reading mail on K9, mail is not marked read on server.
on next sync, mail marked unread at K9

What version of K-9 are you using?
5.005
What is your device and what version of Android are you using?
Asus Zenfone 2
Android version 5.0
Is your email account a POP account, Exchange Account or an IMAP account?
IMAP account

This is most likely not a bug in K-9 Mail, but an issue with your setup. Without a debug log it's impossible to tell what's happening.

Cketti, I have k9-mail v 5.006 on my 2nd gen Moto X and have seen it develop the same problem.
Messages are no longer being marked as read from more than once instance.
What logs, rather, how would I get the data to share?

I am seeing SSLException: Write errors
http://node02.com/wErrors.txt

"Connection reset by peer" means either a timeout that we should be retrying over or the phone lost it's internet connection.


Support USB BT modules that report as vendor-specific

This makes BlueHeron work with Broadcom BCM20702A0 adapters.


certain org/bucket IDs are being stored differently in storage

This issue manifests itself in a flaky test: https://github.com/influxdata/influxdb/issues/11153
The problem is actually as follows:

The 1.x line protocol format does not allow a , or   (space) in a measurement name.
The models.Point and other friends in the models package automatically escapes/unescape when going from []byte --> models.Point or the other way.
Currently when querying TSM storage the requested measurement (org, bucket) tuple will be escaped here.
The tsm1.Cache and tsm1.WAL will both receive escaped versions of the measurement because they use models.Point APIs to extract the measurement names they write.
However, both the tsi1.Index and the tsdb.SeriesFile do not escape the measurement. This means that the index and TSM data will disagree about the (org, bucket) tuple, and thus the measurement.

We should store all data in a standard format.

I still think this might be a problem.


How can I get the skin file of image?

I'm trying to use a custom dataset to train the model using train_unsupervised.py.
However, it seems that it needs a skin image (named as ..._skin.jpg).
How can I get those skin images from plain images?

Skin classification / segmentation algorithm. Or ask help from deng yu.

Ahh I got it. Thank you for the fast response!

@GGOSinon
How do you  get the skin file of image?

I used the skin detector from WillBrennan's github. (https://github.com/WillBrennan/SkinDetector/blob/master/skin_detector/skin_detector.py)

I'm trying to use a custom dataset to train the model using train_unsupervised.py.
where is the  custom dataset  ? can you share it?
and how to use thehttps://github.com/WillBrennan/SkinDetector/blob/master/skin_detector/skin_detector.py to train the dataset in detail?

I am using FaceScape dataset (https://facescape.nju.edu.cn).
I used the process() function of skin_detector to generate the skin image.
You could make a skin image from source image as the below code snippet:
image_bgr = src_img
image_rgb = image_bgr[..., ::-1]
lm_trans, img_warped, tform = crop_align_affine_transform(lm_howfar, image_rgb, FLAGS.img_height, std_224_bfm09)
skin = skin_detector.process(img_warped[...,::-1])

Thanks for your sharing, I will learn it either. hhhh~


Window moves underneath the cursor when starting a drag with representative()

When I use representative() to make an element draggable by just its child, the window jumps underneath the cursor such that the window’s top-left corner is under the cursor.
Demo: http://jsfiddle.net/eveLzaaw/2/

My original goal was to make a header drag an entire element; I’ve now accomplished this by listening for the dragdown event and canceling any drags that aren’t in the header. Example: https://github.com/bitovi/jquerypp/blob/6bd2f1429d184f87ab98172bf91a9bb32465cc6e/event/drag/drag_test.js#L204-L210


How to change password?

Hi,
I tried by db.removeCrypto(); and then db.crypto() with different password, but without luck, how can I do it properly?

Remove crypto and add crypto add the crypto pouch plugin to the database not encrypting the documents, you'd need to probably create a new database and add encryption with the new password then replicate between then.


Android Native Crash on Android 9 and 10. ERROR : split_config.arm64_v8a.apk (offset 0x2b2000) (avfilter_graph_parse2+80)

Hi there @yangjie10930 , I hope you're doing fine. First of all thanks for this wonderful library , It had helped me a lot in many projects.
Recently I am getting Android Native crash on devices with 9 and 10. These crashes are caused due to FFmpeg native codes. Is there anything which you can provide which can help me in solving this error.
Thanks in advance! :) 👍
Today, 13:52 on app version 4
Vivo vivo 1723 (1723), Android 9
Report 1

pid: 0, tid: 0 >>> com.humsaath.newsplitstory <<<
backtrace:
#00  pc<PHONE_NUMBER>07c9f8  /system/lib64/libc.so (strspn+32)
#01  pc<PHONE_NUMBER>0afae4  /data/app/com.humsaath.newsplitstory-Of3GRh_gHBBOWNY-GQpRwg==/split_config.arm64_v8a.apk (offset 0x2b2000) (avfilter_graph_parse2+80)
Report 2
pid: 0, tid: 0 >>> com.humsaath.newsplitstory <<<
backtrace:
#00  pc<PHONE_NUMBER>07602c  /system/lib64/libc.so (strspn+16)
#01  pc<PHONE_NUMBER>0afae4  /data/app/com.humsaath.newsplitstory-dy06UnfzwS327oQ1_AdsFw==/split_config.arm64_v8a.apk (offset 0x2b2000)

Have you solved the problem


Fixed Rounding Errors

updated int() to math.trunc() to prevent rounding errors converting from Julian date to Python datetime object

Just noticed the numpy branch :-)


FEAT: Add Exception Handling to Azure TTS Target

Description

Add exception handling for Bad Request and Rate Limiting (and other HTTP Status) Exceptions for Azure TTS Target.
Empty Response and Content Filter handling is not applicable for the Azure TTS Target.

Tests and Documentation

Unit tests added for HTTP Status Code Errors 400 (Bad Request) and 429 (Rate Limiting), with a test to ensure Rate Limiting triggers a retry appropriately.

No doc changes made, therefore JupyText was not run.

Not so familiar yet with testing code so I won't speak to the testing file, but the exception handling makes sense to me!


sdelete 2.0 is too slow

For me, the execution of sdelete never finished, even after 48 hours. It is because the new version 2.0 has performance issue as explained here:
http://forum.sysinternals.com/sdelete-hangs-at-100_topic32267.html
I didn't find an URL to old version 1.61 to fix.

choco install sdelete -version <IP_ADDRESS>60210

The previous version of sdelete can be downloaded from the following the web archive URL.
http://web.archive.org/web/20140902022253/http://download.sysinternals.com/files/SDelete.zip

Thanks for the link.
The MD5 hash is e189b5ce11618bb7880e9b09d53a588f which verifies as the genuine version.

For others who may land here due to SDelete being slow and are wondering where the checksum was recorded for the 1.6.1 version so they can manually verify their download see https://github.com/dtgm/chocolatey-packages/blob/85da0675db2d4f14167d29a003b3529e572cd3c5/automatic/_output/sdelete/1.61/tools/chocolateyInstall.ps1 . The SHA1 checksum for the SDelete.zip (version 1.61) there is a7c5b5b25cfcc6d9609d7aec66e061a0938d4f9a . When I MD5 sumed a downloaded zip that matched the SHA1 sum for SDelete.zip (version 1.61) I got a hash of 239cc777df708437f5a29959d4b17d53 .

I also discovered https://connect.nimblestorage.com/thread/1513 which suggests that the following script is a much faster (and zero-dependency) alternative:
##########################################################################
#	Written By: David Tan
#
#	V1.0 29/01/2014		Davidt 	Fast Space reclaimer.
#
#   Note: Concept and code parts taken from http://blog.whatsupduck.net/2012/03/powershell-alternative-to-sdelete.html
#
#   Uses powershell method to generate large (1GB) file containing 0. Re-copies this file until <1GB free.
##########################################################################

param (
       [string] $FilePath,
       [string] $LogFile,
       [int] $CycleWait
)

Function DispMessage ([string] $Message) {
    [string] $DateStamp = get-date -format "yyyy-MM-dd HH:mm.ss"
    Write-Host "[$DateStamp] $Message"
    Add-Content $LogFile "[$DateStamp] $Message"
    }

Function SleepWait ([string] $Sleeptime) {
    sleep $Sleeptime
    DispMessage "  --> Sleeping $Sleeptime sec"
    }

$LogFile = "C:\temp\NimbleFastReclaim.log"
$FilePrefix = "NimbleFastReclaim"
$FileExt = ".tmp"

If ($FilePath -eq "") {
    Write-Host "- Filepath <driveletter or mountpoint>"
    Write-Host "- LogFile (DEFAULT=$LogFile)"
    Write-Host "- CycleWait(s) (DEFAULT=0)"
    Exit 1
    }
If ($FilePath.substring($FilePath.length - 1, 1) -ne "\") {
    $FilePath = $FilePath + "\"
  }
$ArraySize = 1048576kb
DispMessage "--> Starting Reclaim on $Filepath ... "
DispMessage "--> Cycle Sleep = $CycleWait sec"
DispMessage "--> File Size = $($ArraySize/1024/1024) MB"
$SourceFile = "$($FilePath)$($FilePrefix)0$($FileExt)"

Try {
    DispMessage "  -->Writing $SourceFile"
    $ZeroArray= new-object byte[]($ArraySize)
    $Stream= [io.File]::OpenWrite($SourceFile)
    $Stream.Write($ZeroArray,0, $ZeroArray.Length)
    $Stream.Close()
    $copyidx = 1
    while ((gwmi win32_volume | where {$_.name -eq "$FilePath"}).Freespace -gt 1024*1024*1024) {
        $TargetFile = "$($FilePath)$($FilePrefix)$($copyidx)$($FileExt)"
        DispMessage "  --> Writing $TargetFile"
    	cmd /c copy $SourceFile  $TargetFile
    	$copyidx = $copyidx + 1
        If ($CycleWait -gt 0) {
            SleepWait $CycleWait
          }
      }
    DispMessage "--> Reclaim Complete. Cleaning up..."
    Remove-Item "$($FilePath)$($FilePrefix)*$($FileExt)"
    DispMessage "--> DONE! Zerod out $($copyidx*$ArraySize/1024/1024) GB"
  }
Catch {
    DispMessage "##> Reclaim Failed. Cleaning up..."
    Remove-Item "$($FilePath)$($FilePrefix)*$($FileExt)"
    Exit 1
  }

The author suggests that using robocopy (which is multi-threaded) instead of copy may yield further performance beyond the 1TB/hr he saw, but what he got was fast enough for his use.

WARNING: This will completely expand a virtual machine disk as it fills the volume with file(s).

I would prefer switching to
Install-Module WindowsBox.Compact -Force
Optimize-DiskUsage

as used in
https://github.com/windowsbox/packerwindows/blob/master/provision.ps1

Note: If your disk is backed by supported "thin" storage (e.g. a Hyper-V dynamic sized VHDX) then Optimize-Volume will do a Re-Trim which will be far more efficient at freeing empty space than trying to scribble zeros everywhere.

Module WindowsBox.Compact has the same issue as for @petemounce script: it will completely expand a virtual machine disk as it fills the volume with file(s).

Well does anybody know if Optimize-Volume helps for all hypervisors? We have parallels, virtualbox, vmware in this repo and probably hyperv in near future.

@StefanScherer sadly I doubt that you can make Optimize-Volume trim everywhere - even on Hyper-V you only get it on dynamic disks and not fixed size ones. You need the hypervisor to "want" to provide a thin disk AND implement and advertise the commands that allow Windows to say which bits of the disk are unused in a deterministic fashion. Even then the emptied bits may not disappear until athe disk is compacted...
This is a case where the ideal tool needed doesn't yet exist. For example zerofree for Linux's ext filesysytem works on unmounted file systems and looks to see if a free area is already zero. If it is then it skips over it and it's possible to a manual trim prior thus getting the best of both.

5cents to nimble zeroing PS script:

creating number of file in root filesystem is not recommended. On should create noncompress folder for temporary files
once entire volume is compressed the tools does not provide result and performance as expected - see point 1
temp directory is hard coded - one should use $env:temp instead.
scriptl's  logic does not leve 1 GB of free space - it checks if more that 1 GB remains free and make copy - one should change the code.
Despite above - great example of powershell usage  for every admin.  Everyone can make required changes within 5 minutes.
Tx a lot, Nimble team.


fix unavailable coordinator image

Signed-off-by: Congrool<EMAIL_ADDRESS>
What type of PR is this?

Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespace from that line:
/kind bug

What this PR does / why we need it:
There seems no such image repo called docker.io/google_containers/kube-apiserver and docker.io/google_containers/etcd. Replace them with k8s.gcr.io/kube-apiserver and k8s.gcr.io/etcd respectively.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

Does this PR introduce a user-facing change?

other Note

/lgtm
/approve

/backport release-v1.2


Click-to-dismiss mode

Hi,
I'd like to add click-to-dismiss mode. It'd make sense for displaying success/info/error. Sometimes I want to make sure that user did saw the message (e.g. it didn't time out before him seeing it) but allow quick close too.
I was thinking about adding additional parameter to showError/showSuccess dismissOnTap which would default to false. Would this fit the look'n'feel of this library?
Thanks!
P.S. I see there's https://github.com/SVProgressHUD/SVProgressHUD/pull/689 but it wasn't addressed in quite a while..

SVProgressHUDDidReceiveTouchEventNotification

@lotus-lotus is right. Use SVProgressHUDDidReceiveTouchEventNotification and close with it.


Should ESMvalTool produce a "tracking_id"?

According the the ESGF https://esgf.github.io/esg-search/Climate_Model_Metadata.html the "tracking_id" is required metadata. The cmorizers I have been working with don't produce it. Is this by choice or is it an oversight?

@valeriupredoi and @zklaus I submitted this a coupe of days ago

Thanks for this, @glpotter. Note that the document linked above speaks specifically about CMIP5 and also a possible future CMIP6, so we should check with ESGF on how the requirements have developed. I think part of that will be a project-specific definition. Are we mostly targeting Obs4mips here?

gotcha @glpotter :+1: In light of what we talked yesterday on the call, plus adding to what @zklaus mentions above, would you mind please adding all the other attributes you'd be interested to see, so I can run them by Matt Miezilinski first, please? :beer:

Is there an issuing authority for those tracking IDs? Or can we just make up our own, e.g. using uuid.uuid4()?

This has somewhat changed over time. CORDEX, CMIP5, and CMIP6 use uuids that we can produce with the uuid module, but CMIP6 also uses them as part of a HDL that is registered at DKRZ. Matt Miezilinski will be able to tell us whether they can/should be produced by the data producers, i.e. us, or are assigned as part of the publication process on ESGF.

To keep things digestible for Matt, given how busy he is, I'd rather we summarized the tracking_id in one line, plus add the other questions for the other attrs that may be needed - that's why I'd appreciate the input from @glpotter here - if there were other things to discuss, pop them in here pls :beer:

I’ll work on this tonight. JerrySent from my iPhoneOn Feb 9, 2023, at 5:41 AM, Valeriu Predoi @.***> wrote:
To keep things digestible for Matt, given how busy he is, I'd rather we summarized the tracking_id in one line, plus add the other questions for the other attrs that may be needed - that's why I'd appreciate the input from @glpotter here - if there were other things to discuss, pop them in here pls 🍺
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

Before NASA GSFC abandoned CMOR we included the mandatory Metadata fields only. tracking_id was one of them. Since ESMValTool is  preparing data to eventually be put into  ESGF, only the mandatory fields  need be present. This list is a little different from what ESGF wants. The mandatory list is in https://esgf.github.io/esg-search/Climate_Model_Metadata.html.
At least the MERRA2 list is:
:Contact = "http://gmao.gsfc.nasa.gov" ;
:Institution = "NASA Global Modeling and Assimilation Office" ;
:Title = "MERRA2 inst6_3d_ana_Np: 3d,6-Hourly,Instantaneous,Pressure-Level,Analysis,Analyzed Meteorological Fields Monthly Mean" ;
:VersionID = "5.12.4" ;
:comment = "'Contains modified MERRA-2 data'\n" ;
:history = "Created on 2023-02-04 00:43:14" ;
:host = "unknown host" ;
:mip = "Amon" ;
:modeling_realm = "reanaly" ;
:project_id = "OBS6" ;
:raw = "H" ;
:reference = "doi:10.1175/jcli-d-16-0758.1" ;
:source = "" ;
:tier = "3" ;
:title = "MERRA2 data reformatted for ESMValTool v2.8.0.dev45+g470d12940" ;
:user = "potter" ;
:version = "5.12.4" ;
:Conventions = "CF-1.7" ;

I just heard from a researcher at NASA GISS who had to create new tracking ID for CMIP6 he said:
When I re-processed the GISS model output, I had to create new tracking IDs for the updated files. To do this, I created unique uuid using uuidgen (https://www.uuidgenerator.net/). If you are a Python user, you can also do this via the "uuid" library (https://docs.python.org/3/library/uuid.html).
One note—our CMIP6 metadata has the prefix "hdl:21.14100/", so I had to ensure I included this before the uuid when adding the "tracking_id" using the ncatted attribute editor tool (https://linux.die.net/man/1/ncatted).


Bug: beta.8 might've introduced some weird authentication timeout crash bug

Describe the bug
I think https://github.com/surrealdb/surrealdb.js/commit/c063200b70e02d7e6fd3e11b1af2d96ba4e0eabe may have introduced some kind of timeout bug or authentication bug
Unhandled Rejection: VersionRetrievalFailure: Failed to retrieve remote version. If the server is behind a proxy, make sure it's configured correctly.
at file:///var/task/node_modules/surrealdb.js/esm/library/versionCheck.js:34:19
at runNextTicks (node:internal/process/task_queues:60:5)
at process.processTimers (node:internal/timers:511:9)
at async retrieveRemoteVersion (file:///var/task/node_modules/surrealdb.js/esm/library/versionCheck.js:28:25)
at async Surreal.connect (file:///var/task/node_modules/surrealdb.js/esm/surreal.js:78:29)
at async get_surreal_db_client (file:///var/task/.svelte-kit/output/server/chunks/hooks.server.js:159:3)
Node.js process exited with exit status: 128. The logs above can help with debugging the issue.

This ends up crashing the app because it's not handling the error.
Steps to reproduce
I tested with local db version 5.3 and 1.4.2 in production, both were having these issues. Which makes me think it's SDK issue (I was previously running 0.11 and migrating to v1.0
However, downgrading to beta-7 appear to not have this issue
Expected behaviour
App should not crash, not exactly sure what is happening here
SurrealDB version
1.5.3 on production 1.4.2
SurrealDB.js version
1.0.0-beta.9
Contact Details
<EMAIL_ADDRESS>Is there an existing issue for this?

[X] I have searched the existing issues

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I'm not sure exactly what's happening here, but I think it's some time out issue that happens after a certain amount of minutes, not sure exactly how long

Both beta.9 and beta.8 have this issue. beta.7 does not and likely has something to do with https://github.com/surrealdb/surrealdb.js/commit/c063200b70e02d7e6fd3e11b1af2d96ba4e0eabe

This appears to be an issue with the SDK doing pings on HTTP(s) protocol, when pings should only be used with the ws(s) protocol.
Temporary workaround: use websockets protocol to connect to server instead of HTTP(s)

this happens with websockets as well.

this happens with websockets as well.

Did you try beta.7 to fix your issue?

This issue was present in beta.12 too. The authenticated session expires and you have to setup a DB connection afresh. This means one of two things

An authentication timeout was introduced in surrealdb and the client must take care of renewing it
There was already a refresh-session functionality on the client but it is now broken

HttpConnectionError: There was a problem with authentication
    at HttpEngine.rpc (file:///var/task/node_modules/surrealdb.js/dist/index.mjs:1:33564)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Surreal.query_raw (file:///var/task/node_modules/surrealdb.js/dist/index.mjs:1:41722)
    at async Surreal.query (file:///var/task/node_modules/surrealdb.js/dist/index.mjs:1:41427)

Have got the same problem as @ioannist  :/
It's really annoying because it used to work once and now if the session expires your surrealdb client is basically bricked... 😅

@reinhard-sanz have you tried updating your surreal to a later version like beta.20 and using websocket instead of http?
-https://foo.com:8000
+wss://foo.com:8000
or
-http://foo.com:8000
+ws://foo.com:8000

@AlbertMarashi ok after switching to websocket it seems to work now :) Thx!


Typo

@hickeys: The PR passed the acceptance checklist. Please evaluate further and approve/complete the PR if appropriate. Thanks!

@kmgallahan : Thanks for your contribution! The author(s) have been notified to review your proposed change.

This change is to a line that no longer exists, so I'm going to close this PR. Thanks for finding the typo though!


[WIP] support for cache volume mounts from host

As mentioned here, moving this from POC to fleshed out implementation ended up calling for a very different approach.
Will flesh out description more, but high level:

Needed to fork buildkit; corresponding PR for dagger's buildkit fork is here https://github.com/dagger/buildkit/pull/3

Trying to keep modifications there minimally invasive and mostly plumbing-only

Cache volumes are implemented via a custom snapshotter (which lives in this dagger repo)

Makes it much easier to reuse existing buildkit code without special casing
Allows the implementation to be shareable across concurrent engines (by avoiding use of boltdb for metadata, instead we use flat files, flock and some careful maneuvering with atomic renames and such)

Currently passing tests other than a few expected failures from tests for cache volume ownership/mode, which is a TODO below.

TODOs:

[ ] Add support for pruning just cache volumes (including specific ones) to the API added in https://github.com/dagger/dagger/pull/7767
[ ] Way more tests (need to backfill coverage + add more, including sharing of volumes between separate engines)
[ ] Support for sharing mode private
[ ] Support for base layers underneath cache mount (which also gets us support for permissions+mode)
[ ] Double-check against cloud cache.

New implementation is compatible with it now in theory, but need to test to confirm and also think through whether it even makes sense to have both working together.

(finishing up https://github.com/dagger/dagger/pull/7804 first, then getting back to this)

Update on this:

Been struggling with the split responsibilities between buildkit + dagger that come along with a fleshed out implementation of this
Tried to just layer on top of buildkit but proving to not be tenable, so for now going with a fork of buildkit that includes all the customizations we need here
After trying a few things there, think I've honed in on a good approach:

Support for these special "mutable-only, shareable" mounts will be a custom Snapshotter implementation (i.e. the interface from containerd).

This allows us to enforce all the properties we want in a mostly self-contained place rather than leaking too much all over. Also potentially more re-usable in the future.
E.g. we can enforce the mutability, re-use based on key, locking, etc. there. We can also store the metadata however we want, so we won't be tied to a non-shareable boltdb implementation while still re-using most of the existing buildkit+dagger machinery

For pruning, cache mounts stored on the host will be able to be automatically pruned after all (different than I originally thought), but I will update our default pruning policy to exclude them so out-of-the-box users will need to manually prune them

This requires fleshing out the pruning API added in #7767 to support pruning specific cache refs (which in turn is not handled by buildkit's pruning implementation yet and will require some changes)

Has something been done in this direction? I have been following the PR for a long time, and the GH bot has more interactions than the code


Concourse for Pages - Production

In order to have compliant ci, the Pages team needs to use concourse.
Acceptance Criteria

[] Credential storage: We currently store credentials in S3 and inject them during set-pipeline calls. This is not ideal for the Pages team as they would need access to S3 buckets. The cg ops team has also discussed moving away from using S3 for ease of use and to remove sensitive information from our pipelines. Concourse + Credhub integration is desired as Concourse will fetch credentials at runtime, keeping creds completely out of pipelines.

[] Authentication: Currently, cg operators authenticate via opslogin.fr.cloud.gov and are granted access via the existence of the concourse.admin scope. The Pages team can be added to OpsLogin and individually assigned to roles in Concourse.

[] Authorization: Current cg operators are all administrators of Concourse. The Pages team only needs access to their pipelines and their credentials following the principles of least privilege.

Security considerations
See https://github.com/cloud-gov/internal-docs/blob/master/design-decisions/concourse-pages.md. This outlines the required authentication and authorization controls.
Implementation sketch
See: https://github.com/cloud-gov/internal-docs/blob/main/concourse/concourse-pages.md
Staging

[] Add a local admin user to prevent lockout (https://github.com/cloud-gov/internal-docs/blob/master/runbooks/concourse/default-local-account.md)
[] Pipeline to deploy Credhub (https://github.com/cloud-gov/deploy-credhub)

[] DNS: credhub.fr.cloud.gov
[] ALB rule
[] Use OpsUAA for authentication
[] Test ACLs
[] Pages team ACLs (use terraform)
[] Hook up new Credhub to doomsday

[] Configure concourse to talk to credhub

[] Verify no existing pipelines are affected

[] Configure a Pages team in Concourse

[] Establish RBAC using OpsLogin
[] Test team pipeline

Confirmed with @soutenniza that this can be closed. There is separate work being done to implement Concourse for the Pages team


chore: correct the layout of description icon of subcategories for hover state

Closes #1725
Changes proposed
the data-tooltip-id , data-tooltip-content, data-tooltip-place were shifted to the children Icon
Screenshots

Hi @yashnirmal. Welcome to LinksHub! :) This issue has not been assigned to nor approved yet, so I'm closing this pull request for now. Once we approve & assign you to this issue, your pull request will be reopened. While you wait, please refer to our Contributing Guide to learn how to effectively contribute to the project! 😊 We can’t wait to work with you! 😊👍🏾

@CBID2
I've assigned him the issue and included the corresponding labels, we can now move forward with this.

@yashnirmal There is a border on focus, please remove that.

It seems weird, else everything works.

Hey @Anmol-Baranwal I have made the change to fix this. Let me know if any thing else is there


[MESOS-2985] [SPARK-8726] Give to spark workers the correct amount of memory

As described in SPARK-8726, spark workers were given min(slave_ram_kb, master_ram_kb) memory by default, which could lead to unused memory when master and slaves instance types are different.
This PR also introduces a better naming for the variable spark_mb.
Please notice that the amount of memory given to tachyon is equal to the amount given to spark; I've never used tachyon in my environment, so I may be wrong here, but it seems strange to me that two processes running on the same machine(s) are both given the same (big) amount of memory. This is left untouched in this PR.

(This is open vs 1.4 not master)

I opened it against 1.4 because master has been last updated 2 years ago, apparently, while branch-1.4 is set as the default branch.
https://github.com/mesos/spark-ec2/branches

Oh, hah, this is my mistake. I saw this on the Spark JIRA and clicked through assuming it was a Spark PR, where PRs would always be vs master. Obviously it's not, nevermind.
But then, is this really something we should track as a Spark issue? I know there is thing strange legacy relation here but I'd rather manage changes to Mesos code in Mesos. Or decide this thing should not live in Mesos.

I agree with you, the fact that spark-ec2 lives outside spark always confused me. Before submitting, I checked the other PRs in this repo and they also refer to spark issues, and I believe it is correct, as the script to launch a spark cluster on EC2 is included in the spark distribution, therefore they should be tracked on the jira.

Yes, I think that practice is wrong. At least, tracking a change to Mesos code in Spark JIRA doesn't make sense -- which version of Spark contains the fix for that JIRA? It's outside my area of interest/influence to actually move Spark stuff to Spark, though that sounds good, but at least we can not extend the problem by reflecting the reality in JIRA.

I see your point. What do you suggest then? Should we close SPARK-8726 as Won't Fix and let mesos handle this PR?

I would not mind that. I know some people have argued for managing it as it is done now, and don't want your change to get caught in the crossfire. Heh, do you want to try opening a Mesos JIRA too and see if that much goes over?

Makes sense, done! Let's see what happens

@armisael @srowen This is very much a Spark related issue and doesn't have much to do with Mesos. Its a historical artifact that this repo is named mesos/spark-ec2 -- chiefly because the old Spark code used to be at mesos/spark. AFAIK even the mesos code has migrated to Apache repos now. I guess we can talk about migrating this repo to AMPLab (or maybe even Apache ?) on the dev list ?

Why not migrate it to Spark? the problem is not just the logic of it but that these changes aren't versioned or released with Spark, but seem to be part of Spark somehow.

The changes are versioned, a branch in mesos/spark-ec2 corresponds to a branch in Spark (so right now this is branch-1.4). The reason this needs to be outside of Spark is that this is a small repository that gets cloned on EC2 launch to then download and setup Hadoop, Spark etc. -- something like bootstrapping things if it makes sense.

OK, still doesn't make sense that this is part of Mesos. Why does it need to be a repo at all?

It needs to be a repo as we need to clone it from the EC2 instances and we get version history, branches etc. from it being a repo. It doesn't need to be a part of mesos though (I explained the historical reasons above) but moving the repo is extra work and there has been no incentive/reason to do that so far.

I suggest we discuss moving spark-ec2 (maybe both the apache/spark/ec2 and mesos/spark-ec2, or just the latter) to its own repository (perhaps spark-ec2/spark-ec2) on the dev list.
As Shivaram said, there isn't much impetus to do it apart from cleaner bookkeeping since spark-ec2 is relatively stable and not growing, and many Spark committers are also Mesos committers or have special rights to the Mesos GitHub organization.

Yes, I get that the code should be in a repo like any software. Distributing a fixed version doesn't require git or cloning; these can be Maven artifacts like any other in Spark that are versioned and downloadable. Like, you can have an 'ec2' artifact whose product is a tarball of all the files you see in this repo. I appreciate that's hassle, but at the least this shouldn't be under mesos at this point, even if continues to be managed as a repo. I see that it's not really part of the spark release as the AMIs aren't part of the spark release. Go ahead with the change; I don't really have a horse in this race, just still looks weird.

Thanks @nchammas for starting the email thread on the dev list. Lets continue this discussion there.

:+1:

LGTM on this PR. Merging this.


Add Support for plural mods

{
          "id": "explicit.stat_1416292992",
          "text": "# [Charm] Slot",
          "type": "explicit"
},

and yet in game it shows as Slots

Closes #53


Keep keyboard open

Hi guys!
Is it possible to select items and keep the keyboard open?
Thank you.

Yes. You need to add this property to Multiselect.
flatListProps={{keyboardShouldPersistTaps: 'handled'}}


Check for 'void' before indexing into a type.

Fixes #41021

To help with PR housekeeping, I'm going to close this draft PR. It's pretty old.


Create 1140-stone-game-ii.java

File(s) Modified: 1140-stone-game-ii.java
Language(s) Used: Java
Submission URL: https://leetcode.com/problems/stone-game-ii/submissions/1267228300/

Important
Please make sure the file name is lowercase and a duplicate file does not already exist before merging.
Adopted this solution to Java

Hi! @felivalencia3 if possible, can you please take a look at this at your convenience Thank you so much.

Hi! @felivalencia3 if possible, can you please take a look at this at your convenience Thank you so much.

Hi! @sujal-goswami if possible, can you please take a look at this at your convenience, Thank you so much.

Hi, @MHamiid! If possible, please review this PR at your convenience! Thank you a lot.


Use go modules, upgrade dependencies, add skaffold.dev

Hey @chuckha & @timothysc,
This pull requests is based on the work as described in this comment: https://github.com/heptiolabs/eventrouter/issues/77#issuecomment-522000759
What's included, in short:

Use go modules instead of dep
Use a multistage Dockerfile to build/test the project
Updated the versions of:

Go: v1.9 -> v1.12.x
Alpine Linux: v3.6 -> v3.9.
Go dependencies, for example: k8s.io/client_go v5.0.0 -> v12.0.0

I tried to find an Alpine Linux 3.9 & Go 1.12.x on gcr.io/heptio-images/...., but couldn't find any. So I'm using the publicly available ones now.
I've also added a skaffold.yaml (using skaffold) to easily run the EventRouter in your local Kubernetes cluster using the already provided eventrouter.yaml. I hope this is ok.
I understand that the size of this PR can be quite concerning, but it actually deletes a lot more than it adds.
I hope we can find a way to merge these changes into the upstream branch, as we would like to contribute to your repository!
If these changes will be accepted, I will create a new PR soon that actually contributes the new sink.
Thanks for the cool open source project!
Jorik

go 1.13, we have module mirror, may be we should ditch vendoring all together?


Job sequencing algorithm explanation & implementation added.

Description of Change

Checklist

A well-formatted and organized Job sequencing algorithm explanation & implementation added applying a greedy approach using the priority_queue data structure.

[x] Added description of change
[x] Added file name matches File name guidelines
[x] Added tests and example, test must pass
[x] Added documentation so that the program is self-explanatory and educational - Doxygen guidelines
[x] Relevant documentation/comments is changed or added
[x] PR title follows semantic commit guidelines
[x] Search previous suggestions before making a new one, as yours may be a duplicate.
[x] I acknowledge that all my contributions will be made under the project's license.

Notes:

Thanks for the review.
I have do the following:

A proper documentation for functions and headers as mentioned in the guide.
Added tests in the main.

@realstealthninja Hey, I'm waiting for your reveiw.


RuntimeError: asyncio.run() cannot be called from a running event loop

Describe the bug
Extract same code copied from example of Azure (below), trying to execute it on Jupyter notebook. python3.11
To Reproduce
Steps to reproduce the behavior:
from langchain_openai import AzureOpenAIEmbeddings

lm_model_instance = AzureChatOpenAI(
    openai_api_version=os.environ["AZURE_OPENAI_API_VERSION"],
    azure_deployment=os.environ["AZURE_OPENAI_CHAT_DEPLOYMENT_NAME"]
)

embedder_model_instance = AzureOpenAIEmbeddings(
    azure_deployment=os.environ["AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT_NAME"],
    openai_api_version=os.environ["AZURE_OPENAI_API_VERSION"],
)
graph_config = {
    "llm": {"model_instance": llm_model_instance},
    "embeddings": {"model_instance": embedder_model_instance}
}

smart_scraper_graph = SmartScraperGraph(
    prompt="""List me all the events, with the following fields: company_name, event_name, event_start_date, event_start_time,
    event_end_date, event_end_time, location, event_mode, event_category,
    third_party_redirect, no_of_days,
    time_in_hours, hosted_or_attending, refreshments_type,
    registration_available, registration_link""",
    source="https://www.hmhco.com/event",
    config=graph_config
)

Additional context
Error traceback log
1 result = smart_scraper_graph.run()
2 print(result)
File d:\conda\envs\python311\Lib\site-packages\scrapegraphai\graphs\smart_scraper_graph.py:116, in SmartScraperGraph.run(self)
[108](file:///D:/conda/envs/python311/Lib/site-packages/scrapegraphai/graphs/smart_scraper_graph.py:108) """
[109](file:///D:/conda/envs/python311/Lib/site-packages/scrapegraphai/graphs/smart_scraper_graph.py:109) Executes the scraping process and returns the answer to the prompt.
[110](file:///D:/conda/envs/python311/Lib/site-packages/scrapegraphai/graphs/smart_scraper_graph.py:110)
[111](file:///D:/conda/envs/python311/Lib/site-packages/scrapegraphai/graphs/smart_scraper_graph.py:111) Returns:
[112](file:///D:/conda/envs/python311/Lib/site-packages/scrapegraphai/graphs/smart_scraper_graph.py:112)     str: The answer to the prompt.
[113](file:///D:/conda/envs/python311/Lib/site-packages/scrapegraphai/graphs/smart_scraper_graph.py:113) """
[115](file:///D:/conda/envs/python311/Lib/site-packages/scrapegraphai/graphs/smart_scraper_graph.py:115) inputs = {"user_prompt": self.prompt, self.input_key: self.source}
--> [116](file:///D:/conda/envs/python311/Lib/site-packages/scrapegraphai/graphs/smart_scraper_graph.py:116) self.final_state, self.execution_info = self.graph.execute(inputs)
[118](file:///D:/conda/envs/python311/Lib/site-packages/scrapegraphai/graphs/smart_scraper_graph.py:118) return self.final_state.get("answer", "No answer found.")
File d:\conda\envs\python311\Lib\site-packages\scrapegraphai\graphs\base_graph.py:107, in BaseGraph.execute(self, initial_state)
[104](file:///D:/conda/envs/python311/Lib/site-packages/scrapegraphai/graphs/base_graph.py:104) current_node = index
[106](file:///D:/conda/envs/python311/Lib/site-packages/scrapegraphai/graphs/base_graph.py:106) with get_openai_callback() as cb:
--> [107](file:///D:/conda/envs/python311/Lib/site-packages/scrapegraphai/graphs/base_graph.py:107)     result = current_node.execute(state)
[108](file:///D:/conda/envs/python311/Lib/site-packages/scrapegraphai/graphs/base_graph.py:108)     node_exec_time = time.time() - curr_time
[109](file:///D:/conda/envs/python311/Lib/site-packages/scrapegraphai/graphs/base_graph.py:109)     total_exec_time += node_exec_time
File d:\conda\envs\python311\Lib\site-packages\scrapegraphai\nodes\fetch_node.py:88, in FetchNode.execute(self, state)
...
[187](file:///D:/conda/envs/python311/Lib/asyncio/runners.py:187)         "asyncio.run() cannot be called from a running event loop")
[189](file:///D:/conda/envs/python311/Lib/asyncio/runners.py:189) with Runner(debug=debug) as runner:
[190](file:///D:/conda/envs/python311/Lib/asyncio/runners.py:190)     return runner.run(main

https://github.com/VinciGit00/Scrapegraph-ai/issues/179

let us know


Improve Troubleshoot-ModernSearch log output

Is your request related to a problem? Please describe.
Currently, we dump multiple things to the log, which is good for if you are running the script once or don't know what we are doing and can just collect the last log and it should have everything that we are looking for. However, if you are running the script and trying to find multiple messages, we get the same generic information every time. This bloats the logs and isn't truly needed.
Describe The Request
Determine the best way to "cache" what information we have recently dumped out for X user or X server. Then don't include that in the log if it isn't needed.

We discussed dumping a few things out to XML and keeping the TXT output for inexperienced users to be able to diagnose issues.
Recommend dumping the following to XML:
Get-Mailbox
Get-MailboxDatabase
Get-MailboxFolderStatistics
Verbose diagnostic output


Wrong Troubleshooting info under macOS tab

Under the "macOS" tab then under "Troubleshooting" section, the directions to troubleshoot are for Windows and not macOS.  I have macOS clients setup correctly and not showing under Devices in OneDrive Sync App Health devices tab.

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

ID: 9f65565e-e318-a6d3-2216-b81243b753f3
Version Independent ID: 905fabb5-f3cb-0dd4-af58-f785a45002a5
Content: OneDrive sync reports in the Apps Admin Center - SharePoint in Microsoft 365
Content Source: SharePoint/SharePointOnline/sync-health.md
Service: one-drive
GitHub Login: @MikePlumleyMSFT
Microsoft Alias: mikeplum

We appreciate any feedback that improves the content in the Microsoft docs but we haven't had any response from you so we are going to close this issue.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.

@scanum Not sure what there was to respond too?   Info on the page is wrong and is troubleshooting info for Windows and not macOS.   Nothing else I can offer on my end.


Readme: Make meeting time clearer, invite to check calendar

Add a note to check calendar for localized meeting times.

/skip-all


Add cursor pointer to input when type is file

Why did you close this pr?

Why did you close this pr?

Because ShandCN (our inspiration) does not implement it in that way. :(

Your implementation was looking interesting :D


Make transition app absent in Carrenza

Update c7f3515
Transition has been migrated to AWS in staging/production. We need
to ensure the app resources are removed from the Carrenza machines
because there are cron jobs still trying to run tasks that are filling
disk space.

Transition has been migrated to AWS in staging/production. We need
to ensure the app resources are removed from the Carrenza machines
because there are cron jobs still trying to run tasks that are filling
disk space.

This'll definitely help, as what I expect to happen is when the files in /var/apps/transition are removed, the cron jobs will stop working.
However, I don't think this'll actually remove the cron jobs themselves, as they're managed through whenever, with the config in the application [1], and this is applied through govuk-app-deployment.
1: https://github.com/alphagov/transition/blob/master/config/schedule.rb
But this is still the thing to do in govuk-puppet I think.

Thanks @cbaines, I can remove the cron jobs manually afterwards


[bug]fix a npe error.

[BUG]/[FEATURE] title
What changes were proposed in this pull request?
Why are the changes needed?

What are the items that need reviewer attention?
Related issues.
Related pull requests.
How was this patch tested?
/cc @wangshengjie123
/assign @waitinfuture

LGTM.


Pic 1603 - PUT to new case by id endpoint

Sanity tested locally against dev court-case-service  and we have a successfully created case here to show for it. At long last 😅

Pact tests are failing but not being posted back to the webhook here. Hold off merging for now


Generate TextMate grammar from Tree-sitter grammar

The maintenance efforts will reduce drastically if we can generate TextMate grammar which is used by VSCode from VHS official tree-sitter grammar.
Resources

Tree-sitter Parser and Grammer
Writing a TextMate Grammar: Some Lessons Learned by Matt Neuburg
VSCode Syntax Highlight guide
VSCode Language Extension Overview
Lexer and Parser Generators in Scheme

I spent a bit searching for a proper converter between the two looks like it's a hard task since there isn't a single one. I have a few ideas though for automatically updating parts of it and I'll create a draft PR in the moment if you want to give some thoughts.

Thanks for your interest. Yes, it will be a bit tricky to write a generic tree-sitter to TextMate grammar converter. Anyways feel free to open a draft PR if you have something to share.

I'm just gonna give my thoughts here before I commit to any coding.
The https://github.com/charmbracelet/tree-sitter-vhs/blob/main/src/grammar.json file is easy to parse and contains a lot of information that we can scrape.
For example, the rules.setting section:
"setting": {
  "type": "CHOICE",
  "members": [
    {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "Shell"
        },
        {
          "type": "SYMBOL",
          "name": "string"
        }
      ]
    },
    {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "FontFamily"
        },
        {
          "type": "SYMBOL",
          "name": "string"
        }
      ]
    },
    {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "FontSize"
        },
        {
          "type": "SYMBOL",
          "name": "float"
        }
      ]
    },
    {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "Framerate"
        },
        {
          "type": "SYMBOL",
          "name": "integer"
        }
      ]
    },
    {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "PlaybackSpeed"
        },
        {
          "type": "SYMBOL",
          "name": "float"
        }
      ]
    },
    {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "Height"
        },
        {
          "type": "SYMBOL",
          "name": "integer"
        }
      ]
    },
    {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "LetterSpacing"
        },
        {
          "type": "SYMBOL",
          "name": "float"
        }
      ]
    },
    {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "TypingSpeed"
        },
        {
          "type": "SYMBOL",
          "name": "time"
        }
      ]
    },
    {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "LineHeight"
        },
        {
          "type": "SYMBOL",
          "name": "float"
        }
      ]
    },
    {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "Padding"
        },
        {
          "type": "SYMBOL",
          "name": "float"
        }
      ]
    },
    {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "Theme"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "SYMBOL",
              "name": "json"
            },
            {
              "type": "SYMBOL",
              "name": "string"
            }
          ]
        }
      ]
    },
    {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "LoopOffset"
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "SYMBOL",
              "name": "float"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "STRING",
                  "value": "%"
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "Width"
        },
        {
          "type": "SYMBOL",
          "name": "integer"
        }
      ]
    },
    {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "BorderRadius"
        },
        {
          "type": "SYMBOL",
          "name": "integer"
        }
      ]
    },
    {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "Margin"
        },
        {
          "type": "SYMBOL",
          "name": "integer"
        }
      ]
    },
    {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "MarginFill"
        },
        {
          "type": "SYMBOL",
          "name": "string"
        }
      ]
    },
    {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "WindowBar"
        },
        {
          "type": "SYMBOL",
          "name": "string"
        }
      ]
    },
    {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "WindowBarSize"
        },
        {
          "type": "SYMBOL",
          "name": "integer"
        }
      ]
    }
  ]
}

Super easy to extract from:
#!/usr/bin/env node

const data = require('./tree-sitter.json');

let settings = [];
for (const setting of data.rules.setting.members) {
    settings.push(setting.members[0].value)
}
console.log(settings)

[
  'Shell',         'FontFamily',
  'FontSize',      'Framerate',
  'PlaybackSpeed', 'Height',
  'LetterSpacing', 'TypingSpeed',
  'LineHeight',    'Padding',
  'Theme',         'LoopOffset',
  'Width',         'BorderRadius',
  'Margin',        'MarginFill',
  'WindowBar',     'WindowBarSize'
]

We don't have to write something like this for every little bit, but it could be a good way to easily update it. A workflow that runs once a week could check if anything has changed and update it automatically.

The file https://github.com/charmbracelet/tree-sitter-vhs/blob/main/src/grammar.json gets generated form https://github.com/charmbracelet/tree-sitter-vhs/blob/main/grammar.js. I think we can use the later to generate TextMate grammar.

The file<EMAIL_ADDRESS>gets generated from<EMAIL_ADDRESS>I think we can use the later to generate TextMate grammar.

I noticed but it seems harder to scrape/generate it from a JS file... I'll take another look.

You don't have to scrape it, think of how this file must be getting used by tree-sitter itself to generate the resultant json.
Can we override the global functions used in the grammar.js file like project, seq, choice, repeat, choice, etc and use the same file to generate TextMate grammar instead of tree-sitter grammar?

You don't have to scrape it, think of how this file must be getting used by tree-sitter itself to generate the resultant json.
Can we override the global functions used in the grammar.js file like project, seq, choice, repeat, choice, etc and use the same file to generate TextMate grammar instead of tree-sitter grammar?

Totally, that's why I said scrape/generate. The only issue I'm noticing is just naming certain patterns and rulesets. I'll give it a go tonight and see what gives.

I'm gonna be honest this is pretty difficult. A lot of it has to be hard-coded into the functions and it might honestly be easier to just do it by hand.
module.exports = grammar({
  name: 'vhs',
  rules: {
    program: $ => repeat(choice($.command, $.comment)),
    command: $ => choice(
      $.control,
      $.alt,
      $.hide,
      $.show,
      $.output,
      $.sleep,
      $.type,
      $.backspace,
      $.down,
      $.enter,
      $.escape,
      $.left,
      $.right,
      $.set,
      $.space,
      $.tab,
      $.up,
      $.pageup,
      $.pagedown,
    ),

    control: $ =>   /Ctrl\+[A-Z]/,
    alt: $ =>       /Alt\+[A-Z]/,
    hide: $ =>      seq('Hide'),
    show: $ =>      seq('Show'),
    output: $ =>    seq('Output',    $.path),
    set: $ =>       seq('Set',       $.setting),
    sleep: $ =>     seq('Sleep',     $.time),
    type: $ =>      seq('Type',      optional($.speed), repeat1($.string)),
    backspace: $ => seq('Backspace', optional($.speed), optional($.integer)),
    down: $ =>      seq('Down',      optional($.speed), optional($.integer)),
    enter: $ =>     seq('Enter',     optional($.speed), optional($.integer)),
    escape: $ =>    seq('Escape',    optional($.speed), optional($.integer)),
    left: $ =>      seq('Left',      optional($.speed), optional($.integer)),
    right: $ =>     seq('Right',     optional($.speed), optional($.integer)),
    space: $ =>     seq('Space',     optional($.speed), optional($.integer)),
    tab: $ =>       seq('Tab',       optional($.speed), optional($.integer)),
    up: $ =>        seq('Up',        optional($.speed), optional($.integer)),
    pageup: $ =>    seq('PageUp',    optional($.speed), optional($.integer)),
    pagedown: $ =>  seq('PageDown',  optional($.speed), optional($.integer)),

    setting: $ => choice(
      seq('Shell',         $.string),
      seq('FontFamily',    $.string),
      seq('FontSize',      $.float),
      seq('Framerate',     $.integer),
      seq('PlaybackSpeed', $.float),
      seq('Height',        $.integer),
      seq('LetterSpacing', $.float),
      seq('TypingSpeed',   $.time),
      seq('LineHeight',    $.float),
      seq('Padding',       $.float),
      seq('Theme',         choice($.json, $.string)),
      seq('LoopOffset',    seq($.float, optional('%'))),
      seq('Width',         $.integer),
      seq('BorderRadius',  $.integer),
      seq('Margin',        $.integer),
      seq('MarginFill',    $.string),
      seq('WindowBar',     $.string),
      seq('WindowBarSize', $.integer),
    ),

    string: $ =>  choice(/"[^"]*"/, /'[^']*'/, /`[^`]*`/),
    comment: $ => /#.*/,
    float: $ =>   /\d*\.?\d+/,
    integer: $ => /\d+/,
    json: $ =>    /\{.*\}/,
    path: $ =>    /[\.\-\/A-Za-z0-9%]+/,
    speed: $ =>   seq('@', $.time),
    time: $ =>    /\d*\.?\d+m?s?/,
  }
});

There all of the types (string, comment, float, integer, json, path, speed, time) along with other properties like setting, we would also have to ignore things like rules.program that just have no relation, and more (let alone the workarounds I had to use to get it to run properly). It just honestly seems easier to parse select bits of the JSON or do it by hand. LMK your thoughts.

No worries. Thanks for looking into this @uncenter and I really appreciate you spending time on this.
I know this is a bit tricky. We can definitely do this by parsing the JSON and we are already maintaining this repo by hand.
I see this as a coding exercise and want to solve this by writing good enough parser. Let me look into this and come up with a small writeup on how can this be achieved, maybe add in some example code.
This can become a good learning experience for both of use, if you are up for it :)

Totally! I would love to figure this out I'm just totally stumped/lost.

That's a good place to be when solving a problem. Give me some time and I will share my thoughts here.

Do you have an quicker way of contacting you than than this issue, like Discord or Matrix?

Do you have an quicker way of contacting you than than this issue, like Discord or Matrix?

griimick @ Discord

I gave it a shot here: https://github.com/griimick/vscode-vhs/blob/treesitter-textmate/generate.js
I found out that tokens generated by tree-sitter grammar are less detailed compared to TextMate grammar in this repo. Tree-sitter token also do not directly map to the highlight definitions directly.
Knowing all this, I am inclined to maintain the rules manually now. If someone still wants to give it a shot, feel free.

Exactly my thinking. At least we tried 😅...


Need Help: Book-info product page not coming up in browser

I want to deploy an application using istio, I am following below link (NOTE: I have installed minikube in my local macOS):
https://istio.io/latest/docs/setup/getting-started/#download
I have run all the commands step by as mentioned in the guide, but when I reached on verify external access I got some warning:
$ istioctl analyze
Warning [IST0103] (Pod details-v1-79f774bdb9-q7x67.default) The pod is missing the Istio proxy. This can often be resolved by restarting or redeploying the workload.
Warning [IST0103] (Pod productpage-v1-6b746f74dc-r59zz.default) The pod is missing the Istio proxy. This can often be resolved by restarting or redeploying the workload.
Warning [IST0103] (Pod ratings-v1-b6994bb9-wgm2f.default) The pod is missing the Istio proxy. This can often be resolved by restarting or redeploying the workload.
Warning [IST0103] (Pod reviews-v1-545db77b95-mrt24.default) The pod is missing the Istio proxy. This can often be resolved by restarting or redeploying the workload.
Warning [IST0103] (Pod reviews-v2-7bf8c9648f-cx8pq.default) The pod is missing the Istio proxy. This can often be resolved by restarting or redeploying the workload.
Warning [IST0103] (Pod reviews-v3-84779c7bbc-dkxz8.default) The pod is missing the Istio proxy. This can often be resolved by restarting or redeploying the workload.

I successfully get the gateway_url using below command:
$ echo "http://$GATEWAY_URL/productpage"
http://<IP_ADDRESS>:32263/productpage

But when I paste the url in the browser it showing me ERR_CONNECTION_TIMED_OUT.

Can somebody help?

can you try re-deploying the bookinfo sample?
$ kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml

and run istioctl analyze.

This is expected as the pods don't have the sidecar. Please follow the recommended steps to redeploy. Thanks!


Godot 3 Particle Curves Fixnum Build

Operating system or device - Godot version:
Windows 64-bit
Issue description:
Tried selecting the points in the 3d particle scale curve editor. Each time could only make points beside the point I was trying to select. Sometimes I could select a point, but most of the time it just created new points as I tried to select one.
Steps to reproduce:
Create a 3d particle system. Set your mesh. Set your particle material. Go into the scale curve editor. Select either point at the beginning or the end. It will make new points instead most of the time. Try to create a point in the middle of the curve. Now try to select it. Most of the time all you can do is create a new point beside it or on top of it.
Possible issue is that the selection area is way too small.

I can confirm this (Linux).
Its not about particles at all, just the new Curve texture. Probably a WIP that @reduz still needs to improve

Fixed with #8495

I'm confused. What is the status of this issue? Is it still bugged?

I'm unable to reproduce in e93ce339dcdf4e9ade63286cfa04cdd4b5a8ecd4 so I guess It's fixed.


FieldType::Enum does not exist and IsEnum() missing for Variant. #5998

Ref. #5998 posted two years ago that was closed without discussion or a fix.
IsEnum() is also missing for Variant.

Great idea! Go ahead and post this to our Ideas forum at https://aka.ms/BusinessCentralideas, or vote up the idea if its already there. We're constantly monitoring top Ideas and will consider them for a future release.

Changelog mentions, that this will be added for Runtime 12.0
https://marketplace.visualstudio.com/items/ms-dynamics-smb.al/changelog#user-content-new-fieldref.isenum-method


Main.py

We can discuss this but I am of the strong opinion that the entire bot code should be inside the fastlane_bot module; at the moment, main.py is in the directory below. This would be OK for some trivial wrapper but there is a lot of business logic inside this file so in my view it should be moved. Discuss.
https://github.com/bancorprotocol/fastlane-bot/blob/develop/main.py

This is actually the very first bullet in the Fastlane Bot Reengineering Plan document.


fix: lock down max terraform version to <1.6

/run pipeline

/run pipeline

@padraic-edwards @huayuenh We are rolling this out to all our modules, and our automation created this PR. Up to you guys if you want to merge or not

:tada: This PR is included in version 1.1.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Mistake in Activity Tutorial

Inside step8 of activity tutorial
The actual parameter count initialized here for pawnClickEvent
https://github.com/llaske/sugarizer/blob/9630e2a2cbab435a65e2239bdac25b13a897a630/docs/tutorial/VueJS/step8.md?plain=1#L183
is stored inside of  this.pawnClickEvent.detail.count not in this.pawnClickEvent.count
https://github.com/llaske/sugarizer/blob/9630e2a2cbab435a65e2239bdac25b13a897a630/docs/tutorial/VueJS/step8.md?plain=1#L191
It may leads to bugs if someone wants to use previously initialized value. (e.g this.pawnClickEvent.count += 3  // NaN) as count is undefined initially

hey @UtkarshSiddhpura
I think the statement that count is not stored in this.pawnClickEvent.count is not accurate. While it's true that the count parameter is stored in the detail property of the event object, it's also accessible via the count property of the event object itself. therefore, the code should work as expected, and there should not be any bugs caused by accessing this.pawnClickEvent.count after the event is initialized.

Indeed! it works but that's not how it's supposed to be working. It could leads to bugs easily.

The count initialization in initCustomEvent is not important.
What's matter is the work done in click event listener methods for items. The count in these methods is set as the place expected by onAddClick method. So, it's okay.

Here where i got stuck and tutorial isn't helping.

I initialized fontSize : 16 (default)
on a certain button click it increases size by 2(fontSize+=2)
same for a button on click decreasing size by 2(fontSize-=2)
According to tutorial this will not work as default fontSize (16) stored in detail object and user don't know about it. He/she will try to increment/decrement some other fontSize.
Don't you think user needs to know where the initial value is being stored?

While it may not be crucial for the demo activity, providing information on where the initial event parameters are stored is important for the purpose of enabling anyone to easily implement a Sugarizer activity.
Jst for example : chart activity text palette

The fontSize value of text Always depends on its previous values

e.g fontSize+=2; or fontSize-=2;  to increment/decrement sizes.

now if user will try to implement this logic using knowledge from tutorial:

 this.eventName.initCustomEvent('btn-click', true, true, { fontSize: 16 });

 //.... then on increment-fontsize button click:
 that.eventName.fontSize += 2;
 //here the fontSize is initially undefined not 16  (undefined + 2 initially)
 that.eventName.detail.fontSize += 2;  //Right Way

what do you think?

It's not a good idea to store the current font size in the event. It depends of the context, not of the palette.
Have a look on the implementation of increase/decrease font in activities Write, LabyrinthJS or Story, you will see that the current font size always depend of the item so it's always store in the activity.


Use streams instead of files for translate step.

I think the fix for the docker build is to add apt-get update to the step when clang is installed.
I'm confused about why the clang installation step wasn't retrieved from the cache when the preceding layers from the llvm-base image were, but it does somehow seem that because the contents have changed that are referenced in the COPY step of that intermediate builder image it has caused the RUN layer above it to miss the cache.

Yes, that seems to have fixed it.


Add Tuc

Institution/School Name
{Tuc Sweden}
Instiution/School Website
{https://www.tucsweden.se/}
Email Users
Please place an x between the square brackets if yes

[x] Students
[ ] Academic/Teaching Staff
[ ] Other/Support Staff
[ ] Alumni

Education Levels
Please place an x between the square brackets if yes

[ ] Post-graduate research
[ ] Graduate School
[ ] College (University) or Undergraduate School or equivalent
[x] Community College or equivalent
[ ] High School or equivalent
[ ] Elementary School or equivalent

added school as a textfile