Gmail Isn't working.

Hi There,
I couldn't able to figure out why...
`                        534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbtn
/usr/local/lib/ruby/2.3.0/net/smtp.rb:977:in check_auth_response' /usr/local/lib/ruby/2.3.0/net/smtp.rb:741:in auth_plain'
/usr/local/lib/ruby/2.3.0/net/smtp.rb:733:in authenticate' /usr/local/lib/ruby/2.3.0/net/smtp.rb:568:in do_start'
/usr/local/lib/ruby/2.3.0/net/smtp.rb:521:in start' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/mail-2.6.4/lib/mail/network/delivery_methods/smtp.rb:113:in deliver!'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/mail-2.6.4/lib/mail/message.rb:2149:in do_delivery' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/mail-2.6.4/lib/mail/message.rb:237:in block in deliver'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/actionmailer-<IP_ADDRESS>/lib/action_mailer/base.rb:543:in block in deliver_mail' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/notifications.rb:164:in block in instrument'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/notifications/instrumenter.rb:21:in instrument' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/notifications.rb:164:in instrument'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/actionmailer-<IP_ADDRESS>/lib/action_mailer/base.rb:541:in deliver_mail' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/mail-2.6.4/lib/mail/message.rb:237:in deliver'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/actionmailer-<IP_ADDRESS>/lib/action_mailer/message_delivery.rb:96:in block in deliver_now' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/actionmailer-<IP_ADDRESS>/lib/action_mailer/rescuable.rb:15:in handle_exceptions'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/actionmailer-<IP_ADDRESS>/lib/action_mailer/message_delivery.rb:95:in deliver_now' /home/huginn/huginn/app/models/agents/email_agent.rb:57:in block (2 levels) in receive'
/home/huginn/huginn/app/models/agents/email_agent.rb:47:in each' /home/huginn/huginn/app/models/agents/email_agent.rb:47:in block in receive'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activerecord-<IP_ADDRESS>/lib/active_record/relation/delegation.rb:38:in each' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activerecord-<IP_ADDRESS>/lib/active_record/relation/delegation.rb:38:in each'
/home/huginn/huginn/app/models/agents/email_agent.rb:46:in receive' /home/huginn/huginn/app/jobs/agent_receive_job.rb:8:in perform'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activejob-<IP_ADDRESS>/lib/active_job/execution.rb:34:in block in perform_now' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:126:in call'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:506:in block (2 levels) in compile' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:455:in call'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:448:in block (2 levels) in around' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:286:in block (2 levels) in halting'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/i18n-0.7.0/lib/i18n.rb:257:in with_locale' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activejob-<IP_ADDRESS>/lib/active_job/translation.rb:7:in block (2 levels) in module:Translation'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:391:in instance_exec' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:391:in block in make_lambda'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:285:in block in halting' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:447:in block in around'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:455:in call' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:448:in block (2 levels) in around'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:286:in block (2 levels) in halting' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activejob-<IP_ADDRESS>/lib/active_job/logging.rb:24:in block (4 levels) in module:Logging'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/notifications.rb:164:in block in instrument' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/notifications/instrumenter.rb:21:in instrument'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/notifications.rb:164:in instrument' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activejob-<IP_ADDRESS>/lib/active_job/logging.rb:23:in block (3 levels) in module:Logging'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activejob-<IP_ADDRESS>/lib/active_job/logging.rb:44:in block in tag_logger' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/tagged_logging.rb:70:in block in tagged'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/tagged_logging.rb:26:in tagged' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/tagged_logging.rb:70:in tagged'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activejob-<IP_ADDRESS>/lib/active_job/logging.rb:44:in tag_logger' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activejob-<IP_ADDRESS>/lib/active_job/logging.rb:20:in block (2 levels) in module:Logging'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:391:in instance_exec' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:391:in block in make_lambda'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:285:in block in halting' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:447:in block in around'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:455:in call' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:101:in run_callbacks'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:750:in _run_perform_callbacks' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:90:in run_callbacks'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activejob-<IP_ADDRESS>/lib/active_job/execution.rb:33:in perform_now' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activejob-<IP_ADDRESS>/lib/active_job/execution.rb:22:in block in execute'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:126:in call' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:506:in block (2 levels) in compile'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:455:in call' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:448:in block (2 levels) in around'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:286:in block (2 levels) in halting' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activejob-<IP_ADDRESS>/lib/active_job/railtie.rb:26:in block (4 levels) in class:Railtie'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/execution_wrapper.rb:76:in wrap' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/reloader.rb:68:in block in wrap'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/execution_wrapper.rb:76:in wrap' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/reloader.rb:67:in wrap'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activejob-<IP_ADDRESS>/lib/active_job/railtie.rb:25:in block (3 levels) in <class:Railtie>' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:391:in instance_exec'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:391:in block in make_lambda' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:285:in block in halting'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:447:in block in around' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:455:in call'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:101:in __run_callbacks__' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:750:in _run_execute_callbacks'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:90:in run_callbacks' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activejob-<IP_ADDRESS>/lib/active_job/execution.rb:20:in execute'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/activejob-<IP_ADDRESS>/lib/active_job/queue_adapters/delayed_job_adapter.rb:36:in perform' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/backend/base.rb:84:in block in invoke_job'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/lifecycle.rb:61:in block in initialize' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/lifecycle.rb:66:in execute'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/lifecycle.rb:40:in run_callbacks' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/backend/base.rb:81:in invoke_job'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/worker.rb:230:in block (2 levels) in run' /usr/local/lib/ruby/2.3.0/timeout.rb:91:in block in timeout'
/usr/local/lib/ruby/2.3.0/timeout.rb:101:in timeout' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/worker.rb:230:in block in run'
/usr/local/lib/ruby/2.3.0/benchmark.rb:308:in realtime' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/worker.rb:229:in run'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/worker.rb:306:in block in reserve_and_run_one_job' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/lifecycle.rb:61:in block in initialize'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/lifecycle.rb:66:in execute' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/lifecycle.rb:40:in run_callbacks'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/worker.rb:306:in reserve_and_run_one_job' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/worker.rb:213:in block in work_off'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/worker.rb:212:in times' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/worker.rb:212:in work_off'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/worker.rb:175:in block (4 levels) in start' /usr/local/lib/ruby/2.3.0/benchmark.rb:308:in realtime'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/worker.rb:174:in block (3 levels) in start' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/lifecycle.rb:61:in block in initialize'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/lifecycle.rb:66:in execute' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/lifecycle.rb:40:in run_callbacks'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/worker.rb:173:in block (2 levels) in start' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/worker.rb:172:in loop'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/worker.rb:172:in block in start' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/plugins/clear_locks.rb:7:in block (2 levels) in class:ClearLocks'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/lifecycle.rb:79:in block (2 levels) in add' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/lifecycle.rb:61:in block in initialize'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/lifecycle.rb:79:in block in add' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/lifecycle.rb:66:in execute'
/home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/lifecycle.rb:40:in run_callbacks' /home/huginn/huginn/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.2/lib/delayed/worker.rb:171:in start'
/home/huginn/huginn/lib/delayed_job_worker.rb:6:in run' /home/huginn/huginn/app/concerns/long_runnable.rb:71:in block in run!'
`
My settings:

SMTP_DOMAIN=gmail.com<EMAIL_ADDRESS>SMTP_PASSWORD=password SMTP_SERVER=smtp.gmail.com SMTP_PORT=587 SMTP_AUTHENTICATION=plain SMTP_ENABLE_STARTTLS_AUTO=true

Hi @hydewing,
did you enable access for less secure apps for your GMail account? https://www.google.com/settings/security/lesssecureapps

Yes, access for less secure apps is on.
Under my security :
Unknown device
Last synced: Today at 12:04 PM (12 minutes ago)
We recently prevented a sign-in attempt from this device. You indicated this attempt as yours. For your security, we'll continue to show this device in the list for two weeks. You can also review this event in your Notification & alerts page.

Are you still getting the same exception? All information I found about that kind of errors were pointing at the "less secure apps" setting, there is also some information on the google help pages.

Hi Dsander, I got it working now.
Thanks,
Hyde


Can the swagger ui output utilize the web api constraints?

The route configuration option for an HTTP triggered function accepts the following route constraints.
These don't seem to be fully supported in the swagger UI, or maybe I'm doing something wrong?
I'm attempting to use  the regular expression route constraint, for example:
...
[HttpTrigger(
                AuthorizationLevel.Function,
                "get",
                Route =
                    "api/test/{version:regex(^\\d+\\.\\d+)}")]
            HttpRequest request,
...

Wondering if the Swagger UI can support examples?  Let me know if you need more information.

Closing this, as not relevant, please reopen if needed


Script Cleaning and Fixes

Changes

Nodemon is no longer apart of scripts due to node version incompatibilities.
Scripts are organized a bit better.
Certain start/clean scripts have been fixed to actually do what they are supposed to do.

Start: Build discord image, build network to communicate, start both containers with correct IPs
Clean: Stop containers and clean them up and the images, prune networks, remove any dangling images.

Readme changes

Will mention #112 as we are modifying the readme.


Orders query sort and filter by unconfirmed status

I want to merge this change because it extends sorting and filtering of orders to handle unconfirmed status.
Related ticket: SALEOR-1405

Impact

[ ] New migrations
[ ] New/Updated API fields or mutations
[ ] Deprecated API fields or mutations
[ ] Removed API types, fields, or mutations
[ ] Documentation needs to be updated

Pull Request Checklist

[ ] Privileged queries and mutations are guarded by proper permission checks
[ ] Database queries are optimized and the number of queries is constant
[ ] Database migration files are up to date
[ ] The changes are tested
[ ] GraphQL schema and type definitions are up to date
[ ] Changes are mentioned in the changelog

Task linked: SALEOR-1405 Update order filters and sorters


Sidebar Screenshot Doesn't Work On iPhone 7 Simulator

