feat: env var STORE_DIR and renamed OZW_NETWORK_KEY to NETWORK_KEY

Fixes #85

Pull Request Test Coverage Report for Build 501562123

106 of 180 (58.89%)  changed or added relevant lines in 8 files are covered.
7 unchanged lines in 3 files lost coverage.
Overall coverage increased (+0.4%) to 23.326%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

app.js
0
1
0.0%

lib/ZwaveClient.js
0
2
0.0%

lib/MqttClient.js
0
11
0.0%

lib/utils.js
82
142
57.75%

Files with Coverage Reduction
New Missed Lines
%

lib/logger.js
1
85.35%

lib/Gateway.js
3
17.81%

lib/utils.js
3
62.43%

Totals

Change from base Build 501298160:
0.4%

Covered Lines:
2000

Relevant Lines:
8776

💛  - Coveralls

Pull Request Test Coverage Report for Build 501562123

106 of 180 (58.89%)  changed or added relevant lines in 8 files are covered.
7 unchanged lines in 3 files lost coverage.
Overall coverage increased (+0.4%) to 23.326%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

app.js
0
1
0.0%

lib/ZwaveClient.js
0
2
0.0%

lib/MqttClient.js
0
11
0.0%

lib/utils.js
82
142
57.75%

Files with Coverage Reduction
New Missed Lines
%

lib/logger.js
1
85.35%

lib/Gateway.js
3
17.81%

lib/utils.js
3
62.43%

Totals

Change from base Build 501298160:
0.4%

Covered Lines:
2000

Relevant Lines:
8776

💛  - Coveralls


'Cannot read property 'publishTimeout' of undefined' when using retry()

Hi,
I've been testing how rabbot works for request-response when the service broker is taken down for some period of time.
If I set the connection retryLimit to a high enough value, like for instance 60, everything works as expected when connectivity to the broker is restored, even if requests were made when the broker was not accessible, i.e. once the broker comes back up I can see from rabbot's logging that it reconnects and subsequent requests work fine.
However, if I leave retryLimit at the default value and try to do some sort of custom retry logic using rabbot.retry() like so:
rabbot.on( 'unreachable', function() {
    for(let retries = 0; retries < 15; retries++) {
        setTimeout(() => {
        rabbot.retry();
        }, 2000);
    }
});

Then rabbot logging indicates it reconnects when broker connectivity is restored, as expected, but all subsequent attempts to use that connection will throw the error Cannot read property 'publishTimeout' of undefined from the requester, and I have to actually bring down both the requester and the responder to get them working again.
I have only seen this error when using retry() myself, the built-in retry logic using retryLimit does not seem to cause this problem.

@bleggett - are you making a call to configure in your code? I only ask because, unfortunately, the retry logic makes the assumption that everything was setup through configure. While it's the preferred way, I've noticed that not everyone uses it and it might explain the reason for the error you're getting.

@arobson I am using it, but I am not invoking it again in the retry logic once the connection has been disrupted, which might be the problem.

@bleggett - you should only ever have to call configure once. There've been some bug fixes since but I'm still not sure how to reproduce this one if configure was used to setup the connection.

Interesting. 3 years later and this error just started popping in our production. I have no reproduction either, but it's clear that the issue is still present in 2.1.0.
https://github.com/arobson/rabbot/blob/80b63c08bdb32d04fd36502f24180e0c8e8f69ee/src/index.js#L185
It might be useful to check for options as well. Apparently, the connection is still there but options is undefined.


No rendering no json

I was wondering if is possible to use filter.js on an already rendered html, with no json, only DOM elements.

Sorry, this is not available because filtering is working on JSON and on filter it re-render elements. You can try out http://listjs.com this will may help you.

Thank you @jiren Eventually I will need to update the our entire web application paradigm. Is there any templating documentation for filter.js? Probably I will need if clauses etc if I want to implement it on the future.

I have implemented same template engine as underscore.js templating.
For templating documentation you can check on http://underscorejs.org/#template. You can add any kind of JS code inside this template.


Qodot does not look for/import bitmap textures

What
When importing a .map using Qodot, no bitmap textures are found or applied.
How
Create a bitmap texture in the res://textures folder. Create a new trenchbroom map using the provided Qodot .cfg file, properly pointed to the project directory. Texture the default brush with the bitmap texture, then save. Import as a QodotMap node. No texture.
Convert this texture to png, and follow the same steps above. No issue finding the texture and applying it upon import.
Expected
I would expected a 1:1 from the textures I see in the .map editor in Godot (via. Qodot.) I suspect this may be a limitation on Godot's part, so if that is the case some documentation on this limitation would save others the time i invested in this.

Looks like it's an issue with TGA as well.


Why did you remove oraclejdk11?

Oracle JDK 11 is an LTS version and I think it should be available. At least I will continue to use it and it is very bad that it is not available via scoop anymore.

Oracle does not provide LTS version to the public anymore. If you need LTS, you have to use AdoptOpenJDK, ojdkbuild, Zulu or Corretto.

Third party download address


Xcode 10.2 and Swift 5 support

Describe the bug
Compiling a workspace that has Zendesk added via CocoaPods gives following error:
<unknown>:0: error: module compiled with Swift 4.2.1 cannot be imported by the Swift 5.0 compiler: <source root>/Pods/ZendeskSDK/ZendeskSDK/4.2.1/ZendeskProviderSDK.framework/Modules/ZendeskProviderSDK.swiftmodule/x86_64.swiftmodule
To Reproduce
Steps to reproduce the behavior:

Open an existing workspace that has Zendesk added via CocoaPods and that builds with Xcode 10.1 in Xcode 10.2
Build

Expected behavior
Successful compilation

Sorry meant to create this issue in https://github.com/zendesk/zendesk_sdk_ios where there's already a healthy discussion on https://github.com/zendesk/zendesk_sdk_ios/issues/480.


Asking questions about selected code block not working as expected in JetBrains Webstorm

Before submitting your bug report

[x] I believe this is a bug. I'll try to join the Continue Discord for questions
[x] I'm not able to find an open issue that reports the same bug
[x] I've seen the troubleshooting guide on the Continue Docs

Relevant environment info
- OS: MacOS 12.6
- Continue: 0.0.18

Description
Highlighting a block of code (specifically a function) in a larger typescript file, then bringing up Continue - Continue correctly shows the "file.ts (284-294)" indicating the active block of code, but it references completely different parts and is clearly not using that block of code as its context.
Based on its answers, it's pulling the code from lines 299-314 so somehow below. This happens pretty arbitrarily, I'd say about 30% of time I use it.
To reproduce
No response
Log output
No response

@scpedicini Is this with PyCharm, or a different JetBrains IDE? I'll do some testing myself later today

Mentioned in the title - yeah Webstorm. I can try to create a simple video repro later today if you want.

@sestinj
I'll try to create a video later, but in the meantime here's an example of where it occurred:

Also just other footnote: A lot of times the textbox for "ask a question" is disabled - I can't focus on it or type anything. The only way to bring it back is to close/reopen the sidebar a few times for Continue.


We are sorry, your Cognitive Services resource is unavailable

Getting this error when trying to run fine-tuning:
---------------------------------------------------------------------------
APIError                                  Traceback (most recent call last)
Cell In[1], line 46
     43     return (train_status, valid_status)
     45 # Upload the training and validation dataset files to Azure OpenAI.
---> 46 training_id = cli.FineTune._get_or_upload(training_file_name, True)
     47 validation_id = cli.FineTune._get_or_upload(validation_file_name, True)
     49 # Check on the upload status of the training and validation dataset files.

File /usr/local/lib/python3.10/site-packages/openai/cli.py:434, in FineTune._get_or_upload(cls, file, check_if_file_exists)
    431     pass
    432 if os.path.isfile(file):
    433     # 2. If it's a file on the filesystem, upload it
--> 434     return cls._maybe_upload_file(
    435         file=file, check_if_file_exists=check_if_file_exists
    436     )
    437 if cls._is_url(file):
    438     # 3. If it's a URL, download it temporarily
    439     content = cls._download_file_from_public_url(file)

File /usr/local/lib/python3.10/site-packages/openai/cli.py:412, in FineTune._maybe_upload_file(cls, file, content, user_provided_file, check_if_file_exists)
    405                 sys.stdout.write(
    406                     "File id '{id}' is not among the IDs of the potentially duplicated files\n".format(
    407                         id=inp
    408                     )
    409                 )
    411 buffer_reader = BufferReader(content, desc="Upload progress")
--> 412 resp = openai.File.create(
    413     file=buffer_reader,
    414     purpose="fine-tune",
    415     user_provided_filename=user_provided_file or file,
    416 )
    417 sys.stdout.write(
    418     "Uploaded file from {file}: {id}\n".format(
    419         file=user_provided_file or file, id=resp["id"]
    420     )
    421 )
    422 return resp["id"]

File /usr/local/lib/python3.10/site-packages/openai/api_resources/file.py:84, in File.create(cls, file, purpose, model, api_key, api_base, api_type, api_version, organization, user_provided_filename)
     60 @classmethod
     61 def create(
     62     cls,
   (...)
     71     user_provided_filename=None,
     72 ):
     73     requestor, url, files = cls.__prepare_file_create(
     74         file,
     75         purpose,
   (...)
     82         user_provided_filename,
     83     )
---> 84     response, _, api_key = requestor.request("post", url, files=files)
     85     return util.convert_to_openai_object(
     86         response, api_key, api_version, organization
     87     )

File /usr/local/lib/python3.10/site-packages/openai/api_requestor.py:298, in APIRequestor.request(self, method, url, params, headers, files, stream, request_id, request_timeout)
    277 def request(
    278     self,
    279     method,
   (...)
    286     request_timeout: Optional[Union[float, Tuple[float, float]]] = None,
    287 ) -> Tuple[Union[OpenAIResponse, Iterator[OpenAIResponse]], bool, str]:
    288     result = self.request_raw(
    289         method.lower(),
    290         url,
   (...)
    296         request_timeout=request_timeout,
    297     )
--> 298     resp, got_stream = self._interpret_response(result, stream)
    299     return resp, got_stream, self.api_key

File /usr/local/lib/python3.10/site-packages/openai/api_requestor.py:700, in APIRequestor._interpret_response(self, result, stream)
    692     return (
    693         self._interpret_response_line(
    694             line, result.status_code, result.headers, stream=True
    695         )
    696         for line in parse_stream(result.iter_lines())
    697     ), True
    698 else:
    699     return (
--> 700         self._interpret_response_line(
    701             result.content.decode("utf-8"),
    702             result.status_code,
    703             result.headers,
    704             stream=False,
    705         ),
    706         False,
    707     )

File /usr/local/lib/python3.10/site-packages/openai/api_requestor.py:763, in APIRequestor._interpret_response_line(self, rbody, rcode, rheaders, stream)
    761 stream_error = stream and "error" in resp.data
    762 if stream_error or not 200 <= rcode < 300:
