tokenType is null and token is not saved to storage

Hi there,
great library! I'm running into a few issues while using it to communicate with Slack's API.
While working with the helper class I've noticed that the tokenType is not set to bearer and instead is set to null.
Steps which might be useful to reproduce:

Own a Slack workspace
Create your own Slack app
Set its scope to users.profile:write
Add a redirect URL and configure it according to your OS in the corresponding file

I'm using it like this:
class TelestoOAuth2Client extends OAuth2Client {
  TelestoOAuth2Client(
      {@required String redirectUri, @required String customUriScheme})
      : super(
          authorizeUrl: 'https://slack.com/oauth/authorize',
          tokenUrl: 'https://slack.com/api/oauth.access',
          customUriScheme: 'slack.status.app',
          redirectUri: 'slack.status.app://oauth2redirect',
        );
}

OAuth2Client telestoClient = TelestoOAuth2Client(
    customUriScheme: 'slack.status.app',
    redirectUri: 'slack.status.app://oauth2redirect');

OAuth2Helper oauth2Helper = OAuth2Helper(telestoClient,
    grantType: OAuth2Helper.AUTHORIZATION_CODE,
    clientId: 'secret',
    clientSecret: 'secret',
    scopes: ['users.profile:write']);

The method itself:
Future<http.Response> setSlackStatus(String statusText, String statusEmoji,
    // AccessTokenResponse token,
    {int statusExpiration = 0}) async {
  // var tokenString = token.accessToken;

  final res = await oauth2Helper.post(
      Uri.encodeFull('https://slack.com/api/users.profile.set'),
      headers: {
        'Content-Type': 'application/json; charset=UTF-8',
        // 'Authorization': 'Bearer $tokenString',
      },
      body: jsonEncode({
        'profile': {
          'status_text': statusText,
          'status_emoji': ':$statusEmoji:',
          'status_expiration': statusExpiration,
        }
      }));

  print(res.statusCode);

  return res;
}

As you can see I've commented out some lines, with these lines it's working fine but that's the task of the helper class to manage the token.
When calling the method like this:
main() async {
  WidgetsFlutterBinding.ensureInitialized();
  // AccessTokenResponse token = await oauth2Helper.fetchToken();
  // http.Response res = await setSlackStatus('WE', 'cat', token);

  http.Response res = await setSlackStatus('WE', 'cat');

  print(res.body);
  print(res.headers);
  print(res.statusCode);

  print('======');

  http.Response res2 = await setSlackStatus('WE', 'dog');
  print(res2.body);
  print(res2.headers);
  print(res2.statusCode);
}

I will get asked twice to accept the API request. Also when I manipulate oauth2_helper.dart to set tknResp.tokenType to bearer at least the request itself works. Is there a way to have a option which sets the token to be a bearer type?
Also do you have any ideas why it doesn't store the token in the storage?

Hi @TonySpegel, I suspect the issue is related to the token not getting stored, and this usually means that the scopes are not correct or somehow different from the ones granted on the server.
Can you take a look at the (just added) FAQ section of the README and try out the suggested approach?

@okrad Thanks for your help. Okay I did miss a scope (identify) and adding that seemed to work, I was able to make two requestions without Slack asking me twice for my authentication. But I think this was just working because I've settknResp.tokenType to bearer by myself in  oauth2_helper.dart and Flutter didn't got the change after I changed it back. Okay so my code pretty much stays the same but I've added another scope.
Debugging oauth2_helper.dart at line 91 tells me that the property tokenType in tknResp is null.
Assuming that the scope was the issue, my code is correct?

Not sure I understand... Aren't you able to make any request at all or is it still asking you for authorization at every request?
Moreover, the Bearer token type in the helper should already be set...

Running my code as it is tknResp.tokenType is null and the whole request therefore fails

That's the error log for that:
E/flutter ( 4661): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: NoSuchMethodError: The method 'toLowerCase' was called on null.
E/flutter ( 4661): Receiver: null
E/flutter ( 4661): Tried calling: toLowerCase()
E/flutter ( 4661): #0      Object.noSuchMethod  (dart:core-patch/object_patch.dart:51:5))
E/flutter ( 4661): #1      AccessTokenResponse.isBearer
package:oauth2_client/access_token_response.dart:143
E/flutter ( 4661): #2      OAuth2Helper.getToken
package:oauth2_client/oauth2_helper.dart:91
E/flutter ( 4661): <asynchronous suspension>
E/flutter ( 4661): #3      OAuth2Helper.post
package:oauth2_client/oauth2_helper.dart:199
E/flutter ( 4661): #4      setSlackStatus
package:flutterSlackStatus/main.dart:36
E/flutter ( 4661): #5      main
package:flutterSlackStatus/main.dart:71

When setting this myself (in oauth2_helper.dart) it just works, so like this:
tknResp.tokenType = 'Bearer';
I'm out of ideas, I think there isn't much for me to do about it.

Hey @TonySpegel, I think I got it...
It seems that the access token response returned by the Slack authorization server doesn't contain the "token_type" parameter, that is mandatory by the OAuth2 specs.
To overcome these situations, I added a fallback check that sets the token_type to "Bearer" if it is not set.
Can you try it out and see if it works?

Is that already included in the latest version? I've upgraded to 1.6.0.
The bearer token seems to be fixed but it still for my permission for every request I make.
await setSlackStatus('Library', 'cat');
// -> Slack asks for my permssion
await setSlackStatus('Living room', 'cat2');
// -> Slack asks for my permssion

Seems strange... In my tests the helper uses the same token without forcing me to authenticate with Slack twice.
Are you still passing on both the scopes (identify and users.profile:write)?

I do. That's the complete code:
import 'dart:convert';

import 'package:flutter/material.dart';
import 'package:oauth2_client/oauth2_client.dart';
import 'package:meta/meta.dart';
import 'package:oauth2_client/oauth2_helper.dart';
import 'package:http/http.dart' as http;

class TelestoOAuth2Client extends OAuth2Client {
  TelestoOAuth2Client(
      {@required String redirectUri, @required String customUriScheme})
      : super(
          authorizeUrl: 'https://slack.com/oauth/authorize',
          tokenUrl: 'https://slack.com/api/oauth.access',
          customUriScheme: 'slack.status.app',
          redirectUri: 'slack.status.app://oauth2redirect',
        );
}

OAuth2Client telestoClient = TelestoOAuth2Client(
    customUriScheme: 'slack.status.app',
    redirectUri: 'slack.status.app://oauth2redirect');

OAuth2Helper oauth2Helper = OAuth2Helper(telestoClient,
    grantType: OAuth2Helper.AUTHORIZATION_CODE,
    clientId: 'secret',
    clientSecret: 'secret',
    scopes: ['identify', 'users.profile:write']);

Future<http.Response> setSlackStatus(String statusText, String statusEmoji,
    // AccessTokenResponse token,
    {int statusExpiration = 0}) async {
  // var tokenString = token.accessToken;

  final res = await oauth2Helper.post(
      Uri.encodeFull('https://slack.com/api/users.profile.set'),
      headers: {
        'Content-Type': 'application/json; charset=UTF-8',
      },
      body: jsonEncode({
        'profile': {
          'status_text': statusText,
          'status_emoji': ':$statusEmoji:',
          'status_expiration': statusExpiration,
        }
      }));

  return res;
}

main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await setSlackStatus('Library', 'cat');
  // -> Slack asks for my permssion
  await setSlackStatus('Living room', 'cat2');
  // -> Slack asks for my permssion
}

This is the behaviour in a virtual device and on my physical Pixel 3, I can't test

I tried your code, only the first request is asking for permission...
What happens if you run it on a newly created virtual device?

I've deleted all of my virtual devices and created a new one and also recorded the process (resolution isn't that good but it's visible what happens. the loop begins/ends when it switches back to the tab next to the AVD)

I've deleted all of my virtual devices and created a new one and also recorded the process (resolution isn't that good but it's visible what happens. the loop begins/ends when it switches back to the tab next to the AVD)

What gets printed if you run this code after the first call to setSlackStatus:
var tkn = oauth2Helper.getToken();

print(tkn.accessToken);
print(tkn.expiresIn);
print(tkn.scope);

I/flutter ( 2891): xoxp-secret
I/flutter ( 2891): null
I/flutter ( 2891): [identify, users.profile:write, identity.basic, identity.email, identity.team]

These scopes are new, aren't they? I think it's working now.. I'll test it a few times and report back if it does.

Okay there seems to be one last issue. I think the first run of the app needs to ask for only two scopes:
'identify',
'users.profile:write',

These are the scopes we identified first. After your last comment, I've figured out that it needs some more scopes.
Which are these:
'identify',
'users.profile:write',
'identity.basic',
'identity.email',
'identity.team'

When I don't add these, I've have to grant the rights for every request again. But when I add all of these scopes in the first run I'll get this error:

Which roughly translates to: App couldn't be installed. You can't ask for identify type of scopes and other types at the same time
Any ideas how you would solve this? It seems like a different number of scopes is needed for different requests but I've no idea how I'd do this with your library.

Ok, this starts to make sense...
When you make a call through the helper, the first thing it does is to check if a valid token already exists in the storage for the service you are connecting to. If such a token is found, the second thing it does is to compare the scopes you are requesting with those that the token was granted for. If the scopes match, the stored token gets reused, otherwise a new authorization flow is started.
I don't know why (since when I tested your code I got the exact same scopes I requested back from the server) in your case the server responds with more scopes than the ones you asked for...
What I'm thinking about is to slightly change the scopes verification routine, so that if it finds out that the scopes that are being requested are a subset of those related to the stored token, the token is considered valid.
What do you think?

Sounds like a viable solution. It's pretty weird that it needs different scopes for the both of us. Another thing I've figured out is that the order of scopes has to be in the same order as the server telss you - do you think it would makes sense to order them by name to compare them this way? So that
'identify',
'identity.basic',
'identity.email',
'identity.team'
'users.profile:write',

would be a valid set of scopes?
Thanks for your work I really appreciate it =)

Hi, can you try out the new version? As for the scopes order, it doesn't matter since the subset verification is made using set intersection that doesn't depend on the order of the elements...

I don't have any issues anymore :). I'm already using it and it works fine so far.
Very well done

Fine, thank you!


HelloHacktoberfest - Python

kindly assign me this issue!

do you want simple print statement or you want me to do something creative ?

@sukhmani1303 You can do it creatively

fixed!