Thanks for the great work, I love the plugin.
Unfortunately, the sidebar screenshot function does not work on iPhone 7 simulator. It works on all the other versions I tested, and I have not tried an iPhone 7 device.

I have the same problem

#46


ToTestTests.cs:209: Make WithIEnumerableInt test to be...

The puzzle 60m-1ef53fb8 from #60m has to be resolved:
https://github.com/DenisZhukovski/ObjectToTest/blob/f5a5c2263a104e59c57782df58cc440581c6c5ca/tests/ObjectToTest.UnitTests/ToTestTests.cs#L209-L209
The puzzle was created by @DenisZhukovski on 25-Aug-22.
role: DEV.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

The puzzle 60m-1ef53fb8 has disappeared from the source code, that's why I closed this issue.


Rocket.Chat crashes after attempt to open link

Search before asking

[X] I had searched in the issues and found no similar issues.

Operating System

[X] macOS
[ ] Windows
[ ] Linux

Operating System Version
macOS 13.0.1
It happens on the web browser too?
No, it just happens on the Desktop app
Rocket.Chat Desktop App Version
3.8.14
Rocket.Chat Server Version
5.4.0
Describe the bug
After upgrade Rocket.Chat Server to the version 5.4.0, desktop app crashes after attempt to open external links from Incoming WebHook. In my case, I use GitLab incoming webhook: https://docs.rocket.chat/guides/administration/admin-panel/integrations/gitlab
How to Reproduce

Push someone to repo -> GitLab incoming webhook posted push event to the channel
Click by the commit link -> app crashed

Describe your Expected behavior
The link opens correctly in an external browser.
Anything else
No response
Are you willing to submit a code contribution?

[ ] Yes, I am willing to submit a Pull Request!

https://user-images.githubusercontent.com/1636367/205948076-d2f3c1ec-ef58-4278-8de6-02a5a19a3d94.mov

Hello, can you test on another operational system and on web what happens?
On web it will redirect the chat tab or open a new tab?
Since when it started happening? Just on 3.8.14?
I don't have a github integration now to test it easily.

on web what happens?

On web the link opens in a CURRENT tab (accordingly, we are leaving Rocket.Chat). This is, of course, incorrect behavior.
The problem was also in previous Electron builds, not just in 3.8.14, and appears after upgrade Rocket.Chat Server to the version 5.4.0.
I think, that any links should be forced to open in new tabs (target="_blank"), because the GitLab incoming webhook (for example) does't add target="_blank":

      03858866

Hi @bulkinav  this is a known issue and already has an open PR, thanks!
Pull Request: https://github.com/RocketChat/Rocket.Chat/pull/27554

Fixed

Thank you @hugocostadev


Detect if app is sending many same requests in a row.

What's the use case for this? Perhaps we should not allow user to flood the app in the first place?

At the moment I can click in the OSX app on the start/stop button, then press Return and fall asleep. It will flood the app and spam the backend :/

We should block user input in the lib if start/stop occurs more than once per second or similar, I guess.
Backing off when user has created thousands of time entries will not help the backend, since after the backoff period the time entries are still spammed to the backend.


Nightwatch with Gulp - How to run a single test file from command line

I am using Nightwatch along with Gulp to run my tests. Right now I am running my test with the command "gulp local:e2e" or "gulp preprod:e2e".
When i run this command it runs all the test files inside test folder with different urls.
What I want to is the ability to run only a single test file if I want  to, something like this
"gulp <> <<testfilename/testfilenames.js>>"
Here is how my nightwatch.json and gulpfile.js files are configured.
What changes should I make to my nightwatch,json and what type of new tasks should i add to my gulpfile.js to achieve what i desire.
Please help.
nightwatch.json
{
"src_folders": ["tests"],
"output_folder": "reports",
"custom_commands_path": "",
"custom_assertions_path": "",
"page_objects_path": "",
"globals_path": "",
"selenium" : {
"start_process" : true,
"server_path" : "./node_modules/selenium-server-standalone-jar/jar/selenium-server-standalone-2.47.1.jar",
"host" : "<IP_ADDRESS>",
"port" : 4444,
"cli_args" : {
"webdriver.chrome.driver" : "drivers/chromedriver",
"webdriver.ie.driver" : ""
}
},
"test_settings": {
"chrome": {
"selenium_port": 4444,
"selenium_host": "selenium-hub.nikedev.com",
"globals": {
"platform": "desktop"
},
"screenshots": {
"enabled": true,
"on_failure": true,
"on_error": true,
"path": "screenshots/chrome"
},
"desiredCapabilities": {
"browserName": "chrome",
"javascriptEnabled": true,
"acceptSslCerts": true
}
},
"local": {
"selenium_port": 4444,
"selenium_host": "<IP_ADDRESS>",
"globals": {
"platform": "desktop"
},
"screenshots": {
"enabled": true,
"on_failure": true,
"on_error": true,
"path": "screenshots/chrome"
},
"desiredCapabilities": {
"browserName": "chrome",
"javascriptEnabled": true,
"acceptSslCerts": true
}
}
}
}
gulpfile.js
var gulp = require('gulp'),
nightwatch = require('gulp-nightwatch');
gulp.task('test:e2e', function() {
process.env.seleniumon = 'cloud'
return gulp.src('')
.pipe(nightwatch({
configFile: 'nightwatch.json',
cliArgs: ['--env chrome']
}));
});
gulp.task('local:e2e', function() {
process.env.seleniumon = 'local'
return gulp.src('')
.pipe(nightwatch({
configFile: 'nightwatch.json',
cliArgs: ['--env local']
}));
});

