set default encoding of written files to UTF-8, added ability to pass custom file encoding

Fixes https://github.com/SCons/scons/issues/4302
Contributor Checklist:

[x] I have created a new test or updated the unit tests to cover the new/changed functionality.
[x] I have updated CHANGES.txt (and read the README.rst)
[x] I have updated the appropriate documentation

Good work!
Please add a blurb to RELEASE.txt as well and address the couple comments and we should able to merge this quickly. (assuming no other regressions fail).

No interest in holding this up, but there are other places in the code where we also see this wanrning:
SCons/Tool/textfile.py:122:22: W1514: Using open without explicitly specifying an encoding (unspecified-encoding)

So, just wanted to point out that limiting the construction var to textfile might or might not end up being the preferred approach long-term.

No interest in holding this up, but there are other places in the code where we also see this wanrning:
SCons/Tool/textfile.py:122:22: W1514: Using open without explicitly specifying an encoding (unspecified-encoding)

So, just wanted to point out that limiting the construction var to textfile might or might not end up being the preferred approach long-term.

Sure.
But since this change only affects textfile, the prefix should be ok.
Please if we add a global default (which affects all builders in an environment), then textfile could default to that if TEXTFILE_FILE_ENCODING isn't set, and additionally it may make sense for some to set such explicitly per text file. (Multi-language text distributions?)

The changed test fails on linux and macos..

Never mind on changing variable name. I have local updates to this PR I'll push in a few.

The changed test fails on linux and macos..

Macos fails on tests independent to this change as far as I can see (test/ninja/ninja_handle_control_c_rebuild.py, test/ninja/shutdown_scons_daemon.py).
I can't reproduce failing of linux tests locally because all tests explode under WSL for me.
@bdbaddog  do I need to push anything after your patch?

The changed test fails on linux and macos..

Macos fails on tests independent to this change as far as I can see (test/ninja/ninja_handle_control_c_rebuild.py, test/ninja/shutdown_scons_daemon.py). I can't reproduce failing of linux tests locally because all tests explode under WSL for me.
@bdbaddog do I need to push anything after your patch?

Your test failed on linux and macos. (Not just that the test suite had any failures).
No need to change after my patch.
It looks like you forgot to commit/change the fixture's SConstruct to include the utf-8 only legal character.
After adding that the test now passes on all tested platforms.

Great, thanks!

Ideally we'd add a test for a non-default (not utf-8) target file as well. To ensure that setting FILE_ENCODING propagates and affects the written target file.
I'm not sure how best to do that though.
Are you familiar with any non-utf-8 encodings which would be reasonable to test?

Cyrillic symbols cp1251 encoding. Or japanese encodings though for them I can't give you names or examples.

Hmmm. could set it to ascii and then try to write the same data and expect a failure/exception..


Remove unneccesary cellId partition key in CosmosDB for cell geolocation

It is sufficient to use the item ID as the unique key.

Fixed via #593


Support array matcher in query strings [FFI]

I'm trying to setup an array matcher on a repeated query string value, but I always end up with the following error:
Expected query parameter 'catId' with 1 value(s) but received 2 value(s)

It's currently part of a semi-regression suite we run in Pact JS. I've ported the beta branch legacy interface to use the rust core, so that most users should be able to just upgrade without having to modify all of their tests.
The setup looks a bit like this:
const catsListRequest = {
  uponReceiving: 'a request for cats with given catId',
  withRequest: {
    method: 'GET',
    path: '/cats',
    query: {
      'catId[]': Matchers.eachLike('1'),
    },
    headers: {
      Accept: 'application/json',
    },
  },
};

This would produce a query matcher in JSON  format as follows:
{
  "catId": {
    "value": ["1"],
    "pact:matcher:type": "type",
    "min": 1
  }
}

The request being sent is GET /cats?catId[]=2&catId[]=3.
What I've tried

Different array parameter syntax - both the catId=1&catId=2... syntax as well as the rails array syntax catId[]=1&catId[]=2... yield the same result
Using the standard type matcher, rather than an array matcher (it looks like query params are always treated as arrays, so I suspected maybe that interfered with the matching rule logic)
All combinations of 1 and 2

Debug logs:
[2022-07-07T07:10:31Z DEBUG pact_ffi::mock_server::bodies] Path = $.catId[0]
[2022-07-07T07:10:31Z DEBUG pact_ffi::mock_server::bodies] detected pact:matcher:type, will configure a matcher
[2022-07-07T07:10:31Z DEBUG pact_ffi::mock_server::bodies] Path = $.catId[0]
[2022-07-07T07:10:31Z DEBUG pact_ffi::mock_server::bodies] Path = $
[2022-07-07T07:10:31Z DEBUG pact_ffi::mock_server::bodies] Path = $[0]
[2022-07-07T07:10:31Z DEBUG pact_ffi::mock_server::bodies] Configuring a normal object
[2022-07-07 07:10:31.961 +0000] INFO (85377 on SB-AS-G7GM9F7<EMAIL_ADDRESS>Setting up Pact with Consumer "Jest-Consumer-Example" and Provider "Jest-Provider-Example"
        using mock service on Port: "50801"

[2022-07-07 07:10:31.962 +0000] DEBUG (85377 on SB-AS-G7GM9F7<EMAIL_ADDRESS>mock service started on port: 50801

 RUNS  __tests__/index.spec.js
[2022-07-07T07:10:31Z DEBUG hyper::proto::h1::io] parsed 4 headers
[2022-07-07T07:10:31Z DEBUG hyper::proto::h1::conn] incoming body is empty
[2022-07-07T07:10:31Z DEBUG pact_mock_server::hyper_server] Creating pact request from hyper request
[2022-07-07T07:10:31Z DEBUG pact_mock_server::hyper_server] Extracting query from uri /cats?catId=2&catId=3
[2022-07-07T07:10:31Z INFO  pact_mock_server::hyper_server] Received request HTTP Request ( method: GET, path: /cats, query: Some({"catId": ["2", "3"]}), headers: Some({"connection": ["close"], "accept": ["application/json"], "host": ["<IP_ADDRESS>:50801"], "user-agent": ["axios/0.21.4"]}), body: Empty )
[2022-07-07T07:10:31Z INFO  pact_matching] comparing to expected HTTP Request ( method: GET, path: /cats, query: Some({"catId": ["[\"1\"]"]}), headers: Some({"Accept": ["application/json"]}), body: Missing )
[2022-07-07T07:10:31Z DEBUG pact_matching]      body: ''
[2022-07-07T07:10:31Z DEBUG pact_matching]      matching_rules: MatchingRules { rules: {HEADER: MatchingRuleCategory { name: HEADER, rules: {} }, QUERY: MatchingRuleCategory { name: QUERY, rules: {DocPath { path_tokens: [Root, Field("catId"), Index(0)], expr: "$.catId[0]" }: RuleList { rules: [MinType(1)], rule_logic: And, cascaded: false }} }, PATH: MatchingRuleCategory { name: PATH, rules: {} }} }
[2022-07-07T07:10:31Z DEBUG pact_matching]      generators: Generators { categories: {} }
[2022-07-07T07:10:31Z DEBUG pact_matching::matchers] String -> String: comparing '/cats' to '/cats' using Equality (false)
[2022-07-07T07:10:31Z DEBUG pact_matching] expected content type = '*/*', actual content type = '*/*'
[2022-07-07T07:10:31Z DEBUG pact_matching] content type header matcher = 'RuleList { rules: [], rule_logic: And, cascaded: false }'
[2022-07-07T07:10:31Z DEBUG pact_matching::matchers] String -> String: comparing '["1"]' to '2' using MinType(1) (false)
[2022-07-07T07:10:31Z DEBUG pact_matching] --> Mismatches: [QueryMismatch { parameter: "catId", expected: "[\"[\\\"1\\\"]\"]", actual: "[\"2\", \"3\"]", mismatch: "Expected query parameter 'catId' with 1 value(s) but received 2 value(s)" }]
[2022-07-07T07:10:31Z DEBUG pact_mock_server::hyper_server] Request did not match: Request did not match - HTTP Request ( method: GET, path: /cats, query: Some({"catId": ["[\"1\"]"]}), headers: S[2022-07-07 07:10:31.971 +0000] DEBUG (85377 on SB-AS-G7GM9F7<EMAIL_ADDRESS>cleaning up old mock server on port 50801alue(s)

 RUNS  __tests__/index.spec.js
[2022-07-07T07:10:31Z DEBUG pact_mock_server::server_manager] Shutting down mock server with port 50801
[2022-07-07T07:10:31Z DEBUG pact_mock_server::server_manager] Shutting down mock server with port 50801 - MockServerMetrics { requests: 1 }
 FAIL  __tests__/index.spec.jsct_mock_server::mock_server] Mock server 4fc79205-8b88-4bfc-b256-3782b48a1dbb shutdown - MockServerMetrics { requests: 1 }
  Pact between Jest-Consumer-Example and Jest-Provider-Example
    with 30000 ms timeout for Pact
      Dogs API
        ✓ returns a successful body (58 ms)
      Cats API
        ✕ returns a successful body (14 ms)

  ● Pact between Jest-Consumer-Example and Jest-Provider-Example › with 30000 ms timeout for Pact › Cats API › returns a successful body

    Request failed with status code 500

      at createError (node_modules/axios/lib/core/createError.js:16:15)

  ● Pact between Jest-Consumer-Example and Jest-Provider-Example › with 30000 ms timeout for Pact › Cats API › returns a successful body

    Test failed for the following reasons:

      Mock server failed with the following mismatches:

    	0) The following request was incorrect:

              	GET /cats

    			 1.0 Expected query parameter 'catId' with 1 value(s) but received 2 value(s)

Looks like there are multiple problems here:

The JSON format being sent is not correct (it has the query parameter name without the brackets). It also doesn't make sense to send the parameter name in the value payload, as it is already sent separately.
The value is being used as is, not being parsed as an array, hence  String -> String: comparing '["1"]' to '2'
It is not applying the matching rule as a collection, but to the individual values.

Thanks Ron.
For (1), are you saying that Pact JS (and other clients) should send the query in a different shape or is this some internal thing in the rust core?

Both. Defect in the Rust core and we should change the payload being sent.

Thanks. Because my brain is still not working, what would be the correct JSON payload shape to send for the query? I think I tried a few variations.

I've added a new function that takes
{
    "value": ["1"],
    "pact:matcher:type": "type",
    "min": 1
}


Submission Day 1

Hi @samuele-cozzi!
Once you have the challenge result, you will compare it to the challenge you created. And after make all the necessary changes in your code, we will close this PR.
Remember that all challenges must be developed in your repository. That's why is very important to fork this repository.
And thank you for your awesome contribution @samuele-cozzi!

We checked out your repository. We're thrilled to say your solution is now listed in our Hall of Fame
Thank you for your contributions!
This PR is now closed! 🎉


Header doesn't load on any platform

A copy/paste of your Custom Header config (found in "Raw Config Editor" or ui-lovelace.yaml):
custom_header:
  compact_mode: true
  voice_hide: true
  exceptions:
    - conditions:
        #user_agent: Mobile
        user_agent: "CrKey"
      config:
        kiosk_mode: true
        show_tabs:
          - 'home_cast'
          - 'calendar_cast'
          - 'power_cast'
          - 'lights_cast'
          - 'media_cast'
          - 'location_cast'
          - 'garden_cast'
    - conditions:
        #user_agent: Mobile
        user_agent: "Home Assistant"
        media_query: "(max-width: 600px)"
      config:
        show_tabs:
          - 'home_mobile'
          - 'calendar_mobile'
          - 7
          - 'power_mobile'
          - 13
          - 15
          - 18
          - 21
          - 24
          - fan_mobile
          - 27
          - 30
          - 33
        default_tab: 'home_mobile'
    - conditions:
        user: 'name'
      config:
        show_tabs:
          - 0
          - 3
          - 6
          - 9
          - 12
          - 14
          - 17
          - 20
          - 23
          - 26
          - 29
          - 32
          - 35
          - 37 to 43
        default_tab: 'home_desktop'

Any errors relevant to Custom Header found in the HA logs:
Logger: frontend.js.latest.202009180
Source: components/system_log/init.py:193
First occurred: 23 september 2020 19:09:37 (33 occurrences)
Last logged: 9:58:00
https://url/hacsfiles/custom-header/custom-header.js:1:14666 Uncaught TypeError: e[o].trim is not a function
https://url/hacsfiles/custom-header/custom-header.js:1:14670 TypeError: e[o].trim is not a function. (In 'e[o].trim()', 'e[o].trim' is undefined)
Any relevant errors found in your browsers dev console (F12):
Uncaught TypeError: e[o].trim is not a function
at processTabArray (custom-header.js:1)
at Function.processAndContinue (custom-header.js:146)
at unsub.subscribeRenderTemplate.template (custom-header.js:146)
at Object.r.subscribeMessage.type [as callback] (custom-header.js:1)
at o._handleMessage (core.1af90ed7.js:1)
at WebSocket. (core.1af90ed7.js:1)
The version of Home Assistant and Custom Header you are using
HA: 0.115.2 Custome Header: 1.7.9
The browsers or apps that are affected (i.e. Firefox, Chrome, Chrome Mobile, iOS HA Companion app, etc.)
Chrome and iOS HA Companion app
Installation method (HACS or manual)
Hacs
HA config method (YAML or Storage). If you don't know what this means, you're using Storage mode
YAML

Same issue here with hide_tabs. If removed from the config, it works well.

Please, give the latest release (1.8.0) a try and report back.

Yes works fine with 1.8.0. Thank you


BUG scorecard 4.2.0 does not print version number anymore

Describe the bug
A clear and concise description of what the bug is.
Reproduction steps
Steps to reproduce the behavior:

download release artifact (e.g. https://github.com/ossf/scorecard/releases/download/v4.2.0/scorecard_4.2.0_darwin_amd64.tar.gz)
unzip and run ./scorecard-darwin-arm64 version

Expected behavior
The version information
GitVersion:    v4.2.0
GitCommit:     unknown
GitTreeState:  unknown
BuildDate:     unknown
GoVersion:     go1.17.9
Compiler:      gc
Platform:      darwin/arm64

Additional context
relates to https://github.com/Homebrew/homebrew-core/pull/101012

I don't seem to have an issue.
➜  scorecard_4.2.0_darwin_amd64 ./scorecard-darwin-amd64 version
         __  ____     ____    ___    ____    _____    ____      _      ____    ____
        / / / ___|   / ___|  / _ \  |  _ \  | ____|  / ___|    / \    |  _ \  |  _ \
       / /  \___ \  | |     | | | | | |_) | |  _|   | |       / _ \   | |_) | | | | |
  _   / /    ___) | | |___  | |_| | |  _ <  | |___  | |___   / ___ \  |  _ <  | |_| |
 (_) /_/    |____/   \____|  \___/  |_| \_\ |_____|  \____| /_/   \_\ |_| \_\ |____/