can you also add a "hacktoberfest-accepted" label to this issue that I fixed, please?


Set Up Authentication Mock for System Tests

Description:
Our current system tests include authentication, but to further enhance test coverage and reliability, we need to replicate the existing authentication infrastructure in a controlled environment. This will give us more confidence in the system’s performance and behavior before deploying to production.
Requirements:
Implement a mock authentication service that replicates the current authentication configuration (realms, clients, roles, etc.).
The mock service should be flexible  to ensure it can be run both locally and in CI pipelines.
Ensure system tests authenticate against this mock service in the same way they would against production infrastructure.
Long-term, this solution should be easily integrated into our GitHub CI pipeline.
Long-Term Vision #630:
The ultimate goal is to have this authentication mock service as part of our GitHub CI pipeline, allowing us to automatically run system tests with authentication in a consistent and isolated environment during every build.
This will help streamline the development process, catch potential issues earlier, and increase confidence that the system behaves as expected across different environments.
Acceptance Criteria:
A  mock authentication service is available for local development and CI.
System tests are updated to authenticate against this mock service.
All system tests pass when using the mock service.
Documentation on how to run tests with the mock authentication setup(if any ,Can be part of devcontainer?)
Should be able to run on Github CI

This is a part of this ticket https://github.com/DiamondLightSource/blueapi/issues/630


Update dependencies

auto-value-gson required some migration.

Codecov Report

Merging #11 into develop will increase coverage by 0.07%.

@@              Coverage Diff              @@
##             develop      #11      +/-   ##
=============================================
+ Coverage         47%   47.08%   +0.07%
- Complexity         0      290     +290
=============================================
  Files             79       80       +1
  Lines           1353     1355       +2
  Branches         149       85      -64
=============================================
+ Hits             636      638       +2
  Misses           677      677
  Partials          40       40

Impacted Files
Coverage Δ
Complexity Δ

...shapp/common/data/net/AutoValueAdapterFactory.java
100% <100%> (ø)
2 <2> (?)

Continue to review full report at Codecov.

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


Update OBS worflow to SLEM4R images

looks like the changes in the workflow are not applied within the automated PR build, still using the workflow of main to build this PR 😕 I bet there is reason for such a behavior


Incorrect test set labels for RTE and CoLA datasets via load_dataset