--> 763     raise self.handle_error_response(
    764         rbody, rcode, resp.data, rheaders, stream_error=stream_error
    765     )
    766 return resp

APIError: Internal failure. {
  "error": {
    "code": "internalFailure",
    "message": "Internal failure."
  }
} 500 {'error': {'code': 'internalFailure', 'message': 'Internal failure.'}} {'Transfer-Encoding': 'chunked', 'Content-Type': 'application/json; charset=utf-8', 'api-supported-versions': '2022-12-01,2023-03-15-preview,2023-05-15,2023-06-01-preview,2023-07-01-preview', 'api-deprecated-versions': '2022-03-01-preview,2022-06-01-preview', 'x-envoy-upstream-service-time': '7491', 'OpenAI-Processing-Ms': '7519.4031', 'apim-request-id': '5fa38354-ee21-43e8-9e62-33b7c1181e49', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'x-content-type-options': 'nosniff', 'x-ms-region': 'North Central US', 'Date': 'Tue, 22 Aug 2023 21:25:07 GMT'}

I see this error in Azure:
At 03:58 PM, Tuesday, 22 August 2023 UTC, the Azure monitoring system received the following information regarding your Cognitive Services account:

We are sorry, your Cognitive Services account is unavailable. We're working to automatically recover your Cognitive Services account and to determine the source of the problem. No additional action is required from you at this time.

Please use the link below to view the latest information about the health event and learn about recommended steps in Azure Resource Health.

@mclacore Thanks for reaching out to us and reporting this issue. Could you please check and let us know if you are still seeing the same issue ? Awaiting your reply.

@mclacore Please do let us know if you are still encountering the same issue. We would be happy to reopen this thread and help.


SwinjectStoryboard setup function no longer called automatically

Hello,
I'am starting a new project on Xcode 9 beta 5 (and tested today on beta 6) and the static function setup() is no longer called automatically. I need to call it manually in AppDelegate. But the issue with this workaround, the initial view controller is not injected only the next are injected.
Anybody have the same issue ?
Thank for helping.

We are working on the issue now (PR #46).


Expand pre commit and modify ci

Essentially the same as https://github.com/brainglobe/cellfinder-napari/pull/58

As requested the following steps will not run unless linting passes, used this: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflow_run

Unfortunately, workflow_run only appears to work on the default branch and as such is not fit for purpose. So the CI has been integrated within the same file. See discussion here https://github.community/t/workflow-run-not-working-as-expected/139342/4 and elsewhere


[CARBONDATA-3776] Clean old materialized view implementation

Why is this PR needed?
After the materialized view is separated from the DataMap module,  the old materialized view implementation in DataMap module is not used. Should clean those code to keep code clean.
What changes were proposed in this PR?

Move materialized view test case to carbondata-spark module.
Remove carbondata-mv-core module, because of the main code in this module have moved to carbondata-spark module.
Remove old materialized view metadata manage implementation which doesn't support multi-tenant.

Does this PR introduce any user interface change?

No

Is any new testcase added?

No

Build Failed  with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/916/

Build Failed  with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/2625/

Build Failed  with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/947/

Build Failed  with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/2657/

Build Failed  with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/948/

Build Failed  with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/2658/

@Please rebase with master and PR-3688, and please remove methods used by old MV, in DataMapStoreManager, DataMapSchema class etc

Build Failed  with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/1061/

Build Failed  with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/2774/

Build Failed  with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/2775/

Build Failed  with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/1062/

Build Failed  with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/2783/

Build Failed  with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/1070/

Build Failed  with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/2793/

Build Failed  with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/1081/

Build Failed  with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/1088/

Build Failed  with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/2800/

Build Success with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/1089/

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/2801/

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/2810/

Build Success with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/1097/

Build Success with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/1102/

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/2815/

Build Success with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/1104/

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/2817/

LGTM


Can a lambda inherit from an interface?

https://www.youtube.com/watch?v=qmd_yxSOsAE&lc=UgxXcfmAQQlw-5oawrV4AaABAg

I am not entirely sure if inheritance is required for that, here is an example of an over-loadable class by lambdas:
https://compiler-explorer.com/z/Yrcc36a5W

The effect can be achieved without inheritance: https://compiler-explorer.com/z/P1vh9c7nK.
struct B {
  virtual void f() = 0;
};
template<auto F> struct D : B {
  void f() override { F(); }
};
void g() {
  D<[] {}>{};
}


PhpStorm complains about class_alias in tests' bootstrap

Hi @erusev, I love Parsedown and I really appreciate your work. But there is small annoying "issue" (lets call it issue). I'm using PhpStorm for almost all my PHP projects development and when I require Parsedown through Composer I get a warning in my PHPUnit tests that there are multiple implementation of class TestCase. I have read your test's bootstrap file and figured out that you are using class_alias. Is that really necessary? Cannot you just require specific version of PHPUnit in your composer.json file and count on that?

See https://github.com/erusev/parsedown/issues/490. Requested quite a while ago, but no fix yet.

Ah, ok, thank you, didn't find that one. So closing this.


Changing the background of a comment to an image does not work

I add an image to the comment background, but when I save and read the table again, it's not there.
let mut comment = Comment::default();

let comment_pos = comment.get_coordinate_mut();
comment_pos.set_col_num(col_num);
comment_pos.set_row_num(row_num);

let mut image = Image::default();
image.new_image(path_to_image.to_str().unwrap(), MarkerType::default());
let image_name = image.get_image_name().to_string();
println!("{}", image_name);
sheet.get_worksheet_drawing_mut().add_image(image);
let mut image_data = ImageData::default();
image_data.set_image_name(image_name.clone());
image_data.set_title(image_name);
let shape = comment.get_shape_mut();
shape.set_image_data(image_data);
println!("comment: \n{:?}", comment);

sheet.add_comments(comment);
println!("sheet: \n{:?}", sheet);

db.save(path_to_db);
println!("db: \n{:?}", DataBase::from(path_to_db).get_sheet());

This may be because I've misunderstood how to add an image to the comment background, in which case I'd be happy to know how to do it correctly

@Andrewkoro105
Thank you for contacting us.
We do not currently support the ability to display images in the background of comments.
It does not seem to take much time to modify, so we will consider whether it can be supported in the next update.


Error: data/data/host.exp.exponent/cache/experiencedata/bundle.js open failed: ENOENT (No such file or directory)

Issue Description
[Getting error while using rn-pdf-reader-js]
{
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web",
"eject": "expo eject"
},
"dependencies": {
"@expo/vector-icons": "^10.0.0",
"@react-native-community/masked-view": "0.1.6",
"@react-navigation/drawer": "^5.8.2",
"@react-navigation/material-bottom-tabs": "^5.2.10",
"@react-navigation/material-top-tabs": "^5.2.10",
"@react-navigation/native": "^5.5.1",
"@react-navigation/stack": "^5.4.2",
"buffer": "^5.6.0",
"crypto-js": "^4.0.0",
"expo": "^37.0.0",
"expo-av": "~8.1.0",
"expo-constants": "^9.0.0",
"expo-file-system": "^8.1.0",
"expo-screen-orientation": "~1.0.0",
"firebase": "7.9.0",
"js-base64": "^2.5.2",
"prop-types": "^15.7.2",
"react": "16.9.0",
"react-dom": "16.9.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-37.0.1.tar.gz",
"react-native-firebase": "^5.6.0",
"react-native-gesture-handler": "~1.6.0",
"react-native-paper": "^3.10.1",
"react-native-pdf": "^6.1.2",
"react-native-reanimated": "~1.7.0",
"react-native-safe-area-context": "0.7.3",
"react-native-screens": "~2.2.0",
"react-native-tab-view": "^2.14.4",
"react-native-vector-icons": "^6.6.0",
"react-native-web": "^0.11.7",
"react-native-webview": "^8.1.1",
"react-native-youtube": "^2.0.1",
"react-navigation": "^4.3.9",
"react-redux": "^7.2.0",
"rn-fetch-blob": "^0.12.0",
"rn-pdf-reader-js": "^3.1.0"
},
"devDependencies": {
"@babel/core": "^7.10.2",
"babel-preset-expo": "^8.2.1"
},
"private": true
}

Steps to Reproduce / Code Snippets
PDF document viewer code
[import React, { Component, PropTypes  } from 'react'
import { StyleSheet, Dimensions, View , Text} from 'react-native';
import PDFReader from 'rn-pdf-reader-js'
import {Appbar, Provider, DefaultTheme} from 'react-native-paper';
const theme = {
...DefaultTheme,
roundness: 2,
colors: {
...DefaultTheme.colors,
primary: '#483D8B',
accent: '#f1c40f',
},
};
export function PDFDocument({route}){
return (
<PDFReader
source={{
uri: route.params.PDFDocumentURL,
//uri: {datavar},
}}
withScroll='true'
/>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'flex-start',
alignItems: 'center',
marginTop: 105,
},
pdf: {
flex:1,
width:Dimensions.get('window').width,
height:Dimensions.get('window').height,
}
});
export default PDFDocument]
Expected Results
[FILL THIS OUT]
Additional Information

Nodejs version: [v13.13.0]
React version: [FILL THIS OUT]
React Native version: [2.0.1]
rn-pdf-reader-js version: [3.1.0]
Platform(s) (iOS, Android, or both?): [Android]
TypeScript version: [FILL THIS OUT]

Please try to give me solution as soon as possible this is live application we need to give update within single day. Actually it was working the previous one which is uploaded on playstore is working fine but now getting error.

Hello Everyone,
I found the solution for this, actually some devices don't have free memory storage. We need free space to open file that is the reason it gives us error file not found, because whenever we are accessing the pdf file it temp downloads in cache memory .
Thanks


Add konflux to people allowed to test

@sallyom @JasonPowr I'm hoping this would allow konflux to auto test the PR for our sanity

/verify-owners


Test Changes for Firefox

Switch from chrome.extension to chrome.runtime

Closing in favor of #80


Include a times

Care to elaborate?

I was thinking in the times() feature of Mockito and other mocking tools. I guess I can use the journal instead.


[P2P] Peer discovery debug CLI sub-commands

Objective
Extend the debug CLI to expose sub-commands for driving peer discovery in the P2P module (analogous to how it currently supports driving consensus). This will facilitate both manual and automated testing efforts.
Origin Document
Based on a discussion between @dylanlott and myself about end-to-end test planning for peer discovery. It has been made clear in discussions past (probably in documentation somewhere as well) that we want to prioritize supporting robust manual testing/investigation of these dynamic systems (before they get a chance to run away from us).
Goals

Expose controls to peer discovery to developers
Support step-by-step progression through peer discovery
Support debugging & reproducing peer discovery scenarios (incl. edge cases)

Deliverable

[ ] Extend the debug CLI to expose the sub-commands subcommands outlined below (peer CLI UX)
[ ]  (Bonus): draft a design for reproducible peer discovery failure reports or something

Could be generic (e.g. trace based)