./scorecard: Security Scorecards

GitVersion:    v4.2.0
GitCommit:     unknown
GitTreeState:  unknown
BuildDate:     unknown
GoVersion:     go1.17.9
Compiler:      gc
Platform:      darwin/amd64

I downloaded https://github.com/ossf/scorecard/releases/download/v4.2.0/scorecard_4.2.0_darwin_amd64.tar.gz and ran it.
@azeemshaikh38 @laurentsimon  Can you guys check if it is?
Also I noticed the e2e on the main for scorecard action is failing with a similar message https://github.com/ossf-tests/scorecard-action/runs/6338427881?check_suite_focus=true

Edit - I apologize I read the issue incorrectly. Yes, it is not showing up. The other issue that I mentioned is different from this.

After this is merged, I can do another release to address the problem. Thanks!

that would be good, thanks!

This is now fixed at HEAD. Will push out a release for it soon.

Sounds good, thanks!


Jakarta JSON Processing and Jakarta JSON Binding

The WebProfile don't include implementation of JSON-P and JSON-B specs.
I think it would be good create a module for these specs, because there is the Apache Johnzon and it should be included in the ApacheWebProfile, while including both Yasson (JSON-B) and the Glassfish (JSON-P) implementation in the WebProfile.
I'd like to know if I it is OK to create a module for these extensions or include it directly in the pom.xml of both extensions.

We only need to create extension modules for those dependencies that need further integration. If a dependency does not need to anything specific it should be added to the end-to-end extension module as a dependency.


Implement shuffling for customIterableDataset

Using buffers, shuffling should be implemented manually inside iter of customIterableDataset. This is not high priority, but should be done after putting out all the fires.

I think this is implemented for a while already; closing.

sorry, I think I misunderstood


HTML logger should honor line breaks in stack traces

Description
Stack traces are difficult to read in HTML test results because the page doesn't have the line breaks from the raw stack trace string.
Steps to reproduce

Break some tests in Roslyn or really any project
Run the tests with any invocation using an HTML logger, such as dotnet test .\src\Compilers\CSharp\Test\Emit --framework netcoreapp3.1 --logger "html".
Open the test results HTML file

Let me know if you need me to try and adapt this invocation into the vstest console format somehow.
Expected behavior
The call stack of the failing test uses the line breaks of the original stack trace string. The below image works by wrapping the <span class="error-stack-trace"> in <pre>. I personally don't mind scrolling to the right to see the full call information for each line.

Actual behavior
Call stacks use the automatic line breaks that are normal for HTML instead of the line breaks present in the original stack trace string, making it very difficult to read.

It would actually be really nice if the HTML logger also respected the line breaks in error messages too, and used a monospaced font, just as the new VS Test Explorer results pane does.

@RikkiGibson that definitely looks nicer, but could we have newlines, monospace font, and line wrapping when the text is too long? I think that is the best of the two worlds. Scrolling left and right is very annoying, and @jfleisher is imho working on enabling line wrapping in Test Explorer as well.
Could you try adding this to the class
pre {
    white-space: pre-wrap;       /* Since CSS 2.1 */
    white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
    white-space: -pre-wrap;      /* Opera 4-6 */
    white-space: -o-pre-wrap;    /* Opera 7 */
    word-wrap: break-word;       /* Internet Explorer 5.5+ */
}

https://stackoverflow.com/questions/248011/how-do-i-wrap-text-in-a-pre-tag

I tried adding the pre-wrap to the CSS and it now looks like this:

Pretty nice!
I decided to go with just the one white-space: pre-wrap; property because it works in all the currently supported browsers (see the pre-wrap row in the table). If you prefer for me to use all the vendor-specific and legacy properties along with it I am happy to make the change :)

I decided to go with just the one white-space: pre-wrap; property because

That is good enough based on the table you provided above. We can always use the more compatible version later.

Pretty nice!

Looks pretty nice to me as well.

Thank you!


Crash into SafeMode AirPods iPhone X iOS 11.3.1

Crash into SafeMode AirPods iPhone X iOS 11.3.1

I'm not use AirPods, its always Crash into SafeMode when I Swipe into SpringBoard.


config.SecretURL type returns Json.Unmarshal() error which can expose the secret url.

What did you do?
While running an alertmanager instance using the Alertmanager CRD exposed by Prometheus Operator, we discovered that when UnmarshalJSON() method of SecretURL type is called it returns the url itself as part of the error.
What did you expect to see?
The secret URL should not have been logged as part of the error.
What did you see instead? Under which circumstances?
The secret URL was logged as part of error for parsing a wrong URL.
Environment

System information:
Linux <IP_ADDRESS>-microsoft-standard-WSL2 x86_64

Alertmanager version:
alertmanager, version 0.27.0 (branch: main, revision: 730bd752d15622c12999ac55399fd3123579ce63)
build user:       codeknight@LAPTOP-VI2SBH3S
build date:       20240619-18:46:55
go version:       go1.22.0
platform:         linux/amd64
tags:             netgo

Prometheus version:

Alertmanager configuration file:

inhibitRules:
  - equal:
    - alertname
    sourceMatch:
    - name: 'severity'
      value: 'critical'
      matchType: '='
    targetMatch:
    - name: 'severity'
      value: 'warning'
      matchType: '='
  receivers:
  - name: SlackAlerts
    slackConfigs:
      - channel: '#slack-channel-example'
        apiURL:
          name: slack-api-secret
          key: url
        sendResolved: true
  route:
    receiver: 'SlackAlerts'
    groupBy: [cluster_short, alertname]
    groupWait: 60s
    groupInterval: 15m
    repeatInterval: 4h
    continue: true

Prometheus configuration file:

Not relevant

Logs:
Logs from the prometheus operator rather than from the alertmanager itself while using config.SecretURL as the type for the URL.

level=warn ts=2024-06-19T19:33:29.629989322Z caller=operator.go:1003 component=alertmanager-controller msg="skipping alertmanagerconfig" error="slack api 'url' secret failed validation: validate url from string failed with error: parse \"://mywrongurl.com\": missing protocol scheme" alertmanagerconfig=test/slack-receivertest namespace=test alertmanager=testalertmanager
level=info ts=2024-06-19T19:33:29.633045784Z caller=operator.go:796 component=alertmanager-controller alertmanager=testalertmanager namespace=test msg="config secret not found, using default Alertmanager configuration" secret=alertmanager-testalertmanager

@simonpasquier , Not sure if I am able to explain the context correctly here.


S3SeekableByteChannel ignores local configuration overrides

S3ReadAheadByteChannel seems to ignore the max fragment size that was set when S3FileSystemProvider.newFileSystem() is called. In the following snippet:
S3FileSystemProvider fsp = new S3FileSystemProvider();

Map<String, String> env = new HashMap();
env.put("s3.spi.read.max-fragment-size", "100000");
S3FileSystem fs = fsp.newFileSystem(URI.create(pathUri), env);

Set<StandardOpenOption> opts = new HashSet<StandardOpenOption>();
opts.add(StandardOpenOption.READ);

S3Path s3Path = fs.getPath("s3://mybucket/mybigfile");
S3SeekableByteChannel chan = fsp.newByteChannel(s3Path, opts);

the S3ReadAheadByteChannel used by the S3SeekableByteChannel should use a fragment size of 100000 bytes. However, assuming no environment or system property overrides have been set, it continues to use the default fragment size of 5242880 bytes.
The reason this happens is because the S3SeekableByteChannel ctor uses a default-constructed S3NioSpiConfiguration rather than the config in the S3FileSystem:
S3NioSpiConfiguration config = new S3NioSpiConfiguration();
readDelegate = new S3ReadAheadByteChannel(s3Path, config.getMaxFragmentSize(), config.getMaxFragmentNumber(), s3Client, this, timeout, timeUnit);

The default S3NioSpiConfiguration ctor will use the default property values, or the env var overrides if set, or the system prop overrides if set, but doesn't have any local overrides. The S3SeekableByteChannel should instead do something like:
S3NioSpiConfiguration config = s3Path.getFileSystem().configuration();

The solution you propose seems feasible. It may take me a few days (or possibly a few weeks) to get to this. Feel free to post a PR.


Image inside a parent div of height:0 is not being properly lazyloaded

In my codepen, I have a menu that opens upon hovering over it, which will then expand to show an image. If the menu isn't hovered, the image does not show. The image inside however is being loaded at the beginning, vs loading only when the "overlay" is opened.
The parent div (.parent) initially has a height: 0;, that when hovered over will expand to height: 300px;. Using this PR as reference, I thought the problem was that I didn't properly specify the dimensions of my <img>'s, but I followed that PR, and the menu image is still loading at the beginning. 😞

I tried to specify:
window.lazySizesConfig.loadHidden = false;

but that doesn't work.
The codepen is just a basic implementation of the real menu that's having this issue, but we've configured our menu to have an initial height of 0 for animation purposes. I'm guessing this CSS rule is messing up the lazysizes calculation a bit, no? Because .parent has a height:0, perhaps lazysizes is thinking that it's children is within view, so it loads it at the beginning vs later?
Is there a way with this configuration, that the menu image can be triggered to load only when its "overlay" is opened?
Thanks!

@MelofunkCodes
It's about the CSS property visibility: hidden. This property can be animated using CSS transitions.
Here is a working jsbin.
.parent {
	 visibility: hidden;
 }