Describe the bug
The test set labels for the RTE and CoLA datasets when loading via datasets load_dataset are all -1.
Edit: It appears this is also the case for every other dataset except for MRPC (stsb, sst2, qqp, mnli (both matched and mismatched), qnli, wnli, ax). Is this intended behavior to safeguard the test set for evaluation purposes?
Steps to reproduce the bug
!pip install datasets
from datasets import load_dataset
rte_data = load_dataset('glue', 'rte')
cola_data = load_dataset('glue', 'cola')
print(rte_data['test'][0:30]['label'])
print(cola_data['test'][0:30]['label'])
Output:
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
The non-label test data seems to be fine:
e.g. rte_data['test'][1] is:
{'sentence1': "Authorities in Brazil say that more than 200 people are being held hostage in a prison in the country's remote, Amazonian-jungle state of Rondonia.",
'sentence2': 'Authorities in Brazil hold 200 people as hostage.',
'label': -1,
'idx': 1}
Training and validation data are also fine:
e.g. rte_data['train][0] is:
{'sentence1': 'No Weapons of Mass Destruction Found in Iraq Yet.',
'sentence2': 'Weapons of Mass Destruction Found in Iraq.',
'label': 1,
'idx': 0}
Expected behavior
Expected the labels to be binary 0/1 values; Got all -1s instead
Environment info

datasets version: 2.15.0
Platform: Linux-6.1.58+-x86_64-with-glibc2.35
Python version: 3.10.12
huggingface_hub version: 0.19.4
PyArrow version: 10.0.1
Pandas version: 1.5.3
fsspec version: 2023.6.0

As this is a specific issue of the "glue" dataset, I have transferred it to the dataset Discussion page: https://huggingface.co/datasets/glue/discussions/15
Let's continue the discussion there!


chore(forks): generate fixtures with the Paris network name

🗒 Description
closes #469
🔗 Related Issues
#469
✅ Checklist

[x] All: Set appropriate labels for the changes.
[x] All: Considered squashing commits to improve commit history.
[ ] All: Added an entry to CHANGELOG.md.
[x] All: Considered updating the online docs in the ./docs/ directory.
[x] Tests: All converted JSON/YML tests from ethereum/tests have been added to converted-ethereum-tests.txt.
[x] Tests: Included the type and version of evm t8n tool used to locally execute test cases:  e.g., ref with commit hash or geth 1.13.1-stable-3f40e65.
[x] Tests: Ran mkdocs serve locally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.

Changelog NOT updated because of the trivial nature.

Sweet. I guess we wait for them then.

Okay so its an quick change on Geth: https://github.com/ethereum/go-ethereum/compare/master...spencer-tb:go-ethereum:tests/init
I want to make sure the tests work when running them on a fully instantiated client in hive:
https://github.com/ethereum/hive/tree/master/simulators/ethereum/pyspec
Assuming the latter, I'd say merging this in is good to go. Ideally we have some PRs ready for each client before our next release.


Enable QtWinExtras for Windows Build

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Documentation on acceptable licenses can be found here.

Did you test this? It doesn't work. There's a typo in QtWinExtas, also you are enabling QtSerialPort in this.

I was not able to test because pyqt source code is not available at the given adresse anymore. Also, QtSerialPort was already enabled.

Would it be allowed to use archive.org to get the source code?

they are available on macports, but unfortunately I cant find PyQtChart_gpl-5.12.tar.gz
https://distfiles.macports.org/py-pyqt5/PyQt5_gpl-5.12.3.tar.gz
https://distfiles.macports.org/py-sip/sip-4.19.18.tar.gz
https://distfiles.macports.org/py-pyqt5/PyQtWebEngine_gpl-5.12.1.tar.gz


train error

hi, thanks for your great work. When I use your code to train my datasets, there is a problem as followings:
there is no module named utils, and I cannot found a file named utils.py

Oh, the train.py is copied from metaformer and I forgot to copy its related utils.py. I have fixed it. Thank you for your reminder.


Feat/htmlsnapshot

add htmlsnaphshot functionality to OSS ver

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: krautface:x: ebrandelYou have signed the CLA already but the status is still pending? Let us recheck it.


Added working version of the consumer

This PR adds a working version of the consumer. This consumer basically ingests all data in the public graph, functioning as a dump consumer. I haven't had the time to figure out what is wrong with the current implementation.
Note: There is a chance the logic you implemented is not doing what you intended. I think we should consider having a discussion about it.

Note: There is a chance the logic you implemented is not doing what you intended. I think we should consider having a discussion about it.

Im really curious what the setup was doing when you spinned it up, can you describe it in short or write some bullet points down about what happended?
If I ran it the initial sync would load the dispatch triples into the landing graph, add an extra modifiedReference triple to it and push the triples that where interesting (besluiten, mandatarissen) to the target graph. Those triples I could look up thgrough the /sparql endpoint of virtuoso.
I'll try this one out! Thanks for putting in all the efford already :)


[Bug]: Is the radius of the arc endpoint of the outer circle of the update download progress bar asymmetrical?

Affected Version
1.80.19
Bug Behavior
The endpoints of the outer circle arc are not smooth, it seems that the size of the superimposed circle is too large
Expected Behavior
The endpoints of the outer arc should be smooth
Steps to reproduce
none
Related Issues
No response
Screenshot(s)

Additional Information
No response

Hi @DuckDeng,
The outer progress bar appearance is actually intended since the blur grid above it overlays and should rays the acrylic effect if you enabled the acrylic blur effect in the app settings or system-wide.

But there isn't a shadow effect on progress bar, it looks like the outer progress bar overlay on inner layer directly.
By the way, when I off acrylic blur ,there are some element can not display. Such as the "speed" icon and "downloading" icon.

But there isn't a shadow effect on progress bar, it looks like the outer progress bar overlay on inner layer directly.

Thanks for noticing. This effect should exist in upcoming preview release while we are still working on improving the UI bit-by-bit.
Regarding to that missing color for certain status element, we noticed that the "FallbackColor" for that certain element went missing, causing the color becoming transparent. Also, this issue should be fixed in the next preview release.

As per no more confirmation, we are going to close this issue for now.
Feel free to reopen this issue if you still have any concern about this.


Typo in the article

The note below seems to have a typo, should it say "no longer appears"?
Once that rule is added, the Delete versions after option no appears in the Data protection configuration page.

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

ID: 46cccffb-b0b7-c591-8b43-586c940709db
Version Independent ID: cdc804a4-2cc0-13fe-8e54-a762f9abdcee
Content: Enable and manage blob versioning - Azure Storage
Content Source: articles/storage/blobs/versioning-enable.md
Service: azure-blob-storage
GitHub Login: @normesta
Microsoft Alias: normesta

@imtiazh
Thanks for your feedback! We will investigate and update as appropriate.

@imtiazh
Thanks for reporting this! We have created a PR for this issue and the changes should go live soon.


ci: fix r-docs build

Closes #1893

#1894  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Shoeboxam and the rest of your teammates on  Graphite

Nope, just the R docs one. The other checkout builds docs for all tagged versions, so it's insensitive to the checkout branch. It pulls down refs for all versions (fetch-depth: 0)


No Copyright notice

I know this is silly, but I'm using angular-resizable for my job, and the lawyers insist that I provide the copyright notice from each third-party component. This project doesn't have one that I've been able to find. If you would just toss something into the bottom of the Readme file, I would really appreciate it.

Hm... This is new to me. Wouldn't a copyright notice give me more ownership and only make the legalities more complicated?

One would think lol. Red tape is so much fun.

@Reklino Can you consider adding the license please, if you don't want to provide a LICENSE your project is pretty much outside of the MIT license, and you should either hide the project as close source, or provide the LICENSE.
Or if you do care about copyright, use a more restrictive license... at least we would know what license is applied to this and people would just look for an alternative instead of using your project.
thank you


[WIP] Support functions CodeSigningConfig updates

Issue #, if available:
Description of changes:

Support functions CodeSigningConfig updates

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Opening the PR to see the e2e tests results. Please do not review for now
/hold

/unhold

/lgtm


Gracefully handle error conditions

CSDK-43: headObject returns head bucket if passed empty object
CSDK-44: getBucket returns getBuckets value if passed empty string
==22280== LEAK SUMMARY:
==22280==    definitely lost: 0 bytes in 0 blocks
==22280==    indirectly lost: 0 bytes in 0 blocks
==22280==      possibly lost: 0 bytes in 0 blocks
==22280==    still reachable: 2,550 bytes in 16 blocks
==22280==         suppressed: 0 bytes in 0 blocks
==22280==
==22280== For counts of detected and suppressed errors, rerun with: -v
==22280== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
denverm@dm-lt:~/code/github/ds3_c_sdk/test$

How about a test that has some bucket names with trailing slashes?

will update with another unit test

Ready for re-review


Getting error while running webdriver io tests on chromestandalone docker image

2020-04-20T17:44:07.162Z ERROR wdio-docker-service: Error: Error executing sub-child: docker events --format "{{json .}}" --filter image=selenium/standalone-chrome
at DockerEventsListener._onMessage (/builds/get.on/patientapp-web-automation/node_modules/wdio-docker-service/lib/utils/dockerEventsListener.js:67:21)
at ChildProcess.emit (events.js:315:20)
at ChildProcess.EventEmitter.emit (domain.js:485:12)
at emit (internal/child_process.js:881:12)
at processTicksAndRejections (internal/process/task_queues.js:85:21)
2020-04-20T17:44:07.163Z WARN wdio-docker-service: Disconnecting dockerEventsListener: 234
Error: connect ECONNREFUSED <IP_ADDRESS>:8080

@amartanwar42 is docker service running? Also what options are you setting for docker - this error means that docker command failed to execute.

I am getting simliar error using<EMAIL_ADDRESS>over CI/CD gitlab pipelines  here its my wdio.conf.js file
can you please suggest i need to change or add anything ?
exports.config = {
suites: {
    accessibility: [
        './automation/accessibility/a11y-test.js'
    ]
},
maxInstances: 20,
capabilities: [
    {browserName: 'chrome',
        'goog:chromeOptions': {
            args:  ['--disable-gpu', '--window-size=1680,1050']

        }

    }

],
runner: 'local',
sync: true,
//
// Level of logging verbosity: silent | verbose | command | data | result | error
logLevel: 'debug',

hostname: 'localhost',

// Set a base URL in order to shorten url command calls. If your url parameter starts
// with "/", then the base url gets prepended.
baseUrl: 'http://localhost:8080',
// Default timeout for all waitFor* commands.
waitforTimeout: 180000,

//

//
// Default request retries count
connectionRetryCount: 3,

// Test runner services
// Services take over a specific job you don't want to take care of. They enhance
// your test setup with almost no effort. Unlike plugins, they don't add new
// commands. Instead, they hook themselves up into the test process.
services: ['docker'],
dockerLogs: './dockerLogs',
dockerOptions: {
    image: 'selenium/standalone-chrome:3.141.59-20200409',
    healthCheck: {
        url: 'http://localhost:4444',
        maxRetries: 3,
        inspectInterval: 1000,
        startDelay: 15000
    },
    options: {
        p: ['4444:4444'],
        shmSize: '2g'
    }
},
framework: 'mocha',
reporters: ['spec',
    ['junit', {
        outputDir: './functional-xml-results/',
        outputFileFormat: function(opts) {
            return `results-${opts.capabilities.browserName}.${opts.capabilities.version}.${opts.capabilities.platform}.xml`;
        }
    }]
],
mochaOpts: {
    ui: 'bdd',
    compilers: ['@babel/register'],
    timeout: 300000 // 5 minutes
}

};
pipeline error:
Execution of 1 spec files started at 2020-06-01T20:01:30.872Z
2020-06-01T20:01:30.876Z DEBUG @wdio/utils:initialiseServices: initialise wdio service "docker"
2020-06-01T20:01:30.892Z INFO @wdio/cli:launcher: Run onPrepare hook
2020-06-01T20:01:30.894Z DEBUG wdio-docker-service: Docker command: docker run --cidfile /builds/automation-wdio-docker/selenium_standalone_chrome_3_141_59_20200409.cid --rm -p 4444:4444 --shm-size 2g selenium/standalone-chrome:3.141.59-20200409
2020-06-01T20:01:30.903Z WARN wdio-docker-service: Connecting dockerEventsListener: 70
2020-06-01T20:01:30.906Z INFO wdio-docker-service: Cleaning up CID files
2020-06-01T20:01:30.912Z WARN wdio-docker-service: NOTE: Pulling image for the first time. Please be patient.
2020-06-01T20:01:30.920Z INFO @wdio/local-runner: Start worker 0-0 with arg: ./automation/wdioDocker.config.js,--suite,accessibility
2020-06-01T20:01:31.026Z ERROR wdio-docker-service: Error: Error executing sub-child: docker events --format "{{json .}}" --filter image=selenium/standalone-chrome:3.141.59-20200409
at DockerEventsListener._onMessage (/builds/automation-wdio-docker/node_modules/wdio-docker-service/lib/utils/dockerEventsListener.js:67:21)
at ChildProcess.emit (events.js:198:13)
at ChildProcess.EventEmitter.emit (domain.js:448:20)
at emit (internal/child_process.js:832:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
2020-06-01T20:01:31.027Z WARN wdio-docker-service: Disconnecting dockerEventsListener: 70
[0-0] 2020-06-01T20:01:31.441Z INFO @wdio/local-runner: Run worker command: run
[0-0] RUNNING in chrome - /automation/accessibility/a11y-test.js
[0-0] 2020-06-01T20:01:31.675Z DEBUG @wdio/utils:initialiseServices: initialise wdio service "docker"
[0-0] 2020-06-01T20:01:31.692Z DEBUG @wdio/local-runner:utils: init remote session
[0-0] 2020-06-01T20:01:31.694Z INFO webdriverio: Initiate new session using the webdriver protocol
[0-0] 2020-06-01T20:01:31.698Z INFO webdriver: [POST] http://localhost:4444/wd/hub/session
[0-0] 2020-06-01T20:01:31.698Z INFO webdriver: DATA { capabilities:
{ alwaysMatch: { browserName: 'chrome', 'goog:chromeOptions': [Object] },
firstMatch: [ {} ] },
desiredCapabilities:
{ browserName: 'chrome',
'goog:chromeOptions': { args: [Array] } } }
[0-0] 2020-06-01T20:01:31.725Z INFO webdriver: Retrying 1/3
2020-06-01T20:01:31.725Z INFO webdriver: [POST] http://localhost:4444/wd/hub/session
2020-06-01T20:01:31.726Z INFO webdriver: DATA { capabilities:
{ alwaysMatch: { browserName: 'chrome', 'goog:chromeOptions': [Object] },
firstMatch: [ {} ] },
desiredCapabilities:
{ browserName: 'chrome',
'goog:chromeOptions': { args: [Array] } } }
[0-0] 2020-06-01T20:01:31.725Z WARN webdriver: Request failed due to connect ECONNREFUSED <IP_ADDRESS>:4444
[0-0] 2020-06-01T20:01:31.729Z WARN webdriver: Request failed due to connect ECONNREFUSED <IP_ADDRESS>:4444
[0-0] 2020-06-01T20:01:31.729Z INFO webdriver: Retrying 2/3
2020-06-01T20:01:31.729Z INFO webdriver: [POST] http://localhost:4444/wd/hub/session
[0-0] 2020-06-01T20:01:31.729Z INFO webdriver: DATA { capabilities:
{ alwaysMatch: { browserName: 'chrome', 'goog:chromeOptions': [Object] },
firstMatch: [ {} ] },
desiredCapabilities:
{ browserName: 'chrome',
'goog:chromeOptions': { args: [Array] } } }
[0-0] 2020-06-01T20:01:31.731Z INFO webdriver: Retrying 3/3
2020-06-01T20:01:31.731Z INFO webdriver: [POST] http://localhost:4444/wd/hub/session
[0-0] 2020-06-01T20:01:31.731Z WARN webdriver: Request failed due to connect ECONNREFUSED <IP_ADDRESS>:4444
[0-0] 2020-06-01T20:01:31.732Z INFO webdriver: DATA { capabilities:
{ alwaysMatch: { browserName: 'chrome', 'goog:chromeOptions': [Object] },
firstMatch: [ {} ] },
desiredCapabilities:
{ browserName: 'chrome',
'goog:chromeOptions': { args: [Array] } } }
[0-0] Error: Failed to create session.
Unable to connect to "<IP_ADDRESS>:4444", make sure browser driver is running on that address.
If you use services like chromedriver see initialiseServices logs above or in wdio.log file.
[0-0] 2020-06-01T20:01:31.733Z ERROR webdriver: Request failed due to Error: connect ECONNREFUSED <IP_ADDRESS>:4444
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1106:14)
2020-06-01T20:01:31.734Z ERROR webdriver: Error: connect ECONNREFUSED <IP_ADDRESS>:4444
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1106:14)
[0-0] 2020-06-01T20:01:31.734Z ERROR @wdio/runner: Error: Failed to create session.
Unable to connect to "<IP_ADDRESS>:4444", make sure browser driver is running on that address.
If you use services like chromedriver see initialiseServices logs above or in wdio.log file.
at startWebDriverSession (/builds/automation-wdio-docker/node_modules/webdriver/build/utils.js:45:11)
at process._tickCallback (internal/process/next_tick.js:68:7)
2020-06-01T20:01:31.845Z DEBUG @wdio/local-runner: Runner 0-0 finished with exit code 1
[0-0] FAILED in chrome - /automation/accessibility/a11y-test.js
2020-06-01T20:01:31.846Z INFO @wdio/cli:launcher: Run onComplete hook
2020-06-01T20:01:31.847Z INFO wdio-docker-service: Cleaning up CID files
2020-06-01T20:01:31.847Z INFO wdio-docker-service: Docker container has stopped
Spec Files:	 0 passed, 1 failed, 1 total (100% completed) in 00:00:00
2020-06-01T20:01:31.848Z INFO @wdio/local-runner: Shutting down spawned worker
2020-06-01T20:01:32.101Z INFO @wdio/local-runner: Waiting for 0 to shut down gracefully
2020-06-01T20:01:32.101Z INFO @wdio/local-runner: shutting down

@shashtrih  I have updated the package to include error output of when sub-child process is running - this should help with debugging your current setup. This should appear as additional info in Error: Error executing sub-child: ... part