CLI UX - peer & p2p subcommands
The following commands should send/broadcast debug messages into the network, resulting in nodes to print to their respective logs, similar to the debug subcommand's behavior.
peer discovery status # background router only
peer discovery start  # background router only
peer discovery stop   # background router only
peer list [--all | --staked | --unstaked]
peer forget (--all | <forgetter peer ID>)
peer connections
peer interrogate <peer ID>
peer disconnect <peer ID>

p2pCmd persisten flags:

--trace

NOTE: p2p commands MAY interact with a remote/standalone node rather than utilize the CLI's own P2P module
p2p send [--trace] <peer ID> <text message>
p2p broadcast [--trace] <text message>

Non-goals / Non-deliverables

Refactoring/simplifying the Router interface
Additional, unrelated libp2p integration work

General issue deliverables

[ ] Update the appropriate CHANGELOG(s)
[ ] Update any relevant local/global README(s)
[ ] Update relevant source code tree explanations
[ ] Add or update any relevant or supporting mermaid diagrams

Testing Methodology

[ ] New CLI subcommands behave as expected
[ ] All tests: make test_all
[ ] LocalNet: verify a LocalNet is still functioning correctly by following the instructions at docs/development/README.md
[ ] k8s LocalNet: verify a k8s LocalNet is still functioning correctly by following the instructions here

Creator: @bryanchriswhite

@bryanchriswhite We haven't merged in the P2P subcommand in yet, so do you think this was closed prematurely?

Per my comment above, reopening until it's merged or told otherwise.


Provide Help

Hi,
I'd like to provide help by :

hosting the files on ovh object storage
hosting splitted version of the datasets with chunks of 500MB
Encode those chunk with BPE and sentence piece
Host the encoded version on object storage

hi I am basically training GPT-2 on all languages using OSCAR if you are interested :  https://watch-me-learn-to-talk.com
I build polyglot on top of OSCAR and GPT-2-Simple:
https://github.com/jqueguiner/polyglot


Add support for auto compress

This is based on the code in #18 to avoid nasty conflicts, #18 should be merged before this

The failed travis build was some because of som temporary travis failure.


Update step-2-configure-a-two-way-wcf-webhttp-send-port.md

Corrected extra space and missing curly brackets in the Tip for URL Mapping.  Also added comments and example about double-escaping when the REST service requires xml-escaped characters in the URL.