.menu:hover > .parent {
	visibility: visible;
}

Amazing, thanks so much! 😁


Parameterized or Parametrized?

We should pick a spelling and stick to it. Meshes currently defines a Parametrized but I've mostly used Parameterized here. Looking for feedback on preferences.

Since we cannot really easily change ParametrizedCurve as it comes from Meshes.jl, I would opt going for parametrized and parametrizing everywhere. Currently, there seem to be 8 occurrences we would need to change.


test cors rules num limit

Signed-off-by: yuliyang<EMAIL_ADDRESS>

test for https://github.com/ceph/ceph/pull/23434


issues: routing issues

encountered many routing issues, that need to be added to gain base functionality.
alertRoutes, and feedbackRoutes, have some permission issues.
index.js is missing some imports

let's use this for all the routing issues, easy to locate

I fixed those issues in alertRoutes and feedbackRoutes.
And I also fixed the problem in index.js

great!!
I came across 2 new issues with subscriptionRoutes.js and userReportRoutes.js
It has something to do with function names.
check on that one too.

since the controllers changed, some function names were changed too. we need to correctly link them again

i checked those issues and fixed


RFC: It should be possible to switch off logging (GDPR related)

Description of problem
Under GDPR IP addresses are part of personal data as well as url referrers, etc. This means the approach should be "no, unless". I.e. don't do this unless you have a good reason. Logging is part of this.
We log because after a security issue we must be able to determine what happened, how it happened, etc. So we don't log just because we can. But GDPR mandates that if we do this it is mentioned in the privacy statement/terms.
If a user wishes to completely disable logging there is no method for that now. So in the scenario where someone wishes to avoid any GDPR exposure, we cannot guarantee that.
Description of solution
A master switch for logging. By default it is on. Switching it off would effectively switch off all forms of logging in the platform that contains any personal info or link (user id for instance).
Description of alternatives considered
We can also opt to encrypt sensitive data. But that requires more work to find out how this would work.
We could also add an expiry date to logs. This would go a long way to comply to GDPR as you can claim to log no more than a week for instance.

to be clear: GDPR defines multiple alternative requirements to store personal data:

either the user did consent
there is a need by the site owner or host
legal requirements
Storing server data to detect a hacking attempt is a "need", same to store IP address of a shop customer and his delivery address.
However, this is a process of handling user data, a site owner needs to document and have rules in place to make sure, this data is not accessible by unauthorized people and gets deleted, when there is no need any longer.

Please be aware that IP address is considered as personal data

That's literally the fist statement of the problem description. Just sayin'
To the specifics here, though: at a very high level GDPR asks developers to change their mindset from "let's store unless we have a reason not to" to "don't store unless you have a reason to". I'm trying to make that flip here. I have sites with IP logs dating back 5 years. Do we have a portal setting which allows an admin to set a time limit to this kind of logging? Or is that considered bad security?

Note also that we capture the IP address before we know who it is. So if you have no consent (like an anonymous user) it is still registered.

Note also that we capture the IP address before we know who it is. So if you have no consent (like an anonymous user) it is still registered.

This is the point of the other discussion, IP can be addressed by Privacy Policy, not explicit consent from a logging activity.

To the specifics here, though: at a very high level GDPR asks developers to change their mindset from "let's store unless we have a reason not to" to "don't store unless you have a reason to". I'm trying to make that flip here. I have sites with IP logs dating back 5 years. Do we have a portal setting which allows an admin to set a time limit to this kind of logging? Or is that considered bad security?

Retention rules are not a big deal, but the key will be to limit access to who can change them, as you wouldn't want an exploit situation to allow a user to clear the logs.

"Changing the mindset" is for sure the main goal of GDPR, not only for developers but to anyone processing personal data (for us: the site owners). But giving out target group, we need to be the ones putting them on trail regarding their websites. And there are a number of items in DNN, we need to change, like number of log records stored in the database and in log files. IMO core messaging is the next big area, where users currently cannot delete messages, even if they want.

to be clear: GDPR does not disallow logging or bind it to user consent. If there is a business need, personal data may be stored and processed, but this needs to be documented and there needs to be a cleanup procedure. For the DNN EventLog, I suggest the following improvements:

an admin option to anonymize IP addresses, e.g. by suppressing the last block.
review the log types, whether current UserID is necessary to be included in the log
provide proper cleanup of EventLog entries. currently, there is only a "number of items retained" per log type, IMO we should add a max. age for items as well (as I am using in my TurboScripts, following a suggestion from Bruce Chapman, which has never been included in DNN)

@donker Do we have an update on this based on the research/implementation that you have done for GDPR thus far?  Can this be closed or is it still a need?

@mitchelsellers @donker this issue was closed and reopened, did you guys discuss this offline, do we still need this issue or can it be closed ?

We haven’t had a comment on this in 3+ months I’ll close for now. If it is decided to implement a new issue can be opened for implementation.


Not working again on windows

Hey @leoheck
I had a colleague install kdiff and it wasn't working for him. So I tried wit ha fresh install for myself and it is no longer working for me. Have you changed any of the installation repos by chance? The schematics work just fine but as soon as I look at a PCB it is blank and this is the error I got.
   plotpcb -o "/home/jordan/lcd-conn-expansion/kidiff/src/2d62ea3/" -q "/home/jordan/lcd-conn-expansion/kidiff/src/2d62ea3/expansion.kicad_pcb"
/mnt/c/Users/Stanley/Desktop/ELEC/KiCad-Diff/plotpcb: line 2: $'\r': command not found
/mnt/c/Users/Stanley/Desktop/ELEC/KiCad-Diff/plotpcb: line 5: $'\r': command not found
/mnt/c/Users/Stanley/Desktop/ELEC/KiCad-Diff/plotpcb: line 6: syntax error near unexpected token `$'\r''
'mnt/c/Users/Stanley/Desktop/ELEC/KiCad-Diff/plotpcb: line 6: `readlink_osx()
   plotpcb -o "/home/jordan/lcd-conn-expansion/kidiff/src/d9d214e/" -q "/home/jordan/lcd-conn-expansion/kidiff/src/d9d214e/expansion.kicad_pcb"
/mnt/c/Users/Stanley/Desktop/ELEC/KiCad-Diff/plotpcb: line 2: $'\r': command not found
/mnt/c/Users/Stanley/Desktop/ELEC/KiCad-Diff/plotpcb: line 5: $'\r': command not found
/mnt/c/Users/Stanley/Desktop/ELEC/KiCad-Diff/plotpcb: line 6: syntax error near unexpected token `$'\r''
'mnt/c/Users/Stanley/Desktop/ELEC/KiCad-Diff/plotpcb: line 6: `readlink_osx()

I also tried pulling older commits as well and it does not seem to work.

Is it possible to share the project so I can test it here?
Also, check if Kicad-Diff is the latest version since this is related with the pcb

Did you want to kicad project files?

Since msgs are talking about \r character. Try to check if the .kicad_pcb is was created on windows with windows endings character. You could also use dos2unix on these files to make sure they have the Linux line endings. If something like this fixes the issue I have to think how to improve kdiff to be resilient to this.

The .kicad_pcb file was created in windows. It has worked before and was working earlier this morning it just seems however after reinstalling from a fresh install it no longer works.  I'll give your dos2unix thing a try. I will also try cloning it on a Linux operating system to see if it is giving me a problem. I have sent the .zip folder of the kicad files as well.
src.zip

After doing dos2unix the schematic no longer shows up either.

Hm, let me check here if I can see the same on windows

@jorlee99, I changed the command like to receive the project file .pro instead of .kicad_pcb
Please, check if this fixes your issue.

I just tried to command and no luck. I am no longer getting a schematic or a pcb

Did you test it on other projects? I tested it on windows it is working too.
On Fri, May 21, 2021, 22:39 jorlee99 @.***> wrote:

I just tried to command and no luck. I am no longer getting a schematic or
a pcb
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/leoheck/kdiff/issues/6#issuecomment-846329559, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJX7YDLEYTVAXJGXXY3SRLTO4DNNANCNFSM45J4Z6SA
.

If you shat your project I can check and fix kdiff if this is the case.
On Fri, May 21, 2021, 22:48 Leandro Heck @.***> wrote:

Did you test it on other projects? I tested it on windows it is working
too.
On Fri, May 21, 2021, 22:39 jorlee99 @.***> wrote:

I just tried to command and no luck. I am no longer getting a schematic
or a pcb
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/leoheck/kdiff/issues/6#issuecomment-846329559, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJX7YDLEYTVAXJGXXY3SRLTO4DNNANCNFSM45J4Z6SA
.

Hey, try this branch https://github.com/leoheck/kdiff/tree/windowns-line-endings
I would suggest always use linux line endings when working with git.
You can check this configuration when installing git for windows.
Git for Windows can convert these file formats while pulling/pushing code.

Sorry I have been hiatus for a couple of days

Did you test it on other projects? I tested it on windows it is working too.
…
On Fri, May 21, 2021, 22:39 jorlee99 @.***> wrote: I just tried to command and no luck. I am no longer getting a schematic or a pcb — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#6 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJX7YDLEYTVAXJGXXY3SRLTO4DNNANCNFSM45J4Z6SA .

So I have and it doesn't work on any projects.

If you shat your project I can check and fix kdiff if this is the case.
…
On Fri, May 21, 2021, 22:48 Leandro Heck @.> wrote: Did you test it on other projects? I tested it on windows it is working too. On Fri, May 21, 2021, 22:39 jorlee99 @.> wrote: > I just tried to command and no luck. I am no longer getting a schematic > or a pcb > > — > You are receiving this because you were mentioned. > Reply to this email directly, view it on GitHub > <#6 (comment)>, or > unsubscribe > https://github.com/notifications/unsubscribe-auth/AAJX7YDLEYTVAXJGXXY3SRLTO4DNNANCNFSM45J4Z6SA > . >

Did you want the repo itself? I have linked the files above for you to try

The .kicad_pcb file was created in windows. It has worked before and was working earlier this morning it just seems however after reinstalling from a fresh install it no longer works. I'll give your dos2unix thing a try. I will also try cloning it on a Linux operating system to see if it is giving me a problem. I have sent the .zip folder of the kicad files as well.
src.zip

Hey, try this branch https://github.com/leoheck/kdiff/tree/windowns-line-endings
I would suggest always use linux line endings when working with git.
You can check this configuration when installing git for windows.
Git for Windows can convert these file formats while pulling/pushing code.

I'll give this a try too but let me explain the issue. Firstly here are some new error codes that might shed some light
du: cannot access '/mnt/c/Users/Stanley/Desktop/LinuxStuff/kdiffFull/high-level-feedback-board/kidiff/src/03a3ddb/HLFB_Breakout.kicad_pcb': No such file or directory
   plotpcb -o "/mnt/c/Users/Stanley/Desktop/LinuxStuff/kdiffFull/high-level-feedback-board/kidiff/src/03a3ddb/" -q "/mnt/c/Users/Stanley/Desktop/LinuxStuff/kdiffFull/high-level-feedback-board/kidiff/src/03a3ddb/HLFB_Breakout.kicad_pcb"
Traceback (most recent call last):
  File "/mnt/c/Users/Stanley/Desktop/LinuxStuff/kdiffFull/kicaddiff/plotPCB.py", line 125, in <module>
    processBoard(boardName, plotDir, args.quiet)
  File "/mnt/c/Users/Stanley/Desktop/LinuxStuff/kdiffFull/kicaddiff/plotPCB.py", line 45, in processBoard
    board = LoadBoard(boardName)
  File "/usr/lib/python3/dist-packages/pcbnew.py", line 6860, in LoadBoard
    return _pcbnew.LoadBoard(*args)