@stsvilik thanks for response. I have changed hostname to 'selenium__standalone-chrome' but i am getting different error that " request fauled due to getaddrinfo ENOTFOUND selenium__standalone-chrome selenium__standalone-chrome: 4444  , do you know what paraemeters i can use for hostname as i am running over ci/cd gitlab pipeline

@shashtrih Not all CI pipelines permit binding to an IP of the running node. You have to figure out how to obtain either IP or hostname of the node where docker is running, and use that as an address for selenium host.

@shashtrih Here is another idea for you. Since Gitlab supports docker executor, why not run selenium/standalone-chrome:3.141.59-20200409 as one of them, and use Webdriver w/o any service at all, just point host to the selenium executor directly?

@shashtrih any updates on this, or should I close it?

Closing due to inactivity


Add base domain to DNS config

Add base domain to the DNS config type. This value is useful to any component
which implements DNS management for the cluster. For example,
cluster-ingress-operator manages wildcard DNS records for routing within the
base domain.
/cc @openshift/sig-network-edge @derekwaynecarr @deads2k @rajatchopra @crawford @smarterclayton

/lgtm
/squash


Grayed out Modal windows in python backend

The interior of modal windows is grayed out in the backend, rather than the exterior area. This seems to be a documented issue with some backends with a newer Dear Imgui version
Documented here: https://github.com/ocornut/imgui/releases/tag/v1.86
I was able to fix it by changing some lines in the opengl renderer
                gl.glDrawElements(
                    gl.GL_TRIANGLES,
                    command.elem_count,
                    gltype,
                    ctypes.c_void_p(idx_buffer_offset),
                )

to
                gl.glDrawElements(
                    gl.GL_TRIANGLES,
                    command.elem_count,
                    gltype,
                    ctypes.c_void_p(command.idx_offset * imgui.INDEX_SIZE)
                )

I don't really know opengl too well, but it seems to work fine.

If I read correctly the linked info, the correction should be
   gl.glDrawElements(
                    gl.GL_TRIANGLES,
                    command.elem_count,
                    gltype,
                    ctypes.c_void_p(idx_buffer_offset + command.idx_offset * imgui.INDEX_SIZE)
                )

Could you confirm that it works? If so, could you please send a PR?

The weird thing is, I tried it like (idx_buffer_offset + command.idx_offset * imgui.INDEX_SIZE) and it seems to break rendering all over the place. The link does mention that some backends try and calculate the offsets manually, which may be what's happening here with idx_buffer_offset being incorrect.
Based on info here https://github.com/ocornut/imgui/issues/4845 apparently the start offsets are no longer simply the sum of the ElemCount's, and that's essentially how idx_buffer_offset is calculated right now. Still need to test, but I think idx_buffer_offset may not be needed.
I opened a pull request for the version using command.idx_offset * imgui.INDEX_SIZE

Thanks, I'll answer in the PR


Neovim Support

Feature Request
Neovim support
Description
Forward buffer manipulation to neovim
Would unironically use this for coding videos if I could use my neovim setup under the hood.
Note: I'm willing to contribute, I'm creating this issue partially as a reminder to myself.

I second this unironically.

@FFX3 have you forgotten about this? just a friendly reminder :)


FALCON-1774 Server side check added

Testing :
$ bin/falcon entity -type feed -submitAndSchedule -file ../cluster.xml
ERROR: Forbidden;submitAndSchedule on server is not supported.Please run your operation on Prism.
$ bin/falcon entity -type feed -update -name abc -file ../cluster.xml
ERROR: Forbidden;update on server is not supported.Please run your operation on Prism.
$ bin/falcon entity -type feed -delete -name abc
ERROR: Forbidden;delete on server is not supported.Please run your operation on Prism.
$ bin/falcon entity -type feed -submit -file ../cluster.xml
ERROR: Forbidden;submit on server is not supported.Please run your operation on Prism.

+1. LGTM. The build needs to pass though before merge.