@microsoft-github-policy-service agree company="Microsoft"
From: microsoft-github-policy-service[bot] @.>
Sent: Tuesday, June 18, 2024 1:53 PM
To: MicrosoftDocs/biztalk-docs @.>
Cc: Shaheer Abubucker @.>; Mention @.>
Subject: Re: [MicrosoftDocs/biztalk-docs] Update step-2-configure-a-two-way-wcf-webhttp-send-port.md (PR #994)
@msshaheerahttps://github.com/msshaheera please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]
Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.

@microsoft-github-policy-service agree

(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term "You" includes me and my employer.

@microsoft-github-policy-service agree company="Microsoft"
Contributor License Agreement
Contribution License Agreement
This Contribution License Agreement ("Agreement") is agreed to by the party signing below ("You"),
and conveys certain license rights to Microsoft Corporation and its affiliates ("Microsoft") for Your
contributions to Microsoft open source projects. This Agreement is effective as of the latest signature
date below.

Definitions.
"Code" means the computer software code, whether in human-readable or machine-executable form,
that is delivered by You to Microsoft under this Agreement.
"Project" means any of the projects owned or managed by Microsoft and offered under a license
approved by the Open Source Initiative (www.opensource.orghttp://www.opensource.org/).
"Submit" is the act of uploading, submitting, transmitting, or distributing code or other content to any
Project, including but not limited to communication on electronic mailing lists, source code control
systems, and issue tracking systems that are managed by, or on behalf of, the Project for the purpose of
discussing and improving that Project, but excluding communication that is conspicuously marked or
otherwise designated in writing by You as "Not a Submission."
"Submission" means the Code and any other copyrightable material Submitted by You, including any
associated comments and documentation.
Your Submission. You must agree to the terms of this Agreement before making a Submission to any
Project. This Agreement covers any and all Submissions that You, now or in the future (except as
described in Section 4 below), Submit to any Project.
Originality of Work. You represent that each of Your Submissions is entirely Your original work.
Should You wish to Submit materials that are not Your original work, You may Submit them separately
to the Project if You (a) retain all copyright and license information that was in the materials as You
received them, (b) in the description accompanying Your Submission, include the phrase "Submission
containing materials of a third party:" followed by the names of the third party and any licenses or other
restrictions of which You are aware, and (c) follow any other instructions in the Project's written
guidelines concerning Submissions.
Your Employer. References to "employer" in this Agreement include Your employer or anyone else
for whom You are acting in making Your Submission, e.g. as a contractor, vendor, or agent. If Your
Submission is made in the course of Your work for an employer or Your employer has intellectual
property rights in Your Submission by contract or applicable law, You must secure permission from Your
employer to make the Submission before signing this Agreement. In that case, the term "You" in this
Agreement will refer to You and the employer collectively. If You change employers in the future and
desire to Submit additional Submissions for the new employer, then You agree to sign a new Agreement
and secure permission from the new employer before Submitting those Submissions.
Licenses.

Copyright License. You grant Microsoft, and those who receive the Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license in the
Submission to reproduce, prepare derivative works of, publicly display, publicly perform, and distribute
the Submission and such derivative works, and to sublicense any or all of the foregoing rights to third
parties.
Patent License. You grant Microsoft, and those who receive the Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license under
Your patent claims that are necessarily infringed by the Submission or the combination of the
Submission with the Project to which it was Submitted to make, have made, use, offer to sell, sell and
import or otherwise dispose of the Submission alone or with the Project.
Other Rights Reserved. Each party reserves all rights not expressly granted in this Agreement.
No additional licenses or rights whatsoever (including, without limitation, any implied licenses) are
granted by implication, exhaustion, estoppel or otherwise.

Representations and Warranties. You represent that You are legally entitled to grant the above
licenses. You represent that each of Your Submissions is entirely Your original work (except as You may
have disclosed under Section 3). You represent that You have secured permission from Your employer to
make the Submission in cases where Your Submission is made in the course of Your work for Your
employer or Your employer has intellectual property rights in Your Submission by contract or applicable
law. If You are signing this Agreement on behalf of Your employer, You represent and warrant that You
have the necessary authority to bind the listed employer to the obligations contained in this Agreement.
You are not expected to provide support for Your Submission, unless You choose to do so. UNLESS
REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE WARRANTIES
EXPRESSLY STATED IN SECTIONS 3, 4, AND 6, THE SUBMISSION PROVIDED UNDER THIS AGREEMENT IS
PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY OF
NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
Notice to Microsoft. You agree to notify Microsoft in writing of any facts or circumstances of which
You later become aware that would make Your representations in this Agreement inaccurate in any
respect.
Information about Submissions. You agree that contributions to Projects and information about
contributions may be maintained indefinitely and disclosed publicly, including Your name and other
information that You submit with Your Submission.
Governing Law/Jurisdiction. This Agreement is governed by the laws of the State of Washington, and
the parties consent to exclusive jurisdiction and venue in the federal courts sitting in King County,
Washington, unless no federal subject matter jurisdiction exists, in which case the parties consent to
exclusive jurisdiction and venue in the Superior Court of King County, Washington. The parties waive all
defenses of lack of personal jurisdiction and forum non-conveniens.
Entire Agreement/Assignment. This Agreement is the entire agreement between the parties, and
supersedes any and all prior agreements, understandings or communications, written or oral, between
the parties relating to the subject matter hereof. This Agreement may be assigned by Microsoft.

Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/biztalk-docs/pull/994#issuecomment-2176658054, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHWW74NL7GE7OMD7ZMYR5TTZIBXYRAVCNFSM6AAAAABJQQM3B6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNZWGY2TQMBVGQ.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>


Handle books without chapters

Some books only have a single chapter so may not  be spoken like 'Jude 1:5' but rather may be spoken like "Jude 5".

Resolved in v0.5.0


new metric: number of private/public/protected methods

Let's add three new metrics (probably to ast-metrics.py file)

I will try to implement this feature

dup of #121


"Configure Default Build Task" (Typescript) does not work as expected

VSCode Version: 1.14.2
OS Version: Windows 10 Pro 1703 15063.483

Steps to Reproduce:

Install typescript:
npm install typescript --save-dev.

Create tsconfig.json  in the project's root directory:

{
    "compilerOptions": {
        "target": "es5",
        "module": "commonjs",
        "sourceMap": true,
        "outDir": "./bld",
        "rootDir": "./",
        "strict": true,
        "alwaysStrict": true,
        "moduleResolution": "node"
    }
}

Create tasks.json in ./.vscode:

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "typescript",
            "tsconfig": "tsconfig.json",
            "presentation": {
                "echo": true,
                "reveal": "never",
                "focus": false,
                "panel": "shared"
            },
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

Create test.ts in the project's root directory:
console.log("Hello, world!");

Open test.ts in VS Code editor tab. Press Ctrl+Shift+B. Despite isDefault is set to true and 'tsconfig.json' is explicitly specified in tasks.json, VS Code still asks to choose default build task: tsc: build tsconfig.json recently used tasks. When I press Ctrl+Shift+B in the context of other editor tabs, e. g. tsconfig.json,  confirmation is not required.

npm tasks work as expected, i. e. I get no additional confirmations if isDefault: true.

Reproduces without extensions: Yes

Having the same issue here, also on 1.14.2.

This is caused by https://github.com/Microsoft/vscode/issues/31977. I am closing as a dup. The reason is that I get two identical task and then treat both as a build task. They get then de-dup in the picker.


merge documentation branch into master

This is the moment we've all been waiting for!
Major changes:

new documentation outline
significant new content and editing
semi-automated doc builds (make docs)

Terrific community effort everyone!
The documentation branch will be retired after this merge.
(I think this is done with git push upstream --delete documentation... but let's wait until the merge!)
I have verified that docs build correctly from this PR.

Thanks Reece.
A few high level notes:

It looks a large number of the changes are in the auto-generated docs, so possibly there were some changes made to the doc generation code? It would reduce the noise to send a PR which updates the autogenerated docs ahead of this (though it's not strictly necessary, if everyone understands that this directory is autogenerated).
We should squash probably the commits down.

doc/source/_static/ga4gh-objects.png covers objects that aren't yet part of master -- we should either remove it (if it's not referenced) or update it (if it is).

Thank you Reece -- this mostly looks great. I added a couple of small comments that can be addressed either before or after merge.
I agree with @calbach that the changes to the doc/source/schemas/*.rst auto-generated files are hard to parse. As long as we're clear that those are all auto-generated, and the only changes that need review are to the .avdl files themselves, I'm okay for now. (And eager to see us get rid of the need to check them in at all.)

Go ahead and remove _static/ga4gh-objects.png ; it's a
conceptual drawing I create.  It isn't referenced and the source
isn't checked in.
We can add it in later if needed.
David Glazer<EMAIL_ADDRESS>writes:

doc/source/_static/ga4gh-objects.png covers objects that aren't yet part of
master -- we should either remove it (if it's not referenced) or update it (if
it is).
—
Reply to this email directly or view it on GitHub.*

Removed doc/source/_static/ga4gh-objects.png

This merge to master was premature. Closing it unmerged.
The above suggestions are reflected in PR #503 against the documentation branch. Once that branch is in shape, it will be merged into master.


require calls in esm build of @opentelemetry/resources

What happened?
Steps to Reproduce
index.ts
import { Resource } from '@opentelemetry/resources';

new Resource()

Run
./node_modules/.bin/vite-node index.ts
Expected Result
No Syntax Error
Actual Result
Syntax Error
Additional Details
There should be no require calls for the esm
https://github.com/open-telemetry/opentelemetry-js/blob/main/packages/opentelemetry-resources/src/platform/node/machine-id/getMachineId.ts
OpenTelemetry Setup Code
No response
package.json
{
  "name": "esmbug",
  "type": "module",
  "dependencies": {
    "@opentelemetry/resources": "^1.23.0",
    "vite-node": "^1.5.0"
  }
}

Relevant log output
esmbug/node_modules/@opentelemetry/resources/build/esm/platform/node/machine-id/getMachineId-darwin.js:52
import { execAsync } from './execAsync';
^^^^^^

SyntaxError: Cannot use import statement outside a module

FYI, this has already had some discussion in #3989


define() in Events

I would like to move the following define() from the Events class file, because it causes an errors when using preloading.
Where should these be located?
https://github.com/codeigniter4/CodeIgniter4/blob/496dece14f0b9877420d19908f2c96773a2b6b79/system/Events/Events.php#L17-L19
CRITICAL - 2022-05-08 06:28:21 --> Undefined constant "CodeIgniter\Events\EVENT_PRIORITY_NORMAL"
#0 /Users/kenji/work/codeigniter/ci3-and-4-benchmark/ci4/app/Config/Events.php(50): CodeIgniter\Events\Events::on('pre_system', Object(Closure))
#1 /Users/kenji/work/codeigniter/ci3-and-4-benchmark/ci4/vendor/codeigniter4/framework/system/Events/Events.php(94): include('/Users/kenji/wo...')
#2 /Users/kenji/work/codeigniter/ci3-and-4-benchmark/ci4/vendor/codeigniter4/framework/system/Events/Events.php(141): CodeIgniter\Events\Events::initialize()
#3 /Users/kenji/work/codeigniter/ci3-and-4-benchmark/ci4/vendor/codeigniter4/framework/system/CodeIgniter.php(308): CodeIgniter\Events\Events::trigger('pre_system')
#4 /Users/kenji/work/codeigniter/ci3-and-4-benchmark/ci4/public/index.php(37): CodeIgniter\CodeIgniter->run()
#5 {main}

Related #5974

I suppose we have to keep them for backwards-compatibility, but these should really be class constants. Maybe put them in config/Constants.php with a deprecation comment and then make new class constants that we use internally? How does that sound?

Perfect!
I sent a PR #6000


Dissector for Bluetooth

I am not able to dissect using the plugin for Bluetooth data captured using the same nordic 5280DK.
Does the dissector need to added to the relevant bluetooth dissector table in the Lua ?

Does it not show up as a separate tree below?
like this:

Can you send a full application screen shot?
What does it say in the protocol column of that frame (see my screenshot, top list of frames, protocol column)
From looking at it, the data looks like it should parse.
Also, if you could send a .pcap of the individual frame, I could look at it from my end as well.

It doesn't add a separate tree.
only_req_ble.zip

Adding the full screenshot and the .pcap file too.
The data looks parseable and also the OPENDRONEID shows up in the enabled protocols and available inside wtap_encap. Not able to see why it fails with Bluetooth but works with wifi
Thank you

Ok, I'll pull this pcap into my wireshark tonight to see if I can reproduce.
In the meantime, if you look at the Lua code, there's a debug mode at the top that you can turn on (setting =1). That should cause some console output.

Ok, I pushed in a "fix".  It's not very fancy, but it checks to see if the frameTypeOffset ends up being 0 and it's 56 bytes, then it assumes it's a BT4 captures and sets the frameTypeOffset to 0x11.  Everything runs fine from there and it preserves compatibility with wi-fi (which uses the offsets as originally programmed).

Got it. Will check with the fix.
Yes, Will create a PR.


[SPARK-10020][MLlib]: ML model broadcasts should be stored in private vars: mllib GeneralizedLinearModel

ML model broadcasts should be stored in private vars: mllib GeneralizedLinearModel:
Applies to: spark.mllib.regression.GeneralizedLinearModel

Can one of the admins verify this patch?

@sabhyankar looks good overall:

Do you mind resolving merge conflicts?
Can you put #8248 #8247 #8243 and #8249 all in one PR and close the others to make it easier to review?

@sabhyankar @feynmanliang It is recommended to keep PRs small. Let's keep this one.

ok to test

Build triggered.

Build started.

Test build #41693 has started for   PR 8249 at commit 6dd471f.

Test build #41693 has finished for   PR 8249 at commit 6dd471f.

This patch fails Spark unit tests.
This patch does not merge cleanly.
This patch adds no public classes.

Build finished. Test FAILed.

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


Check for both Wifi and Ethernet in Step 11 during the commissioning process

Fixes #1106

Please see my comment on the issue. This change makes no sense because it would accept any not connected WiFi or thread cluster as ok. This check is there to verify if we can commission it when WiFi or thread is not connected.

According to discussion in #1106 and the (in my eyes) better solution in #1109 I close here. Thank you anyway for your support and PR!


skip_delay ignored when service is called in Node Red

If I call the service from developer page inside HA the skop_delay parameter is working as expected.
When using it from node red it is ignoring the skop_delay flag.
Here is the flow:
[{"id":"369b8c78260fdb26","type":"switch","z":"22f66bc511ea4c3a","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"1005","vt":"str"},{"t":"eq","v":"1004","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":370,"y":240,"wires":[["5efdc452202a5998"],["bcc8bbbf106ec10f"]]},{"id":"7bae592aee518bd3","type":"deconz-input","z":"22f66bc511ea4c3a","name":"","topic":"","config_version":1,"server":"95c2ca27c7e6fed4","statustext":"","statustext_type":"auto","search_type":"device","device_list":["sensors/uniqueid/00:15:8d:00:01:55:d2:a3-01-0006"],"device_name":"","query":"{}","outputs":1,"output_rules":[{"type":"state","format":"single","output":"always","onstart":true,"payload":["buttonevent"]}],"x":190,"y":240,"wires":[["369b8c78260fdb26"]]},{"id":"1415cfe141b6d40b","type":"api-call-service","z":"22f66bc511ea4c3a","name":"Cicla In Casa - Fuori Casa","server":"cc289e25.9b734","version":3,"debugenabled":false,"service_domain":"alarmo","service":"arm","entityId":"alarm_control_panel.alarmo","data":"{\t   \"code\":1454,\t   \"mode\":msg.payload,\t   \"skip_delay\":0\t}","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":860,"y":280,"wires":[["954d06099e1b0ad3"]]},{"id":"bcc8bbbf106ec10f","type":"function","z":"22f66bc511ea4c3a","name":"Ciclo modalità","func":"const arming_modes = [ \n    \"home\", \n    \"away\"\n];\n\n/**** dont change *****/\nlet arming_mode = context.get(\"arming_mode\"); \narming_mode = arming_mode == null ? 0 : arming_mode + 1;\nif(arming_mode >= arming_modes.length) {\n    arming_mode = 0;\n}\nmsg.payload = arming_modes[arming_mode];\ncontext.set(\"arming_mode\", arming_mode); \nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":580,"y":260,"wires":[["1415cfe141b6d40b"]]},{"id":"954d06099e1b0ad3","type":"debug","z":"22f66bc511ea4c3a","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1100,"y":280,"wires":[]},{"id":"95c2ca27c7e6fed4","type":"deconz-server","name":"Phoscon-GW","config_version":1,"ip":"core-deconz","port":"40850","ws_port":"8081","secure":false,"polling":"15"},{"id":"cc289e25.9b734","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30}]

I am not a node-red user so I cannot help you with that.
Could you try calling the service from HA and see that alarmo behaves as you would expect?

Problem solved, it was my mistake.
Thank you


Add Windows support via WinRM (SSL)

Add support for provisioning Windows workloads using WinRM configured with SSL

@martezr this was resolved in PR https://github.com/martezr/packer-provisioner-puppet-bolt/pull/10
Can we do a new release?

@bishopbm1 A new release has been created - https://github.com/martezr/packer-provisioner-puppet-bolt/releases/tag/v0.2.0

Thank you!


Add code coverage to tests

Readiness checklist

[x] I added/updated tests.
[x] I ensured that the PR title is good enough for the changelog.
[x] I labeled the PR.

oops, approved by accident. The npx stuff has to be fixed.


Port MSAN support from upstream

Port of https://github.com/libuv/libuv/pull/3788 to our fork

@vtjnash I think this is more reasonable than the other PRs


ref: added data connector

Hello @williamFalcon! Thanks for updating this PR.

In the file pytorch_lightning/utilities/model_utils.py:

Line 29:25: W292 no newline at end of file


Allow to disable versioning

Adds an option to disable versioning for the storage providers.
Fixes https://github.com/owncloud/ocis/issues/9282

I need to ask here (not in the suggestions where it gets lost), why not adding or only using a global envvar?

I'm one step ahead. Already added.
Reason was that other STORAGE_USER envvars don't have it. But it makes sense in this case :+1:

Slight change of approach:

storage-system uses hardcoded true for disable-versioning
storage-users can be configured via global OCIS_DISABLE_VERSIONING envvar. (default: false)

no code changes - only rebased to master


How to provision an IoT Agent

As I've been going through the tutorial (great postman samples btw), I got stuck on how to register an IoT Agent, meaning how do I get/generate tokens etc?

I assume that this issue should have been raised under the IoT Agent tutorial. The Getting Started tutorial only includes the context broker.
Could you provide further details by raising a separate issue over there - it is unclear which tutorial and which step you are referring to and which token are you talking about.

I (perhaps wrongly) assumed that the IoT Agent needed to be registered in the context broker prior to connecting to it...

The  IoT Agent registers itself with the context broker on startup using the IOTA_CB_HOST environment variable - An example can be found it the docker-compose
Manual registration of commands is in the context broker is no longer necessary. Later versions of the IoT Agents are able automatically register devices into the context broker - see https://github.com/FIWARE/tutorials.IoT-Agent/issues/20 - the tutorial still keeps the redundant step at the moment.

Closing this issue, as further discussion should be raised against another tutorial.

Sorry...for not understanding just yet...
I understand that there would be some environment variable pointing to the uri of the context broker, but surly there must be some provisioning process allowing the agent to connect?
I do appreciate your quick answers, and I apologize if they are stupid. I come from a background of AWS and Azure and assumes an IoT agent is the equivalent of a Thing/Device.

IoT Agents are not devices, they are a middleware which connects to devices. Basically you're confusing the two ports of the IoT Agent.

The North Port of the IoT Agent speaks NGSI and can connect to the context broker directly
The South Port of the IoT Agent speaks whatever your device protocol/payload is and indeed does need to be provisioned.

The South Port can be kind of vague as well, as the IoT Agent-to-device communication does not necessarily have to be HTTP. If it is the the flow of HTTP requests is kind of obvious:

Context Broker => IoT Agent => Device

But it could be that the IoT Agent is just listening to topics on an MQTT broker or accepting COAP requests from LightweightM2M or listening to a LoRa server or whatever.
Depending on your data flow you could also look at the Node Red connector.


Front end validation

Sign up page front end validation to be added.

Done for login and sign up!


test: seperate integration test and cri test in travisCI

Signed-off-by: letty<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
Now in on travisCI job, it runs both integration test and cri test. Separate them to speed up and to make it easy to find where is the problem.
Ⅱ. Does this pull request fix one issue?

Ⅲ. Describe how you did it
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #1098 into master will increase coverage by 0.37%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1098      +/-   ##
==========================================
+ Coverage    16.2%   16.57%   +0.37%
==========================================
  Files         164      163       -1
  Lines        8833     8831       -2
==========================================
+ Hits         1431     1464      +33
+ Misses       7299     7262      -37
- Partials      103      105       +2

Impacted Files
Coverage Δ

cli/cli.go
0% <0%> (ø)
:arrow_up:

client/client.go

pkg/utils/utils.go
78.15% <0%> (+2.51%)
:arrow_up:

LGTM


GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Run Java PostCommit

Run Java PreCommit

Run Java_Examples_Dataflow PreCommit

Run Java_Examples_Dataflow PreCommit

R: @kileys

@kileys - could you review this PR?


Server Side Error

Describe the bug
dashboard/modules/auto-roles page has a server side error
To Reproduce
Go to the auto role module
Expected behaviour
Page give auto role module
Screenshots

I've checked the logs and it seems to be a strange edge case. Can you try refreshing?

I saw it for a second then it goes right to server side issue

I've deployed a fix in 24d12d5
Let me know if it's still broken


connect core data with calendar

how can fetch(reload) events from core data? where is the code to load events to show?

Hi,
The default controllers provided by the library rely on EventKit to get the events - have a look at MGCDayPlannerEKViewController or MGCMonthPlannerEKViewController.
If you want to use Core Data as a backend, you have to implement your own data source which must adopt MGCDayPlannerViewDataSource protocol (or MGCMonthPlannerViewDataSource, depending on which type of calendar view you're using).

Hi VasilikiSieben ,
Were you able to do it? if so can u share your experience

Hi,
I tried use Core Data as s backend, but I am not finished yet.
I wanted to ask you if it is necessary for your library to ask user permission to calendar?It is able to use it without access to calendar?

Only if you use EventKit do you have to request access to calendar. Thus this is implemented only in MGCDayPlannerEKViewController and MGCMonthPlannerEKViewController dedicated controllers.


Add Analyticdb vectorstore integration

feat:  add AnalyticDB vectorstore integration
docs: add AnalyticDB docs and examples
Update yarn.lock.
AnalyticDB uses the pg-copy-streams library to utilize the pg copy command and add vectors quickly.
Add integration tests

Thank you!

Sweet, thank you!
Is this good to go?

Hey @seth-25 made a few updates in response to other changes in main - can you confirm everything looks ok?

Hey @seth-25 made a few updates in response to other changes in main - can you confirm everything looks ok?

I have updated it, thank you for carefully checking it.

Hey @seth-25 made a few updates in response to other changes in main - can you confirm everything looks ok?

I have updated it, thank you for carefully checking it. Everything looks ok.

Ok great! Will get it in tonight's release.


Code returns inconsistent results with CGAL 5.5

When compiling the code with GCC and CGAL 5.5, we get wrong results from CGAL::join and sometimes segmentation faults from deep within CGAL. We should extract the corresponding instances and write a minimal piece of code to reproduce this error. If we cannot do this, the bug is probably from our side. If we can do it, it may actually be a CGAL bug and we should fill out a bug report.
Additionally, make sure that if the system provides CGAL, still the conan version is used.

Yes, this is about what we have seen with that version of CGAL.
Are we sure this is a bug in CGAL? Other than a potential bug in CGAL, do you see any reason why our code would exhibit this behavior, i.e., because it inputs incorrect things into CGAL?

I do not see any reason why it would be a bug in our code. I could not find any pattern on the cases when it happens to build a small example, though. However, it happens on every execution of the problematic files.

I just asked Efi and he suggested to try Tag_false  in cgal::join as in this file.

Ah - but does he think that this behavior is working as intended?

With this I get a  'the union of the polygons leaves uncovered some area of volume<PHONE_NUMBER>56746 at or near point (1289.8, 1191.5)'. With the original version I could recreate the segmentation fault on Mac (intel).
Efi thinks it is a bug: The new code is more efficient but not as well tested.
I will try to create a simple pure C++-example for debugging for him.

The following C++-code results in a segmentation fault with CGAL 5.5 cgal_problem.cpp.zip. It essentially converts the solution directly to a vector of cgal polygons without  any further dependencies.

I think that even on the version of CGAL used by pyutils23, the problem still exists, even if it is more rare. I'm attaching a solution that gives a segmentation fault, and I believe it is a valid solution. Using Polygon_set_2::join seems to solve the problem.
cheese4951.segfault.sol.zip

That would be surprising: If I remember correctly, Efi told me that the old join is thoroughly tested.
We will take a look into this, but it may take some days.

So, maybe the problem is somewhere else and deserves a separate issue. All, I know is that when I test this solutions with pyutils23, I consistently get a segmentation fault (could be anywhere).

I would prefer it to be our fault, because than it is easier to fix. 😅
But it would be odd if exchanging the join suddenly makes it work. Have to look at it in the debugger.

That's surprising. I test it with:
#!/usr/bin/python3

from cgshop2023_pyutils import InstanceDatabase, read_solution, verify
import sys

idb = InstanceDatabase("/home/fonseca/Documents/src/socg23challenge/instances/")
solution = read_solution(sys.argv[1])
instance = idb[solution["instance"]]

err_msg = verify(instance, solution)
if err_msg:
    print(sys.argv[1],"SOLUTION INVALID:", err_msg)

Looks solid. Even under debug builds, it still works for me. There are, however, a few sanitizer warnings from the undefined behavior sanitizer that look like some sort of type confusion within CGAL/Surface_sweep_2/Arr_no_intersection_insertion_ss_visitor.h (or may be false positives, though I'm not sure what would cause such false positives). Are you absolutely sure that you built against the 5.3.2 version of CGAL, or is there even a slight chance that somehow, the newer headers ended up being the ones dragged in for some reason?

I have no idea which version of CGAL is used. How can I find out? I simply ran
pip install cgshop2023-pyutils
as a normal user on a Fedora machine without any CGAL installed system-wide.

@gfonsecabr You can kinda do a debug build as follows: Pull the latest version of the repository. There is some minor change to the way cmake looks up find modules, which should make a CMake build of the C++ side easier. Create a build directory in the top-level directory of the repository, e.g., called 'cmake-build-debug' or so, and enter it. Execute 'conan install .. -s build_type=Debug --build=missing' in it. Then execute 'cmake -DCMAKE_BUILD_TYPE=Debug ..' in it, followed by 'cmake --build .' This should produce a debug build in the build directory; the tricky part is (temporarily) replacing the installed version of the C++ module by the debug version to test it/be able to see where the problem occurs. For that, you'd have to find the installation location of the package you installed (probably in some conda environment).

I've tried to reproduce on linux with GCC 12 (unfortunately, i only have 12.1 not 12.2...); still no luck. The instance verifies just fine. I guess you already tried to reinstall the package?

Even with CGAL 5.5 and UsePolylines = CGAL::Tag_false, we sometimes have segfaults on our testing machine (rtx01); whether a segfault occurs or not depends, among other things, on debug vs. release mode.
Unless CGAL identifies the problem and publishes a fixed version, the only thing I see we could do is to reimplement CGAL::difference (using arrangements?) ourselves.

The implementation of 2D Boolean ops of CGAL depends on the 2D Arrangement package of CGAL.
The Polygon_set_2 template in particular is based on the Arrangement_2<GeometryTraits, DCEL> template, where the GeometryTraits template parameter is substituted with an instance of the Arr_segment_traits_2<> template; it means that the arrangement is induced by segments. In the free operations case (CGAL::join(), CGAL::intersection(), etc), on the other hand, the geometry traits is replaced by an instance of the Arr_polyline_traits_2<> by default. This behavior can be overridden using the UsePolylines flag (as mentioned above) to fall back to using segments.  The switch to using polylines by default was done a couple of years ago, and it hasn't gained a lot of millage I guess. Also, the code that handles polylines is much more complicated. Dominik has sent to me a test case that fails with the default (that is polylines) and I was able to reproduce it.
If you have something concrete that fails with segments, I'll be happy to try and reproduce myself.

Did you test if doing a random permutation of the input set of polygons changes anything?

Not sure whether you referred the question to me; in case you did, I haven't tested anything with segments yes.
I've downloaded the cheese528 bad solution file posted in this thread, but I need to add some code to try it out.
BW, thank you for the contest; it was delightful!
In my program I only saved the coordinates as numerators and denominators and each as a string.
Please refer to me the code that parses solution json files that also reads a coordinates represented as a single integral number, or as a numerator and denumerator, each as integral number.
While at it, conceptually, an integral number can be larger than 64 bits, so using strings guarantees correctness, for example:
    using NT = CGAL::Gmpq;
    using Kernel = CGAL::Cartesian<NT>;
    ....
    auto ratx = json_data["x"];
    std::string xnum_str = ratx["num"];
    std::string xden_str = ratx["den"];
    std::string x_str = xnum_str + "/" + xden_str;
    NT x(x_str);

Last thing, I don't understand the output of the sanitizer (perhaps I need to read it again), but the last line contains '~Gps_on_surface_base_2'. So just for laughs, can you please comment out the body of this destructor and try again...

I mean that a possible work around for the contest could be doing a random permutation of the solution polygons. This would be very likely to work if the polygons are added one by one and their union is updated. With the current join function that computes the union of many polygons, it depends a lot on the algorithm used (the order shouldn't change anything if a sweep line approach is used internally), but I believe that the join function with iterators is only a shortcut to apply join many times.

Right, just a shortcut.
Under the hood, a Boolean op on two polygons translates to the application
of the overlay() function on the two 2D-arrangements that represent the two
input polygons, respectively.
For a set of n polygons, overlay is applied n-1 times (not necessarily
sequentially).

/_____/) o    /_________  __  //
(____ (   (    (    (/ (/-(-'_(/
_/
On Sun, 29 Jan 2023 at 17:09, Guilherme D. da Fonseca <
@.***> wrote:

I mean that a possible work around for the contest could be doing a random
permutation of the solution polygons. This would be very likely to work if
the polygons are added one by one and their union is updated. With the
current join function that computes the union of many polygons, it depends
a lot on the algorithm used (the order shouldn't change anything if a sweep
line approach is used internally), but I believe that the join function
with iterators is only a shortcut to apply join many times.
—
Reply to this email directly, view it on GitHub
https://github.com/CG-SHOP/pyutils23/issues/3#issuecomment-1407688947,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABVBNOBWYBCE4ORIHOWBFG3WU2B2BANCNFSM6AAAAAARMJMLCU
.
You are receiving this because you commented.Message ID:
@.***>

Using a random permutation, we were able to verify one of the submissions. The other four submissions still make problems after very many shuffles. Also tried working with Debug-compilation mode.

@efifogel just filed an issue.

Great! I was lucky to share an office with Efi for the last three months, so he consulted us directly regarding this problem.
Actually, there is also a problem (segmentation fault) with the old  implementation, but it is much more difficult to reproduce. We try to provide a reasonably small example (which will probably still be huge). Maybe there is a relationship between both issues.

what is "huge"?

Well, the solution files for which this happens range between 6-30mb.

You can open an issue here and I'll try to reduce it. You can put the data at https://gist.github.com

Hello, @sloriot has identified the problem and you can find his fix in the PR https://github.com/CGAL/cgal/pull/7243
We would be glad if you gave it a try.
And the next time you encounter a problem with CGAL please file an issue. We consider bug reports as contributions, as only if we learn about a bug we can fix it.

Just to clear things out, this has absolutely nothing to do with the
current issue you are facing.
On Fri, Feb 3, 2023, 16:12 Andreas Fabri @.***> wrote:

Hello, @sloriot https://github.com/sloriot has identified the problem
and you can find his fix in the PR CGAL/cgal#7243
https://github.com/CGAL/cgal/pull/7243
We would be glad if you gave it a try.
And the next time you encounter a problem with CGAL please file an issue.
We consider bug reports as contributions, as only if we learn about a bug
we can fix it.
—
Reply to this email directly, view it on GitHub
https://github.com/CG-SHOP/pyutils23/issues/3#issuecomment-1415925784,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABVBNOENYVV6PDJDHLQZ4EDWVUG3NANCNFSM6AAAAAARMJMLCU
.
You are receiving this because you were mentioned.Message ID:
@.***>

You mean the "fix"  does not fix the problem described in this issue, but only a subproblem you, Efi, filed here?

Exactly, we have been falling back to the old code, which worked for most solutions. However, we still got some rare segmentation faults, apparently within CGAL. Also at least one participant reported similar problems within his own code. However, I already spent some time in trying to track down the origin of the problem and it doesn't make much sense to me so far. The big problem with this bug hunt is, that it is not only extremely rare and system dependent, but it only appeared in complete verification processes which are mixed Python/C++-code (PyBind11) and complex to debug properly (cannot really provide a reproducible example based on that). We may let a student assistant create a pure C++ version, which can then be analyzed easier, but I can imagine that then the bug suddenly does no longer appear. I won't rule out completely that this remaining problem may be a bug on our side, but the segmentation fault is happening within CGAL and we check before that the polygons are all nice and simple.
We will also try to check out the fix by simply letting it run over all submitted solutions, but I don't know how quickly we will find the time (or a competent student assistant) for that.


IDP Connection

I've tried to use this plugin with Github(doesn't work), goAuthentik(doesn't work), Zitadel(doesn't work).
Can you write some instructions how to setup library with any of this IDP, please?

With #52 Github should work for know.
Here is a working configuration for AzureAD (IDP):
CONFIG_HTTP_BASEURL=https://server.example.com
CONFIG_HTTP_CERT=server.example.com.crt
CONFIG_HTTP_KEY=server.example.com.key
CONFIG_HTTP_SECRET=Oovai7lei5eemee4
CONFIG_HTTP_TLS=true
CONFIG_LOG_LEVEL=info
CONFIG_OAUTH2_CLIENT_ID=ID
CONFIG_OAUTH2_CLIENT_SECRET=secret
CONFIG_OAUTH2_ISSUER=https://login.microsoftonline.com/$TENANTID/v2.0
CONFIG_OPENVPN_ADDR=tcp://<IP_ADDRESS>:808
CONFIG_OPENVPN_PASSWORD=password

How can I build your project? And as I saw in your code, there is some using of smth from zitadel, did you test work with it? Maybe there is configuration for it?

@jkroepke or may be you can release new version?

Run make build on root dir
yeah, I'll do

Check: https://github.com/jkroepke/openvpn-auth-oauth2/releases/tag/v1.10.0

Check: https://github.com/jkroepke/openvpn-auth-oauth2/releases/tag/v1.10.0

I have some issues with building package, because of go version trouble
invalid go version '1.21.1': must match format 1.23

See like to local go version is older than go 1.21. Anyways, I remove the patch version

Thank you for help <3
Perhaps in the near future I will help with documentation and examples

Is there opportunity to turn off auth window from vpn client, leave only authorization via the browser?

The auth flow is per connection and always initated by the VPN server client.


Feature requests

Hey, is it possible or can it be possible to implement these two features?

The ability to control the scale manually
Limit the pan to only the width and height of the image

Hey there.
I missed the original GitHub email for this issue. These are things on the roadmap 🙂 I will keep this issue open as a reminder to work on them when I have the time.
Thanks for the suggestion, and I apologise for the delayed attention.

hi no worries at all

hi no worries at all, what's the current roadmap looking like?

It's currently only those two features plus some general codebase improvements.

hi no worries at all, what's the current roadmap looking like?

It's currently only those two features plus some general codebase improvements.

Great! Hope they get implemented soon inchallah


Bug in NixOs

This is an issue found at least in NixOS, the problem are the shebangs in the scripts that the extension uses,
right now the scripts use this shebang: #!/bin/bash but this returns an error as suspected in Issue #44
I revolved my issue was resolve for my system when I changed the shebangs to use sh instead of bash
so for anyone in NixOs  with this issue, this is a workaround.
Just changing the shebang to use sh instead of bash in every bash files of the extension situated in ~/.vscode/extensions/tomrijndorp.find-it-faster-0.0.31/

I think this should be written in known issues for any nixos user


Response "Oops! Response Exception", when chat with knowledgebase

I can successfully chat on chatollama without knowledgebase, but selecting a created knowledgebase(only one PDF file), failed respond:

then:

May I query what chat model you used? As you were already in the chat, I suppose Chromadb was up and running. I will try to reproduce.

It may be a embedding problem. How do I use a locally downloaded embedding

You can go to Models to download an Ollama embedding model. When you create a knowledge base, instead of choosing an embedding model from the drop down list, manually type the Ollama embedding model you'd like to use.

I enter the embedding model name directly. Now it works normally.
thx

I enter the embedding model name directly. Now it works normally. thx

That's good news. :-)


Drop app draft-extensions push

WHY are these changes introduced?
Removes app draft-extensions push as it is no longer required.

WHAT is this pull request doing?

Deletes the command, service, context functions.
How to test your changes?

n/a
Measuring impact
How do we know this change was effective? Please choose one:

[ ] n/a - this doesn't need measurement, e.g. a linting rule or a bug-fix
[x] Existing analytics will cater for this addition
[ ] PR includes analytics changes to measure impact

Checklist

[x] I've considered possible cross-platform impacts (Mac, Linux, Windows)
[x] I've considered possible documentation changes
[x] I've made sure that any changes to dev or deploy have been reflected in the internal flowchart.

🔥


Cannot configure Kafka through java API

Hi,
I want to use a kafka cluster on a cloudfoundry instance (messagehub on bluemix). To configure the service through VCAP_SERVICES, I created a set of ServiceInfo / ServiceInfoCreator and a MessageHubServiceConnectorCreator that extracts the service configuration, registers it as a cloud service and exposes it to the ApplicationContext as a KafkaBinderConfigurationProperties bean.
In a configuration class I have the following method:
    @Bean
    public KafkaBinderConfigurationProperties kafkaConfig() {
        KafkaBinderConfigurationProperties service = connectionFactory()
                .service(messageHubService, KafkaBinderConfigurationProperties.class);
        log.info("using kafka brokers: {}", service.getBrokers());
        return service;
    }

The problem I have is that it doesn't work as it produces the following error message on start:

Field configurationProperties in org.springframework.cloud.stream.binder.kafka.config.KafkaBinderConfiguration required a single bean, but 2 were found:
- spring.cloud.stream.kafka.binder-org.springframework.cloud.stream.binder.kafka.config.KafkaBinderConfigurationProperties: a programmatically registered singleton	- kafkaConfig: defined by method 'kafkaConfig' in class path resource [com/intesens/CloudConfiguration.class]

Is there any way to block the creation of the first KafkaBinderConfigurationProperties bean or to make my bean the sole instance of this type?
I tried marking the bean as @Primary but I get another exception later in the KafkaBinderJaasInitializerListener class where onApplicationEvent will retrieve the first bean and since it has no Jaas Configuration it does not create the temporary jaas file.
Am I even doing this right?

Rather than creating a new KafkaBinderConfigurationProperties  bean - which is likely to clash with the one that Spring Boot creates as a result of the @ConfigurationProperties annotation, it would be simpler just to read the values from VCAP_SERVICES and assign them to Spring Stream properties.
See - http://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/cloud/CloudFoundryVcapEnvironmentPostProcessor.html for details
So application.properties can for instance have something like (for example)
spring.cloud.stream.binder.kafka.brokers=${vcap.services.kafka.etc:localhost}

(largely depends on the VCAP_SERVICES structure)

Indeed, it works much better like this! this is solved for me but some documentation would make it more clear on how to proceed

Sure, thanks for the suggestion!


Make RAND_METHOD opaque

This makes no changes to the public API.
If anyone has written their own RNG we can add the necessary functions to let them do so.  I'm not going to hold my breath expecting that. :)

I don't think we can do this in 1.1.1 - it would have to wait for 1.2.0. BTW - I do believe that people have implemented their own rand implementations.

If you want to use a hardware random number generator then you will have to implement your own RAND implementation. I'm pretty confident that there are such implementations out there.
I am strongly opposed to this. It's a very glaring break in our source code compatibility guarantee which we should not be allowing into 1.1.1.

A bit of searching turned up this:
https://github.com/MicrochipTech/cryptoauth-openssl-engine/blob/master/engine_atecc/engine_meth/eccx08_rand.c#L121

Okay, we’ll have to see if the security argument sways people down the line.
I am still pushing for this

I could envisage a workaround...e.g. an opaque RAND_METHOD2 structure (or something with a better name) that has all the same stuff as RAND_METHOD plus whatever extra. Introduce RAND_set_rand_method_ex() which takes the RAND_METHOD2 instead. Change RAND_set_rand_method() to wrap the provided RAND_METHOD in a RAND_METHOD2 and then call RAND_set_rand_method_ex().

That would work (modulo cleaning up the memory leaks), but is complex.  I prefer to do the clean thing, for security reasons, even if it breaks a couple of chip-maker’s code.

-1
Like it or not, but since struct rand_meth_st is in a public header, it's part of the public API.  It doesn't matter if it's undocumented.
On the other hand, this is perfectly acceptable for 1.2.0.  Please label it accordingly.

Just another example (this time it looks like a software implementation - not a chip manufacturer):
https://github.com/heimdal/heimdal/blob/master/lib/hcrypto/rand-fortuna.c#L626

I am not going to hold/label it until we see how important it is for other RNG work; and then we’ll take it to an OMC vote.

Just for the record, I agree with Matt and Richard that we should
not change the public header in 1.1.1.

@richsalz, this is not a matter of a vote, it's a matter of policy that we have already voted on.  See the release strategy.

Many people have written their own RNG implementation! This should go opaque but that has to wait for 1.2.0 - this is in the API.
-1

The question is whether the security issue, which we won’t know yet, trumps it.

It doesn't.

Okay, clearly the team is opposed.  I'll move this to HOLD/1.2.0 now here's hoping you'll look at my other RAND-related PR's.

In s2n, we wrote our own rand, and we over-ride OpenSSLs, so that it's what's used when we call OpenSSL for ECDSA, DH, etc.
https://github.com/awslabs/s2n/blob/master/utils/s2n_random.c

Thanks.  I looked at the DRBG code.  It’s interesting.

I've done a RAND engine to wrap our entropy source.  Changing to a new API wouldn't be an issue for me though.
I did wonder why the other engine structures were hidden but not this.

We missed a few and now we’re stuck until 1.2.0

@paulidale, I believe the drive for opacity was driven quite a lot from a EVP and X509 perspective.  RAND is kind of a side-kick from that point of view (not trying to say that RAND is unimportant, quite the contrary!  but it doesn't hold a space in the EVP and X509 modules)...

We goofed and missed it.  We really wanted to make everything opaque, but knew we wouldn’t succeed.

Closing this, and instead opened issue #6829 to capture the idea.


AlgodClient.Metrics returns NotSupportedException

NotSupportedException: Cannot decode 146 bytes of content type None

This is related to the support of this endpoint with various nodes. Handling message returns that aren't exactly the type of the return type should be done.


Using old version of babel

MUI current version isnt compatible with current babel runtime version.

[ x ] This is not a v0.x issue.
[ x ] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior
Install MUI and it works fine without crashes
Current Behavior
Install MUI that requires babel runtime is ok, but MUI requires interopRequireDefault from babel, but It was removed the builtin helpers since v7.0.0-beta.56 as I found here: https://github.com/jquense/yup/issues/216
Steps to Reproduce
npm install @material-ui/core
npm install @babel/runtime
brings the error<EMAIL_ADDRESS>Module build failed: Error: ENOENT: no such file or directory, open<EMAIL_ADDRESS>Link:
1.https://github.com/jquense/yup/issues/216
Context
I try to update my MUI version because of a bug in the select component and get the error.
Your Environment

Tech
Version

Material-UI
v1.5.1

React
16.4

Browser
Chrome Versão 69.0.3497.100

TypeScript
es6

etc.

@Alecell It was fixed in v3. Try using the latest version.


chore(techdocs-common, techdocs-backend): Refactor TechDocs logging

Hey, I just made a Pull Request!

This PR is focused on refactoring the log msgs that get printed out for TechDocs, specifically to improve troubleshooting across prepare, generate, and publishing.
Note, I did this to do some troubleshooting, and I do believe I've identified a logic bug in the prepare loop, which if you agree likely should be spun up as a new issue.  But the logs help bring it into more clarity.
Given an entity like http://localhost:3000/docs/default/Component/backstage , with LOG=LEVEL=debug turned on...
Logging Before
Totally clean cache:
2021-03-04T19:27:18.373Z techdocs info Reading files from https://github.com/backstage/backstage type=plugin
2021-03-04T19:27:55.159Z techdocs info Tree downloaded and stored at /tmp/backstage-tkxp5x type=plugin
2021-03-04T19:27:55.160Z techdocs info TechDocs prepare step completed for entity Component:default:backstage. type=plugin
2021-03-04T19:27:55.160Z techdocs debug Prepared files temporarily stored at /tmp/backstage-tkxp5x type=plugin
2021-03-04T19:27:55.160Z techdocs info Running generator on entity Component:default:backstage type=plugin
2021-03-04T19:28:03.449Z techdocs info Successfully generated docs from /tmp/backstage-tkxp5x into /tmp/techdocs-tmp-eO769z using techdocs-container type=plugin
2021-03-04T19:28:03.452Z techdocs debug Generated files temporarily stored at /tmp/techdocs-tmp-eO769z type=plugin
2021-03-04T19:28:03.452Z techdocs debug Removing prepared directory /tmp/backstage-tkxp5x since the site has been generated. type=plugin
2021-03-04T19:28:03.452Z techdocs info Running publisher on entity Component:default:backstage type=plugin
2021-03-04T19:28:03.915Z techdocs info Published site stored at /home/user/github/backstage/plugins/techdocs-backend/static/docs/default/Component/backstage type=plugin
2021-03-04T19:28:03.915Z techdocs debug Removing generated directory /tmp/techdocs-tmp-eO769z since the site has been published type=plugin
2021-03-04T19:28:04.033Z techdocs info Reading files from https://github.com/backstage/backstage type=plugin
2021-03-04T19:28:04.359Z techdocs debug Cache is valid for etag 10f5ded75371584895706c7de41e5d0a81b3f63d type=plugin

After clean generation, refresh of the same page again:
2021-03-04T19:28:57.871Z techdocs info Reading files from https://github.com/backstage/backstage type=plugin
2021-03-04T19:28:58.190Z techdocs debug Cache is valid for etag 10f5ded75371584895706c7de41e5d0a81b3f63d type=plugin
2021-03-04T19:28:58.278Z techdocs info Reading files from https://github.com/backstage/backstage type=plugin
2021-03-04T19:28:58.465Z techdocs debug Cache is valid for etag 10f5ded75371584895706c7de41e5d0a81b3f63d type=plugin

New & Improved Logging
Totally clean cache:
2021-03-04T19:02:09.885Z techdocs info Step 1 of 3: Preparing docs for entity Component:default/backstage type=plugin
2021-03-04T19:02:09.886Z techdocs debug Reading files from https://github.com/backstage/backstage type=plugin
2021-03-04T19:02:49.672Z techdocs debug Tree downloaded and stored at /tmp/backstage-YNHAwf type=plugin
2021-03-04T19:02:49.673Z techdocs info Prepare step completed for entity Component:default/backstage, stored at /tmp/backstage-YNHAwf type=plugin
...
2021-03-04T19:02:49.673Z techdocs info Step 2 of 3: Generating docs for entity Component:default/backstage type=plugin
2021-03-04T19:02:59.769Z techdocs info Successfully generated docs from /tmp/backstage-YNHAwf into /tmp/techdocs-tmp-ri1t8z using techdocs-container type=plugin
2021-03-04T19:02:59.772Z techdocs debug Removing prepared directory /tmp/backstage-YNHAwf since the site has been generated type=plugin
...
2021-03-04T19:02:59.772Z techdocs info Step 3 of 3: Publishing docs for entity Component:default/backstage type=plugin
2021-03-04T19:03:00.162Z techdocs info Published site stored at /home/user/github/backstage/plugins/techdocs-backend/static/docs/default/Component/backstage type=plugin
2021-03-04T19:03:00.163Z techdocs debug Removing generated directory /tmp/techdocs-tmp-ri1t8z since the site has been published type=plugin
...
2021-03-04T19:03:00.270Z techdocs info Step 1 of 3: Preparing docs for entity Component:default/backstage type=plugin
2021-03-04T19:03:00.270Z techdocs debug Reading files from https://github.com/backstage/backstage type=plugin
2021-03-04T19:03:00.554Z techdocs debug Cache is valid for etag 10f5ded75371584895706c7de41e5d0a81b3f63d type=plugin
2021-03-04T19:03:00.554Z techdocs debug Docs for Component:default/backstage are unmodified. Using cache, skipping generate and prepare type=plugin

After clean generation, refresh of the same page again:
2021-03-04T19:03:56.285Z techdocs info Step 1 of 3: Preparing docs for entity Component:default/backstage type=plugin
2021-03-04T19:03:56.285Z techdocs debug Reading files from https://github.com/backstage/backstage type=plugin
2021-03-04T19:03:56.634Z techdocs debug Cache is valid for etag 10f5ded75371584895706c7de41e5d0a81b3f63d type=plugin
2021-03-04T19:03:56.634Z techdocs debug Docs for Component:default/backstage are unmodified. Using cache, skipping generate and prepare type=plugin
...
2021-03-04T19:03:56.723Z techdocs info Step 1 of 3: Preparing docs for entity Component:default/backstage type=plugin
2021-03-04T19:03:56.723Z techdocs debug Reading files from https://github.com/backstage/backstage type=plugin
2021-03-04T19:03:56.909Z techdocs debug Cache is valid for etag 10f5ded75371584895706c7de41e5d0a81b3f63d type=plugin
2021-03-04T19:03:56.910Z techdocs debug Docs for Component:default/backstage are unmodified. Using cache, skipping generate and prepare type=plugin

:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)

Tugboat has finished building the preview for this pull request!
Link:

https://pr4818-wwtyjpinsfipje3ctjil9qjxjvlyr6l0.tugboat.qa

Dashboard:

https://dashboard.tugboat.qa/604135b365f8173fe4023205


Powers-Sumner-Kearl

See https://github.com/ghoulmann/py-readability-statistics/blob/master/web/cgi-bin/web_readability.py#L138

Something like
(0.0778 * self.avg_sentence_length(text)) + .0455 * (100 * (self.syllable_count(text)/self.lexicon_count(text))) - 2.2029`
?


Dismiss click passes event through and causes Modal to close incorrectly

ISSUE
When a Modal is rendered using HeadlessUI React, and a toast is dismissed manually by clicking on the X button, it causes the modal to close as well.
DEMO
Codesandbox: https://codesandbox.io/s/react-hot-toast-headlessui-modal-2c9t27?file=/src/Modal.js
STEPS TO REPRODUCE

Click "Open Modal" button
Click button to trigger toast
Click X button on toast to dismiss it
Both toast AND modal will close. The onClose handler on the Modal is being called, and this seems like a bug

EXPECTED BEHAVIOR
Only the toast should close, NOT the modal.
Using React 17 and the latest version of react-hot-toast.
May or may not be related to #164

I created this example of an accessible modal dialog that works with libraries like react-hot-toast using Ariakit:
https://ariakit.org/examples/dialog-react-toastify


Template panic is shown to user in production mode

Gitea version (or commit ref): 1.14.0+dev-605-gd2ea21d0d

Description
Panic message from template should not be shown to end-user in production mode, we should recover and try to render nice 500 page, alternatively if that also fails just send empty content with 500.

Bumping since no labels were assigned. I really don't think full panic message should be shown to user in production mode, in very rare cases it can expose some details that should not be,

Agreed it needs sorting.
Sorry it was missed - personally I have 960 notifications in my GitHub notification list, have recently broken my hand and none of us paid to work on Gitea.
Now I know about it I'll take a look at it.
(If you happen to know the other issue number that was initially regarding writeheader could you link it here for me and I'll get that closed at the same time.)


Simplify calculating PageWrapper components size and placement based on Navbar

Navbars width is always one hard value, 250px,  so we should be using the calc function inside a css file, or using components style prop like in the example image below.

We would no longer need size.js, unless there is something I haven't seen using it.

I think this should all be moved towards scss. We can store these as variables in a "global-like" scss file, and then import into others and use.


Faulty behaviour in UniqueID AD UserStoreManager when transformObjectGUIDToUUID is false

Describe the issue:
When setting user claim values using the AbstractUserStoreManager#setUserClaimValues method, the userId for the given username is retrieved using the UniqueIDReadOnlyLDAPUserStoreManager#doGetUserListFromPropertiesWithID method. Before returning the userId, we consider the transformObjectGuidToUuid property [1] and convert the retrieved objectGuid from the AD to UUID format. If this property is set to false, the userId returned from this method will be the objectGuid which is in the binary format (not in the UUID format).
Therefore later in the setUserClaimValues method when we call the doSetUserAttributesWithID method [2], the passed userId will be the objectGuid in the binary format. If objectGuid attribute is added as a binary attribute at AD configs, then the if condition at [3] will be true and the transformUUIDToObjectGUID method will be called. It will cause errors since the userId is already in objectGuid format and an error will be thrown saying Invalid UUID string.
Since transformUUIDToObjectGUID method is needed only when the objectGuid was earlier transformed to UUID, when the transformObjectGUIDToUUID config is false, we should not run that method. Therefore we should additionally check for the transformObjectGUIDToUUID config at [3] before running the transformUUIDToObjectGUID method.
We have also identified on UniqueIDReadOnlyLDAPUserStoreManager#doGetUserListFromPropertiesWithID that a Base64 encoded User ID string won't get properly decoded because isGUIDvalue [4] [5] is looking for a UUID string format. If you provide a Base64 encoded string as the User ID (as transformObjectGUIDToUUID is false) it won't get inside [6] to properly decode at [7]; sending the wrong GUID data to Active Directory.
A nice fix would be to change the OBJECT_GUID_PATTERN regex pattern on compilation depending on the value of the transformObjectGUIDToUUID property. Deciding whether to check for a Base64 or a UUID string:
    private boolean getTransformObjectGuidToUuidValue() {
        final String propertyValue = realmConfig.getUserStoreProperty(TRANSFORM_OBJECTGUID_TO_UUID);
        return (propertyValue == null || propertyValue.isBlank()) || Boolean.parseBoolean(propertyValue);
    }

    protected boolean isGUIDValue(String value) {
//        UUID_REGEX = "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$";
//        BASE64_STRING_REGEX = "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$";
        if (value != null && value.length() > 0) {
            final Pattern pattern = getTransformObjectGuidToUuidValue() ? UUID_PATTERN : BASE64_STRING_PATTERN;
            final Matcher matcher = pattern.matcher(value);
            return matcher.find();
        }
        return false;
    }

How to reproduce:

Setup an Active Directory User Store and add it to the Identity Server as a Primary User Store
Set transformObjectGUIDToUUID=false for this User Store
If on <IP_ADDRESS> you may find a NullPointerException due to the username not getting retrieved with the user ID given [8] – also showing the issue with isGUIDValue.
From the Management Console, try to change a user's claim value

Expected behavior:
The Identity Server should save and retrieve user attributes regardless of the User ID format.
Environment information:

Product Version: IS 5.11.0
Userstore: Active Directory

[1] https://github.com/wso2/carbon-kernel/blob/v4.6.1/core/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/ldap/UniqueIDReadOnlyLDAPUserStoreManager.java#L1369
[2] https://github.com/wso2/carbon-kernel/blob/v4.6.1/core/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/ldap/UniqueIDActiveDirectoryUserStoreManager.java#L751
[3] https://github.com/wso2/carbon-kernel/blob/v4.6.1/core/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/ldap/UniqueIDActiveDirectoryUserStoreManager.java#L764
[4] https://github.com/wso2/carbon-kernel/blob/v4.6.1/core/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/ldap/ReadOnlyLDAPUserStoreManager.java#L116C2-L117C90
[5] https://github.com/wso2/carbon-kernel/blob/v4.6.1/core/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/ldap/ReadOnlyLDAPUserStoreManager.java#L4760-L4767
[6] https://github.com/wso2/carbon-kernel/blob/v4.6.1/core/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/ldap/ReadOnlyLDAPUserStoreManager.java#L2789
[7] https://github.com/wso2/carbon-kernel/blob/v4.6.1/core/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/ldap/UniqueIDReadOnlyLDAPUserStoreManager.java#L1303-L1304
[8] https://github.com/wso2/carbon-kernel/blob/v4.6.1/core/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/common/AbstractUserStoreManager.java#L12092

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Cannot register plugin

Hi Sébastien,
I'm trying to implement a plugin for attocube hardware but run fairly early into troubles trying to install a plugin.
The plugin_manager chokes on a NoneType when trying to load the freshly installed plugin (from your template).
Printing "d" from pymodaq_plugin_manager/validate.py, line 120, I get :
{'plugin-name': 'pymodaq_plugins', 'display-name': 'Default', 'version': '3.0.2', 'id': '52000a1191dbf8e9903708b77ac3fa82a3c41d91af328ad5d0362c4d449cdebe', 'repository': 'https://github.com/CEMES-CNRS/pymodaq_plugins/archive/3.0.1.tar.gz', 'description': 'Plugins initially developed with PyMoDAQ\r\nIncludes Mock plugins that are plugins of virtual instruments dedicated to code testing a new functionalities development. The list of included plugins can be found on https://docs.google.com/spreadsheets/d/1wfMfvLwTitZd2R2m1O5i6wVEaX1lJBahP2HUbxVdidg', 'instruments': {'Actuator': ['Mock actuator to test PyMoDAQ functionnalities', 'TCP server to communicate with other DAQ_Move or third party applications'], 'Viewer0D': ['Mock detector to test PyMoDAQ functionnalities', 'Mock detector to test PyMoDAQ adaptive scan mode', 'TCP server to communicate with other DAQ_Viewer or third party applications'], 'Viewer1D': ['Mock detector to test PyMoDAQ functionnalities', 'Mock detector to test pymodaq_spectro functionalities', 'TCP server to communicate with other DAQ_Viewer or third party applications'], 'Viewer2D': ['Mock detector to test PyMoDAQ functionnalities', 'TCP server to communicate with other DAQ_Viewer or third party applications'], 'ViewerND': ['Mock actuator to test PyMoDAQ functionnalities']}, 'authors': ['Sebastien Weber'], 'contributors': [], 'homepage': 'https://github.com/CEMES-CNRS/pymodaq_plugins'}
{'plugin-name': 'pymodaq_plugins_thorlabs', 'display-name': 'Thorlabs Instruments', 'version': '0.0.1', 'id': '562ef6ea46d9dc326db4448a8e314b815d363f1edcca4eeb6434d36ba8654d76', 'repository': 'https://github.com/CEMES-CNRS/pymodaq_plugins_thorlabs/archive/0.0.1.tar.gz', 'description': 'Set of PyMoDAQ plugins for instruments from Thorlabs (Kinesis K10CR1 (stepper rotation actuator), Kinesis Flipper, Kinesis KSP100...)', 'instruments': {'Actuator': ['Kinesis serie (tested on K10CR1 and Flipper)'], 'Viewer0D': ['Kinesis KPA101 Position Sensing Detector']}, 'authors': ['Sebastien Weber'], 'contributors': [], 'homepage': 'https://github.com/CEMES-CNRS/pymodaq_plugins_thorlabs'}
{'plugin-name': 'pymodaq_plugins_smaract', 'display-name': 'Smaract', 'version': '0.0.1', 'id': 'eb8c349bb16aa8c538b10617fb0af5bd8562c3f24e28a5c2a0f92e12fcdec18c', 'repository': 'https://github.com/CEMES-CNRS/pymodaq_plugins_smaract/archive/0.0.1.tar.gz', 'description': 'Set of PyMoDAQ plugins for Actuators from Smaract (MCS_controller, ...)', 'instruments': {'Actuator': ['Actuators driven using the MCS controller and its library']}, 'authors': ['David Bresteau'], 'contributors': [], 'homepage': 'https://github.com/CEMES-CNRS/pymodaq_plugins_smaract'}
{'plugin-name': 'pymodaq_plugins_andor', 'display-name': 'Andor', 'version': '0.0.1', 'id': '9f2ce447a5a400e3c9457877d1cc9e138906e053344d2b4c3bb3aa20e7de033a', 'repository': 'https://github.com/CEMES-CNRS/pymodaq_plugins_andor/archive/0.0.1.tar.gz', 'description': 'Set of PyMoDAQ plugins for Andor Camera (CCD camera using SDK2, SCMOS cameras using SDK3...)', 'instruments': {'Viewer1D': ['Shamrock series of spectrometer using the Andor CCD cameras'], 'Viewer2D': ['Andor CCD camera using the SDK2']}, 'authors': ['Sebastien Weber'], 'contributors': [], 'homepage': 'https://github.com/CEMES-CNRS/pymodaq_plugins_andor'}
None
Traceback (most recent call last):
  File "/home/shermelin/Documents/projets/035_pymodaq/venv/lib/python3.8/site-packages/pymodaq/dashboard.py", line 288, in start_plugin_manager
    self.plugin_manager = PluginManager(widget)
  File "/home/shermelin/Documents/projets/035_pymodaq/venv/lib/python3.8/site-packages/pymodaq_plugin_manager/manager.py", line 114, in __init__
    self.plugins_available, self.plugins_installed, self.plugins_update = get_plugins()
  File "/home/shermelin/Documents/projets/035_pymodaq/venv/lib/python3.8/site-packages/pymodaq_plugin_manager/validate.py", line 122, in get_plugins
    d.update(plug)
AttributeError: 'NoneType' object has no attribute 'update'

There is obviously something missing from the template plugin I just installed, but cannot find what... any help?
Thanks

Hello,
the new plugins have to be added in the plugin_manager internal data list for the install using this method to work. The easiest if you're already developer is to install it manually and in editable mode. In an activated environment, cd to the location of the setup.py of you plugin and type in the console:  pip install -e . This will install it. If no error during loading it should then appear in the list in the DAQ_Move GUI.
Once you're happy with your plugin, please let me know and we will add it to the plugin_manager list !
Regards

THANKS! I was installing with python setup.py install which obviously does not do the exact same job....
I did not know editable mode. You just made my life much easier! thanks!