OSError: Unable to open filename "/mnt/c/Users/Stanley/Desktop/LinuxStuff/kdiffFull/high-level-feedback-board/kidiff/src/03a3ddb/HLFB_Breakout.kicad_pcb" for reading
du: cannot access '/mnt/c/Users/Stanley/Desktop/LinuxStuff/kdiffFull/high-level-feedback-board/kidiff/src/3c7c699/HLFB_Breakout.kicad_pcb': No such file or directory
   plotpcb -o "/mnt/c/Users/Stanley/Desktop/LinuxStuff/kdiffFull/high-level-feedback-board/kidiff/src/3c7c699/" -q "/mnt/c/Users/Stanley/Desktop/LinuxStuff/kdiffFull/high-level-feedback-board/kidiff/src/3c7c699/HLFB_Breakout.kicad_pcb"
Traceback (most recent call last):
  File "/mnt/c/Users/Stanley/Desktop/LinuxStuff/kdiffFull/kicaddiff/plotPCB.py", line 125, in <module>
    processBoard(boardName, plotDir, args.quiet)
  File "/mnt/c/Users/Stanley/Desktop/LinuxStuff/kdiffFull/kicaddiff/plotPCB.py", line 45, in processBoard
    board = LoadBoard(boardName)
  File "/usr/lib/python3/dist-packages/pcbnew.py", line 6860, in LoadBoard
    return _pcbnew.LoadBoard(*args)
OSError: Unable to open filename "/mnt/c/Users/Stanley/Desktop/LinuxStuff/kdiffFull/high-level-feedback-board/kidiff/src/3c7c699/HLFB_Breakout.kicad_pcb" for reading
   2.         - 2d5744d
du: cannot access '/mnt/c/Users/Stanley/Desktop/LinuxStuff/kdiffFull/high-level-feedback-board/kidiff/src/03a3ddb/HLFB_Breakout.kicad_pcb': No such file or directory
   plotpcb -o "/mnt/c/Users/Stanley/Desktop/LinuxStuff/kdiffFull/high-level-feedback-board/kidiff/src/03a3ddb/" -q "/mnt/c/Users/Stanley/Desktop/LinuxStuff/kdiffFull/high-level-feedback-board/kidiff/src/03a3ddb/HLFB_Breakout.kicad_pcb"
Traceback (most recent call last):
  File "/mnt/c/Users/Stanley/Desktop/LinuxStuff/kdiffFull/kicaddiff/plotPCB.py", line 125, in <module>
    processBoard(boardName, plotDir, args.quiet)
  File "/mnt/c/Users/Stanley/Desktop/LinuxStuff/kdiffFull/kicaddiff/plotPCB.py", line 45, in processBoard
    board = LoadBoard(boardName)
  File "/usr/lib/python3/dist-packages/pcbnew.py", line 6860, in LoadBoard
    return _pcbnew.LoadBoard(*args)
OSError: Unable to open filename "/mnt/c/Users/Stanley/Desktop/LinuxStuff/kdiffFull/high-level-feedback-board/kidiff/src/03a3ddb/HLFB_Breakout.kicad_pcb" for reading
du: cannot access '/mnt/c/Users/Stanley/Desktop/LinuxStuff/kdiffFull/high-level-feedback-board/kidiff/src/2d5744d/HLFB_Breakout.kicad_pcb': No such file or directory
   plotpcb -o "/mnt/c/Users/Stanley/Desktop/LinuxStuff/kdiffFull/high-level-feedback-board/kidiff/src/2d5744d/" -q "/mnt/c/Users/Stanley/Desktop/LinuxStuff/kdiffFull/high-level-feedback-board/kidiff/src/2d5744d/HLFB_Breakout.kicad_pcb"
Traceback (most recent call last):
  File "/mnt/c/Users/Stanley/Desktop/LinuxStuff/kdiffFull/kicaddiff/plotPCB.py", line 125, in <module>
    processBoard(boardName, plotDir, args.quiet)
  File "/mnt/c/Users/Stanley/Desktop/LinuxStuff/kdiffFull/kicaddiff/plotPCB.py", line 45, in processBoard
    board = LoadBoard(boardName)
  File "/usr/lib/python3/dist-packages/pcbnew.py", line 6860, in LoadBoard
    return _pcbnew.LoadBoard(*args)
OSError: Unable to open filename "/mnt/c/Users/Stanley/Desktop/LinuxStuff/kdiffFull/high-level-feedback-board/kidiff/src/2d5744d/HLFB_Breakout.kicad_pcb" for reading

So it seems like a running ./install.sh from the newest clone does not seem to work. It locks until I personally cancel it.
[WARNING] Running as root is not recommended
[WARNING] Running as root is not recommended
[ERROR] No package pinned to this target found, or invalid package name: .
[WARNING] Running as root is not recommended
[ERROR] No package pinned to this target found, or invalid package name: .
[WARNING] Running as root is not recommended
^C[ERROR] User interruption
[NOTE] Pinning command successful, but your installed packages may be out of sync.
[WARNING] Running as root is not recommended
^C[NOTE] Pinning command successful, but your installed packages may be out of sync.
[WARNING] Running as root is not recommended

<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[ERROR] User interruption

So I ran on older clone of plotkicadsch and it seemingly runs fine. These are the files I use. So looking at it the schematic shows up fine meaning that pltokicadsch works fine I assume. But it is only the schematic that has a problem and this has only happened on recent builds. I have a copy that has it working from older builds and I can give you it's exported .tar as well. But even importing the tar it doesn't work due to how wsl is laid out.
I apologize as I realize the info I have provided maybe useless but maybe we can figure this out?

With the new branch I still have no luck. These are the following errors
du: cannot access '/home/jordan/lcd-conn-expansion/kidiff/src/2d62ea3/expansion.kicad_pcb': No such file or directory
   plotpcb -o "/home/jordan/lcd-conn-expansion/kidiff/src/2d62ea3/" -q "/home/jordan/lcd-conn-expansion/kidiff/src/2d62ea3/expansion.kicad_pcb"
Traceback (most recent call last):
  File "/home/jordan/kdiffFull/kicaddiff/plotPCB.py", line 125, in <module>
    processBoard(boardName, plotDir, args.quiet)
  File "/home/jordan/kdiffFull/kicaddiff/plotPCB.py", line 45, in processBoard
    board = LoadBoard(boardName)
  File "/usr/lib/python3/dist-packages/pcbnew.py", line 6860, in LoadBoard
    return _pcbnew.LoadBoard(*args)
OSError: Unable to open filename "/home/jordan/lcd-conn-expansion/kidiff/src/2d62ea3/expansion.kicad_pcb" for reading
du: cannot access '/home/jordan/lcd-conn-expansion/kidiff/src/d9d214e/expansion.kicad_pcb': No such file or directory
   plotpcb -o "/home/jordan/lcd-conn-expansion/kidiff/src/d9d214e/" -q "/home/jordan/lcd-conn-expansion/kidiff/src/d9d214e/expansion.kicad_pcb"
Traceback (most recent call last):
  File "/home/jordan/kdiffFull/kicaddiff/plotPCB.py", line 125, in <module>
    processBoard(boardName, plotDir, args.quiet)
  File "/home/jordan/kdiffFull/kicaddiff/plotPCB.py", line 45, in processBoard
    board = LoadBoard(boardName)
  File "/usr/lib/python3/dist-packages/pcbnew.py", line 6860, in LoadBoard
    return _pcbnew.LoadBoard(*args)
OSError: Unable to open filename "/home/jordan/lcd-conn-expansion/kidiff/src/d9d214e/expansion.kicad_pcb" for reading
   2.         - f9af8cd
du: cannot access '/home/jordan/lcd-conn-expansion/kidiff/src/2d62ea3/expansion.kicad_pcb': No such file or directory
   plotpcb -o "/home/jordan/lcd-conn-expansion/kidiff/src/2d62ea3/" -q "/home/jordan/lcd-conn-expansion/kidiff/src/2d62ea3/expansion.kicad_pcb"
Traceback (most recent call last):
  File "/home/jordan/kdiffFull/kicaddiff/plotPCB.py", line 125, in <module>
    processBoard(boardName, plotDir, args.quiet)
  File "/home/jordan/kdiffFull/kicaddiff/plotPCB.py", line 45, in processBoard
    board = LoadBoard(boardName)
  File "/usr/lib/python3/dist-packages/pcbnew.py", line 6860, in LoadBoard
    return _pcbnew.LoadBoard(*args)
OSError: Unable to open filename "/home/jordan/lcd-conn-expansion/kidiff/src/2d62ea3/expansion.kicad_pcb" for reading
du: cannot access '/home/jordan/lcd-conn-expansion/kidiff/src/f9af8cd/expansion.kicad_pcb': No such file or directory
   plotpcb -o "/home/jordan/lcd-conn-expansion/kidiff/src/f9af8cd/" -q "/home/jordan/lcd-conn-expansion/kidiff/src/f9af8cd/expansion.kicad_pcb"
Traceback (most recent call last):
  File "/home/jordan/kdiffFull/kicaddiff/plotPCB.py", line 125, in <module>
    processBoard(boardName, plotDir, args.quiet)
  File "/home/jordan/kdiffFull/kicaddiff/plotPCB.py", line 45, in processBoard
    board = LoadBoard(boardName)
  File "/usr/lib/python3/dist-packages/pcbnew.py", line 6860, in LoadBoard
    return _pcbnew.LoadBoard(*args)
OSError: Unable to open filename "/home/jordan/lcd-conn-expansion/kidiff/src/f9af8cd/expansion.kicad_pcb" for reading
Starting webserver at http://<IP_ADDRESS>:8000

I tried this with a different repo as well

What is the command line you are using? In other words, how you are running kdiff?

What is the command line you are using? In other words, how you are running kdiff?

Oh sorry I forgot about this I just ran it with .pro
This is the output
 kdiff src/expansion.pro
dos2unix: converting file src/expansion.kicad_pcb to Unix format...

Generating artifacts for 3 commits.
Totaling 6 possible comparisons.

   1. 2d62ea3 - d9d214e
du: cannot access '/home/jordan/lcd-conn-expansion/kidiff/src/2d62ea3/expansion.kicad_pcb': No such file or directory
   plotpcb -o "/home/jordan/lcd-conn-expansion/kidiff/src/2d62ea3/" -q "/home/jordan/lcd-conn-expansion/kidiff/src/2d62ea3/expansion.kicad_pcb"
Traceback (most recent call last):
  File "/home/jordan/kdiffFull/kicaddiff/plotPCB.py", line 125, in <module>
    processBoard(boardName, plotDir, args.quiet)
  File "/home/jordan/kdiffFull/kicaddiff/plotPCB.py", line 45, in processBoard
    board = LoadBoard(boardName)
  File "/usr/lib/python3/dist-packages/pcbnew.py", line 6860, in LoadBoard
    return _pcbnew.LoadBoard(*args)
OSError: Unable to open filename "/home/jordan/lcd-conn-expansion/kidiff/src/2d62ea3/expansion.kicad_pcb" for reading
du: cannot access '/home/jordan/lcd-conn-expansion/kidiff/src/d9d214e/expansion.kicad_pcb': No such file or directory
   plotpcb -o "/home/jordan/lcd-conn-expansion/kidiff/src/d9d214e/" -q "/home/jordan/lcd-conn-expansion/kidiff/src/d9d214e/expansion.kicad_pcb"
Traceback (most recent call last):
  File "/home/jordan/kdiffFull/kicaddiff/plotPCB.py", line 125, in <module>
    processBoard(boardName, plotDir, args.quiet)
  File "/home/jordan/kdiffFull/kicaddiff/plotPCB.py", line 45, in processBoard
    board = LoadBoard(boardName)
  File "/usr/lib/python3/dist-packages/pcbnew.py", line 6860, in LoadBoard
    return _pcbnew.LoadBoard(*args)
OSError: Unable to open filename "/home/jordan/lcd-conn-expansion/kidiff/src/d9d214e/expansion.kicad_pcb" for reading
   2.         - f9af8cd
du: cannot access '/home/jordan/lcd-conn-expansion/kidiff/src/2d62ea3/expansion.kicad_pcb': No such file or directory
   plotpcb -o "/home/jordan/lcd-conn-expansion/kidiff/src/2d62ea3/" -q "/home/jordan/lcd-conn-expansion/kidiff/src/2d62ea3/expansion.kicad_pcb"