I have retriggered the build (https://builds.apache.org/job/Apache-Falcon-Pull-Request-Build/16/)


[BUG] Cell density (still) not working properly

Describe the bug
PointsDensity does not display the density at the right place.
To Reproduce
Add non-symmetrical cells to a scene, then display the density with PointsDensity. The density mesh is off.
Expected behaviour
Density is shown at the proper place, that is, where the cells are.
Screenshots
With my data :

With the provided cell_density example :

Computer used (please complete the following information):

OS: Windows 10

python 3.11.6
vedo 2023.5.0
vtk 9.3.0
k3d : 2.16.0
bg-atlasapi 1.0.2
bg-space 0.6.0
brainglobe-utils 0.3.0
brainrender 2.1.0

Additional context
Hey,
First I wanted to congratulate you for the mega-fix patch which looked like a pain but you manage and it seems to work (mostly).
I freshly installed it in a new environment with Python 3.11 and it installed without complaining.
But it seems that the weird/black-magic/ununderstood bug in the coordinates with vedo's PointsDensity is still here (although better than before).
I added cells to a scene (allen_mouse_10um) and a density with the following :
from brainrender import Scene
from brainrender.actors import Points, PointsDensity

scene = Scene()
scene.add(Points(coordinates, name="Boutons", colors="green", alpha=0.2, radius=5))
scene.add(PointsDensity(coordinates, dims=10))

Cells are displayed properly but the density seems to be mirrored in the left/right direction (see first screenshot above).
Then I tried the provided cell_density.py example, and that one seemed to work. But I noticed that randomly-generated cells are symmetrical, so I tried removing cells from one side :
condition = coordinates[:, 2] < 5066
coordinates = coordinates[~condition]

scene.add(Points(coordinates, name="CELLS", colors="salmon"))
scene.add(PointsDensity(coordinates))

Again, the density is off, it seems mirrored in some way -- see second screenshot above.
I know it is a known bug that was not well understood and that you/we hoped to have fixed with latest vedo. But it seems there is still something weird hapenning with the coordinates in PointsDensity.
Notice that now, the density is not completely off, eg. it's in the brain but still has a problem...
See :
https://github.com/brainglobe/brainrender/issues/261, https://github.com/brainglobe/brainrender/issues/243, https://github.com/brainglobe/brainrender/issues/217

You're very welcome. Let me know if I can help.

Hey,
Just wanted to confirm that the fix #296 works for me 😄


Template import problem

Problem with importing template.
Cannot read XML: (41) Specification mandate value for attribute data-pjax-transient [Line: 43 | Column: 89].

Hi,
What's your zabbix version?
Please review it looks like very similar https://github.com/adubkov/zbx_nginx_template/issues/4

Zabbix 3.0!
But anyways solved! Thanks!


UN EC Hackathon participation

Furuhashi Lab. teams
https://github.com/furuhashilab/README/issues/33#issuecomment-1281762516

The deadline has come, and we had several teams successfully submit their proposal. Keep up the excellent work!


VTabs: Added custom event 'tabChange'  when tab is changed from click or keydown.

This is something I needed when using the VTabs component in my project. My use case was needing to do something programatic within a tab when it's made visible.
When the user activated a certain tab I needed to update DOM calculations once it was visible. The event allowed me to act on the tab change.
The code checks to make sure the activeIndex is changing and not being set to the same index, so that the event name tabChange is concise.
I updated the documentation if you decide to include the pull request.

Hey @Jscherbe, this looks like a really good addition. Please allow me some time to play around with the idea. Looks good so far though.


Remove SB Starter dependency on Lombok & Guava

The Spring Boot Starter depends on Lombok & Guava.
These can be replaced with some standard Java code to reduce the BOM size.

Guava is done: https://github.com/zalando-nakadi/fahrschein/pull/412
Lombok is used a lot, pulling it out may not be worth the hassle unless someone wants to dedicate time to cleaning all that delombok mess up: https://github.com/zalando-nakadi/fahrschein/pull/413


Don't apply Markdown to special columns

The special columns @template and @template-back should not apply Markdown formatting to the resolved content.

Fixed in https://github.com/jhauberg/cards.py/commit/10629ac21b65fd1a0c261509535a0a6ce9076f86
@count, @template and @template-back no longer attempts to resolve its content; they just respectively expect numbers and paths.


MongoDB persistence requires dot in environment variable

To allow BaSyx to run with a persistent MongoDB database the following environment variable is required:
BaSyxAAS_aas.backend=MongoDB

Having this dot in the environment variable limits the possibility to deploy the BaSyx container in e.g. Kubernetes. But since using special characters other than underscores might also be problematic in other deployment scenarios.

Will be included in the 1.1.0 release


Roll Flutter Engine from f1363fb7c2da to 3b32753d0824 (3 revisions)

https://github.com/flutter/engine/compare/f1363fb7c2da...3b32753d0824
2024-07-15<EMAIL_ADDRESS>Roll Skia from 6347d8255f83 to d4acfbe0b001 (3 revisions) (flutter/engine#53919)
2024-07-15<EMAIL_ADDRESS>Move images to flutter/assets-for-api-docs (flutter/engine#53917)
2024-07-15<EMAIL_ADDRESS>Roll Skia from b63d0290b826 to 6347d8255f83 (5 revisions) (flutter/engine#53916)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC bdero@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Sync/release 0.10.2

What type of PR is this?
/kind bug
Any specific area of the project related to this PR?
/area libsinsp
Does this PR require a change in the driver versions?
What this PR does / why we need it:
Cherrypicks #841 for 0.10.2 release.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

NONE

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/milestone 0.10.2

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP, jasondellaluce
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Note: there is no test-drivers-x86 job on this branch, although it is a required job by poiana.
How should we proceed? @leogr
Shall we add a test-drivers-x86 job on this branch that does nothing?


Ubuntu 14.04 will be EOL soon

This bug is to track that Ubuntu 14.04 will be EOL April 17th.

I was not going to forget, because I am looking forward to removing all the stuff for that particular version 😬

Fixed in #3257


Add a proper pdoc plugin

Currently pdoc is implemented in PyBuilder as bldsup extension. It should be a plugin.

blocked by #354

@mriehl I nuked bldsup and added pdoc after compile_sources or verify and before publish. Please review.


⚠ Bofrost.be has degraded performance

In 683fe6b, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1251 ms

Resolved: Bofrost.be performance has improved in f60301a.


Support raising exceptions from OmnisciDB UDFs

Currently, the UDFs send the error messages to omniscidb server stdout but rbc users cannot see there. So, we need to find a way to return the error messages to the rbc clients.

From https://github.com/xnd-project/rbc/pull/436/#discussion_r809836006
numpy raises ValueError. IIUC, we cannot raise Python exceptions here and we don't have a mechanism for passing errors from UDFs. While we cannot resolve this discrepancy here, could you create an issue about it where we could discuss possible options?


Using "partial templates" inside bosh templates in releases

I think that templates for jobs would be easier to create if bosh-template library had something like "partial templates" helpers.
For instance you can look at director.yml.erb.erb. It has a large block for each IaaS it supports. If we could use partials, we are able to extract this IaaS specific settings to distinct templates. The resulting code will be much cleaner, something like this:
<% if_p('aws') do %>
  <%= render 'cpi/aws' %>
<% end %>
<% if_p('openstack') do %>
  <%= render 'cpi/openstack' %>
<% end %>
...

What do you think?

I think this will mask the actual problem -- why is the template file so complicated? Specifically talking about the director.yml.erb: since we are pulling out CPIs from the bosh release that file will significantly shrink and splitting it up will not be necessary.
Do you have other concrete examples where you think render will be helpful?

Agree with you.
But sometimes this functionality is preferable for a config with large amount of options. For instance, in
logsearch/logsearch-boshrelease you can see how in _ctl file, that is aimed to run service, a large config file is concatenated from smaller pieces. This smaller pieces are easier to maintain, but _ctl script doesn't seem to be the right place to render it.

Closing due to age - feel free to follow up if this continues to be a significant issue and you would like to continue discussion.


Storage settings alter

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en
For changelog. Remove if this is non-significant change.
Category (leave one):

New Feature

Short description (up to few sentences):
Add an ability to alter storage settings.

Need to add alter for storage Kafka.
I'm afraid of race conditions for settings:
For ALTER MODIFY SETTING we lock only alterIntentionLock. But some background tasks (merges, mutations) can read settings values during this ALTER. It may lead to stale read for numeric settings (it's ok). But for string settings, we can read garbage. I hope Stress test with thread sanitizer will find some problems.

Need to add alter for storage Kafka.

We need to be careful with that and probably do it separately. Some settings can be altered but others can not.

Ok, first iteration without Kafka settings alter.

I'm not sure, are race conditions is real problem?

Hooray, I've cached race condition!

Atomic settings seem slightly ugly, but I don't see better solutions without huge refactoring of setting usage in MergeTree.

Awesome, now Stress test caught race on changed flag.

Performance flap.

Minor changes required. Please do in next PR.


chore: bump golangci-lint and fix govet issues

The latest golangci-lint spits out some govet issues. This PR fixes them. We are also bumping the linter version.

I went on a massive rampage and fixed all the testing.T formatting errors. Should be fine now! 🤞


npm installing results in an UNMET PEER DEPENDENCY error

npm installing results in an UNMET PEER DEPENDENCY<EMAIL_ADDRESS>error:
├─┬<EMAIL_ADDRESS><EMAIL_ADDRESS>│ ├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>│ └─┬<EMAIL_ADDRESS>│   ├─┬<EMAIL_ADDRESS>│   │ └──<EMAIL_ADDRESS>│   └─┬<EMAIL_ADDRESS>│     ├─┬<EMAIL_ADDRESS>│     │ ├──<EMAIL_ADDRESS>│     │ ├─┬<EMAIL_ADDRESS>│     │ │ └──<EMAIL_ADDRESS>│     │ ├──<EMAIL_ADDRESS>│     │ └──<EMAIL_ADDRESS>│     ├──<EMAIL_ADDRESS>│     └──<EMAIL_ADDRESS>

Any idea how to resolve this?

For posterity, here's how we resolved it:
The NPM package is actually a fork, from here, by user twaite.
The fix requires altering package.json and moving "grunt-contrib-cssmin" to a dev dependency.
Here's a commit showing how we fixed it.

@laurence-myers it would be great if you make just another one package with this fix :)

@IgorKurkov Unfortunately, I no longer work on the application that used this library, and I don't want to become the maintainer for something I don't use. 😞

yeah sure! :) Old applications cause a lot of problems. Thank you for your fix, I already forked it for freezing this case by using npm i <username>/<githubrepo>#<branch> directly


add find-the-cofactor-of-a-matrix.cs

📑 Description
I have implemented "find-the-cofactor-of-a-matrix" in c#
🐞 Related Issue
Issue number: https://github.com/codinasion/codinasion/issues/1725
Closes #

@miguelangel31 can you pls update the issue id to this PR ?

Sorry, I just updated the issue I'd. Thanks!


Fix for when color does not transition after status is ko

After a build goes to status failed or instable, it does not transition back to status green on EzWall. This removes the remaining class and adds the correct one again.

Thank you for a pull request! Please check this document for how the Jenkins project handles pull requests


No need to have two module.exports

There is no need to have two module.exports whenever you can easily just use one. Makes for cleaner code

This would be a bc break. It would make sense if we were doing a version 2.0, but I don't think there are enough potential benefits to warrant one right now.


Canvas + circleMarker popup invisible click area

How to reproduce

Leaflet version I'm using: 1.2.0
Browser (with version) I'm using: Chrome Version 60.0.3112.113
OS/Platform (with version) I'm using: Windows 10

What behaviour I'm expecting and which behaviour I'm seeing
The popup should only trigger when actually clicking on the circlemarker.
It works fine with markers.
The click area to prompt the popup is greater than the circlemarkers visible area.
Minimal example reproducing the issue
https://jsfiddle.net/L6nqpz2c/9/
//Using leaflet.js and leaflet.css @ v.1.2.0

var mymap = L.map('mapid', {
  renderer: L.canvas() //This must be used
}).setView([51.5, -0.09], 14);

L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw', {
  maxZoom: 14,
  attribution: 'Map data © OpenStreetMap contributors, ' +
    'CC-BY-SA, ' +
    'Imagery © Mapbox',
  id: 'mapbox.streets'
}).addTo(mymap);

var circleMarker1 = L.circleMarker([51.5, -0.092]).addTo(mymap);

//This circlemarker has an bigger clickable/invisible radius
var circleMarker2 = L.circleMarker([51.5, -0.09]).addTo(mymap);

var marker1 = L.marker([51.496, -0.092]).addTo(mymap);

//Works as expected with popup
var marker2 = L.marker([51.496, -0.09]).addTo(mymap);

circleMarker2.bindPopup("This popup triggers outside the circlemarker");

marker2.bindPopup("This behaves as expected");

This is a feature, not a bug. When the web browser is touch-capable, the hitboxes of all vector layers are enlarged by a hard-coded 10 pixels to allow users to use their unprecise fingers.
See https://github.com/Leaflet/Leaflet/blob/master/src/layer/vector/Path.js#L143
We currently have no way of setting different tolerances for mouse/finger/pen PointerEvents, though.

Ok. Interesting. Thanks for the answer. Why is there a difference in clicktolerance between rendering methods?

@IvanSanchez I have been looking into this and it looks like leaflets very own @perliedman has made a plugin to do this with vectors available here: https://github.com/perliedman/leaflet-touch-helper
Maybe we should just add an option in Path.js for click tolerance amount with default 10 and use it in the _clickTolerance function instead of the static 10 that is currently there.
Either that or remove the _clickTolerance function and just add to the PointerEvent's Width and Height, which is read only so it would need to be wrapped, which I believe DomEvent.Pointer is doing. If I am right I believe I would need to add an option then add that to the height/width when a PointerEvent is pushed onto _pointers which I believe happens in the _globalPointer functions in DomEvent.Pointer.
Sorry for the long posts but I wouldn't mind submitting a PR for either of these solutions (Not completely sure if I am right on the PointerEvent solution, would like someone else to look over it.) just not sure which one is wanted.

We currently have no way of setting different tolerances for mouse/finger/pen PointerEvents, though.

It seems not so hard to fix, as we have this info in _onClick method, so we could pass it to layer._containsPoint here:
https://github.com/Leaflet/Leaflet/blob/61219d38ed1c41f933676e12a5070fc1818c5c03/src/layer/vector/Canvas.js#L343-L351

What behaviour I'm expecting and which behaviour I'm seeing
The popup should only trigger when actually clicking on the circlemarker. It works fine with markers.
The click area to prompt the popup is greater than the circlemarkers visible area.

This behaviour doesn't seem to be present anymore.

Leaflet version: 1.9.2
Browser version: 120.0.6099.225 (Official Build) (64-bit)
OS: Windows 10

@hollowM1ke thank you. It was already fixed in November 2017 with #5922


Update machine-learning-r-csharp-binary-classifier.md

Monthly refresh

Hi @jaymathe, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (jaymathe). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, or work for Microsoft Open Technologies, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;


Fix catalog-auth build

update import statements to match new source location
remove 2-step Docker build process; one is sufficient
remove Makefile which is no longer necessary
update README.md accordingly
re-generate templates.go

Looks reasonable to me. Richard is more familiar with this code, so will go with his call.


Load file:/// urls are not supported for icons of packages

Addin doesn't show icons from local file urls, i.e.
file:///var/lib/layman/dotnet/dev-dotnet/deveel-math/files/Deveel.Math.png

this is not an access right problem (because firefox open this path from user without problems)
this is not a problem with file (because it work from internet-based url)
Gentoo system should be able to build packages without internet access. To achieve this result I created a local nuget repository. But what should I write to .nuspec files, to load icons locally?

In order to allow icons to be loaded through a proxy I changed the addin to use NuGet's HttpClient class. The NuGet HttpClient class unfortunately does not seem to handle FileWebRequests. Debugging the code you get an invalid cast exception thrown for the local file url:
Unable to cast object of type 'System.Net.FileWebRequest' to type 'System.Net.HttpWebRequest'.
   at NuGet.RequestHelper.GetResponse()
   at NuGet.HttpClient.GetResponse()
   at MonoDevelop.PackageManagement.ImageLoader.LoadImage(Uri uri, Object state)

Local file urls do work in Visual Studio 2013/2010 and SharpDevelop.

will you fix this next year?

This should be fixed on a separate branch.

works for me. Now I am waiting it in the upstream :)

This fix has now been merged to monodevelop master and should be in MonoDevelop 6.0

Thanks!


Edge Bug: Navigation hover expands beyond header

This is new and appears to only happening in Edge, and I'm not sure if it relates to #210 but this wasn't happening when I originally opened that issue.

On hover, the button expands too far down.
I haven't had a chance to dive deeper and see if I can find out what's causing it, I just discovered it.