Nightwatch cant run tests based on a file path, instead it can run based on tags. Take a look to the nightwatch documentation
Once you have set the tags, in the cliArgs key you can send the tag value like this:
cliArgs: ['--env local', '--tag yourTag']
or an object instead of an array (imho, looks cleaner send an object), so it will look like this:
env: "local"
tag: "yourTag"
}```


How did you generate these flow charts?

I find these absolutely amazing. What did you use to make it?

I made them with this : googlecloudcheatsheet
: )

sweet


Weird error message phrasing

This is an old string but I don't think I've seen it before

A few things don't feel right, maybe something like "The task "taskname" is already running. Cannot run pre-launch "other task".

Thansk!


Fix 823 ryad

Description
Describe the proposed changes made in this PR.
How was this PR tested?
Describe how you tested this PR.

great stuff here. @evanxg852000 can you take over the metastore part?
My approach would be:

do that in one commit
change the metastore signature so that we can get splits with an argument ofTagFiltersAST
only cares about the PostgreSQL implementation because it's the most annoying part.

@evanxg852000  @r-zenine I implemeted the ast -> diesel predicate function, and fixed the compilation.
Remaining is:

[ ] Switch to the ideas explained in #887.
It simplifies the extraction of the tags from the userinputast.
We do not need to remove the literal that are not tags, and I think we don't need the Uninformative option I think after the change. The rest of the logic stays identical.
It changes the tag list in the metastore on the packaging side.
It changes the expansion logic on the query side.
[ ] implement the evaluation of the TagFiltersAST against a list of tags.
[ ] make sure everything is plugged together (See TODO)
[ ] clean up where necessary
[ ] more unit tests if necessary

Closing ... The PR is moved to #910 that has been squashed and rebased.
(Original authors are still attached.)


Modify dependabot config to show which branch is being modified

Rather than having one PR for develop and main with exactly the same title, ideally we would either put (develop) / (main) in the title like Renovate does on the front end, or else if that's not possible I think we can put labels on them.

This is not possible at present without using a workflow to detect and update them, our options are either to use labels or Renovate.


Refactor 3-panel DOM structure so sidebars resize well, fix msonry

Summary
Surprise PR! I believe this should be quite an improvement towards #1621, and makes the element and design panels scale appropriately to give the workspace 570px min-width at the lowest supported resolution (1194px width).

Relevant Technical Choices
The DOM structure was flattened, which is a large change (I don't know why we had two cascaded grid systems before - they behaved badly when resizing). Please take a close look to see that I didn't mess something critical up. So far things seem to work.
To-do

This only addresses the panels, but it actually looks pretty good.

Improves #1621

I don't know why we had two cascaded grid systems before - they behaved badly when resizing

This new structure is actually similar to my original DOM structure for the PoC, but this was changed at some point by @dvoytenko for reasons related to maybe event bubbling or something like that? Not sure. Maybe Dima can remember why the <Workspace /> component was introduced?

I don't know why we had two cascaded grid systems before - they behaved badly when resizing

This new structure is actually similar to my original DOM structure for the PoC, but this was changed at some point by @dvoytenko for reasons related to maybe event bubbling or something like that? Not sure. Maybe Dima can remember why the <Workspace /> component was introduced?

IIRC the Workspace component was introduced to accommodate the initial Sidebar concept. I'm not sure if it's still needed for that. I think popup system has been redone quite a bit. Another major use case that was using the Workspace that I remember was file DND. It works fairly different between media library and workspace drop targets.

I don't know why we had two cascaded grid systems before - they behaved badly when resizing

This new structure is actually similar to my original DOM structure for the PoC, but this was changed at some point by @dvoytenko for reasons related to maybe event bubbling or something like that? Not sure. Maybe Dima can remember why the <Workspace /> component was introduced?

IIRC the Workspace component was introduced to accommodate the initial Sidebar concept. I'm not sure if it's still needed for that. I think popup system has been redone quite a bit. Another major use case that was using the Workspace that I remember was file DND. It works fairly different between media library and workspace drop targets.

Thanks for the context. I think the good news is that to my knowledge, I didn't break either of these.
On that note though, any idea why karma is failing here? Is it just flaky? How do I find out?

Could somebody please take a look soon?

Karma isn‘t failing? Looks all green except for a codecov hiccup

Karma isn‘t failing? Looks all green except for a codecov hiccup

OK cool - if the hiccup can be ignored, then all good. Just need somebody to actually review this then..

@googlebot I consent.

@barklund thanks! Sadly, I'm scared to merge after I'm seeing Percy go nuts, and codecov failing. That being said, I'm very unsure if anything can be attributed to something I did. @barklund @swissspidy help?

@barklund thanks! Sadly, I'm scared to merge after I'm seeing Percy go nuts, and codecov failing. That being said, I'm very unsure if anything can be attributed to something I did. @barklund @swissspidy help?

Everything looks great! 🎉


Implement simple math operations

Add support for +, -, *, /.
Example test case:
SELECT a + b, a - b, a * b, a / b FROM c

@andygrove I got a working implementation going right now for this, lemme flesh it out and finish it up. How do you wanna take operations on types that could change types? like 5 / 2

@hntd187 Wow, great news.
If you take a look here https://github.com/datafusion-rs/datafusion/blob/master/src/sqlplanner.rs#L231-L271 you will see that the query planner automatically adds casts for binary expressions to make sure left and right are the same type so that by execution time you don't need to worry about that (in theory).


CB-8982 Indefinitely long loop when deleting environment. When we fet…

…ched the cluster definition, we checked the default templates but this step was unnecessary, because we should delete the user managed only.
See detailed description in the commit message.

restest this please

retest this please


chore: add security policy configuration

Description
Add safety policy configuration to properly handle vulnerability scanning in CI.
Changes

Added .safety-policy.yml with proper configuration
Updated GitHub Actions workflow to use the correct safety command
Configured policy to handle known vulnerabilities appropriately

Testing

[ ] Security checks pass with new configuration
[ ] CI pipeline completes successfully

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
:information_source: You can also turn on project coverage checks and project coverage reporting on Pull Request comment
Thanks for integrating Codecov - We've got you covered :open_umbrella:

This pull request includes updates to the CI workflow and security configurations. The most important changes are improvements to the CI workflow in the .github/workflows/tests.yml file, and the addition of a new security policy file.
CI Workflow Improvements:

.github/workflows/tests.yml: Updated the Codecov action to use version 4 and added a token for authentication. Removed the GitHub Pages deployment step. Enhanced the security checks to use a full report and a custom safety policy file. [1] [2] [3]

Security Configurations:

.safety-policy.yml: Added a new security policy file to ignore specific vulnerabilities, continue on vulnerability errors, set a minimum severity level to report, and ignore unpinned requirements.


Interrupt not working as interrupt

Hi every one,
I am running a JavaScript code on raspberry pi , in my code there is interrupt function from (pigpio)  , i tested detection and it works , but it is not working as interrupt , it does not interrupt any thing , if the code running a function and the interrupt function call nothing will happen until the function finish !!!
`
const Gpio = require('pigpio').Gpio;
const rpio = require('rpio') // just for delay
var j = 0;
const button = new Gpio(15, { mode: Gpio.INPUT,pullUpDown: Gpio.PUD_DOWN,edge: Gpio.FALLING_EDGE});
for (let i = 0; i < 32; i++) {
console.log("a " + i);
rpio.sleep(5)    }
button.on('interrupt', (level) => {
console.log(j+=1)
rpio.sleep(5)    });
// while(1){}
`

After I familiarized myself with the rpio library the issue becomes obvious.  The rpio.sleep function is blocking.  Besides that, you should not mix two gpio libraries.  Either use rpio exclusively, which appears to support interrupts, or use the internal javascript function - setTimeout.

I removed the rpio.sleep function , and try again , the same problem  it does not interrupt (see CODE and Result) , rpio module for JavaScript does not support interrupt , i cant use setTimeout because i need hardware interrupt .
CODE :
`
const Gpio = require('pigpio').Gpio;
var i =0 ;
const button = new Gpio(15, {mode: Gpio.INPUT, pullUpDown: Gpio.PUD_DOWN, edge: Gpio.FALLING_EDGE});
for (let i = 0; i < 50000; i++) {
console.log("a" + i);}
button.on('interrupt', (level) => {
console.log(i+=1)});
`
Result :
...
a49995
a49996
a49997
a49998
a49999
1
2
3
4
5
...
Note : interrupt is called so early before  the ("a" + i) for loop ends , but nothing is happen until this loop ends ,,  then (i+=1) works ... this is not interruption at all !

Instead of complaining you should try to understand why.  JavaScript is single threaded.  Cardinal rule 1) Don’t block the event loop.

for (let i = 0; i < 32; i++) {
console.log("a " + i);
rpio.sleep(5) }
button.on('interrupt', (level) => {
console.log(j+=1)
rpio.sleep(5) });

I am not big on Javascript, but — aren't you finishing the "a1" to "a49999" loop before you even enable the interrupt?
That said, most languages and execution environments do not support interrupts, and even asynchronous callbacks are mostly unsupported. Pigpio itself operates in polling mode.
You may want to consider a background thread that either queries pigpio from time to time (ew) or that asks pigpio to be notified of changes to GPIO pins &c.

You are correct @felixkasza
Skip to end for the answer.
<rant>
I should have been more accommodating in my reply and I would have had the op prefaced this issue with something like ‘hey I’m new to JavaScript (and pigpio) and I’m looking for help as to why my script is not working’.  Instead it comes across ‘as this lib is broken,’.  </rant>
Answer:  replace the for loop with
let i = 0, loop = setInterval(console.log, 1000, “a “+ i++);
setTimeout( clearTimeout, 15000, loop);


python310Packages.ipywidgets: 7.7.1 -> 8.0.0

Description of changes

Upgrade python310Packages.ipywidgets from 7.7.1 to 8.0.0
Upgrade python310Packages.jupyterlab-widgets from 2.0.0b1 to 3.0.2
Upgrade python310Packages.widgetsnbextension from 3.6.1 to 4.0.2

See https://github.com/jupyter-widgets/ipywidgets/releases/tag/8.0.0
ipywidgets, jupyterlab-widgets, widgetsnbextension are located in the same repository: https://github.com/jupyter-widgets/ipywidgets
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

This can go straight to master

This can go straight to master

I will open another PR for master.
I thought that given the number of rebuilds it was better to go through staging.

Moved to master: https://github.com/NixOS/nixpkgs/pull/188762


Use desi_proc mpi logic for cpu specter in benchmark

This PR updates the MPI comm splitting logic when using cpu specter in the benchmark script to match desi_proc.
I also moved a noisy log message to debug instead of info and "fixed" a deprecation warning with np.int -> int.

It matches desi_proc, but is that necessarily optimal for gpu_specter?  desi_proc/specter had some constraints of 1 rank = 1 bundle for historical reasons, which gpu_specter has the opportunity to differently if another split is more optimal.  Or was the cpu path using a split that was optimal for GPU but sub-optimal for CPU, and making it match desi_spec improves the cpu path?
i.e. I'm fine with this PR if it makes things better for the cpu-path, but we shouldn't feel constrained to use the exact same rank bundling as desi_spec/specter if there is something  better, e.g. to give more flexibility for packing work onto a node.

Sorry for the confusion, this PR only updates the comm splitting logic when using specter, the comm splitting logic for cpu and gpu code paths of gpu_specter remains the same.
Before this PR, running the benchmark script with specter would use the same comm splitting logic as gpu_specter .

Got it, thanks for the clarification.  Merging now.


added offline google fonts

Solved issue #11
Added the google fonts in the css file. Also added the required font files in the repo itself.
@sudo-rgorai  Kindly review it and do tell if any recommendations.

Hey @Nishant2907. My apologies for replying late.
Did you test the code before sending the PR? The fonts didn't work when I tested it. In my case, changing the path in stylesheets/fonts.css (as mentioned above) fixed the issue. It'll be great if you can make the required changes. Once you do that, I'd like you to make some more changes:

Fredericka has been used in user.html as well. Please add the required stylesheet in it.
We have used another font Montserrat which needs to be added in a similar way. Here's the link for your reference.
As you may have noticed, due to the font files, the diff is considerably large for this PR. This would look really unusual in the stats table. What I suggest is to remove these files and work only on the code. I shall add the necessary files for both the fonts while merging this PR. For now, you can leave the fonts folder empty.

Thanks.

Hi @sudo-rgoraim as you told, I have to add the Frederica and Montserrat fonts respective files.
Also as your point is absolutely correct on adding the fonts will make this PR large, so I just want to ask is that what should i do of this issue?
Like should i just leave it, or do i have to add some more things except for Montserrat.

Here's a list of things that you should do:

Add '@font-face' for Fredericka and Montserrat in stylesheets/fonts.css
Add the required stylesheet (fonts.css) in index.html and user.html
Delete the fonts directory. (I shall add it while merging this PR)

While making these changes, keep committing them. Once you are done, push the changes.
I hope this clears your doubt. If not, feel free to ask again.

Okay sure, will do it till midnight :)

I have made a new PR for the same issue with the necessary updates as told by you.


Added layout options

Hello,
I added the ability to use layout options with task queries. Currently, it only supports "Hide Task Count" and "Hide Backlinks". I think it's a useful feature since for all but one Query I can hide both. This covers parts of #81.
I decided to add it to the query syntax via "layoutOptions:" and a comma separated list. I think like that it should be clear to the user, that it's not part of the filter.
not done
path includes Arbeit
layoutOptions: hideTaskcount, hideBacklinks

The possibilities are endless and if more layout options will be added maybe it would make sense to refactor it into its own class to use within the query.
Let me know if this is something you would want in your project and/or if needs any changes.
Thanks!
Phil
Fixes #81

OMG awesome, thank you. I will do a proper review when I have time.
Two notes:

Please add the new functionality to the README
Do you think the layoutOptions is in line with the other query options? 🤔I am not sure myself. The other ones „read“ like sentences, so maybe something like „hide task count“/„hide backlinks“ would be more consistent? What do you think?

In any case: thank you so much for this! 🚀

Glad you like it :).
It's not in line which was on purpose to distinguish it from the filter options. But actually I think now it might be better to keep it consistent. I would change it to use the sentence-syntax and add everything to README.
With the requirements from #81 I would implement the following rules:

hide task count
hide backlinks
hide done date
hide due date
hide recurrence rule
hide edit button

That sounds awesome. Looking very much forward to it! Let me know if you want to discuss possible options of how to make those optional. My initial guess would be an optional argument to the Tasks toLi method.

It's implemented. I'm fairly new to TS, so please let me know if its good like that of if it needs some changes.
I implemented a new class "LayoutOption" which is filled from Query and used in QueryRenderer where it is passed into the task.toLi.
There were issues with the "due date" and "done date" filters. Those two did also match on "hide due date" and "hide done date" I fixed this by removing the ? from both regexp. I tested a lot, and it doesn't seem to affect everything else, but please check if that's okay.

Thanks a bunch! Though it may take a while until I have the time to review your changes.

Thanks for the review!

Regex are fixed (and ^ added to all of them).
QueryRenderer stuff refactored into their own methods.
Stuff from conversations fixed.

Thank you! I hope this time I will get to it sooner.


Node indices not resolved to objects in links

It seems that d3.forceLink does not replace indices in links (source and target) with references to the corresponding nodes. The documentation in #link_id states that this should be the expected behavior, and I noticed you implemented this in the code, but the behavior is different as of d3.v4.0.0-alpha.40 (or perhaps I'm misusing the API?).
Here's an example in JSBin that shows this behavior, also pasted here:
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>D3 Force Test</title>
    <script src="https://d3js.org/d3.v4.0.0-alpha.40.min.js"></script>
  </head>
  <body>
    <script>

      var graph = {
        "nodes": ["a", "b", "c"],
        "links": [
          { "source": 0, "target": 1 },
          { "source": 1, "target": 2 }
        ]
      };

      var simulation = d3.forceSimulation(graph.nodes)
        .force("link", d3.forceLink(graph.links));

    </script>
  </body>
</html>

The error manifests as
d3.v4.0.0-alpha.40.min.js:4 Uncaught TypeError: Cannot create property 'vx' on string 'a'
Thanks for all your work on D3 4.0, I'm having lots of fun trying out the beta!

The documentation is out-of-date and I need to update it. You need to use
link.id. Specifically, link.id(function(d, i) { return i; }).

Ok, thank you.
I do think it would be nice, though, to have the index as the default id function. Just my 2¢.
All the best.

Oops, I was wrong, and I overlooked something in your example.
The default node id accessor does use the numeric index:
function id(d, i) {
  return i;
}

The problem isn’t in link.id. The problem is that your nodes are not objects: they are strings. The simulation is trying to assign the various node properties (in particular node.vx, representing the x-component of the node’s velocity) to those strings, and that’s what’s failing.
You need to use objects to represent your data, say like this:
var graph = {
  "nodes": [
    {"id": "a"},
    {"id": "b"},
    {"id": "c"}
  ],
  "links": [
    {"source": 0, "target": 1},
    {"source": 1, "target": 2}
  ]
};

The simulation doesn’t wrap the input nodes and links; it assigns properties to them directly.

Ahhhh got it. Makes perfect sense. Thank you.

In case it might help others, I hit this same snag ("Cannot create property 'vx' on string...") because I had updated my simulation's nodes but hadn't updated the links when transitioning between layouts.

I'm also having this issue. Looking at this example, it would seem that you can use strings as IDs for the "source" and "target" values in the links, but I still get the "Cannot create property 'vx' on string..." error.


Fix archtitus issues

Type of Change

[x] Bug fix

Resolves #429

Description
without refreshing the database before installing a package in the iso, it will fail due to not synchronizing package databases before hand with pacman -Sy
this is a failsafe incase the user did not do this before curling linutil
also fixes keymapping not saving after boot

Testing
works
Checklist

[x] My code adheres to the coding and style guidelines of the project.
[x] I have performed a self-review of my own code.
[x] My changes generate no errors/warnings/merge conflicts.

going to put the btrfs subvolume fixes in here as well, and the var globbing fixes

@ChrisTitusTech not sure how to fix the subvolume issue, will have to make a different PR for that. For now this PR will include minimization of subvolume creation & keymap fixes.

Tested and ready to go!


chore: add a tools/check.ts for lint and format

Usage:

tools/check.ts lint: runs a lint and reports errors
tools/check.ts lint --fix: attempts to fix lint problems
tools/check.ts format: formats the codebase
tools/check.ts format --check: checks if the codebase is formatted, fails if not

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

Project coverage is 82.03%. Comparing base (6bf6089) to head (54c700d).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #618   +/-   ##
=======================================
  Coverage   82.03%   82.03%
=======================================
  Files          96       96
  Lines       23281    23281
=======================================
  Hits        19098    19098
  Misses       4183     4183

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


downloas speed

Checklist

[X] I'm asking a question and not reporting a bug/feature request
[X] I've looked through the README
[X] I've read the guidelines for opening an issue
[X] I've searched the bugtracker for similar questions including closed ones

Question
( so i was using youtube dl which give me only 50-60 kb speed
and now I'm using dlp  * which give me only 160-190 kb speed
but why this only I want more speed . my wifi is enough for more speed . i  am frustrated.
i just watched some tutorial online to install them . i don't know cmd fully and I am not linux user . me a only noob of window who has only 2 week experience of using it . )

have you tried aria2c w/ yt-dlp? it got me ~twice the speed (800kbit/s to 1.7mbit/s)
 ...
then I also copied all my google auth cookies key/value from my browser, specified refer(r)er as the same url, and used the same user agent of my chrome (navigator.userAgent). got ~5mbit/s (still not nearly close to browser's ~30mbit/s). I've tried to mock xhr header, sec-ch-ua headers w/o success, and even x-client-data and message ClientVariations header decoded..
couldn't it get faster.
browser fetch it as ajax shrinked w/ brotli and gQUIC and it also pre verify "non-robot" viewing w/ background captcha tech (w/o challenge),
it sums up to a client side cookie that carries along the first chunk of data to the "gvs 1.0" server,
on optimal cases it gets no load balancing. the request has a "score". it's a heuristic sh!t. so annoying. and it is re eval. every few minutes, so the server can dynamically adjust the download rate.
...
still better than vanilla ytdl. I just let it finish a list in the background... :|
maybe headless browser integration in the future? ¯_(ツ)_/¯
honestly, for best results, I suggest to simply cam-recording the screen ;]


error compiling on mac-os

hi there. has anyone else experienced this compilation issue?
make all
lxdialog/check-lxdialog.sh -check cc  -DCURSES_LOC="<ncurses.h>" -DKBUILD_NO_NLS -Wno-format-security  -DLOCALE -MD -lncurses
make[1]: *** No rule to make target /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/sys/types.h', needed by lxdialog/checklist.o'.  Stop.
make: *** No rule to make target /app/esp/workspace/tt/build/include/config/auto.conf', needed by /app/esp/workspace/tt/build/bootloader/bootloader.bin'.  Stop.

i have solved this issue. i had to uninstall the latest xcode and revert to xcode V8.33
there seems to be a problem there. anyway hope this helps anyone with similar issues

This may happen after you update OS X development tools. To fix, go to
$IDF_PATH/tools/kconfg and run "make clean". Then build your project again.
On Sun, Oct 1, 2017 at 11:45 PM, Shaun Reynolds<EMAIL_ADDRESS>wrote:

i have solved this issue. i had to uninstall the latest xcode and revert
to xcode V8.33
there seems to be a problem there. anyway hope this helps anyone with
similar issues
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/espressif/esp-idf/issues/1060#issuecomment-333385463,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEJceszsFQWUi4IMK2Cf0KkidC4eETN9ks5sn7OUgaJpZM4Pp27R
.


Screen shake effect acts strangely, sometimes allows you to see through walls/doors

Only tested with screenshake from toggling the gravgen, may work differently for other instances of screenshake
https://user-images.githubusercontent.com/19853115/103450135-173ebb00-4c6f-11eb-98af-d4ba35099e7c.mp4

slightly unrelated but theres no delay to toggling the gravgen so you can spam the button and its really annoying

slightly unrelated but theres no delay to toggling the gravgen so you can spam the button and its really annoying

This isn't the case anymore.


GridSpace dimensionality ordering

I have desperately sought a solution to plotting four Rasters in a 2x2 grid using a desired ordering.
I do:
M = [[(i+j)*np.eye(3) for j in range(2)] for i in range(2)]
hmap = hv.HoloMap({(str(i),str(j)): hv.Raster(M[i][j]) for i,j in itertools.product(range(2),range(2))},['a','b'])
hmap.grid()

which gets me the undesired ordering below.

If this had been a partitioned image or matrix, it would not be displayed correctly. Ideally we would want the black block in the upper-left, and the white diagonal in the lower right.
(on another note, pressing the save button here does not save the picture at all; it only saves a single block of the 2x2. Guessing that is a bokeh issue.)
Using redim.values or substituting the integer labels for alphabetical characters does not resolve the issue. From the code it appears that sorted on the keys as part of construction.
In most cases the existing output is preferred, so this is more of a feature request: a way to use the inverted y-axis normally used for pictures in a grid space context, or just a way to manually sort categorical keys.

@Bonnevie Thanks for filing this issue!
It has been a year since this issue was filed (sorry about the slow response!) but I am now looking into it now that I've just discovered  the problem at a more fundamental level: even an explicitly declared GridSpace doesn't preserve ordering.
The code snippet above is a little more complicated to follow as it involves a HoloMap (which has its own optional sorting behavior), a dictionary literal (which may or may not preserve order depending on the Python version) and the .grid method. That said, on recent versions of Python with sort=False in the HoloMap constructor, I do think it is reasonable to expect ordering to be respected...
Even if there is a good reason that this can't be implemented, I would like explicit GridSpace declarations with sort=False to preserve ordering especially if you also try to set the ordering by setting the dimension values with a list (as you tried with redim). I know the values are generally sorted (e.g for predictable widget behavior) but in the case of a GridSpace, the kdims should allow ordered values especially if those values aren't numeric. I think this is one special case that needs to be explicitly handled and I'm wondering if there are other containers that might have this problem? Any thoughts @philippjfr ?


remove duplicate import and redundant alias for hive

Looks like (probably) the blank import was there to get the driver registered via the init function and someone needed to call presto.RegisterCustomClient later so a dupe was added.
Also cleaned up the redundant alias for the hive import - the import path is go-hive-driver but the actual package is already hive.

/assign @bentito

/lgtm

/retest

Overriding as it passed everything but the node selector test which has been permanently failing recently
/override ci/prow/metering-e2e-aws


Mexico pilot users SBAT use the Infura setup

Expected Behavior
Mexico pilot users can download a version of the app using an infura-like set up.
Current Behavior
Nobody can download the app using an infura-like setup.
Related to #342

Shipped to playstore under org.celo.mobile.integration build, waiting for approval to be available on playstore

Closed as Mexico pilot is finished


[SPARK-32424][SQL] Fix silent data change for timestamp parsing if overflow happens

What changes were proposed in this pull request?
When using Seconds.toMicros API to convert epoch seconds to microseconds,
 /**
     * Equivalent to
     * {@link #convert(long, TimeUnit) MICROSECONDS.convert(duration, this)}.
     * @param duration the duration
     * @return the converted duration,
     * or {@code Long.MIN_VALUE} if conversion would negatively
     * overflow, or {@code Long.MAX_VALUE} if it would positively overflow.
     */

This PR change it to Math.multiplyExact(epochSeconds, MICROS_PER_SECOND)
Why are the changes needed?
fix silent data change between 3.x and 2.x
 ~/Downloads/spark/spark-3.1.0-SNAPSHOT-bin-20200722   bin/spark-sql -S -e "select to_timestamp('300000', 'y');"
+294247-01-10 12:00:54.775807

 kentyao@hulk  ~/Downloads/spark/spark-2.4.5-bin-hadoop2.7  bin/spark-sql -S  -e "select to_timestamp('300000', 'y');"
284550-10-19 15:58:1010.448384

Does this PR introduce any user-facing change?

Yes, we will raise ArithmeticException instead of giving the wrong answer if overflow.
How was this patch tested?

add unit test

cc @cloud-fan @maropu thanks

Test build #126488 has started for PR 29220 at commit 57616da.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31105/
Test PASSed.

Test build #126494 has started for PR 29220 at commit da0d8ab.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31111/
Test PASSed.

Test build #126488 has finished for PR 29220 at commit 57616da.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/126488/
Test FAILed.

Test build #126494 has finished for PR 29220 at commit da0d8ab.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/126494/
Test FAILed.

Test build #126603 has started for PR 29220 at commit 22a96ab.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31226/
Test PASSed.

Test build #126605 has started for PR 29220 at commit 28c6d7f.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31227/
Test PASSed.

Test build #126605 has finished for PR 29220 at commit 28c6d7f.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/126605/
Test FAILed.

Test build #126620 has started for PR 29220 at commit 5223cda.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31241/
Test PASSed.

Test build #126620 has finished for PR 29220 at commit 5223cda.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Test build #126603 has finished for PR 29220 at commit 22a96ab.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/126620/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/126603/
Test FAILed.

retest this please

Test build #126624 has started for PR 29220 at commit 5223cda.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31245/
Test PASSed.

Test build #126632 has started for PR 29220 at commit 911e680.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31254/
Test PASSed.

Test build #126624 has finished for PR 29220 at commit 5223cda.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/126624/
Test PASSed.

Test build #126632 has finished for PR 29220 at commit 911e680.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/126632/
Test PASSed.

thanks, merging to master!

@yaooqinn can you send a PR to backport to 3.0?


How does one share cookies on localhost with different ports

Hi!,
First of all, thank you for your great work on this module!
My Nuxt 3 frontend runs on localhost:3000.
My Laravel 11 backend runs on localhost:8000 (by means of php artisan serve).
I cannot use the XSRF-TOKEN cookie in my frontend.
const handleVote = async (id: number) => {
  await $fetch(`${config.public.apiBase}/sanctum/csrf-cookie`, {
    credentials: 'include',
  })

  const xsrfToken = useCookie('XSRF-TOKEN').value

  console.log(xsrfToken)
});

"xsrfToken" is undefined, since the response i get is empty.
The set-cookie command seems to be executed though:

How can i get the XSRF-TOKEN cookie in localhost:3000 ?
kind regards,
Marco Troost

Hey @MarcoTroost, could you please provide sanctum config from your nuxt.config.ts file?

Hi Artem,
Thank you for the quick reply. I want users to be able to vote on certain topics. I therefore need to be able to post from the frontend to the Laravel backend.
I do not need the token for login purposes.
Here are my configs:
.env (frontend)
NUXT_BASE_URL="http://localhost:3000"
NUXT_PUBLIC_API_BASE="http://localhost:8000/disco"

NUXT_SITE_ENV=preview

Nuxt.config.ts:
export default defineNuxtConfig({

  runtimeConfig: {
    public: {
      apiBase: process.env.NUXT_PUBLIC_API_BASE || 'https://api.trauminfo.de/disco',
    },
  },

  modules: [
    'nuxt-auth-sanctum'
  ],

   sanctum: {
     baseUrl: process.env.NUXT_PUBLIC_API_BASE || 'https://api.trauminfo.de/disco', // Laravel API
     endpoints: {
       csrf: {
        url: '/sanctum/csrf-cookie',
       },
       user: {
         url: '/user',
       }
     }
  },
});

.env (backend)
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:SYlo/9LcvyqgoIEX7GxlJ2V3lYdFD/+V7Rnniy8k+eE=
APP_DEBUG=true
APP_URL=http://localhost:8000
FRONTEND_URL=http://localhost:3000

SESSION_DOMAIN=localhost:8000
SANCTUM_STATEFUL_DOMAINS=localhost:3000

...

Cors.php:
<?php
return [
    'paths' => ['api/*', 'disco/*', '/disco/sanctum/csrf-cookie'],
    'allowed_methods' => ['*'],
    'allowed_origins' => ['http://localhost:3000'],
    'allowed_origins_patterns' => [],
    'allowed_headers' => ['Content-Type', 'X-Requested-With', 'Authorization', 'X-XSRF-TOKEN','X-CSRF-TOKEN'],
    'exposed_headers' => [],
    'max_age' => 0,
    'supports_credentials' => true,
];

@MarcoTroost while you work locally, you should not put SESSION_DOMAIN=localhost:8000 in your env config since it is not a domain but the full address, it should be either localhost or empty (better be empty to not interfere with some cases like <IP_ADDRESS>), so Laravel will use localhost by default for cookies. I also mentioned that in the module docs, you can check the use case for SPA Cookie.
Regarding requests against your API, there is a composable provided by the module plugin that you can use instead of plain $fetch to call Laravel with any method including POST, please check the docs - useSanctumClient

@manchenkoff  Changing SESSION_DOMAIN=localhost (without the port) did the trick!
Perhaps it's an idea to include your explanation of explicitly not including the port in the official documentation?
I think it could prove beneficial for the understanding of the module.
That composable looks just awesome.
I will certainly try this!
kind regards, Marco

@manchenkoff  Changing SESSION_DOMAIN=localhost (without the port) did the trick!

I'm glad it helped!

Perhaps it's an idea to include your explanation of explicitly not including the port in the official documentation?

I believe it was mentioned in the Laravel docs, but I will definitely add this note to my docs as well 👍

Page has been updated - SPA Cookie

Super! Thank you for your time & help.
If it is not a bother, i do have one question:
Since voting in my website doesn't need a user to be logged in, do i really need a user?
I only need the XSRF-TOKEN.
When vite starts up, the nuxt-auth-sanctum module looks for a user, which it can't find (i have no routes for in place for users nor login)

Is it possible to opt out of this?
p.s. Making API calls works just fine
greetz, Marco

Is it possible to opt out of this?

Yes, since 0.4.12 version you can disable user request by setting sanctum.client.initialRequest to false in the config.

Great, works perfectly! Thanks a bunch!

Hi @manchenkoff
What worked on localhost, unfortunately doesn't work on my (apache) production server.
The xsrf cookie is set, but the actual api call doesn't work.

Vue component:
const config = useRuntimeConfig()

const handleVote = async (id: number) => {
  // const client = useSanctumClient()

  // const response = await client(`${config.public.apiBase}/emotion`, {
  //   method: 'PUT',
  //   body: JSON.stringify({
  //     emotie_id: id,
  //     droom_id: props.dreamId,
  //   }),
  //   credentials: 'include',
  // })

  // choice.value = id

  // if (response) {
  //   result.value = response.value
  // }

  await $fetch(`${config.public.apiBase}/sanctum/csrf-cookie`, {
    credentials: 'include',
  })

  const xsrfToken = useCookie('XSRF-TOKEN').value

  if (xsrfToken) {
    const response = await $fetch(`${config.public.apiBase}/emotion`, {
      method: 'POST',
      headers: {
        Referer: config.public.baseUrl,
        Accept: 'application/json',
        'X-XSRF-TOKEN': xsrfToken,
      },
      credentials: 'include',
      body: JSON.stringify({
        emotie_id: id,
        droom_id: props.dreamId,
      }),
    })

    choice.value = id

    if (response) {
      result.value = response
    }
  }
}

env (backend):
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:SYlo/9LcvyqgoIEX7GxlJ2V3lYdFD/+V7Rnniy8k+eE=
APP_DEBUG=true
APP_URL=https://api.trauminfo.de
FRONTEND_URL=https://trauminfo.de

SESSION_DOMAIN=.trauminfo.de
SANCTUM_STATEFULL_DOMAINS=trauminfo.de

...

config/cors.php:

<?php

return [
    'paths' => ['api/*', 'disco/*', 'disco/emotion', '/disco/sanctum/csrf-cookie'],
    'allowed_methods' => ['*'],
    'allowed_origins' => ['https://www.trauminfo.de', 'https://trauminfo.de'],
    'allowed_origins_patterns' => [],
    'allowed_headers' => ['Content-Type', 'X-Requested-With', 'Authorization', 'X-XSRF-TOKEN','X-CSRF-TOKEN'],
    'exposed_headers' => [],
    'max_age' => 0,
    'supports_credentials' => true,
];

Nuxt.config.ts:
export default defineNuxtConfig({

  runtimeConfig: {
    public: {
      baseUrl: 'https://trauminfo.de',
      apiBase: 'https://api.trauminfo.de/disco',
    },
  },

  modules: [
    'nuxt-auth-sanctum'
  ],

   sanctum: {
     baseUrl: 'https://api.trauminfo.de/disco', // Laravel API
     endpoints: {
       csrf: {
        url: '/sanctum/csrf-cookie',
       },
     }
  },
});

It's driving me crazy. Do you know what i'm doing wrong?
kind regards,
Marco

Hi @MarcoTroost, I highly recommend using client from the module, try it with the following configurations:
nuxt.config.ts
export default defineNuxtConfig({
  runtimeConfig: {
    public: {
      baseUrl: 'https://trauminfo.de',
      apiBase: 'https://api.trauminfo.de/disco',
    },
  },
  modules: ['nuxt-auth-sanctum'],
  sanctum: {
    baseUrl: 'https://api.trauminfo.de/disco',
    endpoints: {
      csrf: '/sanctum/csrf-cookie', // is not necessary since the default value is the same, but you had incorrect nestedness
    },
  },
})

.env
APP_NAME=Laravel
APP_ENV=production
APP_KEY=base64:SYlo/9LcvyqgoIEX7GxlJ2V3lYdFD/+V7Rnniy8k+eE=
APP_DEBUG=true
APP_URL=https://api.trauminfo.de
FRONTEND_URL=https://trauminfo.de

SESSION_DOMAIN=.trauminfo.de
SANCTUM_STATEFULL_DOMAINS=trauminfo.de
# ...

config/cors.php
<?php

return [
    'paths' => ['*'],
    'allowed_methods' => ['*'],
    'allowed_origins' => [env('FRONTEND_URL'), 'https://www.trauminfo.de'],
    'allowed_origins_patterns' => [],
    'allowed_headers' => ['*'],
    'exposed_headers' => [],
    'max_age' => 0,
    'supports_credentials' => true,
];

Vue Component
<script setup lang="ts">
const client = useSanctumClient()
const choice = ref(0)
const result = ref(0)

const props = defineProps<{
  dreamId: number
}>()

const handleVote = async (id: number) => {
  const response = await client('emotion', {
    method: 'PUT',
    body: JSON.stringify({
      emotie_id: id,
      droom_id: props.dreamId,
    }),
  })

  choice.value = id

  if (response) {
    result.value = response.value
  }
}
</script>

<template>
  <button @click="handleVote(1)">
    Click me!
  </button>
</template>

<style scoped>
</style>

You can also find other example in the template applications:

Breeze Nuxt
Breeze API

Hi @MarcoTroost
This issue indeed is related to CORS settings on Laravel side:
Access to fetch at 'https://api.trauminfo.de/api/emotion' from origin 'https://trauminfo.de' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled..
Please make sure that your config is properly updated, cache was reset and fpm restarted. Also, check that correct middleware covers your endpoint.
If nothing helps, I would recommend debugging it on your production server to see what are the headers/details are available in the Laravel request.

Good afternoon @manchenkoff
I've removed cors.php on production altogether & placed all the necessary headers in apache.
This now works in production:
RewriteEngine On

RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]

# Set environment variable for allowed origins
SetEnvIf Origin "^https?://(www\.)?trauminfo\.de$" ORIGIN_ALLOWED=$0

Header always set Access-Control-Allow-Origin "%{ORIGIN_ALLOWED}e" env=ORIGIN_ALLOWED
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS"
Header always set Access-Control-Allow-Headers "X-Requested-With, Content-Type, Authorization, X-CSRF-TOKEN, X-XSRF-TOKEN"
Header always set Access-Control-Allow-Credentials true

I would still rather have it to work using Laravel's default Cors.php.
In order to test this thoroughly, i've changed the top level domain on my computer from localhost to trauminfo.disco, using Laravel Valet.
frontend: trauminfo.disco:3000
backend: api.trauminfo.disco
Using these settings, the module does not work.
Altered configs:
Nuxt.config.ts
export default defineNuxtConfig({
  runtimeConfig: {
    public: {
      baseUrl: 'http://trauminfo.disco',
      apiBase: 'http://api.trauminfo.disco/api',
    },
  },
  modules: ['nuxt-auth-sanctum'],
  sanctum: {
    baseUrl: 'http://api.trauminfo.de/disco',
    endpoints: {
      csrf: '/sanctum/csrf-cookie',
    },
  },
})

.env
APP_NAME=Laravel
APP_ENV=production
APP_KEY=base64:SYlo/9LcvyqgoIEX7GxlJ2V3lYdFD/+V7Rnniy8k+eE=
APP_DEBUG=true
APP_URL=https://api.trauminfo.de
FRONTEND_URL=https://trauminfo.de

SESSION_DOMAIN=.trauminfo.disco
SANCTUM_STATEFULL_DOMAINS=trauminfo.disco
# ...

Cors.php
return [
    'paths' => ['api/*', '/api/sanctum/csrf-cookie'],
    'allowed_methods' => ['*'],
    'allowed_origins' => ['http://trauminfo.disco:3000'],
    'allowed_origins_patterns' => [],
    'allowed_headers' => ['Content-Type', 'X-Requested-With', 'Authorization', 'X-XSRF-TOKEN','X-CSRF-TOKEN'],
    'exposed_headers' => [],
    'max_age' => 0,
    'supports_credentials' => true,
];

Cookie seems to be set, but i can't read it:

Do you know what's wrong when using different top level domains instead of localhost?
kind regards,
Marco

Hey @MarcoTroost, using a custom domain on a local machine might be tricky. I always recommend using localhost for development and a real domain in production. I have never used Laravel Valet, only plain artisan serve or docker-based sail.
I can try to help to point out the possible issue, but I would need you to upgrade to the latest version of the module 0.4.18, change sanctum.logLevel to 5 in your nuxt.config.ts and then to attach logs output here in the comments (from both SSR console and CSR browser console).
P.S.

I've removed cors.php on production altogether & placed all the necessary headers in apache.

This is not how you are supposed to configure your server 😄  for example, if you need to migrate to nginx (which Valet is based on afaik), you will face the same problem again. You should double-check your config to set it up properly.

Just for reference, here are some examples that I use in production in one of my projects
config/cors.php
<?php

declare(strict_types=1);

return [
    'paths' => ['*'],
    'allowed_methods' => ['*'],
    'allowed_origins' => [
        env('FRONTEND_URL', 'http://manchenkoff.me'), // http://localhost:3000 on local machine
        env('BACKOFFICE_URL', 'http://admin.manchenkoff.me'), // http://localhost:3001 on local machine
    ],
    'allowed_origins_patterns' => [],
    'allowed_headers' => ['*'],
    'exposed_headers' => [],
    'max_age' => 0,
    'supports_credentials' => true,
];

config/sanctum.php
<?php

declare(strict_types=1);

use Illuminate\Cookie\Middleware\EncryptCookies;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken;

return [
    'stateful' => explode(
        ',',
        env('SANCTUM_STATEFUL_DOMAINS', 'manchenkoff.me,admin.manchenkoff.me,api.manchenkoff.me') // localhost:3000,localhost:3001 on local machine
    ),
    'guard' => ['web'],
    'expiration' => null,
    'middleware' => [
        'verify_csrf_token' => VerifyCsrfToken::class,
        'encrypt_cookies' => EncryptCookies::class,
    ],
];

.env
# ...
APP_URL=http://api.manchenkoff.me
FRONTEND_URL=http://manchenkoff.me
BACKOFFICE_URL=http://admin.manchenkoff.me
SESSION_DOMAIN=.manchenkoff.me
# ...

and this is what I use in the Nuxt instance
nuxt.config.ts
export default defineNuxtConfig({
    modules: [
        'nuxt-auth-sanctum',
    ],

    sanctum: {
        baseUrl: 'https://api.manchenkoff.me',
    },
});

Good morning @manchenkoff
Thanks for your elaborate reply. You're absolutely right, a server shouldn't be configured this way.
Point is that i got so frustrated, that i chose to alter the apache config just to get going.
I DO want to use middleware. That's why i've set up my local top level domain to trauminfo.disco & api.trauminfo.disco using valet to find where the problem lies.
On localhost; something, somewhere manipulates the Access-Control-Allow-Origin header, adding another * resulting in multiple origins:

I haven't got a clue what proces is responsible for this.
I will investigate further this weekend, using tha latest version & increasing the log-level.
regards, Marco


feat: added coverbot as default coverage file uploader

What this PR does / why we need it
Makes getoutreach/coverbot as the default tool for handling code coverage reports.

Jira ID
DT-3868

Notes for your reviewers
I have left alone the existing scripts for coveralls and codecov. If we decide to fully adopt coverbot in favor of these tools, we may want to remove these scripts, as they would not be used.

Most recent coverbot comment is from my test of the provider checking update to coverage.sh. Looks to be working correctly!

Link to code coverage report (posted by coverbot 🤖)


Azure SDK Review - [AzureML - Inferencing]

New SDK Review meeting has been requested.
Service Name: AzureML - Inferencing
Review Created By: Darren Cohen
Review Date: 05/16/2024 02:05 PM PT
Release Plan:1253
Hero Scenarios Link: here
Architecture Diagram Link: Not Provided
Core Concepts Doc Link: here
APIView Links: Python,
Description: Review Python client library APIs, including streaming response. This review is to approve the public preview release of the client library, planned for and of May.
I will add an apiview.dev link soon.
Detailed meeting information and documents provided can be accessed here

Meeting updated by Darren Cohen
Service Name: AzureML - Inferencing
Review Created By: Darren Cohen
Review Date: 05/16/2024 02:05 PM PT
Hero Scenarios Link: here
Architecture Diagram Link: Not Provided
Core Concepts Doc Link: here
APIView Links: Python,
Description: Azure AI MaaS/MaaP client library. This is a follow-up to the first introduction review we had a few weeks ago. In this meeting we will review the updated Python client library APIs, including streaming response. This review is to approve the first public preview release of the client library, planned for end of May.
Additional links:

Python client library PR: https://github.com/Azure/azure-sdk-for-python/pull/34937
TypeSpec PR: https://github.com/Azure/azure-rest-api-specs/pull/28438
TypeSpec apiview.dev: https://apiview.dev/Assemblies/Review/e3195e5ca7954296b4e68393eb084773

Detailed meeting information and documents provided can be accessed here


Enable https on node.js frontend

Hi,
I love the project the team has started. I would love to see if possible if you can include docker environment variable to allow use of:

https
reference to location of key and cert files

This will allow application to run on https://somedomainname or https://someIPaddress instead of using a reverse proxy in front of application.
I tried to look for node.js file for frontend but was not able to locate it. I believe https can be activated in that file and possibly variables added that can point to cert and key files as an environment variable that can be passed by docker environment variables.
Appreciate your feedback.
Great work.
Thank you,

Hey thanks for your enhancement. I don't really a reason for this feature because a reverse proxy would easily do this job. You just could spin up a reverse proxy container. Can I ask why you don't want to use a reverse proxy?

Hi,
I was thinking to have full encryption end to end. With reverse proxy only one leg of communication is encrypted.
What is the name and location for server.js or node.js for frontend where it can reference https and cert keys to use?
Thank you,
On Dec 10, 2022 2:51 PM, Elias Schneider @.***> wrote:
Hey thanks for your enhancement. I don't really a reason for this feature because a reverse proxy would easily do this job. You just could spin up a reverse proxy container. Can I ask why you don't want to use a reverse proxy?
—
Reply to this email directly, view it on GitHubhttps://github.com/stonith404/pingvin-share/issues/39#issuecomment-1345401983, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A4U2FYAUIVVNVUEHI3YSWXDWMUCP3ANCNFSM6AAAAAAS2RDKWU.
You are receiving this because you authored the thread.Message ID: @.***>

Sorry I don't know anything about SSL directly with Node.js,  I'm not even sure if this is possible.
Additionally using SSL directly hasn't any advantages, or has it?
But you can easily enable SSL with a reverse proxy: https://domysee.com/blogposts/reverse-proxy-nginx-docker-compose
I personally use Nginx Proxy Manager, this is a reverse proxy with a GUI.

There are plenty node.js files. For the frontend they are placed in the /frontend/src folder. The frontend uses nextjs btw.

+1 for https
I would love to be able to spin up this container with TLS support.

Additionally using SSL directly hasn't any advantages, or has it?

There are advantages. Encryption and possibly trust in the internal network. "Zero Trust".

Hi Steven,
Main advantage is encryption of communication all through out if using a reverse proxy or browsing application directly. In my personal opinion any docker application should have flexibility to run on http or https with environment variables that allow users to configure what port you want it to listen to and allow you also to define SSL cert to use but that adds dev time to get that done. I’m not a dev person but I do tinker around and sometimes I can make the container work with https if it was not designed by creator to work with https and sometimes configuration is not very clear and I’m not successful.
In this instance I have not been successful so far but I have not tried again after  my last communication with creator about path to NextJS config file.
Thanks,
Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows
From: Steven @.>
Sent: Tuesday, December 13, 2022 1:58 PM
To: @.>
Cc: @.>; @.>
Subject: Re: [stonith404/pingvin-share] Enable https on node.js frontend (Issue #39)
Additionally using SSL directly hasn't any advantages, or has it?
There are advantages. Encryption and possibly trust in the internal network. "Zero Trust".
—
Reply to this email directly, view it on GitHubhttps://github.com/stonith404/pingvin-share/issues/39#issuecomment-1349821722, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A4U2FYBALSLJ4FCK3XQTIS3WNDWQTANCNFSM6AAAAAAS2RDKWU.
You are receiving this because you authored the thread.Message ID: @.***>

Hi,
I tried yesterday to implement https on Nodejs webserver to practice and was able to get it done. It needs few lines of code.
I'm not sure if Nextjs follow same guide lines in code for https as Nodejs but this container didn't have a clear cut config file that I can locate. There is some many .is file in it and very difficult to know where  is the actual config file where http and port are declared. If we can find that file I can try to add code to it.
Do you exactly where and what is the file name?
Last path I got from feedback was not correct...
Thank you,
Wissam
On Dec 14, 2022 12:25 AM, Elias Schneider @.***> wrote:
I've never set up SSL directly with NextJS. If someone knows how to setup https directly with NextJS, feel free to create a PR :)
—
Reply to this email directly, view it on GitHubhttps://github.com/stonith404/pingvin-share/issues/39#issuecomment-1350619155, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A4U2FYAE5YHCZDT5M5NSIGLWNGAAJANCNFSM6AAAAAAS2RDKWU.
You are receiving this because you authored the thread.Message ID: @.***>

I think NextJS creates the http server automatically in the background. But there is a way to create a custom web server with NextJS, but never used it before.

I would love to help but without knowing where the config file is, it will be hard. There Will be a line of code to create http server and declare port it is listening on, if we can locate that file then it will become easier to troubleshoot.
Digging into this container it seemed to have so many .js files it would take a lot of time to dig through them.
I'm not sure if this container was copied from another project but I would think you would know where the main config file is since you are the owner of project.
Either way, I gave it a shot and it didn't work...I tried on another container that was done in Nodejs and dev owner didn't do https but I edited the file and added the code and was able to get that other project container working on https...so it should not be too different in this project either as long as main config file can be located...
I think this is the end of this open issue on my end. Without main file I can't do much.
Thanks everyone for your responses. I appreciate it.
Wissam
On Dec 14, 2022 6:41 AM, Elias Schneider @.***> wrote:
I think NextJS creates the http server automatically in the background. But there is a way to create a custom web serverhttps://nextjs.org/docs/advanced-features/custom-server with NextJS, but never used it before.
—
Reply to this email directly, view it on GitHubhttps://github.com/stonith404/pingvin-share/issues/39#issuecomment-1351542006, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A4U2FYCNNQQPR23GGFD7Q4LWNHMCBANCNFSM6AAAAAAS2RDKWU.
You are receiving this because you authored the thread.Message ID: @.***>

@woreibi Thanks for your tries :) Sorry but I really don't know what you mean with a config file. There is a nextjs config file, but related to nodejs and nextjs there isn't any other config file.
As a work around, you could add nginx to the docker compose stack. With this solution the data is only not encrypted in the docker network. I understand this is not the solution you want, but it's pretty secure. The only way a "hacker" could read the traffic, is when he has access to the docker container and when he has access to the docker container, he easily could read the database.

No worries. I have not tried Nextjs as a plain web server as a test that I can do and try to enable https but I'll look into that to see if it is different from Nodejs.
Thank you for the feedback.
Wissam
On Dec 14, 2022 9:07 AM, Elias Schneider @.***> wrote:
@woreibihttps://github.com/woreibi Thanks for your tries :) Sorry but I really don't know what you mean with a config file. There is a nextjs config filehttps://github.com/stonith404/pingvin-share/blob/main/frontend/next.config.js, but related to nodejs and nextjs there isn't any other config file.
As a work around, you could add nginx to the docker compose stack. With this solution the data is only not encrypted in the docker network. I understand this is not the solution you want, but it's pretty secure. The only way a "hacker" could read the traffic, is when he has access to the docker container and when he has access to the docker container, he easily could read the database.
—
Reply to this email directly, view it on GitHubhttps://github.com/stonith404/pingvin-share/issues/39#issuecomment-1351784161, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A4U2FYG7OCAGJPF7UAP52TDWNH5GBANCNFSM6AAAAAAS2RDKWU.
You are receiving this because you were mentioned.Message ID: @.***>


Disabled vocabularies should not appear as sidebar facets

Describe the bug
When a subject vocabulary is disabled, it still gets a "Browse subject tree" link in the sidebar subject facet.
To Reproduce
Steps to reproduce the behavior:

Configure your repository to disable the default srsc vocabulary with the following setting: webui.browse.vocabularies.disabled = srsc
keep the default enabled: false value here: https://github.com/DSpace/dspace-angular/blob/bfeeeac96f52b6eddab360778a5f22e84693db70/src/config/default-app-config.ts#L485
(Re)deploy your DSpace
Observe that the Browse By Subject Category no longer appears in the top navigation dropdown
Complete a search and open the "Subject" facet
Observe that there is still a "Browse subject tree" link, which when clicked will open a modal using the disabled vocabulary

Expected behavior
When a vocabulary is disabled, there should not be a link to use it as a search facet. If no vocabularies are enabled, there should be no "Browse subject tree" link at all.
Related work
Original PR for the feature: #1988

A couple of screenshots documenting the issue:


change database number

Hi
Can I change the database number when I want to connect to Redis?
For example, Redissearch connects to db0 by default; I want to connect to db1.
Do you know how I can do that?

Technically the path in the redis-uri is the db number (redis://host:port/dbNum)
But using numbered DBs is considered an anti-pattern, and RediSearch will not support anything but db0 (it will just fail)

ITNOA
@slorello89 why numbered DBs is anti pattern?

Hi @soroshsabz,
Numbered databases in Redis is an original feature. It's purpose was to allow developers to isolate parts of the keyspace for different applications. This can lead to the false perception that the keyspaces are truly isolated, and that the separate databases have their own resources (both of which are false in the Redis internals). Salvatore (the creator of Redis) famously describes numbered databases in Redis as his biggest design regret when building Redis.
If you truly want to isolate your keyspace, use a different Redis instance altogether.


Map list in "change map" dialog incomplete

On a server with a lot of maps, when tapping "change map", the list that opens is a) ordered reverse alphabetically (Z to A) and b) not always showing all maps. The first time I tried, it showed 225 maps, another time about 380. In my case, there should be about 700.
Smartphone (please complete the following information):

Device: Samsung Galaxy S10e
OS: Android 11
Browser: Chrome
Version: 91

@Jay2k1 thanks for reporting the bug, will look into it.


Just HDMI 2

Heho.
Is it possible to just start a player on HDMi2?
I want HDMI1 as kiosk and play an NDI stream on HDMI2.
At the moment dicaffeine make a black screen on HDMI1 if I select no stream for it.

It's not possible right now, but I'll think about a reasonable solution.


<EMAIL_ADDRESS>download via aria2 failed

ERROR Download failed! (Error 3) Resource was not found
DEBUG https://ftp.osuosl.org/pub/musescore/releases/MuseScore-3.0/MuseScore-3.0.msi
referer=https://ftp.osuosl.org/pub/musescore/releases/MuseScore-3.0/
dir=D:\Scoop\cache
out=musescore#3.0#https_ftp.osuosl.org_pub_musescore_releases_MuseScore-3.0_MuseScore-3.0.msi
DEBUG & 'D:\Scoop\apps\aria2\current\aria2c.exe' --input-file='D:\Scoop\cache\musescore.txt' --user-agent='Scoop/1.0 (+http://scoop.sh/) PowerShell/5.1 (Windows NT 10.0; Win64; x64; Desktop)' --allow-overwrite=true --auto-file-renaming=false --retry-wait=2 --split=5 --max-connection-per-server=5 --min-split-size=5M --console-log-level=warn --enable-color=false --no-conf=true --follow-metalink=true --metalink-preferred-protocol=https --min-tls-version=TLSv1.2 --stop-with-process=2988 --continue

The URL for download is now https://download.musescore.com/releases/MuseScore-3.0.0/MuseScore-3.0.0.msi and not https://ftp.osuosl.org/pub/musescore/releases/MuseScore-3.0/MuseScore-3.0.msi.
I created a PR, #1584, to fix it.

Is there a reason why the Version variable was not brought in in line with the URL? e.g. I believe
"version": "3.0"
should be
"version": "3.0.0"
Looking at the release notes


Adjust Opportunity Naming in OpportunitiesWithAllocations.yml

Right now the recipe name the Opps with hard coded values that are meant to make it easy to tell which is which.  That's great when checking the recipe itself and totally makes sense why we did it that way, but when using the recipe to create fake data as intended it leave the names in a strange state. Ideally they would either match NPSP default convention or allow NPSP to name the donations directly.
Example of current behavior:
2 GAU (Random Amount) Opportunity for Melendez, Skinner and Flowers

Working through this--opp naming defaults are not set automatically in the npsp:install_prod flow, and record types are also not created. I think some of this may be a documentation challenge, on top of any technical changes to the yaml file


Divide pushdown

Pushdown currently performs two sets of transforms.

Push filters as low in the tree as possible:

Filter(x=1) -> Join(Tablescan(x), Tablescan(y), x=y)
=>
Join(Filter(x=1)->Tablescan(x), Tablescan(y), x=y)

Convert filters into static index scans:

Filter(x=1)->Tablescan(x)
=>
Indexscan(x, x in [1,1])

There are now two rules, pushFilters and generateIndexScans. Running pushFilters
before join planning lets join planning make better use of functional dependencies.
Also:

Small rule reorganizations
Small correctness changes exposed by refactor
Remove pushdown tests
Filter pushdown appears to work in more cases, see plan changes
sql.FilteredTable interface is now unused, marked as deprecated but did not delete related functions

Re: https://github.com/dolthub/dolt/issues/5993

I only spot-checked the plans to see if they looked reasonable, make sure you go over them as well.
Also, do we have a full test (with result validation) for each of the queries in the plans?

I only spot-checked the plans to see if they looked reasonable, make sure you go over them as well.
Also, do we have a full test (with result validation) for each of the queries in the plans?

The only ones we don't have correctness tests for are a couple of the IntegrationQueryPlans, whose changes look reasonable on inspection.


Implement TUN offloads

Performance profiles show that the biggest amount of time is currently spent in 3 places:

read from tun
write to tun
write to peers

One option which could improve the situation is #102, since larger packets naturally mean less syscalls (in the case of a tcp stream in the overlay). The problem there, is that larger packets will need to be fragmented if the lower layer link has a smaller MTU (which is the reason why MTU is currently set at 1400). While we currently only use stream based connections, keeping individual packets at MTU 1400 leaves the door for UDP at some point open (plain UDP that is).
The proper way to instead handle this would be to enable TSO (and USO and GRO, while we are at it). Unfortunately not a lot of info is readily available about this. In a first stage, we'll limit this to linux. From what I did manage to find so far:

Reading from the tun can produce a packet bigger than MTU (and similarly a bigger packet can be written)
Checksum offloading is required to be enabled.
We can implement ioctls on the tun created by the library, so we don't really have to write the tun code from scratch.
Ideally the vnet_hdr is enabled ( can be done at startup which requries library changes, or with an ioctl later it seems which is the preferred path for now). This puts a vnet_hdr struct with offload info at the start of the packet.
Since the segmentation boundary is defined in the packet, we can't do a vectored write into a bunch of packetbuffers. Instead we'll need to allocate a large buffer first, from which we then copy the data.
We can allocate this buffer once and reuse it.
Since we already have a single read/write loop setup, we can also reuse this buffer for both GRO and TSO/USO.
In theory, we can send unsegmented packets with the leading header to peers (if I'm given to understand this correctly), but then peers won't be able to handle the packet if they don't have offloading. So packets must be fragmented before sending, which also makes this backward compatible with legacy code

In my global cargo config I have a section which specifies a profiling profile, which just adds debug symbols to the configured release profile of the project:
[profile.profiling]
inherits = "release"
debug = true

Then I build with cargo build --profile profiling. This binary is then run with samply (sudo -E samply record ./target/profiling/mycelium {args}). The resulting profile can then be inspected (uses firefox tracing UI by default) to see where the application spends its time)

nice 👍

continuing discussion on https://github.com/threefoldtech/mycelium/issues/459#issuecomment-2497453463

The TUN offload issue has been parked as its purely an optimization for the send/receive nodes. It can be done in the future once the system is completely stable.

Wdyt about implementing it now @LeeSmet ?
I think we already have performance/scalability issue.
From quick search, to enable GRO we only need to enable the flag using ethtool, CMIIW

From quick search, to enable GRO we only need to enable the flag using ethtool, CMIIW

It is not that simple.
I found a blog post from Tailscale, they did this already.
https://tailscale.com/blog/more-throughput doesn't have the details but it provides some clue.
I think we can start from there.

Enabling GSO/GRO indeed requires setting some flags. The main difficulty is in handling the larger packets we then receive. Effectively we will receive packets larger than the MTU of the interface and we become responsible for splitting them. This means we also become responsible for populating the headers, most notably the checksum on the sending side. Sending is the easier part. On the receiving side, we need to reassemble the chunked packets into a larger packet again (not strictly necessary since the chunked packets must be valid packets themselves, after all we don't know if the target host has GSO enabled). But since packets can be mixed (perhaps we are receiving packets from 2 different sources), we need to meticulously select packets for reassembly by keeping track of the flows we are receiving.
All of this is pretty much complicated more by the fact that kernel documentation is pretty lackluster in how to actually implement it.
My idea is to start by creating our own TUN crate to the point we can replace the existing ones we use, and then implement this functionality.
Note that this is strictly a performance improvement for the sending and receiving node.
Also note that for performance, we'd want to do checksum calculations with vector instructions. This should not be too hard, in rust we can basically make a function for the calculation x amount of times, and anottate them with different vector extensions so we can rely on LLVM auto vectorization. Then in the main function we can do conditional function selection.

continuing discussion on https://github.com/threefoldtech/mycelium/issues/459#issuecomment-2497453463

The TUN offload issue has been parked as its purely an optimization for the send/receive nodes. It can be done in the future once the system is completely stable.

Wdyt about implementing it now @LeeSmet ?
I think we already have performance/scalability issue.

The things we observe in that issue are imo not related to performance of sending/receiving packets. In local tests (2 nodes on the same machine) I can push 2.5Gbit (iirc) on my laptop, 4Gbit at home


Test files - file structure

If all unit tests are behind one folder with dot notation, don't we end up in a rather long list of files which is not that friendly to search?
tests
  |
  -unit
      |
      logger.test.ts
      many-other-files.tets.ts
      .....

I would argue for discover-ability having tests close to what they are testing (especially unit tests) make sense.
For integration tests it might make more sense to have them on the upper level, because they are testing the collaboration of many modules.

Yeah I've been back and forth with this one. On the one hand, it's really easy to imagine unit tests next to the "unit" they're testing. It's easy to remember to do, a reference for when you update that unit, and overall fairly convenient. The problem is that there's no file associated with each integration test, since they're

testing the collaboration of many modules

I think it's too confusing to try to support both strategies, so I opted for the more recognizable system to keep things consistent at least

I understand the point and I think it makes sense. It's more important to have consistency.


Kube_version not consistent with kube_version in other files.

https://github.com/kubernetes-incubator/kubespray/blob/f14f04c5ea251df8968f4faefaa1b390e8d354e5/roles/kubespray-defaults/defaults/main.yaml#L11
looks like the kube_version info in this file is not update.
But it seems to be working so if it is not being used then can we remove it from this location so its less confusing or am i completely missing the reason for it.

thank you


Fix ninepatch batch break logic.

I'd forgotten to add check for need for a new batch when encountering ninepatches. Fixes visual anomalies, particularly tab container.
Logic is mostly the same as for rects, as ninepatch decomposes to rects.
Partly fixes- #43942

Thanks!