Traceback (most recent call last):
  File "/home/jordan/kdiffFull/kicaddiff/plotPCB.py", line 125, in <module>
    processBoard(boardName, plotDir, args.quiet)
  File "/home/jordan/kdiffFull/kicaddiff/plotPCB.py", line 45, in processBoard
    board = LoadBoard(boardName)
  File "/usr/lib/python3/dist-packages/pcbnew.py", line 6860, in LoadBoard
    return _pcbnew.LoadBoard(*args)
OSError: Unable to open filename "/home/jordan/lcd-conn-expansion/kidiff/src/2d62ea3/expansion.kicad_pcb" for reading
du: cannot access '/home/jordan/lcd-conn-expansion/kidiff/src/f9af8cd/expansion.kicad_pcb': No such file or directory
   plotpcb -o "/home/jordan/lcd-conn-expansion/kidiff/src/f9af8cd/" -q "/home/jordan/lcd-conn-expansion/kidiff/src/f9af8cd/expansion.kicad_pcb"
Traceback (most recent call last):
  File "/home/jordan/kdiffFull/kicaddiff/plotPCB.py", line 125, in <module>
    processBoard(boardName, plotDir, args.quiet)
  File "/home/jordan/kdiffFull/kicaddiff/plotPCB.py", line 45, in processBoard
    board = LoadBoard(boardName)
  File "/usr/lib/python3/dist-packages/pcbnew.py", line 6860, in LoadBoard
    return _pcbnew.LoadBoard(*args)
OSError: Unable to open filename "/home/jordan/lcd-conn-expansion/kidiff/src/f9af8cd/expansion.kicad_pcb" for reading
Starting webserver at http://<IP_ADDRESS>:8000

The website is still being displayed?

The website is still being displayed?

Yes

Do you see any board there?

No I do not

Do you see any board there?

I think you have multiples issues.
The CRLF endlines are a thing.
Check this to try to checkout converting CRLF to LF.
https://stackoverflow.com/questions/1967370/git-replacing-lf-with-crlf
The second thing you are seeing is that .kicad_pcb boards are missing in your history, I think.
Then a second command is failing, but that is ok. What is not ok is that you are seeing its output.
Upgrade (git pull) kdiff one more time.
Also, try to reinstall my plotgitsch. I am not sure you were able to do it.
Inside pltogitsh folder do this
git pull
opam update
opam upgrade
./install

If ./install doesn't work, try this instead.
make
make install

ok I have done the above and still no luck. I have tried it with a new repo if you want to try yourself.
I am getting slightly newer error codes
jordan@DESKTOP-BJDDG29:~/newTest$ kdiff newTest/newTest.pro
dos2unix: converting file newTest/newTest.kicad_pcb to Unix format...

Generating artifacts for 2 commits.
Totaling 2 possible comparisons.

grep: .//newTest.sch: No such file or directory
grep: .//newTest.sch: No such file or directory
   1. 9646e03 - 2060795
du: cannot access '/home/jordan/newTest/kidiff/newTest/9646e03/newTest.kicad_pcb': No such file or directory
   plotpcb -o "/home/jordan/newTest/kidiff/newTest/9646e03/" -q "/home/jordan/newTest/kidiff/newTest/9646e03/newTest.kicad_pcb"
Traceback (most recent call last):
  File "/home/jordan/kdiffFull/kicaddiff/plotPCB.py", line 125, in <module>
    processBoard(boardName, plotDir, args.quiet)
  File "/home/jordan/kdiffFull/kicaddiff/plotPCB.py", line 45, in processBoard
    board = LoadBoard(boardName)
  File "/usr/lib/python3/dist-packages/pcbnew.py", line 6860, in LoadBoard
    return _pcbnew.LoadBoard(*args)
OSError: Unable to open filename "/home/jordan/newTest/kidiff/newTest/9646e03/newTest.kicad_pcb" for reading
du: cannot access '/home/jordan/newTest/kidiff/newTest/2060795/newTest.kicad_pcb': No such file or directory
   plotpcb -o "/home/jordan/newTest/kidiff/newTest/2060795/" -q "/home/jordan/newTest/kidiff/newTest/2060795/newTest.kicad_pcb"
Traceback (most recent call last):
  File "/home/jordan/kdiffFull/kicaddiff/plotPCB.py", line 125, in <module>
    processBoard(boardName, plotDir, args.quiet)
  File "/home/jordan/kdiffFull/kicaddiff/plotPCB.py", line 45, in processBoard
    board = LoadBoard(boardName)
  File "/usr/lib/python3/dist-packages/pcbnew.py", line 6860, in LoadBoard
    return _pcbnew.LoadBoard(*args)
OSError: Unable to open filename "/home/jordan/newTest/kidiff/newTest/2060795/newTest.kicad_pcb" for reading
grep: .//newTest.sch: No such file or directory
grep: .//newTest.sch: No such file or directory
Starting webserver at http://<IP_ADDRESS>:8000
^C** Trapped CTRL-C

It seems it returns something called a grep? I am not sure

Where is this repo, share it with me then I will run it on my Windows VM
You are not using the master/main branch
dos2unix: converting file newTest/newTest.kicad_pcb to Unix format...

Do this

Where is this repo, share it with me then I will run it on my Windows VM

I have linked it here but here is the link again https://github.com/jorlee99/newTest

You are not using the master/main branch
dos2unix: converting file newTest/newTest.kicad_pcb to Unix format...

Do this

My apologies this is what happens after pulling the main branch from kdiff

kdiff  newTest/newTest.pro

Generating artifacts for 2 commits.
Totaling 2 possible comparisons.

grep: .//newTest.sch: No such file or directory
grep: .//newTest.sch: No such file or directory
   1. 9646e03 - 2060795
du: cannot access '/home/jordan/newTest/kidiff/newTest/9646e03/newTest.kicad_pcb': No such file or directory
   plotpcb -o "/home/jordan/newTest/kidiff/newTest/9646e03/" -q "/home/jordan/newTest/kidiff/newTest/9646e03/newTest.kicad_pcb"  &> /dev/null
du: cannot access '/home/jordan/newTest/kidiff/newTest/2060795/newTest.kicad_pcb': No such file or directory
   plotpcb -o "/home/jordan/newTest/kidiff/newTest/2060795/" -q "/home/jordan/newTest/kidiff/newTest/2060795/newTest.kicad_pcb"  &> /dev/null
ln: failed to create symbolic link '/home/jordan/newTest/kidiff/newTest/9646e03/newTest-/60AD741E'$'\r''.svg': No such file or directory
ln: failed to create symbolic link '/home/jordan/newTest/kidiff/newTest/2060795/newTest-/60AD741E'$'\r''.svg': No such file or directory
ln: failed to create symbolic link '/home/jordan/newTest/kidiff/newTest/9646e03/newTest-${KISYS3DMOD}/Resistor_SMD_3dshapes/R_0603_1608Metric_wrl'$'\r''.svg': No such file or directory
ln: failed to create symbolic link '/home/jordan/newTest/kidiff/newTest/2060795/newTest-${KISYS3DMOD}/Resistor_SMD_3dshapes/R_0603_1608Metric_wrl'$'\r''.svg': No such file or directory
ln: failed to create symbolic link '/home/jordan/newTest/kidiff/newTest/9646e03/newTest-/60AD7907'$'\r''.svg': No such file or directory
ln: failed to create symbolic link '/home/jordan/newTest/kidiff/newTest/2060795/newTest-/60AD7907'$'\r''.svg': No such file or directory
ln: failed to create symbolic link '/home/jordan/newTest/kidiff/newTest/9646e03/newTest-${KISYS3DMOD}/Resistor_SMD_3dshapes/R_0603_1608Metric_wrl'$'\r''.svg': No such file or directory
ln: failed to create symbolic link '/home/jordan/newTest/kidiff/newTest/2060795/newTest-${KISYS3DMOD}/Resistor_SMD_3dshapes/R_0603_1608Metric_wrl'$'\r''.svg': No such file or directory
    Assembling HTML
    Insert commits list
    Insert pages list
grep: .//newTest.sch: No such file or directory
grep: .//newTest.sch: No such file or directory
    - Updating html
    Update board title
    Update board revision
    Update board date
    Update board name
    Update initial schematic images
    Update initial layout images
    Update initial commit legend
    Insert layers list
    - Updating html
Starting webserver at http://<IP_ADDRESS>:8000

Oh, I see. Forgot to say to install dos2unix.
Do it with sudo apt install dos2unix
Then go back to the  kdiff  repo and change to the windowns-line-endings branch to test it.
It should run ok, as it ran here. If it is ok, let me know then I will update the main branch

Unfortunately still no luck I am encountering the exact same errors
kdiff newTest/newTest.pro
dos2unix: converting file newTest/newTest.kicad_pcb to Unix format...

Generating artifacts for 2 commits.
Totaling 2 possible comparisons.

grep: .//newTest.sch: No such file or directory
grep: .//newTest.sch: No such file or directory
   1. 9646e03 - 2060795
du: cannot access '/home/jordan/newTest/kidiff/newTest/9646e03/newTest.kicad_pcb': No such file or directory
   plotpcb -o "/home/jordan/newTest/kidiff/newTest/9646e03/" -q "/home/jordan/newTest/kidiff/newTest/9646e03/newTest.kicad_pcb"
Traceback (most recent call last):
  File "/home/jordan/KiCad-Diff/plotPCB.py", line 125, in <module>
    processBoard(boardName, plotDir, args.quiet)
  File "/home/jordan/KiCad-Diff/plotPCB.py", line 45, in processBoard
    board = LoadBoard(boardName)
  File "/usr/lib/python3/dist-packages/pcbnew.py", line 6860, in LoadBoard
    return _pcbnew.LoadBoard(*args)
OSError: Unable to open filename "/home/jordan/newTest/kidiff/newTest/9646e03/newTest.kicad_pcb" for reading
du: cannot access '/home/jordan/newTest/kidiff/newTest/2060795/newTest.kicad_pcb': No such file or directory
   plotpcb -o "/home/jordan/newTest/kidiff/newTest/2060795/" -q "/home/jordan/newTest/kidiff/newTest/2060795/newTest.kicad_pcb"
Traceback (most recent call last):
  File "/home/jordan/KiCad-Diff/plotPCB.py", line 125, in <module>
    processBoard(boardName, plotDir, args.quiet)
  File "/home/jordan/KiCad-Diff/plotPCB.py", line 45, in processBoard
    board = LoadBoard(boardName)
  File "/usr/lib/python3/dist-packages/pcbnew.py", line 6860, in LoadBoard
    return _pcbnew.LoadBoard(*args)
OSError: Unable to open filename "/home/jordan/newTest/kidiff/newTest/2060795/newTest.kicad_pcb" for reading
grep: .//newTest.sch: No such file or directory
grep: .//newTest.sch: No such file or directory
Starting webserver at http://<IP_ADDRESS>:8000```

My VM is really slow. I pushed one update if you wish to test before of me.
It has this workaround for CRLF in the main branch.

Try running inside the folder to check if this is the problem.

I have tried that as well. No luck.

My VM is really slow. I pushed one update if you wish to test before of me.
It has this workaround for CRLF in the main branch.

It seems the schematics are working now for some of my repos but the pcb's still aren't. However, with the repo I posted it did not work with schematics. I will test with some other repos but I was wondering if you had time to hop into a zoom call or any other sort of communication method to try and figure this out. I am free usually from 9am-5pm PST.

Try running inside the folder to check if this is the problem.

I have tried that as well. No luck.

My VM is really slow. I pushed one update if you wish to test before of me.
It has this workaround for CRLF in the main branch.

It seems the schematics are working now for some of my repos but the pcb's still aren't. However, with the repo I posted it did not work with schematics. I will test with some other repos but I was wondering if you had time to hop into a zoom call or any other sort of communication method to try and figure this out. I am free usually from 9am-5pm PST.

It seems that the repo itself I linked does not have its schematics working so it seems like kdiff works with schematics which is a great sign. However, the KiCad-Diff does not seem to working as the pcb's still don't show up I will try with and older build of kicad-diff