This appears to have been an issue with Edge and is now fixed after updating to the latest Insider Build 17018. Need to confirm this isn't an issue with older versions.
#210 is still an issue however.

Closing. Checked in Edge 14 & 15 via Browserstack and it's displaying correctly.


Change the method of voting outside the app

Voting outside the app is difficult now for the average users. There are also UIs and situations where and when there are no settings for the voting weight. And silly bots who follows everyone could upvote it (e.g. with 1% weight) even if they don't get curation rewards. This distorts the result.

Yes, thank you for taking time to report.
improvements are being worked on
https://steemit.com/steempoll/@good-karma/steempoll-evolution-steem-dapp-community-input-and-improvements


Offshore Leaks DB

I made ipynb for this instead of scripts to make it easier to interact/play with: https://github.com/sbabicki/ice-cream/tree/fuzzy_blacklist
Let me know if you think we should have py scripts for these.


pipelineX Fix illegal memory access

Proposed changes
*** Query id: 4cd937ead72941b8-b133c694ecc50967 ***
*** tablet id: 0 ***
*** Aborted at<PHONE_NUMBER> (unix time) try "date -d @1703805474" if you are using GNU date ***
*** Current BE git commitID: 0912b137e6 ***
*** SIGSEGV address not mapped to object (@0x38) received by PID 2142806 (TID 2143486 OR 0x7fd15eccd700) from PID 56; stack trace: ***
0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /home/zcp/repo_center/doris_master/doris/be/src/common/signal_handler.h:417
1# 0x00007FD1FFE000A7 in /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so
2# JVM_handle_linux_signal in /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so
3# 0x00007FD1FFDF902C in /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so
4# 0x00007FD2049C7090 in /lib/x86_64-linux-gnu/libc.so.6
5# doris::pipeline::DataQueue::push_block(std::unique_ptr<doris::vectorized::Block, std::default_deletedoris::vectorized::Block >, int) at /home/zcp/repo_center/doris_master/doris/be/src/pipeline/exec/data_queue.cpp:146
6# doris::pipeline::DistinctStreamingAggSinkOperatorX::sink(doris::RuntimeState*, doris::vectorized::Block*, doris::pipeline::SourceState) at /home/zcp/repo_center/doris_master/doris/be/src/pipeline/exec/distinct_streaming_aggregation_sink_operator.cpp:218
7# doris::pipeline::PipelineXTask::execute(bool*) at /home/zcp/repo_center/doris_master/doris/be/src/pipeline/pipeline_x/pipeline_x_task.cpp:284
8# doris::pipeline::TaskScheduler::_do_work(unsigned long) at /home/zcp/repo_center/doris_master/doris/be/src/pipeline/task_scheduler.cpp:284
9# doris::ThreadPool::dispatch_thread() in /mnt/hdd01/ci/master-deploy/be/lib/doris_be
10# doris::Thread::supervise_thread(void*) at /home/zcp/repo_center/doris_master/doris/be/src/util/thread.cpp:499
11# start_thread at /build/glibc-SzIz7B/glibc-2.31/nptl/pthread_create.c:478
12# __clone at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Continuing the last closed #695

@liuxuan30 Thank you very much for the quick reply.
I checked all the above scenarios. They are at its place ok. Also I checked ChartsDemo project. There delegate method is called perfectly.
I tried these steps.

I directly drag and dropped the files "PieChartViewController.xib", "PieChartViewController.h", "PieChartViewController.m". from ChartsDemo project.
I used this pie chart as it is.

It shows the graph perfectly. But still not go in the delegate method.
I tried 3rd hint from you. That control goes in that method. as shown in screen shot.

I really need this to be done. I am really not getting what is the exact issue.
Any suggestion are highly appreciated.

Please reply on the closed issues, don't open a new one for a follow up. I just close it because it's easy to track unsure issues. I will update closed issues as well as long as there is update.
First of all, you should know or learn how to debug and read the code. Code tells you everything. We can't teach a debug lesson here, there are many on google.
Now you have break at the gesture handler, which means the pie chart detect your touch. You can add more break points at self.highlightValue(highlight: nil, callDelegate: true) // call delegate, or step by step debug to see why self.highlightValue(highlight: nil, callDelegate: true) not being called. You can also directly add break pint inside highlightValue to see if it's getting called.


Remove Section Flags?

Section Flags apply to commands below them. However, there are other ways to re-use existing flags for commands - ExistingFlag and ExistingFlags that I think are more explicit.
That might open the door to just exporting a top-level package for warg's public API too since I don't have to differentiate between command flags and section flags - not sure.
One issue is flag grouping. Right now the --help groups by command and section flags. I've been meaning to make dedicated flag groups - should probably get around to that.

I'm also looking for a --color section flag in the help command -

Going to resolve this by having global flags + command flags instead of section flags

Ok, one issue I'm running into is that my section help ONLY takes a section, which doesn't have a way to access my new global flags. I'll need to change the signature, but for now, I'm noting here as a TODO

Replacing this with https://github.com/bbkane/warg/issues/79 , since I DID remove section flags


MudTextField bug with nullable DateTime on Safari

Bug type
Component
Component name
MudTextField
What happened?
I'm using a readonly MudTextField component with a nullable DateTime as value and DateTimeLocal as InputType.
When having null as value, in Safari browser the input shows the current time instead of the default null value. (empty input) See here:

The problem is less severe when the field is not readonly, then at least the value is grey.
Code if there is a problem with the TryMudBlazor link:
<MudTextField
    T="DateTime?"
    InputType="InputType.DateTimeLocal"
    ReadOnly="true"
    Value="value" />

@code {
    private DateTime? value = null;
}

Expected behavior
The input element should be displayed empty or using a placeholder, like in Chrome:

Reproduction link
https://try.mudblazor.com/snippet/QEmQlklPIuuoGRzz
Reproduction steps

Just open the TryMudBlazor link in Chrome and Safari, and run the codes

Relevant log output
No response
Version (bug)
6.0.11
Version (working)
No response
What browsers are you seeing the problem on?
Safari
On what operating system are you experiencing the issue?
Mac OSX
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

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

I'm noticing issues with this as well
<MudTextField T="DateTime?"
              Format="s"
              InputType="InputType.DateTimeLocal"
              ReadOnly="true"

Opening my site on iPhone, I'm able to change the values of this field even though it's ReadOnly. Tapping the field opens up the little calendar picker dialog.
However, unlike OP, the field appears empty unless I tap on it.


enhancement: Plan equals() hashcode() don't need LogicalProprties

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildp0

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 45.58 seconds
stream load tsv:          515 seconds loaded<PHONE_NUMBER>9 Bytes, about 138 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          30 seconds loaded 861443392 Bytes, about 27 MB/s
insert into select:          29.4 seconds inserted 10000000 Rows, about 340K ops/s
storage size:<PHONE_NUMBER>5 Bytes

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 47.11 seconds
stream load tsv:          513 seconds loaded<PHONE_NUMBER>9 Bytes, about 139 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          29.1 seconds inserted 10000000 Rows, about 343K ops/s
storage size:<PHONE_NUMBER>6 Bytes

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 45.46 seconds
stream load tsv:          513 seconds loaded<PHONE_NUMBER>9 Bytes, about 139 MB/s
stream load json:         21 seconds loaded<PHONE_NUMBER> Bytes, about 107 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          30 seconds loaded 861443392 Bytes, about 27 MB/s
insert into select:          29.0 seconds inserted 10000000 Rows, about 344K ops/s
storage size:<PHONE_NUMBER>3 Bytes


add streams to bulk2.query

Before
soql queries that return huge number of rows could throw FATAL Error ... Javascript heap out of memory because bulk2.query was storing all records in memory.

After
With these changes, the query results can be retrieved in batches of records with size equals to the value given to maxRecords, and each batch result is pushed into a Readable.
import * as fs from 'fs';
import * as path from 'path';
import { pipeline } from 'stream/promises';
import { Connection } from 'jsforce';

const conn = new Connection(CONFIG);
const readStream = await conn.bulk2.query(
  `SELECT Id, Name FROM ${config.bigTable}`,
  {
    maxRecords: 1000
  }
);
const writeStream = fs.createWriteStream(path.resolve(PATH));

try {
  await pipeline(readStream, writeStream);
}catch(e){
   throw new Error('Something went wrong');
}

@peternhale

I also fixed the data plugin command

I'm also finishing the changes on the data-plugin. How can I display a progress bar with a %  while the data is being dumped?

something like https://www.npmjs.com/package/progress

@amphro @stomita could you review these changes

Hey @AllanOricil, I opened a PR a few days ago to fix this in v3:
https://github.com/jsforce/jsforce/pull/1397
At first I was about to merge your PR and start from there but after playing a bit whit the record stream system in jsforce I decided to start from scratch (we had some planned breaking changes in bulk2 too).
After it gets merged we'll start using jsforce v3 in the CLI but this issue will not be solved because data query --bulk --json includes the records in json output, so it still needs to collect all in memory. Thanks for the help!

If u are going to add the whole file in mem, do some additional checks to avoid unnecessary processing:
Something like this:

get file fstats to determine its size
get system max available mem for the runtime
add a threshold using these 2 numbers +  window for error
use all to throw an Error before running a job.

If(!canProcess(...)) throw new Error ("sorry you can't use this file because o XYZ. Please do something like bla and then try again")

This way users won't wait for the mem to be all filled to see an error.

closing this, both bulk modules use streams in v3. We still need to fix the sf cli bug.


Create a Mental Health Resource Directory

Pull Request Details:

Title: Create a Mental Health Resource Directory
PR Link: #4
Issue: #3

Next Steps:
I'm ready for feedback and any necessary revisions. Please review at your earliest convenience, and feel free to provide comments or suggest improvements.
Thank you for your time and consideration!

Hi User,
Thank you for your pull request. I appreciate your contribution to our project.
I have reviewed your changes and everything looks good. Please be patient, and I'll get back to you as soon as possible.
If you have any questions or need further assistance, don't hesitate to ask.
Best regards,
Jayesh

Hi User,
Thank you for your pull request. I appreciate your contribution to our project.
I have reviewed your changes and everything looks good. Please be patient, and I'll get back to you as soon as possible.
If you have any questions or need further assistance, don't hesitate to ask.
Best regards,
Jayesh


Downport: table expression assignment fails

Cannot assign to a row in a table expression, such as itab[ 1 ] = 2.
Example:
class zcl_foo definition public.
  public section.
    methods foo.
endclass.