Try to convert the whole repository to unix like line endings. And give it a try.
Plotgitsch cannot handle mixed or or windows line endings. And I don't know how to workaround it from my side this time since it access git history inside of it.

Good news. Jnavila pushed a fix for this on plotgitsch, I will try to integrate these changes later, today.

That's great! I'll try it on a fresh install once it is pushed.

So it seems I have maybe fixed the line ending issues. But now it is more the KiCad-Diff may not be working. It just can't access or find the files.
Generating artifacts for 2 commits.
Totaling 2 possible comparisons.

   1. 6fb3be5 - d144682
du: cannot access '/home/jordan/TestingKdiff/kidiff/src/6fb3be5/expansion.kicad_pcb': No such file or directory
   plotpcb -o "/home/jordan/TestingKdiff/kidiff/src/6fb3be5/" -q "/home/jordan/TestingKdiff/kidiff/src/6fb3be5/expansion.kicad_pcb"
Traceback (most recent call last):
  File "/home/jordan/PantheonKdiff/KiCad-Diff/plotPCB.py", line 125, in <module>
    processBoard(boardName, plotDir, args.quiet)
  File "/home/jordan/PantheonKdiff/KiCad-Diff/plotPCB.py", line 45, in processBoard
    board = LoadBoard(boardName)
  File "/usr/lib/python3/dist-packages/pcbnew.py", line 6860, in LoadBoard
    return _pcbnew.LoadBoard(*args)
OSError: Unable to open filename "/home/jordan/TestingKdiff/kidiff/src/6fb3be5/expansion.kicad_pcb" for reading
du: cannot access '/home/jordan/TestingKdiff/kidiff/src/d144682/expansion.kicad_pcb': No such file or directory
   plotpcb -o "/home/jordan/TestingKdiff/kidiff/src/d144682/" -q "/home/jordan/TestingKdiff/kidiff/src/d144682/expansion.kicad_pcb"
Traceback (most recent call last):
  File "/home/jordan/PantheonKdiff/KiCad-Diff/plotPCB.py", line 125, in <module>
    processBoard(boardName, plotDir, args.quiet)
  File "/home/jordan/PantheonKdiff/KiCad-Diff/plotPCB.py", line 45, in processBoard
    board = LoadBoard(boardName)
  File "/usr/lib/python3/dist-packages/pcbnew.py", line 6860, in LoadBoard
    return _pcbnew.LoadBoard(*args)
OSError: Unable to open filename "/home/jordan/TestingKdiff/kidiff/src/d144682/expansion.kicad_pcb" for reading```

The schematics are showing fine now which is great.

I think this is done. I believe I have fixed it in the last commit. Please check if the new changes work for you. You can create new issue after that.


SPIFFS full open remove file problem

Dear all,
I have a problem with the SPIFFS_open and SPIFFS_remove functions. I create a file(temp.dat), then I append some data to it and at last I rename it(log.dat). After this,  I re-create the file with the same name(temp.dat), and I fill the file with the same procedure.
This is done many times until the file system is full . I saw that after the file is deleted the page index (pix) continues from the last used by the file before it was removed. In this way after many times I reach the end of file system. I expected that, after the file removal, the pix comes back, to permit to use the free memory.
I have 1.5MB of space in flash memory used for SPIFFS. If I create and remove the same file many times the spiffs shouldn’t  be full.
For example: I create the file and pix is 2206, then I fill the file and pix goes to 2418. At last I delete the file, then I re-create but pix remains 2418.

I can confirm this behaviour:
Reproduce via:

Create a file "myfile.dat.temp" and fill with data (im my case I fill it with 50kB)
If exists, delete with myfile.dat
rename myfile.dat.temp to myfile.dat
Repeat

SPIFFS is latest github version.

@comino, what is the confiugration of your filesystem when it comes to logical page sizes and logical block sizes? I'll try to reproduce it here.

A example to reproduce
`
SPIFFS.begin();
std::vector<String> Files = {
  "/file1",
  "/file2",
  "/file3"
};

// prepare a huge payload
String payload_temp = String();
for( int i=0; i<10000; i++){
  payload_temp += "0123456789";
}

for( int j = 0; j < 20; j++){
  for( auto & file : Files){
    const String payload = payload_temp + String(j);
    const String myFile= file;
    const String myFileTemp = file + ".tmp";

    // create and fill temp file
    File writeFile =  SPIFFS.open(myFileTemp, "w+");
    writeFile.write(reinterpret_cast<const uint8_t *>(payload.c_str()), payload.length());
    writeFile.close();
    // print file list before rename
    std::cout << FileSystem.test_returnFiles().c_str() << std::endl;
    REQUIRE( SPIFFS.exists(myFileTemp));

    // CHECK IF OLD FILE EXISTS
    if( SPIFFS.exists(myFile)){
      SPIFFS.remove(myFile);
    }

    // RENAME TMP FILE
    SPIFFS.rename(myFileTemp, myFile);

    std::cout << "iteraion: " << String(j).c_str() << std::endl;
    std::cout << FileSystem.test_returnFiles().c_str() << std::endl;
    REQUIRE_FALSE( SPIFFS.exists(myFileTemp));

  }
}

}
`

Please stop me, if this is going in the wrong direction.
Turns out it also happens with only one big file (200k), but more iterations, before the issue occurs.
It happens on Arduino Implementation and on a std::vector mocked version.
A newly opened *tmp file cant be written anymore.


Option for upload checksum

https://goreleaser.com/customization/checksum/

Would be helpful in order to cooperate nicely with other ecosystems such as https://scoop.sh/, who can use checksum files to confirm downloads for streamlined binary installs.


Add 1.31 E2E tests for vSphere

Issue #, if available:
#2399
Description of changes:
Add kubernetes v1.31 E2E tests for vSphere provider
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve

/lgtm


chore: add close inactive issues workflow

Motivation
When an issue has not been updated for more than a month, mark it as inactive and close it.
cc @merrymercy @Ying1123 @hnyls2002
I have tested it in my personal repository and there were no problems, but I am not sure if the repositories under the organization are also ok.
Modification
add GitHub workflow
Checklist

Ensure pre-commit pre-commit run --all-files or other linting tools are used to fix potential lint issues.
Confirm that modifications are covered by complete unit tests. If not, please add more unit tests for correctness.
Modify documentation as needed, such as docstrings or example tutorials.


WindowAlwaysOnTop

Is there a way to have the window always displayed at the top level. It is used by mobile developers to preview the effect on the phone in real time.

https://github.com/Genymobile/scrcpy#always-on-top

@rom1v
Thank you very much, I was so focused on the system window menu that I didn't look at the documentation.


color of private key

From @kikipluche on October 17, 2017 11:18
Location: page account complete

[x] the word private key and the underlining shouldn't be blue @faffydee can you give the right color?
[x] @faffydee can you check in the wiki, about showing private key together with public key, on the wiki it says see visuals how it is ordered, but on the link, i cannot click through. Maybe the designs are in the sketch file.
[ ] change the appearance of public private key

Copied from original issue: swarmcity/sc-boardwalk-production#282

From @faffydee on October 20, 2017 14:16
I've added the screens now, how it should look when the link "show private key" is tapped, and both keys are visible.
The color of the link is blue.

This is solved


MBL-1573: Checkout Screen (Change Reward flow for crowdfund)

📲 What
New checkout screen using late pledges UI + entirely new VM
⚠ Some UI small pieces will come
⚠ Still work in progress more PR's will come with bunch of testing for the new VM!
👀 See

Modify my current selection of Shipping location/Bonus/AddOns or payment method
https://github.com/user-attachments/assets/942bf183-f90f-4592-9271-c58e63fe1c92

Select other reward
https://github.com/user-attachments/assets/e3d4cf6d-0ce2-4bc7-ac42-e0782eb917fd

|  |  |
📋 QA

Use any project in staging that is still in campaign and not completed, here one example

Story 📖
MBL-1573

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 22.58065% with 24 lines in your changes missing coverage. Please review.

Project coverage is 67.11%. Comparing base (2a5123e) to head (b63ae18).

Files
Patch %
Lines

...ter/viewmodels/usecases/GetShippingRulesUseCase.kt
30.00%
4 Missing and 10 partials :warning:

...kstarter/viewmodels/projectpage/AddOnsViewModel.kt
10.00%
3 Missing and 6 partials :warning:

...arter/services/transformers/GraphQLTransformers.kt
0.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@                         Coverage Diff                         @@
##             feature/pledge-redemption-ml1    #2103      +/-   ##
===================================================================
- Coverage                            67.15%   67.11%   -0.05%
- Complexity                            2136     2137       +1
===================================================================
  Files                                  366      366
  Lines                                22330    22345      +15
  Branches                              3173     3183      +10
===================================================================
  Hits                                 14996    14996
- Misses                                5661     5666       +5
- Partials                              1673     1683      +10

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


vsBuild ignoring Java version set via JavaToolInstaller

Question, Bug, or Feature?
Type: Bug
Enter Task Name: VSBuild
Environment

Server - Azure Pipelines

Agent - Hosted windows-latest

Issue Description
Trying to build a MultiTargeted project that targets Android, iOS and Standard.  This has been working okay, until recently we upddated the build target for Android to monoandroid12.  The project will build locally, however, on the pipeline it errors with:
Error XA0031: Java SDK 11.0 or above is required when using $(TargetFrameworkVersion) v12.0.
After a bit of research we tried the JavaToolInstaller to use version 11, this seems to set the java versions correctly, however, when VSBUILD runs it still seems to find the 1.8.0 version:
_ResolveAndroidTooling:
  Found Java SDK version 1.8.0.

relevant YAML:
- task: JavaToolInstaller@0
  inputs:
    versionSpec: '11'
    jdkArchitectureOption: 'x64'
    jdkSourceOption: 'PreInstalled'

- task: CmdLine@2
  inputs:
    script: |
      echo %JAVA_HOME%
      javac -version
      java -version

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

Task logs
JavaToolInstaller:
Starting: JavaToolInstaller
==============================================================================
Task         : Java tool installer
Description  : Acquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME
Version      : 0.194.0
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/tool/java-tool-installer
==============================================================================
Use preinstalled JDK from C:\hostedtoolcache\windows\Java_Temurin-Hotspot_jdk\11.0.13-8\x64
JAVA_HOME is being set to: C:\hostedtoolcache\windows\Java_Temurin-Hotspot_jdk\11.0.13-8\x64
JAVA_HOME_11_X64 is being set to: C:\hostedtoolcache\windows\Java_Temurin-Hotspot_jdk\11.0.13-8\x64
Prepending PATH environment variable with directory: C:\hostedtoolcache\windows\Java_Temurin-Hotspot_jdk\11.0.13-8\x64\bin
Finishing: JavaToolInstaller

CmdLine Output:
C:\hostedtoolcache\windows\Java_Temurin-Hotspot_jdk\11.0.13-8\x64
javac 11.0.13
openjdk version "11.0.13" 2021-10-19
OpenJDK Runtime Environment Temurin-11.0.13+8 (build 11.0.13+8)
OpenJDK 64-Bit Server VM Temurin-11.0.13+8 (build 11.0.13+8, mixed mode)

VSBUILD:
_ResolveAndroidTooling:
  Found Java SDK version 1.8.0.
##[error]C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Legacy.targets(265,5): Error XA0031: Java SDK 11.0 or above is required when using $(TargetFrameworkVersion) v12.0.  Note: the Android Designer is incompatible with Java SDK 11.0: https://aka.ms/vs2019-and-jdk-11
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Legacy.targets(265,5): error XA0031: Java SDK 11.0 or above is required when using $(TargetFrameworkVersion) v12.0.  Note: the Android Designer is incompatible with Java SDK 11.0: https://aka.ms/vs2019-and-jdk-11 [D:\a\1\s\Kingdom.Shared.Ui\Kingdom.SharedUi\Kingdom.SharedUi.csproj]

After more expermienting it would seem that i needed the vsVersion of 17 and to get this the agent pool to be 'windows-2022'
After changing YAML to below it worked:
pool:
  vmImage: 'windows-2022'

...

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'
    vsVersion: "17.0"


Display rules in new YAML format in Prometheus 2.x web interface

Rules are still displayed in Prometheus 1.x format in the web interface under /rules. They should be rendered in the new YAML format. I assume this is known, but couldn't find an issue for it yet.

Closed in #2901


Right after upgrading to 0.25.0, CoxPHFitter complains about not finding "patsy"

Seems like the latest version require the "patsy" library, but it's not in reqs/base-requirements.txt.  There's a "statsmodel" requirement in reqs/dev-requirements.txt that might get you patsy.  But it was not pull when I did pip install -U lifelines

uh oh, did I forget to add patsy 😓


impl Serialize/Deserialize for RangeTo, RangeFrom, RangeFull

@dtolnay
Are there any restrictions by which this has not yet been implemented?
I can create PR if have not any restrictions.

Oh, sorry, found answer:
https://github.com/serde-rs/serde/pull/1466


APPLICATION_HOST bug fix in production environment

ENV["APPLICATION_HOST"] is used before it's defined in the production
environment.
By using inject_into_file instead of configure_environment we can
control the order of the steps.
[fixes #776]

I see you used :after instead of :before -- looks like it works fine. Any reason to put it inside the block?

I see you used :after instead of :before -- looks like it works fine. Any reason to put it inside the block?

I can split the string and put the first part before, and the second after. Both ways looked good to me, and all inside was a bit simpler. Do you think we should split them?

Since we are on ruby 2.3, we can use <<~ to remove the leading whitespace.

That is nice! If we take it out, I'll use this.

Nah, I see your point now. LGTM.


Add Tutorial 4

Codecov Report

Merging #51 (26586fd) into main (bd4fb59) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #51   +/-   ##
=======================================
  Coverage   50.00%   50.00%
=======================================
  Files           1        1
  Lines           4        4
=======================================
  Hits            2        2
  Misses          2        2

Continue to review full report at Codecov.

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

@varunsh-coder made the changes. We are good to go!


i am getting a error

http://prntscr.com/kdwsqg http://prntscr.com/kdwszc http://prntscr.com/kdwt51 http://prntscr.com/kdwt9x http://prntscr.com/kdwtfo http://prntscr.com/kdwtmq so this started happening last night not sure why i was off playing other server then go on to remove a staff memebers rank and found out it will not let me add/remove stuff from people i tryed restarting all of the servers did not fix it. for some people it does not give them there rank but others do get it
i love luckperms good plugin i been using it for long time idk what happening now
oo server is 1.12.2 idk if this is need telling you the server is 1.12.2 or not

Please provide the error in textual form. Upload it preferably on https://gist.github.com


ROX-19231: Factor out resourceNamesForNetworkGraph for sac requests

Description
Although I renamed as nonGlobalResourceNamesForNetworkGraph to be more specific, that would make the title too long.
Analysis

The resource names for sac requests differ from resourceAccessRequirements for 'network-graph' route and also are specified independently of each other.

useFetchClustersForPermissions in NetworkGraphPage.tsx
useFetchClusterNamespacesForPermissions in components/NetworkBreadcrumbs.tsx

Although more is not necessarily better:

pro: Consistency.
con: Would become incorrect if we ever added a so-called global resource to route requirements of Network Graph. That is not impossible to imagine, because whether correct or incorrect, Administration is required to conditionally render CIDR Blocks.
con: If users have multiple roles, access scope for request is union of access scopes of roles whose permission sets include a resource, the data in responses of other Network Graph requests might be incomplete for deployments or network policies of namespaces for which the permission set does not include DeploymentExtension or NetworkPolicy.
anti-con: This is already a potential problem, even with only 2 resources. It seems most likely that if a permission set contains DeploymentExtension, it will also include Deployment, and for NetworkPolicy, it will also include NetworkGraph.

Solution

Factor out and export nonGlobalResourceNamesForNetworkGraph from routePaths.
Import for hooks in Network Graph.
Replace string with ResourceName type in hooks.

Residue

Although Yann and I might have discussed at the time, it confused me to see useState for permissions in hooks. That kept me from renaming as resourceNames because a permission consists of an access level for a resource name. For example, READ_ACCESS for Deployment.

Checklist

[x] Investigated and inspected CI test results
[x] ~Unit test and regression tests added~

Testing Performed

yarn lint in ui
yarn build in ui and then compute branch - master for the following

wc build/static/js/*.js
main.css: 16 = 3761831 - 3761815
total: -40 = 9968147 - 9968187
ls -al build/static/js/*.js | wc -l
0 = 80 - 80 files

yarn start in ui

Manual testing

Visit /main/network-graph to verify no regression for user with one role whose permission set has minimum resource requirements

access scope is default Unrestricted

access scope has only namespace gmp-system

Integration testing
Oops, I forgot at first and therefore missed that endpoint addresses were more specific than needed.

networkGraph/networkDeploymentSidebar.test.js
networkGraph/networkGraph.test.js

Because access scope from multiple roles are a union, not an intersection, this is a subtle concept.
Any access scope for a role that has any of the 4 resources is included. The tricky bit is that a particular namespace that someone might select does not necessarily have all for of the resources.
The bottom line is that adding DeploymentExtension and NetworkPolicy is unlikely to cause problems.


why I can‘t import _ext？

what environment are you using, like CUDA version, etc?

I just searched and found this version. May I ask if it has any impact？Thanks a lot!

我刚刚搜索并找到了这个版本。请问有影响吗？非常感谢！
Cuda编译工具，版本10.0，V10.0.130

请问你解决这个问题了吗？我也碰到了相同的问题！

@tangsankou  @lokesdaddy  Did anyone find a solution to this?


Propose a solution for "Soft Wrap" warning

Hi,
I like the idea of the plugin. However, the soft wrap warning is a bit annoying for me and I have no idea how to fix this. I tried to disable/enable this in the setting but this did not solve the issue.

Notice I also get the issues from #123 which I think is related.
Keep up the good work!
René

+1


Incorporate risk_map with pipeline

As a user, I'm interested in getting a risk map as an output of the pipeline.  Code already exists to create this, it's just a matter of integrating it with the pipeline.

Closed with #258


Build with Ninja failed about backend DirectX12

everything get ok when I use cmake  generates visual studio sln flie, it build all to lib.
But when I generate with Ninja build system. It will get:

FAILED: Graphics/GraphicsEngineD3D12/CMakeFiles/Diligent-GraphicsEngineD3D12-static.dir/src/GenerateMips.cpp.obj D:\PROGRA~1\MICROS~1\2019\COMMUN~1\VC\Tools\MSVC\1425~1.286\bin\Hostx64\x64\cl.exe  /nologo /TP -DD3D11_SUPPORTED=1 -DD3D12_SUPPORTED=1 -DDILIGENT_DEBUG -DDILIGENT_DEVELOPMENT -DGLES_SUPPORTED=0 -DGL_SUPPORTED=1 -DMETAL_SUPPORTED=0 -DPLATFORM_WIN32=1 -DUSE_D3D12_LOADER=1 -DVULKAN_SUPPORTED=1 -IGraphics\GraphicsEngineD3D12\CompiledShaders -I..\Graphics\GraphicsEngineD3D12\include -I..\Common\interface -I..\Platforms\Win32\interface -I..\Platforms\Basic\interface -I..\Primitives\interface -I..\Platforms\interface -I..\Graphics\GraphicsEngineD3DBase\include -I..\Graphics\GraphicsEngine\include -I..\Graphics\GraphicsEngine\interface -I..\Graphics\GraphicsAccessories\interface -I..\Graphics\GraphicsEngineD3DBase\interface -I..\Graphics\GraphicsEngineNextGenBase\include -I..\Graphics\GraphicsEngineD3D12\interface /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1   /W4 /wd4100 /wd4505 /wd4201 /showIncludes /FoGraphics\GraphicsEngineD3D12\CMakeFiles\Diligent-GraphicsEngineD3D12-static.dir\src\GenerateMips.cpp.obj /FdGraphics\GraphicsEngineD3D12\CMakeFiles\Diligent-GraphicsEngineD3D12-static.dir\Diligent-GraphicsEngineD3D12-static.pdb /FS -c ..\Graphics\GraphicsEngineD3D12\src\GenerateMips.cpp ..\Graphics\GraphicsEngineD3D12\src\GenerateMips.cpp(54): fatal error C1083:  can not open the include file: “GenerateMips/GenerateMipsLinearCS.h”: No such file or directory

And I read the source code about the GenerateMips.cpp and the CMakeList.txt file.It seems that the header file was build by  Shader file HLSL. I can search and find HLSL file but can't find GenerateMipsLinearCS.h both project folder and build folder( it can find in build folder when build with sln).
After that I change D3D12_SUPPORTED: TRUE to D3D12_SUPPORTED: FALSE by cmake options, the ninja build it success.
the enviroment is fine. I can exec the sample with backend DirecX12 build by sln.

Yes, it is a known issue. The file is currently generated as part of Visual Studio build process by using VS-specific instructions. On other build systems these instructions are ignored an the file is not generated.


Fixed comile error when using version go1.4.2 darwin/amd64

Hi,
I've fixed compile errors on OS X 10.10.3
Now it works perfectly.
Regards
Martin

Hi, will try this tomorrow thanks :)

Sounds great.
Any feedback is welcome.
Thanks.


Backupinformation

Type of Change

[ ] Bug fix (non-breaking change, fixes #)
[x] New feature (non-breaking change, adds functionality)
[ ] Breaking change (effects multiple commands or functionality)
[ ] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[x] Pester test is included
[ ] Nunit test is included
[x] Documentation
[ ] Build system

Purpose
Starting to rewrite Restore-DbaDatabse. This will be the new file processing part, but works standalone for now
Builds up a Dbatools BackupHistory object from files.
Lets that then be piped into Restore-DbaDatabase as trusted history
The object can also be exported for later usage, or moving between machines
Also allows import of saved history
Offers the ability to annonymise the object, so we can ask people to submit it for debug easily and safely
Approach

Commands to test
Get-DbaBackupInformation -SqlInstance Server1 -Path c:\backups\ -DirectoryRecurse -ExportPath c:\store\BackupHistory.xml

#Copy the file  c:\store\BackupHistory.xml to another machine via preferred technique, and the on 2nd machine:

Get-DbaBackupInformation -Import -Path  c:\store\BackupHistory.xml | Restore-DbaDatabase -SqlInstance Server2 -TrustDbBackupHistory

This allows you to move backup history across servers, or to preserve backuphistory even after the original server has been purged
Does PassThru as well:
Get-DbaBackupInformation -SqlInstance Server1 -Path c:\backups\ -DirectoryRecurse -ExportPath c:\store\BackupHistory.xml -PassThru |
                Restore-DbaDatabse -SqlInstance Server2 -TrustDbBackupHistory

hell yes 👍 will merge and add to psd1


OAuth2ExpressionUtils: clientHasAnyRole does not work with JWT Tokens

I am using the @PreAuthorize anotation with the #oauth2.clientHasAnyRole('ROLE_USER', 'ROLE_PRIVILEGED_USER') to secure a REST method. Even though the client at least has the ROLE_USER role the OAuth 2.0 Expression does not work.
I am working with JWTs and have verified that the JWT contains the said roles in the authorities section. Breaking at the OAuth2ExpressionUtils#clientHasAnyRole(..) method yields that authentication.getAuthoroties() contains the authorities provided in the JWT; the authentication.getOAuth2Request().getAuthorities() is empty. I have not verified whether the code in the OAuth2ExpressionUtils works correctly with "regular" (non-JWT) tokens.

JWTs don't have any information about the client (except the ID). I guess it maybe could be added (optionally) if the ClientDetailsService is available at the time the token is created.

...debugging once again yields that I just might have overread the Javadoc of the OAuth2SecurityExpressionMethods#clientHasAnyRole(String... roles) method.
The JWTs do seem to have information regarding the client - snippet:
"authorities": [
    "ROLE_TRUSTED_CLIENT",
    "ROLE_CLIENT"
  ]


Add multi-platform support for containerd cri ci test

Partial #613

Thanks for reviews and merge @saschagrunert @feiskyer.


Implement common diagnostics

Populate the micro_ros_common_diagnostics package with common diagnostics / monitors for microcontrollers, e.g., heap monitor, e.g., for ESP32, etc.
Monitors for specific platforms should be possible to enable/disable via cmake flag.

@bjv-capra Do you have implementations of updaters/monitors that could fit into this repository and that you are willing to open-source?

None at the moment, unfortunately. The ones we have are too specific at the moment.


[ ReadMe: Object Detection Experiments ]

Hi @bjzhb666 ,
Thanks a lot for releasing the code.
I have been closely studying your implementation and have a couple of questions that I hope you can help clarify:

Difference between train_own_forget_cl.py and train_own_forget.py:
I noticed that there are two seemingly similar scripts in the repository: train_own_forget_cl.py and train_own_forget.py. Could you please elaborate on the specific differences between these two files? It would be helpful to understand their distinct purposes and when each script should be used.

Reproducing Object Recognition Results with DETR:
I am particularly interested in reproducing the object recognition results you achieved using DETR. Could you provide more detailed instructions or a guide on how to set up and execute the code for this task?

Loss function:
Why do you freeze the loss function parameters ?

Thank you once again for your impressive work and for any assistance you can provide.

Also, could you please explain why do you freeze the loss function parameters ?

Thanks for your attention to our work.

They are essentially no different. train_own_forget.py is for single-step forgetting and  train_own_forget_cl.py is for continual forgetting. But you can use  train_own_forget_cl.py to conduct single-step forgetting. We use train_own_forget.py to conduct more ablation studies in single-step forgetting. If you do not want to see the details of the ablation study, just use train_own_forget_cl.py.
We did not release the code for Object Detection. (actually, we have not cleaned it)  The procedure is similar. We use the official checkpoint provided by deformable DETR. We need to use the LoRA module to modify the network structure and add our GS loss, Knowledge Retention Loss, and Selective Forgetting Loss.
Actually, the loss function parameters are the FFN module (classifier). The name comes from our code base Face Transformer and is somewhat confusing. Please refer to our paper for more details (e.g. Sec.6.1) about why we freeze the FFN layers.


Can't add new KameletBinding route using the code editor in multiroute setup

Describe the Bug
Users can't add new KameletBinding using the code editor - e.g. appending following KameletBinding and syncing doesn't create new route in the canvas:
---
apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: KameletBinding16878663834731687866383473
spec:
  source: null
  sink: null

Steps to Reproduce the Bug or Issue

add the above mentioned KameletBinding
sync code changes
see no KameletBinding was added to the canvas

Screenshots or Videos

Platform

OS: [e.g. macOS, Windows, Linux]
Browser: [e.g. Chrome, Safari, Firefox]
Version: [latest]

Duplicate of: #2055
Multi route for Kamelet and KameletBinding are supposed to be disabled


update wiki

Trello Labels: doc
Trello Card Description:

done in https://github.com/principal-engineering/pete/commit/c2c72b8ff71797b1b3833c1d7d9d657ec000bc80


Allow using ssh-agent inside a command hook

At the moment, SSH_AUTH_SOCK env var is set during command hook execution if you are using a global ssh key.
However, in case of using repo/pipeline ssh keys (when AWS_PARAMSTORE_SECRETS_GLOBAL_SSHenv var is unset),SSH_AUTH_SOCKenv var is unset prematurely (in apost-checkouthook). This breaks build jobs that need access tossh-agentsocket inside acommandhook. For example, any build that usesmount-ssh-agent` option from https://github.com/buildkite-plugins/docker-buildkite-plugin#mount-ssh-agent-optional-boolean
breaks.
This PR adds an option to change the default behavior described above, so when user adds echo "export AWS_SSM_SECRETS_PLUGIN_RUN_SSH_AGENT_DURING_COMMAND=1" >> /var/lib/buildkite-agent/cfn-env  to agent-bootstrap script, SSH_AUTH_SOCK will be unset in a post-command hooks instead of post-checkout.
Potentially, this behaviour could be a default one(and flag could be removed).
Let me know what you think @xiaket @mikeknox