class zcl_foo implementation.
  method foo.
    data itab type standard table of i.
    append 1 to itab.
    itab[ 1 ] = 2.
  endmethod.
endclass.

The downported code is unchanged.

thanks
heh, dont think I've ever done that in ABAP before 😄

Not sure if it's related, but the long way round via field symbol also doesn't seem to work.
read table itab index 1 assigning field-symbol(<n>).
<n> = 2.

I can submit the full use case into an exercism-test PR if you like.

seems to work as expected,

data itab type standard table of i with default key.
read table itab index 1 assigning field-symbol(<n>).
<n> = 2.

Hmm, OK wasn't sure it was related, but the exercism scenario fails with field symbols too.
Was going to submit a PR to exercism-test, but the Minesweeper PR is still open.
See
https://github.com/pokrakam/exercism-abap-local/blob/d4764f85baac7b7d99e2d8546ed294a30fec2fdc/src/zcl_elyses_enchantments.clas.abap#L62


Remove annotations that the user didn't do in example data

Example projects now display all clips in pending list. All signs that other users have interacted with the project are gone.
TODO: However, clips completed by users don't appear in completed, only in pending.

Duplicate issue, taken care of in #264


DRAFT: UTF8 support -> check code bloat

Codecov Report
Patch coverage: 80.30% and project coverage change: -0.25% :warning:

Comparison is base (355ee0e) 98.78% compared to head (48350a3) 98.53%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #39      +/-   ##
==========================================
- Coverage   98.78%   98.53%   -0.25%
==========================================
  Files          47       47
  Lines        4860     4924      +64
==========================================
+ Hits         4801     4852      +51
- Misses         59       72      +13

Files Changed
Coverage Δ

include/emio/detail/format/formatter.hpp
94.65% <80.30%> (-2.09%)
:arrow_down:

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

~688 bytes more ...
even more when the fill character could be UTF-8


kubectl run -ti mytest --image=busybox

We should support interactive runs.

The description and title should be swapped.

@brendandburns is working on this


rfc(i18n): add internationalisation

Checklist

[x] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[x] Links to related issues (if applicable) - Not applicable
[x] Tests for the changes have been added/updated (if applicable) - Not applicable
[x] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same. - Not applicable
[x] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub - Not applicable

In terms of execution on this project, is this RFC indicative of a request for the DataHub engineering team to take this up as a roadmap item, or is it something you / your team is interesting in driving? Let us know, and we can communicate our plans accordingly.

I am are ready to drive this. But I'll need some help, for example for the Analytics page, if I could have someone to ask questions to it would be great.
I should be ready to start end of Q1 2023. I'll try to start right after you push a Major Update, because the less update I'll have to merge, the less complexity i'll have to handle.
Is it okay for you ?
Thanks
Naiche

Hey Naiche,
Since you're starting to work on this at the end of Q1 2023, I'm going to close this PR for now. Please feel free to reopen once you're ready!


fix: accept generic type param for query and execute

This should restore some of the type features in mysql2. Most importantly, consider the following usage
async function hello() {
  const db = new PSDB()
  const users = await db.query<User[]>('select * from users')
  ...
}

Closing out as it seems this is stale.


Some functions need authorization calls behind them

A quick glance over our functions and categories, and here are some that may, probably or certainly need authorization protection:

Probably everything in the administrative category? extension and service functions, for sure.
Everything in the indexes category
Possibly everything in the journal category? I don't recall if adapter-level authorization is covering this
Possibly the new function compile_from_file().
Possibly flag_set()?
Possibly some of the stream functions: open_file(), open_response(), open_uri(), read*(), write*()?
registry_key_check()?
Maybe execution_start_time* functions? Not sure if that's too revealing of internal information or not..

I was originally putting the afw_authorization_check() calls "deep" in the code, but I'm not sure anymore that that makes sense. It might be better for the checks to be in the adaptive functions themselves. In the case of services, this would mean that there are no checks when services are started while processing the initial configuration. Let's discuss before I start pushing changes.
On another note, we need to discuss authorization and authentication default behavior. The way I have it now, all service control will fail unless there are policies in place to allow it. Running under the afw command might be different than under afwfcgi?

"deep" checks are still probably correct in most cases. I would still like to discuss the info in first comment.

After talking about this with Jeremy, authorization checks at the adaptive function level is probably best. We can put documentation in the function objects for functions that require authorization.
We also need a scheme for the URI's used for identifying resources protected in AFW including these functions. For objects we have been using the relative URL within the server which is of the form "///". For flags the URI is "/afw/AdaptiveFlag/" where "" are hieratical id's separated by colons (':').
A hieratical form might be good for function access as well since this will probably make writing authorization rules easier that cover a whole set of functions. I haven't figured out the best template for this "URN". It will probably be good if it has the function category as well as significate identifying parameters included. It may also be good to have a form that can be used for any resource that is not backed by an object.
It may also be the case that just using the URI of the "main" resource that function is controlling is the right way. So services would just use the service's relative URL and flags would use the relative URL of the flag. There are a lot of advantages of this way but it would be more work to write a rule that gave someone all "administrative" rights.


Word2Vec set percentage for how much data to use in training

Sometimes I want to test something very quick and/or check only if I broke my pipeline in any way. Afaik there is currently no way to tell Word2Vec to e.g. randomly skip some data.
It would be great to have something like
Word2Vec.Builder()
     .setTrainingDataPerentageToUse(0.05)

for reproducibility a second seed parameter might also be necessary.
I am not sure if that is a "good" solution but as for me I currently do it that way. I can even work on larger file on my local machine that way and I don't have subset files of that original file since that way it makes no difference.
PS: A different solution could also be to let e.g. the LineIterator internally decide if a line should be skipped but that could mean that there's just another method to implement which many people might not ever need.

Closing stale issue: cleanup.


Add MLIRLoopOpsTransforms dep to bindings::python::pyiree::compilter::compiler_library

Take over from dacda264b

@GMNGeoffrey Follow up to our discussion on C4ML, it seems I am no longer able to add/request a reviewer.

https://github.blog/changelog/2020-02-19-repository-access-management-beta/ looks like there are some new settings relating to repository management and permissions. See also https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/requesting-a-pull-request-review .

Huh that's annoying. From Scott's links it looks like we might also be able to add the ability to request you as a reviewer by giving you explicit read access to the repository (seems a bit weird since everyone has read access already AFAIU). But it looks like you now have to have Triage access to request a review "Organization members with triage permissions to a repository can assign a pull request review." You were previously able to request review, right?

It actually seems I would required write access:
Note: Pull request authors can't request reviews unless they are either a repository owner or collaborator with write access to the repository.


Preparing an automatic migration of mySQL database to duckDB

(edited by @shippy)