What do you think about this @xiaket ?

Hey mate, sorry for getting back so late. This looks good to me, thanks for your contribution again! :)

Thanks @vgrigoruk for your contribution, released as v0.9.0


feat(frontend): show all ck-conversions fees in ck-denominations

Motivation
Since the ck-conversions fees related to Ethereum transaction fees are always paid in ckETH, we change the component EthereumEstimatedFee to reflect that. The change is visible happens only in ckETH --> ETH conversion modals.
NOTE
Both situations below end in the same place and results for the user, nothing changes in final amounts, only the dialectics on how the Ethereum fees are paid by the user, that will reflect what is happening in the background effectively, that is how it is effectively already implemented in the Oisy code.
Before:
The Ethereum fees were showed in ETH, telling the users that it is the amount that it would be subtracted from the final ETH amount that they would expect, after having converted the ckETH input by the users into ETH.
Example of user experience:

User input 10 ckETH to be converted.
Oisy shows a fee of 1 ETH.
10 ckETH --> 10 ETH.
Ethereum fees are paid: 10 ETH - 1 ETH = 9 ETH.
User expects 9 ETH.

After:
The Ethereum fees will be showed in ckETH, telling the users that it is the amount that it would be subtracted from the ckETH input amount, before converting to ETH.
Example of user experience:

User input 10 ckETH to be converted.
Oisy shows a fee of 1 ckETH.
Ethereum fees are paid: 10 ckETH - 1 ckETH = 9 ckETH.
9 ckETH --> 9 ETH.
User expects 9 ETH.

Changes

Modify ethereumFeeTokenCkEth derived store to return ckETH as Fee Token for ckETH.
Adapt EthereumEstimatedFee to show always the ck-denomination.

The above changes are ok, since ethereumFeeTokenCkEth is used only in two circumstances for now: showing the denomination of the Ethereum Fee and asserting the ckETH balance in case of ckERC20 --> ERC20 conversions (not affected by the changes). Furthermore, EthereumEstimatedFee is showed only for ck-conversions.
Tests
Before

After

I've got two questions regarding your last screenshot:

Should we rename "Estimated Ethereum Fee (Updated 30 seconds" into "Estimated Fee (Updated 30 seconds") - i.e. remove the keyword "Ethereum" from the title

In your screenshot the balance is 0.000000077 ckETH but in the message it's 0.00000008 ckETH. I guess it's rounding. Should we use the same rounding as in the display of the balance in the error message?

I am looking with Artem how to re-visit the wording there (or even adding some info). But if you prefer I can already remove that word. The point is that we should tell in some way that those fees are related to the Ethereum fees

agreed! will do in another PR

@AntonioVentilii-DFINITY In your after xshot, the Ethereum fee is 0.01... ckSepoliaETH, which is still really high. Is this amount reflective of how it will be in mainnet, i.e., will the user see an amount close to 0.01.. of ckETH ?

@anedos-dfinity indeed, that was just a test value in local replica; I updated the screenshot with a staging version


LICENSE or NOTICE???

@kiewic
I'm SeYoung.
I want to use your code in my commercial app.
But I can'f find any terms and conditions for use, reproduction, and distribution.
I wonder if I can use the code for commercial distribution or not.
Please let me know how I can use the code for commercial distribution.

Hello @SeYoung, yes, feel free to use the code for whatever you want.

@kiewic  thank you so much for providing this code. I would also like to use it for a commercial application. Is your statement to seyoung-hyun a general statement?

Yes. Please feel free to use it the way you want.

Yes. Please feel free to use it the way you want.
On Tuesday, October 25, 2016, tbishop9870<EMAIL_ADDRESS>wrote:

@kiewic https://github.com/kiewic thank you so much for providing this
code. I would also like to use it for a commercial application. Is your
statement to seyoung-hyun a general statement?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kiewic/MediaElementWithHttpClient/issues/2#issuecomment-256242774,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA1WlqLSPiC2WtsP1V8HrS-TOHy1qW_Vks5q3s4KgaJpZM4JVw_N
.


Imported file process

Imports::Docx#process
We process Docx files identically to Doc files.
https://app.asana.com/0/1203289004376659/1207002310256047

Imports::Doc#process
Process a Doc import file by converting it to PDF.
We want to track whether the processing has finished, so we add new
columns processed_at and processing_errors. Only one is present at a
time.
We can also start to make use of the status column, to flag import
files that need attention.
Much of the work for this is already done in DocToPdfConverter.
However, that service hardcodes the idea of a SourceFile. Instead, we
want a service that is divorced from the database entirely: it should
take a string representing some sort of unique ID, and the file to
process. On success we need the filename of the PDF output.
So to ease the transition, make a ConvertDocToPdf service and use it
from DocToPdfConverter. Many of the tests are identical, just simpler.
While here, remove the unused DocToPdfConverter.convert_all method,
which attempts to enqueue a job but that job misspelled #perform.
https://app.asana.com/0/1203289004376659/1207002310256046

Imports::Pdf#process
The goal of the #process method is to get an imported file one step
closer to a PDF. Therefore, processing a PDF does nothing.
All imported files must be processable. Extract a shared example to
convey this shared interface.
https://app.asana.com/0/1203289004376659/1207002310256044

TODO #process needs to recur down the tree.

TODO: app/jobs/scraper/apprenticeship_bulletins_job.rb adds an Excel file -- should that be an Imports::Excel ?

@littleforest ready for final review, please.


Coverage on overload stubs for typing

Situation
Coverage marks @overload stubs as uncovered.
# scratch_2.py
from typing import overload, Union

@overload
def some_func(int_or_str: str) -> str:
    ...  # currently marked as uncovered

@overload
def some_func(int_or_str: int) -> int:
    ... # currently marked as uncovered

def some_func(int_or_str: Union[int, str]) -> Union[int, str]:
    return int_or_str

def test_some_func():
    assert 10 == some_func(10)
    assert "test" == some_func("test")

$ mypy scratch_2.py
$ pytest scratch_2.py --cov=scratch_2 --cov-report=term

Expected results
Full coverage
Current output
scratch_2.py .                                                                                [100%]

---------- coverage: platform darwin, python 3.7.6-final-0 -----------
Name           Stmts   Miss  Cover
----------------------------------
scratch_2.py      12      2    83%

Versioning
Coverage.py, version 5.0.4 with C extension
Full documentation is at https://coverage.readthedocs.io

You can configure coverage.py to ignore the overload functions by adding this to your .coveragerc file:
[report]
exclude_lines =
    pragma: not covered
    @overload

(You need "pragma: not covered" there to keep the default pragma comment working.)
Perhaps a future version of coverage will know more about typing natively, but this will fix your project for the time-being.

Hi @nedbat thanks for the note, adding @overload to the coverage report exclusions is a great idea, instead of individually marking the lines as no cover.
It'd be great to use this issue to track progress on coverage being able to handle typing.

Would it perhaps make sense to add @overload to the default exclude_lines? They can't contain any code:

At runtime, calling a @overload-decorated function directly will raise NotImplementedError.

I suppose a downside would be that this would also catch @overload usage where overload is not actually typing.overload though.


Negative prompting - Why is it not supported?

In this PR https://github.com/THUDM/CogVideo/pull/62 it is stated that negative prompting is not supported.
Is there a particular reason for this from the architecture or somewhere else?
Thanks!

During model training, this part was not provided as input; instead, it was entirely filled with zeros for training.


Issue with k8s.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/

how to slove this error
error: error validating "one.yaml": error validating data: apiVersion not set; if you choose to ignore these errurn validation off with --validate=false

hi, please try the support channels for general questions:
https://github.com/kubernetes/kubernetes/blob/master/SUPPORT.md
/close
/triage support
/sig cluster-lifecycle


Nil ptr bug fix in fakes

Codecov Report

Merging #10 (283d483) into main (b93cfe8) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 283d483 differs from pull request most recent head fae048a. Consider uploading reports for the commit fae048a to get more accurate results

@@           Coverage Diff           @@
##             main      #10   +/-   ##
=======================================
  Coverage   84.40%   84.40%
=======================================
  Files           7        7
  Lines         250      250
=======================================
  Hits          211      211
  Misses         27       27
  Partials       12       12

Continue to review full report at Codecov.

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