[x] Set up a MariaDB (open-source MySQL) container that loads the provided SQL dump as-is (Windows-1250, ...)
[x] Set up a Meltano MariaDB extractor in another container that reads the relevant tables
[x] Optional: set up a Meltano transformer that runs the dbt models in ´sql_prep/`
[x] Set up a Meltano DuckDB loader that saves the relevant data in a duckdb file
[ ] Optional: directly upload the DuckDB file to S3

Updated the description with substeps.

Accomplished by greybox-mysql2duck.


Application gateway misconfigured without service object

Hi,
We had an issue where the application gateway was misconfigured and all our listeners were returning 502 when we had an ingress configured and ready pods, but no kubernetes service object (or anything else that might return an endpoints object).
We are using application gateway ingress controller v1.3.0.
F.e. an ingress with the following rules:
rules:
- host: my.example-host.com
  http:
    paths:
    - backend:
        serviceName: example-service-name
        servicePort: 8080
      path: /example/*

would cause problems if there was no "example-service-name" service object within the same namespace (most of the application gateway listeners would then return 502, even if they worked fine previously)

@hp598

Can you please share AGIC logs ?
Are the remaining ingresses using the same service as a target ?

@hp598

Can you please share AGIC logs ?
Are the remaining ingresses using the same service as a target ?

Hi,
The remaining ingresses are not in the same namespace / do not share the same target. AGIC error log look roughly like this:
I0119 14:25:41.077408       1 context.go:560] IP <IP_ADDRESS> already set on Ingress base-example/base-example
I0119 14:25:41.077429       1 mutate_aks.go:72] [mutate_aks] Updated Ingress base-example/base-example IP to <IP_ADDRESS>
I0119 14:25:41.109448       1 ingress_rules.go:152] Found backend:base-example/base-example-http
E0119 14:25:41.110019       1 ingress_rules.go:163] Ingress base-example/base-example references non existent Service base-example/base-example-http. Please correct the Service section of your Kubernetes YAML
I0119 14:25:41.110520       1 health_probes.go:70] Created probe defaultprobe-Http for ingress base-example/base-example at service base-example/base-example-http
E0119 14:25:41.112205       1 backendhttpsettings.go:89] Unable to get the service [base-example/base-example-http]
I0119 14:25:41.113339       1 backendhttpsettings.go:204] Created backend http settings bp-base-example-base-example-http-http-0-base-example for ingress base-example/base-example and service base-example/base-example-http
E0119 14:25:41.114142       1 context.go:304] Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
E0119 14:25:41.114210       1 backendaddresspools.go:103] Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
I0119 14:25:41.112933       1 event.go:278] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"base-example", Name:"base-example", UID:"2b02fc99-287b-434a-ba23-375322d61b7c", APIVersion:"extensions/v1beta1", ResourceVersion:"20428107", FieldPath:""}): type: 'Warning' reason: 'ServiceNotFound' Unable to get the service [base-example/base-example-http]
I0119 14:25:41.115786       1 event.go:278] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"base-example", Name:"base-example", UID:"2b02fc99-287b-434a-ba23-375322d61b7c", APIVersion:"extensions/v1beta1", ResourceVersion:"20428107", FieldPath:""}): type: 'Warning' reason: 'EndpointsEmpty' Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
I0119 14:25:41.116410       1 frontend_listeners.go:121] Processing Rules for Ingress: base-example/base-example
I0119 14:25:41.116524       1 ingress_rules.go:81] Found annotation appgw-ssl-certificate: my.example.com in ingress base-example/base-example
I0119 14:25:41.120189       1 ingress_rules.go:81] Found annotation appgw-ssl-certificate: my.example.com in ingress base-example/base-example
E0119 14:25:41.120763       1 context.go:304] Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
E0119 14:25:41.120864       1 backendaddresspools.go:103] Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
E0119 14:25:41.121059       1 context.go:304] Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
E0119 14:25:41.121247       1 backendaddresspools.go:103] Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
I0119 14:25:41.121200       1 event.go:278] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"base-example", Name:"base-example", UID:"2b02fc99-287b-434a-ba23-375322d61b7c", APIVersion:"extensions/v1beta1", ResourceVersion:"20428107", FieldPath:""}): type: 'Warning' reason: 'EndpointsEmpty' Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
I0119 14:25:41.121746       1 requestroutingrules.go:348] Attached pool defaultaddresspool and http setting bp-base-example-base-example-http-http-0-base-example to path rule: pr-base-example-base-example-rule-0-path-0
I0119 14:25:41.121869       1 event.go:278] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"base-example", Name:"base-example", UID:"2b02fc99-287b-434a-ba23-375322d61b7c", APIVersion:"extensions/v1beta1", ResourceVersion:"20428107", FieldPath:""}): type: 'Warning' reason: 'EndpointsEmpty' Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
I0119 14:25:41.121925       1 requestroutingrules.go:254] Attached default redirection
E0119 14:25:41.122202       1 context.go:304] Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
E0119 14:25:41.122291       1 backendaddresspools.go:103] Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
I0119 14:25:41.122420       1 requestroutingrules.go:331] Attached redirection /subscriptions//resourceGroups/weu-agw-prod-rg/providers/Microsoft.Network/applicationGateways/weu-vnet-prod-agw/redirectConfigurations/sslr-fl-ae1c7796f85e755fdce326c511076d1d to path rule: pr-base-example-base-example-rule-0-path-0
I0119 14:25:41.122520       1 event.go:278] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"base-example", Name:"base-example", UID:"2b02fc99-287b-434a-ba23-375322d61b7c", APIVersion:"extensions/v1beta1", ResourceVersion:"20428107", FieldPath:""}): type: 'Warning' reason: 'EndpointsEmpty' Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
E0119 14:25:41.148830       1 context.go:304] Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
E0119 14:25:41.148842       1 backendaddresspools.go:103] Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
I0119 14:25:41.149974       1 event.go:278] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"base-example", Name:"base-example", UID:"2b02fc99-287b-434a-ba23-375322d61b7c", APIVersion:"extensions/v1beta1", ResourceVersion:"20428107", FieldPath:""}): type: 'Warning' reason: 'EndpointsEmpty' Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
-- App Gwy config --                "id": "/subscriptions//resourceGroups/weu-agw-prod-rg/providers/Microsoft.Network/applicationGateways/weu-vnet-prod-agw/backendHttpSettingsCollection/bp-base-example-base-example-http-http-0-base-example",
-- App Gwy config --                "name": "bp-base-example-base-example-http-http-0-base-example",
-- App Gwy config --                            "id": "/subscriptions//resourceGroups/weu-agw-prod-rg/providers/Microsoft.Network/applicationGateways/weu-vnet-prod-agw/urlPathMaps/url-447d285f283022e0a6dff2a4def1b770/pathRules/pr-base-example-base-example-rule-0-path-0",
-- App Gwy config --                            "name": "pr-base-example-base-example-rule-0-path-0",
-- App Gwy config --                            "id": "/subscriptions//resourceGroups/weu-agw-prod-rg/providers/Microsoft.Network/applicationGateways/weu-vnet-prod-agw/urlPathMaps/url-ae1c7796f85e755fdce326c511076d1d/pathRules/pr-base-example-base-example-rule-0-path-0",
-- App Gwy config --                            "name": "pr-base-example-base-example-rule-0-path-0",
-- App Gwy config --                                    "id": "/subscriptions//resourceGroups/weu-agw-prod-rg/providers/Microsoft.Network/applicationGateways/weu-vnet-prod-agw/backendHttpSettingsCollection/bp-base-example-base-example-http-http-0-base-example"

Hi,
The remaining ingresses are not in the same namespace / do not share the same target. AGIC error log look roughly like this:
I0119 14:25:41.077408       1 context.go:560] IP <IP_ADDRESS> already set on Ingress base-example/base-example
I0119 14:25:41.077429       1 mutate_aks.go:72] [mutate_aks] Updated Ingress base-example/base-example IP to <IP_ADDRESS>
I0119 14:25:41.109448       1 ingress_rules.go:152] Found backend:base-example/base-example-http
E0119 14:25:41.110019       1 ingress_rules.go:163] Ingress base-example/base-example references non existent Service base-example/base-example-http. Please correct the Service section of your Kubernetes YAML
I0119 14:25:41.110520       1 health_probes.go:70] Created probe defaultprobe-Http for ingress base-example/base-example at service base-example/base-example-http
E0119 14:25:41.112205       1 backendhttpsettings.go:89] Unable to get the service [base-example/base-example-http]
I0119 14:25:41.113339       1 backendhttpsettings.go:204] Created backend http settings bp-base-example-base-example-http-http-0-base-example for ingress base-example/base-example and service base-example/base-example-http
E0119 14:25:41.114142       1 context.go:304] Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
E0119 14:25:41.114210       1 backendaddresspools.go:103] Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
I0119 14:25:41.112933       1 event.go:278] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"base-example", Name:"base-example", UID:"2b02fc99-287b-434a-ba23-375322d61b7c", APIVersion:"extensions/v1beta1", ResourceVersion:"20428107", FieldPath:""}): type: 'Warning' reason: 'ServiceNotFound' Unable to get the service [base-example/base-example-http]
I0119 14:25:41.115786       1 event.go:278] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"base-example", Name:"base-example", UID:"2b02fc99-287b-434a-ba23-375322d61b7c", APIVersion:"extensions/v1beta1", ResourceVersion:"20428107", FieldPath:""}): type: 'Warning' reason: 'EndpointsEmpty' Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
I0119 14:25:41.116410       1 frontend_listeners.go:121] Processing Rules for Ingress: base-example/base-example
I0119 14:25:41.116524       1 ingress_rules.go:81] Found annotation appgw-ssl-certificate: my.example.com in ingress base-example/base-example
I0119 14:25:41.120189       1 ingress_rules.go:81] Found annotation appgw-ssl-certificate: my.example.com in ingress base-example/base-example
E0119 14:25:41.120763       1 context.go:304] Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
E0119 14:25:41.120864       1 backendaddresspools.go:103] Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
E0119 14:25:41.121059       1 context.go:304] Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
E0119 14:25:41.121247       1 backendaddresspools.go:103] Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
I0119 14:25:41.121200       1 event.go:278] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"base-example", Name:"base-example", UID:"2b02fc99-287b-434a-ba23-375322d61b7c", APIVersion:"extensions/v1beta1", ResourceVersion:"20428107", FieldPath:""}): type: 'Warning' reason: 'EndpointsEmpty' Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
I0119 14:25:41.121746       1 requestroutingrules.go:348] Attached pool defaultaddresspool and http setting bp-base-example-base-example-http-http-0-base-example to path rule: pr-base-example-base-example-rule-0-path-0
I0119 14:25:41.121869       1 event.go:278] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"base-example", Name:"base-example", UID:"2b02fc99-287b-434a-ba23-375322d61b7c", APIVersion:"extensions/v1beta1", ResourceVersion:"20428107", FieldPath:""}): type: 'Warning' reason: 'EndpointsEmpty' Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
I0119 14:25:41.121925       1 requestroutingrules.go:254] Attached default redirection
E0119 14:25:41.122202       1 context.go:304] Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
E0119 14:25:41.122291       1 backendaddresspools.go:103] Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
I0119 14:25:41.122420       1 requestroutingrules.go:331] Attached redirection /subscriptions//resourceGroups/weu-agw-prod-rg/providers/Microsoft.Network/applicationGateways/weu-vnet-prod-agw/redirectConfigurations/sslr-fl-ae1c7796f85e755fdce326c511076d1d to path rule: pr-base-example-base-example-rule-0-path-0
I0119 14:25:41.122520       1 event.go:278] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"base-example", Name:"base-example", UID:"2b02fc99-287b-434a-ba23-375322d61b7c", APIVersion:"extensions/v1beta1", ResourceVersion:"20428107", FieldPath:""}): type: 'Warning' reason: 'EndpointsEmpty' Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
E0119 14:25:41.148830       1 context.go:304] Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
E0119 14:25:41.148842       1 backendaddresspools.go:103] Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
I0119 14:25:41.149974       1 event.go:278] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"base-example", Name:"base-example", UID:"2b02fc99-287b-434a-ba23-375322d61b7c", APIVersion:"extensions/v1beta1", ResourceVersion:"20428107", FieldPath:""}): type: 'Warning' reason: 'EndpointsEmpty' Code="ErrorFetchingEnpdoints" Message="Endpoint not found for base-example/base-example-http"
-- App Gwy config --                "id": "/subscriptions//resourceGroups/weu-agw-prod-rg/providers/Microsoft.Network/applicationGateways/weu-vnet-prod-agw/backendHttpSettingsCollection/bp-base-example-base-example-http-http-0-base-example",
-- App Gwy config --                "name": "bp-base-example-base-example-http-http-0-base-example",
-- App Gwy config --                            "id": "/subscriptions//resourceGroups/weu-agw-prod-rg/providers/Microsoft.Network/applicationGateways/weu-vnet-prod-agw/urlPathMaps/url-447d285f283022e0a6dff2a4def1b770/pathRules/pr-base-example-base-example-rule-0-path-0",
-- App Gwy config --                            "name": "pr-base-example-base-example-rule-0-path-0",
-- App Gwy config --                            "id": "/subscriptions//resourceGroups/weu-agw-prod-rg/providers/Microsoft.Network/applicationGateways/weu-vnet-prod-agw/urlPathMaps/url-ae1c7796f85e755fdce326c511076d1d/pathRules/pr-base-example-base-example-rule-0-path-0",
-- App Gwy config --                            "name": "pr-base-example-base-example-rule-0-path-0",
-- App Gwy config --                                    "id": "/subscriptions//resourceGroups/weu-agw-prod-rg/providers/Microsoft.Network/applicationGateways/weu-vnet-prod-agw/backendHttpSettingsCollection/bp-base-example-base-example-http-http-0-base-example"

@hp598 I don't see other ingresses being processed in the AGIC log.

Did you set watchNamespace parameter in the config ?
Can you share any other ingress manifest deployed in the cluster ?

@hp598 I don't see other ingresses being processed in the AGIC log.

Did you set watchNamespace parameter in the config ?
Can you share any other ingress manifest deployed in the cluster ?

@hp598 any updates?