AWS Lambda Function: Cannot find package imported

I added the knex module (for example) to my function lambda (Node.js 14.x) from a lambda layer.
When I deploy my function in AWS Lambda and I use require in my lambda function works but with import not works.
require (It works)

index.js

const knex = require('knex')(myConfig);

package.json

{
  "name": "my-function",
  "version": "1.0.0",
  "main": "index.js",
  "dependencies": {}
}

import (Not works)

index.js

import knexModule from 'knex';

const {knex} = knexModule;
const db = knex(configKnex);

package.json

{
  "name": "my-function",
  "version": "1.0.0",
  "main": "index.js",
  "type": "module",
  "dependencies": {}
}

Error
Response
{
  "errorType": "Error",
  "errorMessage": "Cannot find package 'knex' imported from /var/task/index.js\nDid you mean to import knex/knex.js?",
  "trace": [
    "Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'knex' imported from /var/task/index.js",
    "Did you mean to import knex/knex.js?",
    "    at new NodeError (internal/errors.js:322:7)",
    "    at packageResolve (internal/modules/esm/resolve.js:732:9)",
    "    at moduleResolve (internal/modules/esm/resolve.js:773:18)",
    "    at Loader.defaultResolve [as _resolve] (internal/modules/esm/resolve.js:887:11)",
    "    at Loader.resolve (internal/modules/esm/loader.js:89:40)",
    "    at Loader.getModuleJob (internal/modules/esm/loader.js:242:28)",
    "    at ModuleWrap.<anonymous> (internal/modules/esm/module_job.js:76:40)",
    "    at link (internal/modules/esm/module_job.js:75:36)",
    "    at process.runNextTicks [as _tickCallback] (internal/process/task_queues.js:60:5)",
    "    at /var/runtime/deasync.js:23:15"
  ]
}

My layer downloaded from AWS Lambda looks like this:

How can I use import in AWS Lambda?
Note: Locally works with require and import with modules installeds in node_modules in my lambda function.

This project is specific to the Go runtime for Lambda, and isn't the right place to get help with node.js Lambda functions. Consider reaching out to AWS customer support, stack overflow, or digging through the implementation of https://github.com/aws/aws-lambda-nodejs-runtime-interface-client, to debug your issue.

@aldo-rd how did you resolve this problem?..I get the same error...thank you


convert toc for aspnet folder to yaml

Internal review link

@tdykstra 	missing config builders

Added it, though it looks out of place all by itself like that.  Unfortunately the ToC doesn't have an appropriate place for it.  I was tempted to add a Fundamentals group node, but we're not likely to have anything else to put in it, so that would look strange too with just one entry.


Could not release for iOS

System information

OS Platform and Distribution:  iOS 14.5
MediaPipe version: v<IP_ADDRESS>
Bazel version: 4.2.1
XCode: 12.5.1
Tulsi: 0.20210318.88
MacOS: 11.5.2

Describe the problem:
After building the Handtracking project in XCode, I tried to archive from (Product -> Archive).
The building and the archiving processes are completing successfully (as shown in the attached snapshots). However, on opening the archive, xcode is showing 'The archive contains nothing that can be signed'
**[Provide the exact sequence of commands / steps that you executed before running into the problem]

installing mediapipe and running HelloWorld
installing Tulsi and generating XCode project
configuring custom provisioning (with an apple developer account)
in xcode, selecting 'HandTrackingGpuApp' target
editing 'HandTrackingGpuApp' Scheme. selecting (Build Configuration: Release)
building the project in xcode with Product -> Build
archiving the project with Product -> archive
click 'Validate App'

Snapshots:

Complete Logs:
Build HandTrackingGpuApp_2021-09-18T03-25-33.txt
Archive HandTrackingGpuApp_2021-09-18T03-26-05.txt

I have  building the Facemeshgpu project in XCode, I tried to archive from (Product -> Archive).
The building and the archiving processes are completing successfully (as shown in the attached snapshots). However, on opening the archive, xcode is showing 'The archive contains nothing that can be signed

'

@tanuuuu, Did you get a chance to check this https://stackoverflow.com/questions/44966406/archive-export-error-the-archive-contains-nothing-that-can-be-signed/64262391

Hi @emad-eldeen ,
This is issue can be resolved in the latest version of MediaPipe , could you please check and close this issue.


Mesa 24

I tested enabling NVK but ran into some build errors. Mesa 24.0.3 requires Meson >= 0.60 but Meson 1.Y.Z is installed on Fedora 39 and 40. Due to the major version bump, Rust Crate refuses to build the package. It is not useful right now without Gamescope support so I will leave it out of the build. It is not until Mesa 24.1.0 that NVK is declared stable and enabled by default anyways.

I was able to run through both i386 and x86_64 RPM builds on Fedora 39 and 40 using mock. For example:
$ sudo mock -r fedora-39-i386 --rebuild ${HOME}/rpmbuild/SRPMS/mesa-24.0.3-1.fc39.src.rpm

This rebase was pulled from Fedora Pagure: https://src.fedoraproject.org/rpms/mesa/tree/rawhide


Establish and implement the relevant metrics to understand storage workloads

Was https://github.com/tendermint/tendermint/issues/9773
We need to identify the set of metrics to understand the storage workloads of CometBFT. The metrics should help us identify:

The access patterns (sequential / random access)
How often the data is read/written
Who reads/writes the data
Is the data accessed by multiple components or just one.
How much of the total height time is spent in storage - on a small network, on a big network? (Is storage a bottleneck? )

Open questions: Do we want information on which CometBFT Blockstore / StateStore method call triggered the access or is read/write/delete count and timing enough?
Draft implementation: https://github.com/tendermint/tendermint/pull/9774
DoD

[ ]  Set of candidate metrics is established, discussed and well understood.
[ ]  The identified metrics are added into the Tendermint codebase.

For Q4 2023, we will focus on:

Storage access time (last point in the issue description)
Which data is most frequently read
The amount of storage taken by different workloads with and without pruning
The throughout with and without pruning - This was derived from a call with Injective whose users' latency was heavily impacted by pruning being enabled.

This list might be altered after an in person meeting of the team deciding on the exact measurments that will help us achieve our Q4 goals.
The main result of this testing should be :

Showing that the impact of pruning has improved - compaction works
Database access times have decreased
Impact of the new pruning mechanism on throughput
Impact of different key representation + new pruning mechanism on throughput.

The throughout with and without pruning - This was derived from a call with Injective whose users' latency was heavily impacted by pruning being enabled.

The throughput can be hard to measure as it depends on many factors. Is it better to measure the duration of pruning (if possible)? This is similar to how the Golang core team optimised their garbage collector by looking at the duration of GC pauses.


Fixed code style issues in lib/CryptoNoteCore dir

Fixed code style issues in lib/CryptoNoteCore folder.
For more details about code style changes see issue #67.

NOTE: This is a Work In Progress. Please, don't merge until I post a comment "Done. Can be merged".

@nnian please, restart the CI builds on Travis CI. Looks like one of the Linux builds failed due to a network issue (apt-get package manager related issue).

@speqtr macOS debug is building for the 3rd round now, hm

Hmmm... Later today I will upload updated version of lib/CryptoNoteCore, let's see how it will compile with "macOS debug" configuration.

Currently one test (WalletLegacyApi.outcommingExternalTransactionTotalAmount) is failing on macOS debug environment. I'll take a look and push a patch once fixed.

Please, don't merge this PR. Latest build will be green because I temporary disabled tests in order to properly reset cache on all CI servers.

If this pending issue is regarding the bulid-time on Travis-CI, then I suggest we merge unless there is a compilation failure on the debug mode. Or we upgrade Travis-CI to a paid service. IMO, we are losing more time and money from this type of optimization.

@Xecute0101 we don't merge because some tests are failing. I'm working on fixing them.

All regressions are fixed, all tests are passing without any errors.
@nnian this PR can be merged.

@speqtr good work :)

@nnian thanks 🙂


Net Core 3.1 Nlog Issue  (using MySQL)

I am trying to migrate from Net Core 2.2 to Net Core 3.1
After solving a lot of problem I have this one and was unable to find solution until now.
The exception is:
2020-05-05 15:08:52.2508 Warn Type load exception. Exception: System.TypeLoadException: Could not load type 'System.Web.IHttpModule' from assembly 'System.Web, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.
2020-05-05 15:08:53.3247 Error DatabaseTarget(Name=allDb_wrapped): Error when writing to database. Exception: System.IO.FileNotFoundException: Could not load file or assembly 'DotNetAgent, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=87b69d96e75fbfca'. The system cannot find the file specified.
File name: 'DotNetAgent, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=87b69d96e75fbfca'
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at MySql.Data.MySqlClient.Driver.LoadServerProperties(MySqlConnection connection)
at MySql.Data.MySqlClient.Driver.Configure(MySqlConnection connection)
at MySql.Data.MySqlClient.MySqlConnection.Open()
at NLog.Targets.DatabaseTarget.OpenConnection(String connectionString, LogEventInfo logEventInfo)
at NLog.Targets.DatabaseTarget.EnsureConnectionOpen(String connectionString, LogEventInfo logEventInfo)
at NLog.Targets.DatabaseTarget.WriteLogEventToDatabase(LogEventInfo logEvent, String connectionString)
I have added the extension to nlog-config:
<extensions>     <add assembly="NLog.Web" />     <add assembly="NLog.Web.AspNetCore" />   </extensions>
Any thoughts?

Don't include NLog.Web. That's for ASP.NET non-core only.
So include only NLog.Web.AspNetCore


[Launcher] Auto-complete text suggestion should be case insensitive

based on msi (21 Apr) commit 064d638
I'm noticing text suggestion doesn't populate if the title name starts with an upper case while I'm typing with lower case in the search box.

this is done

I have the mentioned issue

@huray-hub, i just tested this out and I get the same results.  Something odd happened on the top screenshot since your bottom once clearly shows results not being case sensitive.  please file a new issue with more info

I think it doesn't work only for system directories (I mean the default ones: Downloads, Pictures, Videos, Documents)

It works fine for Videos and Music
OS: Windows 11
OS Build: 22000.527

Same issue here, if I write "fotos" it doesn't search anything, you have to write "Fotos"


Macro for loading an existing snapshot

For testing serialization round trips, having a way to lookup an existing snapshot would be nice.
For example something like this would be helpful:
use serde::{Serialize, Deserialize};

#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
struct SomethingToTest {
    pub property: String,
    pub thing_that_will_be_converted: u32,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub optional: Option<bool>,
}

#[cfg(test)]
mod test {
    use super::*;

    #[test]
    fn something_to_test() {
        let expected = SomethingToTest {
            property: "property".to_string(),
            thing_that_will_be_converted: 100,
            optional: None,
        };
        insta::assert_json_snapshot!(expected);
        if let Some(exiting) = insta::find_snapshot!() {
            let round_trip: SomethingToTest = serde_json::from_str(exiting.contents_str()).unwrap();
            assert_eq!(expected, round_trip);
        }
    }
}

I think the idea is nice, but I'm not so happy with exposing this Snapshot type further. I will consider this, but this might be a good time to clean up that snapshot API a bit. It's also partially standing in the way of non string snapshots (refs #196)

There are a few of alternatives that I can see being helpful for this use case that may fit better into you vision for this project.
The first would be to provide some method for resolving the path for the existing test's .snap file. This would still rely on the Snapshot type and may complicate the non-string snapshots referenced above.
The other option would be to provide some method for resolving the deserializable type, this might require similar duplication as the assert macros provided by this lib (for example find_snapshot_json!, find_snapshot_yaml! and find_snapshot_csv! would could return T: Deseralize failing of the wrong macro is used for the snapshot type or the type failed to deserialize). For example:
#[test]
fn something_to_test() {
    let expected = SomethingToTest {
        property: "property".to_string(),
        thing_that_will_be_converted: 100,
        optional: None,
    };
    insta::assert_json_snapshot!(expected);
    if let Result::<SomethingToTest, _>::Ok(exiting) = insta::find_snapshot_json!() {
        let round_trip: SomethingToTest = serde_json::from_str(exiting.contents_str()).unwrap();
        assert_eq!(expected, round_trip);
    }
}

A third option would be to provide something the fetches the string like insta::find_snapshot_string! which would return an Option<String> that would then be None for not-yet-generated snapshots or for non-string shapshots.

Since this already does not work for inline snapshots I wonder if the better way for such cases is not to dump to JSON yourself, then just do assert_snapshot! like this:
#[test]
fn something_to_test_alt() {
    let expected = SomethingToTest {
        property: "property".to_string(),
        thing_that_will_be_converted: 100,
        optional: None,
    };
    let expected_json = serde_json::to_string_pretty(&expected).unwrap();
    insta::assert_snapshot!(expected_json);
    let round_trip: SomethingToTest = serde_json::from_str(exiting.contents_str()).unwrap();
    assert_eq!(expected, round_trip);
}

I tried a few things now and I'm not entire sold on the idea that reading snapshot contents back is useful in general, particularly as most of these use cases will involve round-tripping and here the redaction system will already not work with it most likely.

That is a much better method for handling this kind of test, thank you!


Add APIML Metrics Service demo video

Is your request for enhancement related to a problem? Please describe.
Users may want a video describing the metrics service in the APIML.
Describe the solution you'd like
Add a demo video.
Related doc pages

Markdown source: docs/user-guide/api-mediation-metrics-service.md
Online: https://docs.zowe.org/stable/user-guide/api-mediation-metrics-service

Additional context
@nannanli this is referencing #zowe-api you mentioned might be good to add. Video is too big to attach here, but I have a copy.
Video in slack: https://openmainframeproject.slack.com/archives/CC5UUL005/p1638381402028000

The video has been uploaded to https://youtu.be/KkuE6xADxPk.


Alexa Skill Toolkit 2.0.1 not loading in VSCode

Describe the bug
Alexa Skill Toolkit extension is not working in VSCode
To Reproduce
Steps to reproduce the behavior:

Go to 'Alexa Skill Toolkit extension'

Extension Logs
Activating extension 'ask-toolkit.alexa-skills-kit-toolkit' failed: Cannot find module 'c:\Users\username.vscode\extensions\ask-toolkit.alexa-skills-kit-toolkit-2.0.1\out\src\extension'
Require stack:

\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\loader.js
\AppData\Local\Programs\Microsoft VS Code\resources\app\out\bootstrap-amd.js
\AppData\Local\Programs\Microsoft VS Code\resources\app\out\bootstrap-fork.js.

Expected behavior
Skill Management page to be displayed
Screenshots

Desktop (please complete the following information):

OS:
Visual Studio Code Version: 1.48.2
Alexa Skill Toolkit Version: 2.0.1

Additional context
Alexa Skill Toolkit was working before and now after multiple re-installations still not loading into VSCode.
I also reinstall the ASK-SDK. Still no change.
.vscode\extensions\ask-toolkit.alexa-skills-kit-toolkit-2.0.1\out folder is indeed missing.

Thanks for pointing this out @AdrianAndronescu  . I was able to reproduce this issue but interestingly, when doing our local development before the release, this didn't come up. We will be working on the fix and releasing the patch asap.
For now, please downgrade to version 2.0.0 manually to unblock. Sorry for the inconvenience.

Hey @AdrianAndronescu , we just released the version 2.0.2 : https://marketplace.visualstudio.com/items?itemName=ask-toolkit.alexa-skills-kit-toolkit that fixes this issue. Please install the latest version and let us know if you are still facing any issues.

Awesome, thanks for updating. Once again sorry for the inconvenience. Please let us know if you are facing any issues or have any feedback to share!!


Use the term close reason

Description
This contains a typographical fix and a bug fix. This makes sure we consistently use the term "close reason" instead of "close message" to refer to what the spec calls close reason (https://datatracker.ietf.org/doc/html/rfc6455#section-7.1.6). It also fixes a reference to a non-existing variable named message.
Types of Changes

Bug fix.
Maintenance.

Testing

[x] I tested my changes locally.
[ ] I tested my changes in staging.
[ ] I tested my changes in production.

Awesome, thanks for your contributions!


[vlive] does not support new url type.

Checklist

[x] I'm reporting a broken site support issue
[x] I've verified that I'm running youtube-dl version 2020.11.19
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar bug reports including closed ones
[x] I've read bugs section in FAQ

Verbose log

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['https://www.vlive.tv/post/0-18257176', '-v']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2020.11.19
[debug] Git HEAD: a1c88c481
[debug] Python version 3.8.5 (CPython) - Linux-4.19.104-microsoft-standard-x86_64-with-glibc2.29
[debug] exe versions: ffmpeg 4.2.4, ffprobe 4.2.4
[debug] Proxy map: {}
[generic] 0-18257176: Requesting header
WARNING: Falling back on generic information extractor.
[generic] 0-18257176: Downloading webpage
[generic] 0-18257176: Extracting information
ERROR: Unsupported URL: https://www.vlive.tv/post/0-18257176
Traceback (most recent call last):
  File "/home/kyu/dev/youtube-dl/youtube_dl/YoutubeDL.py", line 803, in wrapper
    return func(self, *args, **kwargs)
  File "/home/kyu/dev/youtube-dl/youtube_dl/YoutubeDL.py", line 824, in __extract_info
    ie_result = ie.extract(url)
  File "/home/kyu/dev/youtube-dl/youtube_dl/extractor/common.py", line 532, in extract
    ie_result = self._real_extract(url)
  File "/home/kyu/dev/youtube-dl/youtube_dl/extractor/generic.py", line 3381, in _real_extract
    raise UnsupportedError(url)
youtube_dl.utils.UnsupportedError: Unsupported URL: https://www.vlive.tv/post/0-18257176

Description

https://www.vlive.tv starting using two types of urls: https://www.vlive.tv/video/<videoId> (old) and https://www.vlive.tv/post/<postId> (new).
For example, http://www.vlive.tv/video/16937 and https://www.vlive.tv/post/0-18257176 both points to the same video.
While current version of yotube-dl supports old type, it returns Unsupported URL error when using new type.

this link - https://www.vlive.tv/post/0-18257176 will work with youtube-dlc

Pull request #27123 allows youtube-dl to support new url type.


Expose Eventstore event Disconnected by ConnectionWrapper

Exposed IEventStoreConnection.Disconnected event in IStreamStoreConnection
Implemented this updated in EventStoreConnectionWrapper.
Updated MockStreamStoreConnection

Wrong target.


[MLIR/XLA] add a pass to outline kLoop/kInput fusion pattern in xla_hlo dialect

This pass implements the basic kLoop/kInput fusion in fully dynamic shape scenario. Similar to XLA, this pass also supports fusion pattern having multiple outputs if all the shape of outputs are consistent. To this end, we also add a simple shape constrain analysis. This could be built on the shape dialect once it is ready.

It seems like you create a new function call for each of these "fusion".
Have you considered a lighter-weight region-based approach?
I'm thinking about the equivalent of lhlo.fusion operation? https://github.com/tensorflow/tensorflow/blob/master/tensorflow/compiler/mlir/xla/ir/lhlo_ops.td#L388

It seems like you create a new function call for each of these "fusion".
Have you considered a lighter-weight region-based approach?
I'm thinking about the equivalent of lhlo.fusion operation? https://github.com/tensorflow/tensorflow/blob/master/tensorflow/compiler/mlir/xla/ir/lhlo_ops.td#L388

Thanks for your reply!
I agree that region style is more lightweight for fusion itself. Here I use a function style because this style  is easier to play with other existing passes (e.g. hlo-legalize-to-lhlo) .  I will change to region style after the general structure review of this pass is finished.

I looked at the code and left some stylistic comments.
What is the plan for this code moving forward? What do you aim to build and where does it fit in?

We plan to add E2E dynamic shape fusion&codegen support based on MLIR.
This PR mainly covers the fusion pass. As to the codegen part, we are already working on it and later another PR may be submit.
Thanks.

We plan to add E2E dynamic shape fusion&codegen support based on MLIR.
This PR mainly covers the fusion pass. As to the codegen part, we are already working on it and later another PR may be submit.

This is fantastic!
Can you send RFCs and conduct discussions about the plan ahead of time? We should likely coordinate a bit more to make sure your work align with our.
We will also try to surface a better roadmap on our side to give visibility to everything that we're doing.
At the moment IREE is also doing some dynamic codegen and they are very interested in better alignment as well.

@sherhut Thanks for your suggestion. I have done some refine work.

@joker-eph  Here are some documents:
https://groups.google.com/a/tensorflow.org/forum/#!topic/mlir/_X48poNcbDI
https://drive.google.com/open?id=1ZDzXluB2uVc35r1fBNK5jW6rY8s82pc_

@joker-eph @sherhut Could you help to have a look?

The corresponding codegen PR for kLoop/kInput fusion is as following:
https://github.com/tensorflow/tensorflow/pull/38186/files
https://reviews.llvm.org/D77447
Just refer them here to ensure the reviewers can have a full-picture of what we are working on.

@wyzero Can you please check @joker-eph's comments and resolve conflicts?. Thanks!

Sorry for the delay. I will fix it soon.

For interface-based fusibility check, it will be implemented in next commit soon.

@joker-eph Could you help to take a look?

@joker-eph Hi Medhi, could you take another round of review for this PR? It has been pending for more than one month:) If possible, we would like to close  it ASAP.

Hi Mehdi, could you take another round of review for this PR? It has been pending for more than one month:) If possible, we would like to close it ASAP.

@alibaba-common it has been in review with a few round that happened during this time, it wasn't "pending" as waiting for being reviewed. Most of the time I believe has been spent waiting for update on the author side to address comments. I invite you to take another look at the delays between the pushes/updates to the PR and my reviews.

Hi Mehdi, could you take another round of review for this PR? It has been pending for more than one month:) If possible, we would like to close it ASAP.

@alibaba-common it has been in review with a few round that happened during this time, it wasn't "pending" as waiting for being reviewed. Most of the time I believe has been spent waiting for update on the author side to address comments. I invite you to take another look at the delays between the pushes/updates to the PR and my reviews.
It also does not help that some comments/questions are left unanswered.

FYI the sanity build log is complaining about formatting:
FAIL: buildifier found errors and/or warnings in above BUILD files.
buildifier suggested the following changes:
tensorflow/compiler/mlir/xla/BUILD:
153d152
<         "ir/infer_fusibility_op_interface.h.inc",
154a154
>         "ir/infer_fusibility_op_interface.h.inc",
369d368
<     hdrs = ["transforms/cycle_detector.h"],
370a370
>     hdrs = ["transforms/cycle_detector.h"],
381d380
<         ":hlo",
382a382
>         ":hlo",
384c384
<         "//tensorflow/compiler/jit/graphcycles:graphcycles",
---
>         "//tensorflow/compiler/jit/graphcycles",
593d592
<         ":xla_canonicalize_inc_gen",
594a594
>         ":xla_canonicalize_inc_gen",
893d892
<         ":xla_hlo_fusion",
900a900
>         ":xla_hlo_fusion",
exit status 1
Please fix manually or run buildifier <file> to auto-fix.

I suspect you should also have access to the windows build log: https://source.cloud.google.com/results/invocations/dadc78f3-a639-40d5-86bd-301ad8866b1f/log

T:\tmp\bigvaudl\execroot\org_tensorflow\bazel-out\x64_windows-opt\bin\tensorflow\compiler\mlir\xla\ir\hlo_ops.h.inc(4285) : error C4716: 'mlir::xla_hlo::XorOp::inferEffectiveWorkloadSize': must return a value
T:\tmp\bigvaudl\execroot\org_tensorflow\bazel-out\x64_windows-opt\bin\tensorflow\compiler\mlir\xla\ir\hlo_ops.h.inc(3936) : error C4716: 'mlir::xla_hlo::SubOp::inferEffectiveWorkloadSize': must return a value
T:\tmp\bigvaudl\execroot\org_tensorflow\bazel-out\x64_windows-opt\bin\tensorflow\compiler\mlir\xla\ir\hlo_ops.h.inc(1752) : error C4716: 'mlir::xla_hlo::Expm1Op::inferEffectiveWorkloadSize': must return a value
T:\tmp\bigvaudl\execroot\org_tensorflow\bazel-out\x64_windows-opt\bin\tensorflow\compiler\mlir\xla\ir\hlo_ops.h.inc(3878) : error C4716: 'mlir::xla_hlo::SqrtOp::inferEffectiveWorkloadSize': must return a value
T:\tmp\bigvaudl\execroot\org_tensorflow\bazel-out\x64_windows-opt\bin\tensorflow\compiler\mlir\xla\ir\hlo_ops.h.inc(3744) : error C4716: 'mlir::xla_hlo::SinOp::inferEffectiveWorkloadSize': must return a value
...

FYI the sanity build log is complaining about formatting:
FAIL: buildifier found errors and/or warnings in above BUILD files.
buildifier suggested the following changes:
tensorflow/compiler/mlir/xla/BUILD:
153d152
<         "ir/infer_fusibility_op_interface.h.inc",
154a154
>         "ir/infer_fusibility_op_interface.h.inc",
369d368
<     hdrs = ["transforms/cycle_detector.h"],
370a370
>     hdrs = ["transforms/cycle_detector.h"],
381d380
<         ":hlo",
382a382
>         ":hlo",
384c384
<         "//tensorflow/compiler/jit/graphcycles:graphcycles",
---
>         "//tensorflow/compiler/jit/graphcycles",
593d592
<         ":xla_canonicalize_inc_gen",
594a594
>         ":xla_canonicalize_inc_gen",
893d892
<         ":xla_hlo_fusion",
900a900
>         ":xla_hlo_fusion",
exit status 1
Please fix manually or run buildifier <file> to auto-fix.

Thanks for your help. It seems that there is  no difference for most of lines (except the line for "//tensorflow/compiler/jit/graphcycles:graphcycles").  It that true?

Thanks for your help. It seems that there is no difference for most of lines (except the line for "//tensorflow/compiler/jit/graphcycles:graphcycles"). It that true?

The other lines are pointing at issues in ordering: these should be alphabetically sorted I think.

(FYI: there is an issue with our import script I had to fix as well, but I need an internal review and I won't get it today I think)

@joker-eph  I have fixed the above problems and rebase to master as well.

It fails with:
tensorflow/compiler/mlir/xla/ir/infer_fusibility_op_interface.h.inc:89:61: error: use of undeclared identifier 'lhs'
        assert(lhs < op.getOperation()->getNumOperands() && lhs >= 0 &&
                                                            ^

Our internal linter also forced me to add a header guard in cycle_detector.h, add newlines at end of source files, and replace the using namespace directive with more targeted using.

Also fixed other issues:

single-argument constructors must be marked explicit to avoid unintentional implicit conversions
private field 'planner_' is not used
function 'mlir::GraphCycles::IsReachable' has a definition with different parameter names
function 'mlir::GraphCycles::InsertEdge' has a definition with different parameter names
function 'mlir::GraphCycles::RemoveEdge' has a definition with different parameter names
function 'mlir::GraphCycles::HasEdge' has a definition with different parameter names

single-argument constructors must be marked explicit to avoid unintentional implicit conversions

Thanks! I will fix it soon.

@joker-eph Done! Thanks!

@jpienaar  Thanks for your suggestions.  I have done some refine.

@joker-eph Thanks for your suggestions. I will add some tests for cycle_detector.cc.  I have one question though. Do we need to use llvm testing framework or just use tensorflow testing framework? And since these codes are in TF repo. now, it seems the latter one is better?

Please follow MLIR best practices.

Okay. Do you mean use FileCheck (like the tests in xla_hlo_fusion.mlir) ?

MLIR/LLVM is using gtest for testing datastructures, and FileCheck for IR test
(Sorry i am terse but I am on my phone)

@joker-eph  Done!

@joker-eph  Done!

FYI: there is an issue with our import script I had to fix as well,

FYI: my fix got reverted because it broke on windows and so this is blocking the integration of this PR, sorry for the delay I need to give another try to fix the script.

I havent looked into details of this PR yet, but wanted to leave a high-level comment

Having the OpInterfaces is useful. Please consider starting a discussion on MLIR discourse to get more info on how this could be moved into MLIR.
Within IREE, the approach being taken is to convert from XLA-HLO to Linalg on tensors and do fusion there. Its still WIP and we can always convert an xla_hlo.fusion op to a linalg.generic op, but the advantage with fusion on linalg is much lesser surface area of ops. So makes it easier to reason about which ops can be fused and which cant be. Building up that infrastructure in core will benefit more users in the long run. But it is perfectly valid to do fusion at xla_hlo level as done here, and to some extent the use of OpInterface mitigates considering all pair-wise combinations. So not a comment on value of this approach (which is also very valuable).

:+1: to what @MaheshRavishankar said - the op interface for making it possible to write a nice generic fusion pass would be a great addition to core. I'd have to do some more research but we may not be able to use this pass directly as we have different semantics around what fusions can be in certain cases, but reusing the op pass and the definitions on the HLO ops would dramatically simplify our version and decouple the pass from the HLO ops themselves.

@joker-eph  @MaheshRavishankar @benvanik
Thanks for your nice comments.
Is there any other work you suggest us to do to complete this PR merge? We want to ensure important code change from our side can be synced-up with community in a timely manner to avoid big divergence.
In the long run, we do consider implementing the fusion pass in lower-level dialect such as Linalg mentioned before. Currently we choose HLO dialect since lots of our previous experiences on XLA can be reused in an efficient way. With the evolution of MLIR I do expect more and more exciting work can be implemented on top of the MLIR infra.
Thanks

@mihaimaruseac this integration was fixed by the revert from b/154887010 ; can you ping here when it is fixed?

Assinging to me and will look for both. thanks for the bisect

@mihaimaruseac @joker-eph  Hi,  Is there any update about the integration ^v^? Thanks!

@mihaimaruseac @joker-eph Hi! Any update? Thanks!

@mihaimaruseac @joker-eph Hi! Any update? Thanks!

@mihaimaruseac @joker-eph
Hi folks, any feedbacks and comments are highly appreciated from your side:)

Hi. Apologies for the delay.
The sync is broken due to a conflict between tooling not supporting a pattern that would allow some shortcuts during integration (the path @joker-eph wanted to take) and the requirement to do multiple manual changes internally since usage pattern does not work (the part that slipped between the cracks and we didn't have an assignee between me and @joker-eph)

@mihaimaruseac @joker-eph  Hi, thanks for your feedback. Is there any plan to fix the problem and continue the integration?

We are blocked on @joker-eph from what I recall

@joker-eph  Hi, could you help to take a look? Thanks!

We hit some internal both technical and organizational issue on this, to the point where I'm not sure we'll be efficient at accepting contributions here.
Instead I am considering migrating/rewriting this PR to https://github.com/llvm/llvm-project right now. Let me know if you're interested in this, otherwise I'll tackle this probably later this week.

@wyzero Can you please check @joker-eph's comments and keep us posted. Thanks!

We're in the process of fixing it, last week I reproduced the issue (that exists only on Windows) and narrowed it down to the fact that our Kokoro CI is using an older version of the tool on Windows compared to Mac/Linux.

@joker-eph Thanks for your update.  It would be very nice if this PR could be merged into TF repo. first since our internal repo. also use this PR and this could reduce divergence. Initially this pass was designed for the HLO dialect since many of our previous work are based on XLA.  Thanks to your nice comment, we extended the pass to use OpInterfaced to make it more general.  In the future,  we would also like to collaborate with community to make this pass even more general and finally merge it to upstream LLVM repo.

Sorry for the delay, as mentioned before this ran into a corner case of our automation. The infrastructure that performs the import/export between our internal repo and GitHub is now updated (it used an outdated prebuilt binary of some tool on Windows), if you rebase on master I should be able to integrate it.

@jpienaar Thanks for your comments. I have changed accordingly.

@joker-eph Thanks for your update. I have rebased to  the latest master.

@joker-eph  I checked the log of failed uts. As shown as below, it seems that this error is not related to what I changed? Any suggestions? Thanks!
==================== Test output for //tensorflow/python/kernel_tests:metrics_test (shard 12 of 20):
Traceback (most recent call last):
File "/Volumes/BuildData/tmpfs/tmp/bazel/execroot/org_tensorflow/bazel-out/darwin-opt/bin/tensorflow/python/kernel_tests/metrics_test.runfiles/org_tensorflow/tensorflow/python/kernel_tests/metrics_test.py", line 36, in
from tensorflow.python.ops import metrics
File "/Volumes/BuildData/tmpfs/tmp/bazel/execroot/org_tensorflow/bazel-out/darwin-opt/bin/tensorflow/python/kernel_tests/metrics_test.runfiles/org_tensorflow/tensorflow/python/ops/metrics.py", line 23, in
from tensorflow.python.ops.metrics_impl import *
File "/Volumes/BuildData/tmpfs/tmp/bazel/execroot/org_tensorflow/bazel-out/darwin-opt/bin/tensorflow/python/kernel_tests/metrics_test.runfiles/org_tensorflow/tensorflow/python/ops/metrics_impl.py", line 30, in
from tensorflow.python.ops import nn
File "/Volumes/BuildData/tmpfs/tmp/bazel/execroot/org_tensorflow/bazel-out/darwin-opt/bin/tensorflow/python/kernel_tests/metrics_test.runfiles/org_tensorflow/tensorflow/python/ops/nn.py", line 28, in
from tensorflow.python.ops import ctc_ops as _ctc_ops
File "/Volumes/BuildData/tmpfs/tmp/bazel/execroot/org_tensorflow/bazel-out/darwin-opt/bin/tensorflow/python/kernel_tests/metrics_test.runfiles/org_tensorflow/tensorflow/python/ops/ctc_ops.py", line 39, in
from tensorflow.python.ops import linalg_ops
File "/Volumes/BuildData/tmpfs/tmp/bazel/execroot/org_tensorflow/bazel-out/darwin-opt/bin/tensorflow/python/kernel_tests/metrics_test.runfiles/org_tensorflow/tensorflow/python/ops/linalg_ops.py", line 29, in
from tensorflow.python.ops import map_fn
File "/Volumes/BuildData/tmpfs/tmp/bazel/execroot/org_tensorflow/bazel-out/darwin-opt/bin/tensorflow/python/kernel_tests/metrics_test.runfiles/org_tensorflow/tensorflow/python/ops/map_fn.py", line 25, in
from tensorflow.python.autograph.core import ag_ctx as autograph_ctx
File "/Volumes/BuildData/tmpfs/tmp/bazel/execroot/org_tensorflow/bazel-out/darwin-opt/bin/tensorflow/python/kernel_tests/metrics_test.runfiles/org_tensorflow/tensorflow/python/autograph/init.py", line 39, in
from tensorflow.python.autograph.impl.api import AutoGraphError
File "/Volumes/BuildData/tmpfs/tmp/bazel/execroot/org_tensorflow/bazel-out/darwin-opt/bin/tensorflow/python/kernel_tests/metrics_test.runfiles/org_tensorflow/tensorflow/python/autograph/impl/api.py", line 32, in
from tensorflow.python.autograph.impl import conversion
File "/Volumes/BuildData/tmpfs/tmp/bazel/execroot/org_tensorflow/bazel-out/darwin-opt/bin/tensorflow/python/kernel_tests/metrics_test.runfiles/org_tensorflow/tensorflow/python/autograph/impl/conversion.py", line 35, in
from tensorflow.python.autograph.converters import lists
File "/Volumes/BuildData/tmpfs/tmp/bazel/execroot/org_tensorflow/bazel-out/darwin-opt/bin/tensorflow/python/kernel_tests/metrics_test.runfiles/org_tensorflow/tensorflow/python/autograph/converters/lists.py", line 1
^

SyntaxError: I/O error while reading

Closed in https://github.com/tensorflow/tensorflow/commit/9fc38527dabf8d08ca2a608dda0c052524eec058


Update Advanced-Topics.rst

I guess that in LightSVM format unshown should be treated as missing, zero should be still a zero.

I think the original description is right. If zero_as_missing=false, the NaN needs to be explicitly set.


missing script: start

at the end of installing react, react-dom and react-scripts... it shows me this message
A template was not provided. This is likely because you're using an outdated version of create-react-app.
Please note that global installs of create-react-app are no longer supported.
and in my-app folder I have
node_modules (folder_
package-lock.json
package.json
my node version is -> v12.13.1
my npm version is -> 6.12.1

Fixed the issue as the create-react-app was installed globally a year ago. So now I need to uninstall the global version "npm uninstall -g create-react-app" and then run the installation flow it works fine.

I uninstalled the create-react-app globally but still it showed:
"A template was not provided. This is likely because you're using an outdated version of create-react-app. Please note that global installs of create-react-app are no longer supported."

getting the same issue as well. uninstalling create-react-app globally did not help me either
this was what appeared in the console
PS C:\Users\shawn\Desktop\react_tutorial_2\todoapp> npm start
npm ERR! missing script: start
npm ERR!      C:\Users\shawn\AppData\Roaming\npm-cache_logs\2019-12-07T06_39_45_317Z-debug.log

Found solution yarn create-react-app myapp

Fixed the issue as the create-react-app was installed globally a year ago. So now I need to uninstall the global version "npm uninstall -g create-react-app" and then run the installation flow it works fine.

Thanks ! this worked for me fine

I've got the same issue. I've uninstalled it, ran which create-react-app which returned nothing, cleared the npm cache, tried installing again via npx and npm, no joy. I got it working with yarn create react-app my-app

I navigated to my home folder, deleted create-react-app from my node_modules folder and it's all good. The uninstall command didn't work.

I navigated to my home folder, deleted create-react-app from my node_modules folder and it's all good. The uninstall command didn't work.

You have to do npm uninstall -g create-react-app to uninstall create-react-app , you are deleting create-react-app not these stuff
simply, npm uninstall -g create-react-app
then as you go,
npx create-react-app my-app
cd my-app
npm start
Happy hacking ! :)

npm uninstall -g create-react-app didn't work for a few of us. When I manually deleted the folder, it worked for me.

npm uninstall -g create-react-app didn't work for a few of us. When I manually deleted the folder, it worked for me.
i see your issue but
you have to uninstall globally on machine, deleting would do for local only, create-react-app installed globally don't allow new create-react-app version to install so try uninstalling globally.

It is interesting that this error is only for npm, thread works correctly, with npm tried with
npx create-react-app --template <cra-template>
but none of this is enough


Custom Directive help

I've written a custom directive to generate a form following a design I wanted to have. However, the value of checkboxes aren't being binded to the property given to sf-model.
What am I doing wrong?
My steps where:
Named it customcheckboxes.html and placed it inside src/decorators/bootstrap

  {{form.orderingNumber}}
  {{form.title}}

        <input type="checkbox"
               ng-disabled="form.readonly"
               sf-changed="form"
               class="css-checkbox {{form.fieldHtmlClass}}"
               ng-model="titleMapValues[$index]"
               schema-validate="form"
               name="{{form.key.slice(-1)[0]}}">

Inside bootstrap.decorator.js I've added
$templateCache.put("directives/decorators/bootstrap/customcheckboxes.html", "
  {{form.orderingNumber}} {{form.title}}

  <input type=\"checkbox\" ng-disabled=\"form.readonly\" sf-changed=\"form\" class=\"css-checkbox {{form.fieldHtmlClass}}\" ng-model=\"titleMapValues[$index]\" schema-validate=\"form\" name=\"{{form.key.slice(-1)[0]}}\">

");

decoratorsProvider.createDecorator('bootstrapDecorator', {
    ....
    customcheckboxes: base + 'customcheckboxes.html',
    ....
  }, []);

//manual use directives
  decoratorsProvider.createDirectives({
    ....
    customcheckboxes: base + 'customcheckboxes.html',
     ....
  });

The binding process is happening and I know because when inspecting the variable given to sf-model it has all the fields I've set, however I can't get the checked inputs.
 { "question1": [], "question2": [], "question3": [], "question4": [] }

Not quite sure why it's not working looks kosher. Just to confirm, asf is outputting the right HTML for your new type, it's only with the model that there is an issue at the moment?
Do you see anything off @davidlgj?

Hmmmm.... I have nothing to add either. Do you see the correct HTML? If not, what is your schema and form?

Thanks for helping me out. My html is being displayed properly, not problems about that.
My Schema goes like
{
    "type": "object",
    "properties": {
      "question1": {
        "title": " Fire where you are",
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            " a. Yell \"FIRE\" and pull alarm",
            " b. Clear area",
            " c. Close doors",
            " d. Stay low",
            " e. Warden directs"
          ]
        }
      },
      "question2": {
        "title": " Short bells",
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            " a. Get ready",
            " b. Aids",
            " c. Meds",
            " d. Stay low",
            " e. Warden directs"
          ]
        }
      },
      "question3": {
        "title": " Long bells and announcements",
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            " a. Go",
            " b. Stay low",
            " c. Close doors",
            " d. Use Stairs",
            " e. No Elevators",
            " f. Go to Park Assembly Area"
          ]
        }
      },
      "question4": {
        "title": " If trapped by smoke",
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            " a. Select to defend",
            " b.  Seal where smoke shows",
            " e. 911",
            " f. Call<PHONE_NUMBER>",
            " g. Do not break window"
          ]
        }
      }
    }
  }

And my form :

Displayed HTML

I can't see anything that pops out to me... just for kicks, can you try with just a single word for each item in the enum? something like "enum": ["one", "two", "three"], just to see if the HTML somehow trips it up.

@davidlgj, nope, it's not related to the HTML. I've tried declaring the form as ["*"] and it works. Something on my form definition perhaps?

No, it should not be needed.... that part is usedif you want to have some default behavior when using a form ['*'].
Hmmmm... try debugging and see what happens in the block starting here: https://github.com/Textalk/angular-schema-form/blob/development/src/directives/array.js#L163

@davidlgj Sorry for the late reply.
How do you suggest I debug this? I've tried adding console.log but can't see it either in the browser nor terminal.

Right, I now was able to debug it. Had some weird errors with CouchDB that were bubbling up and not letting me load any js after it.
So, form.titleMap comes with all the desired values which then are added to scope.titleMapValues inside the function updateTitleMapValues. I'm not seeing anything weird going on.

Is there anyway you can make a plunkr or a jsfiddle or somesuch? Or just a gist with the add on? I'm out of ideas...

@davidlgj, I'll provide you a gist with all pieces of code so you can try to reproduce locally.

Any idea of what is happening? :)

Re-wrote everything from bottom up and it's running! Thanks for the help!

Great that you solved it!


How to use s2i with a golang base program?

If I want to build a docker image for my golang base program, and there are more than one level packages in it. s2i always throw my base directory name away. What should I do?

For example, my program looks like:

For example, my program looks like:

For example, my program looks like:

app

package1

package2

And with s2i, files in app dir will be copy into /tmp/src, and I can't get the name app, and import /app/package1 will fail.

It sounds like the dir you're losing is the repo name?  That is likely the case since I think we clone your repo and then inject the content that was in the repo, into the /tmp/src dir.
can you point me to your repo(or a sample one) and show me the s2i invocation you're using so we can be sure though?
One workaround could be to update the assemble script to recreate the top level dir and move the content into it before compilation, though I realize that sounds hacky.

What about this? https://github.com/zhanp/go-110-centos7
I tried to make a s2i builder for golang 1.10, it can be used like:
git clone git@github.com:zhanp/go-110-centos7.git
cd go-110-centos7
make build
s2i build test/test-app go-110-centos7 test

It would be success because I set a env variable $GODIR to specify the dir name test-app, and I copy /tmp/src/. into /go/src/$GODIR, so that import "test-app/package1" is effective cuz golang enable to find test-app in $GOPATH/src.
I wonder if there is a cleverer way to do it, with no $GODIR config. Or you can just tell me how people always do. If there is a builder project for golang just like python's https://github.com/sclorg/s2i-python-container. That would be very cool.
THX!

There is an s2i-golang image, the repository for it is here:
https://github.com/sclorg/golang-container
Maybe move this issue to that repo?

(you can see the assemble script logic here: https://github.com/sclorg/golang-container/tree/master/1.10/s2i/bin)

They specify env variables IMPORT_URL  or INSTALL_URL  just like what I did with GODIR, it might be the way that people always do. I think it could be helpful if s2i can provide this 2 env variables.
Still thank you for helping.


Settings pages

Is your feature request related to a problem? Please describe.
During discussion on Mosey Capital, we have identified that the current method of storing and accessing settings leads to a clutter on the home page, where site settings and content are mixed. To overcome this as well as to allow settings inheritance when creating multi-site setup, we have revived an old concept of settings pages.
Settings Page.docx

@tanvu-epi Updated settings page
Settings Page Updated.docx

@lunchin I have taken a look the first and second document. I see, by the first way (the first document), we need a page type for all settings of the site. And the second document (updated document), we will create some page type, each settings group (content reference, header, footer ...) correspond to each page type, right? Which the way will we implement? I think the first way is more suitable, I dont think need some page types to manage site settings.

@lunchin I have pushed code to feature/441-settings-page, implement the first way (1 page type), I keep the setting properties in home page types (cms, commerce, demo) but their value get from Settings Page and don't have setter. Because the project is using setting property directly from HomePage so much, so I do that to cover it.

I want to have a tab on the settings page named styling where you can predefine various style setting such as options for text color, background color and button styles. I would like to be able to set them as ILIST property of name, color code( (#0f0f0f). When I create a hero block I would like to be able to use the properties set on the settings page for setting text color and so on. I dont want a full color picker but instead settings to make it that only an admin can access and change the text color options and so on. Does not need to be set in code by a developer


Migrate away from Tox to UV with Make

[!IMPORTANT]
Switch CI branch to main once tandem PR is merged:

https://github.com/canonical/observability/pull/229

Switching to UV and Make in favour of Tox due to speed and a long-term plan to improve CI. To test with this PR you can run the following commands:

tox -e lint -> make unit
tox -e static -> make static
tox -e fmt -> make fmt
tox -e unit -> make unit
tox -e scenario -> make scenario
tox -e integration -> make integration

Want to use args?

make integration ARGS=--keep-models

Currently missing:

[x] scenario tests
[x] colour formatting in GH CI output
[x] requirements.txt management
[x] Can we consolidate the charmcraft.yaml charm-binary-python-packages since we have a pyproject.toml (single source of truth)

CI for charm-pull-request.yaml is being updated to conditionally test with make instead of tox depending on the existence of a tox.ini file in the repo root.
Tandem PR:

https://github.com/canonical/mimir-worker-k8s-operator/pull/84

tox -e lint -> make unit is this ok?
shouldn't be: tox -e lint -> make lint?


[docs] Fix typo

remove extra "the"

[x] PR has tests / docs demo, and is linted.
[x] Commit and PR titles begin with [ComponentName], and are in imperative form: "[Component] Fix leaky abstraction".
[x] Description explains the issue / use-case resolved, and auto-closes the related issue(s) (http://tr.im/vFqem).

I have been taking care of th CI. That should soon be green.

@ArthurZheng Thank you

@ArthurZheng Thank you

No problems!


”Sânpaul”, ”Chirileu”, ”Dileu Nou”, ”Sânmărghita”, ”Valea Izvoarelor” are listed in the drop-down menu

Description:
When user writes ”Sânpaul”, ”Chirileu”, ”Dileu Nou”, ”Sânmărghita”, ”Valea Izvoarelor” the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Sânpaul"

Expected results
The location appears in the drop-down menu as "Sat Sânpaul, MUREȘ (Sânpaul)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Chirileu"

Expected results
The location appears in the drop-down menu as "Sat Chirileu, MUREȘ (Sânpaul)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Dileu Nou"

Expected results
The location appears in the drop-down menu as "Sat Dileu Nou, MUREȘ (Sânpaul)".

Step 6
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 7
Write in the search bar "Sânmărghita"

Expected results
The location appears in the drop-down menu as "Sat Sânmărghita, MUREȘ (Sânpaul)".

Step 8
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 9
Write in the search bar "Valea Izvoarelor"

Expected results
The location appears in the drop-down menu as "Sat Valea Izvoarelor, MUREȘ (Sânpaul)".


[FEATURE] Check ID_LIKE in /etc/os-release for Arch Linux like distributions

Arch Linux like distributions (e.g. Manjaro Linux) support can be added by checking the ID_LIKE setting in /etc/os-release

Added this feature in v3.0.1r2
https://github.com/doctorfree/MusicPlayerPlus/releases/tag/v3.0.1r2


Added anyHandler

Created anyHandler in bot object

Idk why my second commit reverted the first one. Had to revert the revert in a third commit.

1 second this stopped working when I hit reconfigure on my IDE :thinking:

Ah, forgot to commit a file

Fixed

Please do not merge yet, I consider changing later.

Okay should be good to merge now!

I'm still conflicted as to whether or not this is a good idea. Could you show me the code where you use this?

I'm still conflicted as to whether or not this is a good idea. Could you show me the code where you use this?

Logging intents, as example.

This PR will be implemented as a plugin


fix 404 not found

What problem are we solving?
fix #4535
How are we solving the problem?
First delete the metadata and then delete the chunks.
How is the PR tested?
Checks

[ ] I have added unit tests if possible.
[ ] I will add related wiki document changes and link to this PR after merging.

This PR did not cover when shouldDeleteChunks && !isDeleteCollection inside doBatchDeleteFolderMetaAndData.
It'll help to create some unit test for this.

@chrislusf  It is difficult to create a unit test for the deleteEntry process. This problem was caused by network instability and other reasons, and we did not have this problem in the same test environment.
This pr only modifies the order in which metadata and chunks data delete, and does not affect other processes.

It seems that this is a replacement for an awl for soap. In any case, there will be inconsistency and it is better to focus on minimizing it.
As an option, use an external quorum queue when tasks for asynchronous operations such as deletions will arrive, where you can queue the operation in case of temporary problems within the application

Inconsistencies will definitely exist, but I think we should give priority to ensuring that the metadata we see is correct.  If the metadata exists but the chunks are deleted, what we see on the mount side is  input/output error(data loss).
Even though this may cause some orphan data, we can clear these orphan data through fsck.


Fixed typo in descriptor tables doc

replaced an e with an s

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


Adding a new Class to the Autocompletion

I want to register many user defined Classes and their methods and properties. but the following code just can define the Class name only...

How Can I add The Class Methods and Properties as a type

monaco.languages.registerCompletionItemProvider('javascript', {
	provideCompletionItems: () => {
		return [
       		   {
				label: 'someClass',
				kind: monaco.languages.CompletionItemKind.Class,
				insertText: {
					value: 'someClass'
				},
				documentation: '?How to add methods and fields to the user defined class?'
			}
		]
	}
});```

does this process reduces the run-time performance?

Maybe take a look at the Configure JavaScript Defaults example?
You can also look at the example's JavaScript code directly in the repository.


Add support for highlighting many matches at once

Added support for highlighting many matches at once. Some people may not need to so I can make it an option, for now I leave it how it is.
Fixes #7
Fixes #3

Okay. I fixed the infinite loop and it seems to work correctly with every single highlight I have. To be fair I don't really understand what you want me to do in the code comments, can you elaborate?

Thank you!


Add support for CreationTime and File Attributes in Windows

What does this PR change? What problem does it solve?
File created time (an NTFS specific attribute) and File Attributes don't get backed up or restored on Windows backups. See issue #3478 and #2075
Since we don't want to modify ctimes (because it's used for file change comparison #2212) we store creation time as an extended attribute and restore the creation time value when the file is restored.

Was the change previously discussed in an issue or on the forum?

This issue was filed in #3478 and #2075
A related issue is #1401 for backing up entire NTFS extended attributes. This uses microsoft provided go-winio library. In the future this would be a better approach but would be a significant re-write. See this comment: https://github.com/restic/restic/issues/1401#issuecomment-392959322
Checklist

[x] I have read the contribution guidelines.
[x] I have enabled maintainer edits.
[ ] I have added tests for all code changes.
[ ] I have added documentation for relevant changes (in the manual).
[ ] There's a new file in changelog/unreleased/ that describes the changes for our users (see template).
[ ] I have run gofmt on the code in all commits.
[x] All commit messages are formatted in the same style as the other commits in the repo.
[x] I'm done! This pull request is ready for review.

Can you add windows attributes as well? This would solve issue #2075.

Can you add windows attributes as well? This would solve issue #2075.

Ideally it would be nice to have all the missing attributes included. This can be done what's described in https://github.com/restic/restic/issues/1401#issuecomment-392959322
It's more effort but can be done. I would probably need some assistance with the implementation.

Ideally it would be nice to have all the missing attributes included.

I fully agree, but adding standard attributes to you PR is just the use of SetFileAttributes instead of SetFileTime.

This can be done what's described in #1401 (comment)

I don't think that BackupRead/Write API is compatible with restic architecture. It does not allow you to choose the type of requested information. Anyway BackupRead/Write is just a userland code with bunch of NT-function calls and you don't need to use it.

I fully agree, but adding standard attributes to you PR is just the use of SetFileAttributes instead of SetFileTime.

This was a good idea. I updated and tested the PR with saving and restoring file attributes in addition to creation time

@DRON-666 Thanks again for the feedback. I made the necessary changes and tested them.
Let me know if you have any other suggestions.

@DRON-666 What else needs to be done to get this merged?

It would be nice to add security information the same. Would mean to use GetFileSecurity and SetFileSecurity the get and set the DACL. Converting the descriptor to/from SDDL string representation would be even better. ConvertSecurityDescriptorToStringSecurityDescriptor and ConvertSecurityDescriptorFromStringSecurityDescriptor are helpful for that.
Maybe you consider to use a readable representation for the other attributes, too.

@MichaelEischer I can move the creation time directly to ctim() since we already make the fileattributes syscall in the struct.
For Windows file attributes, these are essentially the same as Linux extended attributes and should be backed up and restored. I figured adding it here would be the cleanest way.
How do you propose we integrate and restore them if they are added as optional attributes to the node struct?

Judging from https://learn.microsoft.com/en-us/windows/win32/fileio/file-attribute-constants I'm not sure whether it's a good idea to blindly store and restore arbitrary file attributes.

I think the file attributes shall not be copied blindly, because they may have some side effect and cannot be simply restored. (https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-setfileattributesa). It is necessary to set flags on file creation or using special functions to reach the desired effect.

@mchowdhury

GetFileSecurity and SetFileSecurity are not currently supported by the standard go syscall library. I'm open to other suggestions. Otherwise, should we make a separate issue for file security attributes and get this merged?

Agreed. I will write an issue for this. There we can discuss how to implement backup of windows file security information.

@hgraeber I don't quite understand the approach you are describing, and unsure how to implement it without impacting other platforms (node.go). Should creationTime follow the same approach? If not, we can separate file attributes to a separate PR and just focus on creationTime.
Would be happy to have your help on the implementation if you have bandwidth.

Have you considered the more unusual attributes and what happens if they cannot be restored, or what might unexpected behaviour might occur if they are restored? There's a host of weird and wonderful attributes other than the usual hidden/read-only/system. How is the restoration of a sparse file handled? What about attributes that only kernel-level code can restore? Will a restore apply to a file marked as temporary? How are you handling EFS-encrypted data? Files that have attributes that are not supported on the target filesystem?

@MichaelEischer After more research, I like your suggestion with btime adding it to the node, also since darwin also supports btime. I will make a new PR to support creationTime on windows and os x.
Let's leave this PR open to discuss File Attributes on Windows. File attributes got pulled into this PR from @DRON-666 suggestion to fix issue https://github.com/restic/restic/issues/2075.

hello,
is that merge request stable and tested? thanks

any progress on getting this merged? i would love to use restic but lack of creation time support on windows is holding me back

A file copy using the Windows Explorer doesn't preserve file creation dates (only modification dates). So I don't think restic should restore them either.

A file copy using the Windows Explorer doesn't preserve file creation dates (only modification dates). So I am not sure restic should restore them either.

Copying a file is not the same as restoring a file from backup. When you copy a file, you create a second file with the same contents – but it's not the same file, so the creation date should be different. When you back up a file, you want to be able to "turn back time" and go back to the way things were in the event of failure. If something is lost (such as a piece of metadata), then the restore was not complete.

After taking a look at https://github.com/restic/restic/pull/4611 , I think we should follow that approach. The GenericAttributes suggested there just look like what I had in mind.
Sorry for not finding time to discuss this PR!


Threshold Checks values set to 0 don't populate the input field upon edits

Problem
Creating a threshold check with 0 as the level to set a crit, and editing that check will not populate the check. Since the input value is not filled-in, any changes that are made will not allow a user to save the changes (there is also an API error when trying to save it), but there is no indication to the user when they click the check mark

Closing in favor of #17729


supports inmemory cache expiration for twindb

Description
support inmemory cache expiration for twins

if ttl == 0 it will stay forever otherwise will be cached for a limited amount of time

Changes
inmemory cache expiration
Related Issues
https://github.com/threefoldtech/tfgrid-sdk-go/issues/1294
Checklist

Farmerbot has an error


Enhance short lived container autodiscovery

What does this PR do?

Rework the docker config provider to avoid listing all containers too often
Add delay in service & docker config removal for better short-lived container detection

Motivation
What inspired you to submit this pull request?
Additional Notes
e2e ✅

This should help for https://github.com/DataDog/datadog-agent/issues/3955


Homebridge cannot connect to Homekit or remotely

Current Situation
I have had homekit for several years and recently updated my hardware to a newer raspberry pi 5 and now I cannot connect to any devices in my home from my phone.  Initially I thought by removing the home from homekit and re-adding would work but now I get "Unable to add accessory... accessory is not reachable." therefore i cannot control anything anymore.
Logs
Setup Payload:
X-HM://002498Z80I21W
Enter this code with your HomeKit app on your iOS device to pair with Homebridge:
┌────────────┐
│ 475-62-064 │
└────────────┘

[6/11/2024, 8:40:34 AM] Homebridge v1.8.2 (HAP v0.12.1) (Homebridge 58C7) is running on port 51936.
[6/11/2024, 8:40:35 AM] [Hue] Launched child bridge with PID 425891
[6/11/2024, 8:40:35 AM] [Nest] Launched child bridge with PID 425890
[6/11/2024, 8:40:35 AM] Registering platform 'homebridge-nest.Nest'
[6/11/2024, 8:40:35 AM] [Nest] Loaded homebridge-nest v4.6.9 child bridge successfully
[6/11/2024, 8:40:35 AM] Loaded 5 cached accessories from cachedAccessories.0EEDC370A99F.
[6/11/2024, 8:40:35 AM] [Nest] Fetching Nest devices.
[6/11/2024, 8:40:35 AM] Homebridge v1.8.2 (HAP v0.12.1) (Nest) is running on port 30102.
[6/11/2024, 8:40:35 AM] [Levoit Air Purifier] Discovering devices...
[6/11/2024, 8:40:35 AM] Registering platform 'homebridge-hue.Hue'
[6/11/2024, 8:40:35 AM] [Hue] Loaded homebridge-hue v0.13.70 child bridge successfully
[6/11/2024, 8:40:35 AM] Loaded 0 cached accessories from cachedAccessories.0EE0908C86D2.
[6/11/2024, 8:40:35 AM] [Hue] homebridge-hue v0.13.70, node v20.12.2, homebridge v1.8.2
[6/11/2024, 8:40:35 AM] [Hue] warning: recommended version: node v20.10.0 LTS
[6/11/2024, 8:40:35 AM] [Hue] warning: recommended version: homebridge v1.7.0
[6/11/2024, 8:40:35 AM] [Hue] Hue Bridge: Signify Netherlands B.V. BSB002 bridge v1964117020, api v1.64.0
[6/11/2024, 8:40:35 AM] [Hue] Hue Bridge: warning: not using recommended Hue bridge api version 1.61.0
[6/11/2024, 8:40:36 AM] [Hue] Hue Bridge: 9 accessories
[6/11/2024, 8:40:36 AM] [Hue] masked debug info dumped to /var/lib/homebridge/homebridge-hue.json.gz
[6/11/2024, 8:40:36 AM] Initializing platform accessory 'Hue Bridge'...
[6/11/2024, 8:40:36 AM] [Hue] Hue Bridge: 3 services
[6/11/2024, 8:40:36 AM] Initializing platform accessory 'CK'...
[6/11/2024, 8:40:36 AM] Initializing platform accessory 'JV'...
[6/11/2024, 8:40:36 AM] Initializing platform accessory 'Bedroom strip'...
[6/11/2024, 8:40:36 AM] Initializing platform accessory 'Living Room Lamp'...
[6/11/2024, 8:40:36 AM] Initializing platform accessory 'Overhead - Front 1'...
[6/11/2024, 8:40:36 AM] Initializing platform accessory 'Overhead - Front 2'...
[6/11/2024, 8:40:36 AM] Initializing platform accessory 'Overhead- Back 2'...
[6/11/2024, 8:40:36 AM] Initializing platform accessory 'Overhead - Back 1'...
[6/11/2024, 8:40:36 AM] Homebridge v1.8.2 (HAP v0.12.1) (Hue) is running on port 51765.
[6/11/2024, 8:40:36 AM] [Hue] Hue Bridge: event stream connected to https://<IP_ADDRESS>/eventstream/clip/v2
[6/11/2024, 8:40:37 AM] [Hue] CK: set homekit supported transition configuration to {"configuration":[{"iid":11,"characteristic":1},{"iid":13,"characteristic":2}]}
[6/11/2024, 8:40:37 AM] [Hue] JV: set homekit supported transition configuration to {"configuration":[{"iid":11,"characteristic":1},{"iid":13,"characteristic":2}]}
[6/11/2024, 8:40:37 AM] [Hue] Bedroom strip: set homekit supported transition configuration to {"configuration":[{"iid":11,"characteristic":1},{"iid":13,"characteristic":2}]}
[6/11/2024, 8:40:37 AM] [Hue] Living Room Lamp: set homekit supported transition configuration to {"configuration":[{"iid":11,"characteristic":1},{"iid":13,"characteristic":2}]}
[6/11/2024, 8:40:37 AM] [Hue] Overhead - Front 1: set homekit supported transition configuration to {"configuration":[{"iid":11,"characteristic":1},{"iid":13,"characteristic":2}]}
[6/11/2024, 8:40:37 AM] [Hue] Overhead - Front 2: set homekit supported transition configuration to {"configuration":[{"iid":11,"characteristic":1},{"iid":13,"characteristic":2}]}
[6/11/2024, 8:40:37 AM] [Hue] Overhead- Back 2: set homekit supported transition configuration to {"configuration":[{"iid":11,"characteristic":1},{"iid":13,"characteristic":2}]}
[6/11/2024, 8:40:37 AM] [Hue] Overhead - Back 1: set homekit supported transition configuration to {"configuration":[{"iid":11,"characteristic":1},{"iid":13,"characteristic":2}]}
[6/11/2024, 8:40:37 AM] [Levoit Air Purifier] Restoring existing accessory from cache: Carly’s air purifier
[6/11/2024, 8:40:39 AM] [Nest] initing thermostat (P) "Living Room Thermostat": deviceId:<PHONE_NUMBER>E5A29A structureId: 872f1f51-47b0-11ea-b1e1-0e13a626118d
[Living Room Thermostat@@Heating Threshold Temperature] characteristic was supplied illegal value: number 0 exceeded minimum of 10
[6/11/2024, 8:40:39 AM] [Nest] initing thermostat (P) "Hallway Thermostat": deviceId:<PHONE_NUMBER>3B6A27 structureId: d09dfbd1-3a97-11ec-b0aa-129e422f4312
[Hallway Thermostat@@Heating Threshold Temperature] characteristic was supplied illegal value: number 0 exceeded minimum of 10
[6/11/2024, 8:40:39 AM] [Nest] initing home_away_sensor "Home Occupied - Chicago": deviceId: 872f1f51-47b0-11ea-b1e1-0e13a626118d structureId: 872f1f51-47b0-11ea-b1e1-0e13a626118d
[6/11/2024, 8:40:39 AM] [Nest] initing home_away_sensor "Home Occupied - Home": deviceId: d09dfbd1-3a97-11ec-b0aa-129e422f4312 structureId: d09dfbd1-3a97-11ec-b0aa-129e422f4312
[6/11/2024, 8:40:39 AM] [Nest] initing protect "Hallway": deviceId:<PHONE_NUMBER>CE625F structureId: 872f1f51-47b0-11ea-b1e1-0e13a626118d
[6/11/2024, 8:40:39 AM] [SonosMultiroomPlatform] Discovery completed, 0 device(s) found.
Config
{
    "bridge": {
        "name": "Homebridge 58C7",
        "username": "0E:5E:E4:3A:46:69",
        "port": 51936,
        "pin": "475-62-064"
    },
    "accessories": [],
    "platforms": [
        {
            "name": "Config",
            "port": 8581,
            "auth": "form",
            "theme": "dark-mode-blue",
            "tempUnits": "f",
            "lang": "auto",
            "platform": "config"
        },
        {
            "zones": [
                {
                    "name": "Bedroom"
                },
                {
                    "name": "Living Room",
                    "isSpeechEnhancementEnabled": true
                },
                {
                    "name": "Patio"
                }
            ],
            "platform": "SonosMultiroomPlatform"
        },
        {
            "name": "Nest",
            "googleAuth": {
                "issueToken": "https://accounts.google.com/o/oauth2/iframerpc?action=issueToken&response_type=token%20id_token&login_hint=AJDLj6LQu-SMCQLMJfOUep6S7tCepzo0W_SUL-6K7S04BPmioOO3ZmdsJsWaYe3XICof93eCfNIUVDeMbzOmHZkFqapJf0cMnw&client_id=733249279899-44tchle2kaa9afr5v9ov7jbuojfr9lrq.apps.googleusercontent.com&origin=https%3A%2F%2Fhome.nest.com&scope=openid%20profile%20email%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fnest-account&ss_domain=https%3A%2F%2Fhome.nest.com",
                "cookies": "__Secure-3PSID=8gfW9WvfKqb01AdAKyukfDffX0Yy0bI6YEgXggROwIZzmSsr-5zpCpVPAWUcbn2MP4-lPQ.; __Secure-3PAPISID=IeAjegyWIVykT5Be/AIqJ4c7SBZnbZ94UQ; NID=213=YZj2AWV-Rpm9_h09hvXvgQBKqXI6sTv2N1wuAAGgGXErx8fWygM8T2N3LF0jBBjLTqkxpGj81uT9umA-8xqcjPmhhCiPqgux7_efT7ZphlEB4WL7oTyEx8vAuWnqt298Cm8Wth90e0h8W47OtoJ7coM7-GuvWNvVj5LUBY6bytRfkpA9BLbcmzc-UsqDQM_otQ; __Host-3PLSID=s.youtube:8gfW9TzMl_z9HIfGucZjmKJ-yJohKP-ujtP347TS6qWF_xNWsAXp6J0eGDwuJViCh2swQw.; __Secure-3PSIDCC=AJi4QfGE7zsmo0fR0cG2MN_y1dtpTmkCctSDjcxDSon4zoYb8CJx9aTxqbxweNgw4Ja-P_Lw",
                "apiKey": "AIzaSyAdkSIMNc51XGNEAYWasX9UOWkS5P6sZE4"
            },
            "_bridge": {
                "username": "0E:ED:C3:70:A9:9F",
                "port": 30102
            },
            "platform": "Nest"
        },
        {
            "name": "Hue",
            "anyOn": true,
            "effects": true,
            "groups": false,
            "hosts": [
                "<IP_ADDRESS>"
            ],
            "lights": true,
            "linkButton": true,
            "nativeHomeKitLights": false,
            "nativeHomeKitSensors": true,
            "resource": true,
            "rooms": true,
            "schedules": false,
            "users": {
                "ECB5FAFFFE21EFB9": "CJfdxfFq-mHwZGx62LyuyKmvdb59GNV8Q8kD-S4I"
            },
            "_bridge": {
                "username": "0E:E0:90:8C:86:D2",
                "port": 51765
            },
            "platform": "Hue"
        },
        {
            "name": "Levoit Air Purifier",
            "email"<EMAIL_ADDRESS>            "password": "xxxxxx",
            "platform": "LevoitAirPurifiers"
        },
        {
            "name": "Wyze",
            "username"<EMAIL_ADDRESS>            "password": "xxxxxx",
            "keyId": "38e79fe5-e308-472b-a3aa-02ed458a24d2",
            "apiKey": "xxxxx",
            "refreshInterval": 130000,
            "hms": false,
            "showAdvancedOptions": false,
            "apiLogEnabled": false,
            "pluginLoggingEnabled": false,
            "lowBatteryPercentage": 30,
            "excludeMacAddress": false,
            "excludedeviceType": false,
            "platform": "WyzeSmartHome"
        }
    ],
    "disabledPlugins": [
        "homebridge-ws"
    ]
}

Homebridge UI Version
4.56.2
Homebridge Version
1.8.2
Node.js Version
20.12.2
Operating System
Raspberry Pi OS / Raspbian
Environment Info
None
Raspberry Pi Model
Other (specify in description)

Sounds like a potential network connectivity issue, how was your older RPI connected versus the newer RPI.

Both were connected via ethernet cable to router.  I set the static IP address which worked until a week or so ago but now its not.

I have it back connected now but it still will not expose my Nest thermostat now.... odd


Validation for field with a name contains dot will fail

Describe the bug
Validation for field with a name contains dot will fail
I notice that @felte/validator-zod will parse the name of field automatically, which resulted in unexpected validation result.
For example, having a field called traits.email, I expect this is the structure of the $error
  <!-- {"traits.email": null} -->

But this is what I am getting now
  <!-- {"traits":{"email":null}} -->

This make all validations fail and the form cannot be submitted.
Which package/s are you using?
felte (Svelte), @felte/validator-zod
Environment
	"@felte/reporter-svelte": "^1.1.5",
	"@felte/validator-zod": "^1.0.13",
	"felte": "^1.2.7",
	"zod": "^3.20.2"

To reproduce
Check https://github.com/winston0410/felte-zod-repo/blob/c39d253e5b6bd8db5b3e4fcc60a3213dbfac15d7/src/routes/%2Bpage.svelte#L24-L31
Small reproduction example
https://github.com/winston0410/felte-zod-repo
Screenshots
No response
Additional context
No response

digging into this deepr myself, I realise that the issue was the main package of felte parsed the string key into an object. To workaround this issue right now, adjusting the schema is the simplist fix

@pablo-abc just wondering is this behavior of felte expected?


Allow configuring CRI logger read buffer size

Signed-off-by: Swagat Bora<EMAIL_ADDRESS>PR addressing #6240

LGTM, one question though is how will the end user configure this?  Do we need to add instructions anywhere?

LGTM, one question though is how will the end user configure this? Do we need to add instructions anywhere?

This will need to be configured in /etc/containerd/config.toml as part of the CRI plugin config [plugins."io.containerd.grpc.v1.cri"]. I have updated the "CRI Plugin Config Guide" to add some info about this new field.

nod we've discussed introducing optimize for memory / cpu knobs.. Whatever we choose here will have to be reflected in the accounting for containers and exec with log stream instances.


Include static resources in resulting image

What version of pack are you using?
v0.4.1 (git sha: 90e88e7b1dc02ca65e22548fdfbeabec4c9879a6)
What version of the buildpack you are using?
<EMAIL_ADDRESS>If you were attempting to accomplish a task, what was it you were attempting to do?
I'm building an OCI image from a Go app using pack.
I'm using pack CLI to build my image:
pack build myuser/cnb-go
Once built, here's the command I use to test my app:
docker run --rm -p 8080:8080 myuser/cnb-go
What did you expect to happen?
My app serves static resources. I expect these resources to be included in the resulting OCI image using pack.
What was the actual behavior?
No resources is included.
The OCI image was successfully built, but I get a 404 when hitting the main page.
Can you provide a sample app?
Go to https://github.com/alexandreroman/cnb-go.
Please confirm where necessary:

[ ] I have included a log output
[ ] My log includes an error message
[x] I have included steps for reproduction

@alexandreroman Thanks for the report! It definitely makes sense, and it will be prioritized.

Hey, sorry for the slow feedback, this is something that we are currently working on and there is an RFC that addresses this that you can check out here. I am going to move this issue to the go-build repo as it will make more sense to be there.


babel-plugin-external-helpers-2 was temporary and should be replaced by babel-plugin-external-helpers

As the npm warning suggests:
npm WARN deprecated<EMAIL_ADDRESS>This was a temporary package since the package name was already taken. The package name was transferred for babel so we recommend using babel-plugin-external-helpers instead.

I realized that while trying to use babel-standalone with a codebase that relies on external-helpers plugin rather than external-helpers-2.

I tried tackling the problem at https://github.com/Daniel15/babel-standalone/pull/62 .

Fixed in #62 - Thanks for your contribution!

@Daniel15 any change of releasing this as a build, so that I can start using it through npm? I couldn't figure out a way to npm install git repo directly and still trigger the build step, and I didn't want to clutter the npm repo with a duplicate package. Thank you!

@cansin - Babel-standalone's version numbers follow Babel's, so I only release new versions when new versions of Babel come out. Lucky for you, Babel 6.18.0 came out today, so I'll push an update 😄

@Daniel15 ha didn't realize :D Perfect!

Pushed 6.18.0!


[FIZZ-145] Tutorial on Using the Filesystem and Analyzing Results

I should change the diagram and the sample files to use directory user-activities instead of directory activities.


[$1000] Web - Public room - When the user click the link under Concierge message, it opens in a different tab

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Log in with user without a display name
Open public room https://staging.new.expensify.com/r/5593084223054221
User gets a whisper like this: Hi there! If you just want to lurk in this room, others won't know you're here. However, if you post, others in the room will see your display name as<EMAIL_ADDRESS>If you'd like to add a different display name, open the Display Name page here.
Click the 'here" link

Expected Result:

Update the message onto a single line:
Hi there! If you just want to lurk in this room, others won't know you're here. However, since you have no display name set, your posts will be shown as coming from<EMAIL_ADDRESS>If you'd like something different, please change your display name.
Don't open the display name editor in a new tab; just navigate to it.

Actual Result:
When the user click the link under Concierge message, it opens in a different tab
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/db8db9f0-33a2-4890-a0b1-9597e5bc5541
Expensify/Expensify Issue URL:
Issue reported by: David Barrett
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1687158046829019
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01a834d9d49621c762
Upwork Job ID:<PHONE_NUMBER>013301248
Last Price Increase: 2023-06-27

Yep, I can repro on v. 32-5:
https://github.com/Expensify/App/assets/30815269/d59fb892-dddc-45b7-916a-ecf4a906d9f3
Agree with the expected outcome that it shouldn't open a new tab - that feels unnecessary.

btw @sobitneupane - this one is marked as HIGH PRIORITY, if we can get a fix in ASAP, that'd be great!

Proposal
Please re-state the problem that we are trying to solve in this issue.
Concierge automated message for users with no display name when entering a public room doesn't appear in one paragraph, and the link opens in a new tab instead of navigating to the path.
What is the root cause of that problem?
The root cause of the problem seems to lay on the backend, as I didn't manage to pinpoint that message on the code base.
The originalMessage value of that message is this:
"Hi there! If you just want to lurk in this room, others won't know you're here. However, if you post, others in the room will see your display name as<EMAIL_ADDRESS>/>
If you'd like to add a different display name, open the Display Name page here."

As you can see, there is a double
 element that creates the newlines, and therefore the message is not in one paragraph.
For the link now, the reason it opens in a new link is the rel=noopener value.  From the MDN web docs :
when noopener is used, nonempty target names other than _top, _self, and _parent are all treated like _blank in terms of deciding whether to open a new window/tab.

The final  element that holds the link is having a target="_blank" prop, that's why the link opens in a new tab.
What changes do you think we should make in order to solve the problem?
If we want to keep it in one paragraph, we should remove the
 elements.
As for the link, I think noopener is used for unknown links in most cases, which isn't the case here. In any case, stating a target="_self" should fix the opening in new tab problem, regardless of the noopener rel value.

I agree with @Thanos30. It is something to be handled in backend.
I believe the message sent from Concierge are generated in backend.
        "3433734439840177804": {
          "person": [
            {
              "type": "TEXT",
              "style": "strong",
              "text"<EMAIL_ADDRESS>            }
          ],
          "actorEmail"<EMAIL_ADDRESS>          "actorAccountID": 8392101,
          "message": [
            {
              "type": "COMMENT",
              "html": "Hi there! If you just want to lurk in this room, others won't know you're here. However, if you post, others in the room will see your display name as<EMAIL_ADDRESS>/>
If you'd like to add a different display name, open the Display Name page here.",
              "text": "Hi there! If you just want to lurk in this room, others won't know you're here. However, if you post, others in the room will see your display name as<EMAIL_ADDRESS>you'd like to add a different display name, open the Display Name page here.",
              "isEdited": false,
              "whisperedTo": [
                14713055
              ],
              "isDeletedParentAction": false,
              "reactions": []
            }
          ],
          "originalMessage": {
            "html": "Hi there! If you just want to lurk in this room, others won't know you're here. However, if you post, others in the room will see your display name as<EMAIL_ADDRESS>/>
If you'd like to add a different display name, open the Display Name page here.",
            "lastModified": "2023-06-28 09:43:42.626",
            "whisperedTo": [
              14713055
            ]
          },
          "avatar": "https://d2k5nsl2zxldvw.cloudfront.net/images/icons/concierge_2021.png",
          "created": "2023-06-28 09:43:42.626",
          "timestamp":<PHONE_NUMBER>,
          "reportActionTimestamp":<PHONE_NUMBER>626,
          "automatic": false,
          "actionName": "ADDCOMMENT",
          "shouldShow": true,
          "reportActionID": "3433734439840177804",
          "lastModified": "2023-06-28 09:43:42.626",
          "whisperedTo": [
<EMAIL_ADDRESS>          ],
          "whisperedToAccountIDs": [
            14713055
          ]
        },

cc: @jliexpensify

Please re-state the problem that we are trying to solve in this issue.
Concierge automated message for users with no display name when entering a public room doesn't appear in one paragraph, and the link opens in a new tab instead of navigating to the path.
What is the root cause of that problem?
The root cause of the problem seems to lay on the backend, as I didn't manage to pinpoint that message on the code base.
The originalMessage value of that message is this:
"Hi there! If you just want to lurk in this room, others won't know you're here. However, if you post, others in the room will see your display name as<EMAIL_ADDRESS>you'd like to add a different display name, open the Display Name page here."
As you can see, there is a double  element that creates the newlines, and therefore the message is not in one paragraph.
For the link now, the reason it opens in a new link is the rel=noopener value. From the MDN web docs :
when noopener is used, nonempty target names other than _top, _self, and _parent are all treated like _blank in terms of deciding whether to open a new window/tab.
The final  element that holds the link is having a target="_blank" prop, that's why the link opens in a new tab.
What changes do you think we should make in order to solve the problem?

Hi @robertjchen - @sobitneupane has identified this should be an Internal fix. Are you able to review and confirm?
If so, I'll remove the Upworks job.

Since this was labeled with Help Wanted, is there any chance for a compensation for the help provided by my proposal? @jliexpensify @sobitneupane ?
Thank you in advance

this issue is caused in 96 line in AnchorRenderer.js

we can simply fix this bug to remove default value _blank for target attribute.  But it will refresh the page when clicking the link.
To fix this perfectly, we need to add a function to route into the page if the anchor tag has internal link for href attribute.
can I have the chance to fix this issue?

I will create a PR for this bug today

checked the code base in detail. the project already had the function that i mentioned above comments in AnchorRenderer function.
But it didn't check the case that the href value doesn't have http or https string when checking internalExpensifyPath.
I already fixed this bug on my end and it's perfectly working.
Please review.
Here is my fix.

Hi @robertjchen - @sobitneupane has identified this should be an https://github.com/Expensify/App/issues/21744#issuecomment-1611141501. Are you able to review and confirm?

Agreed, it should be an internal fix. However, let me first verify the issue on the backend and see why we have these tags in place, perhaps they're important and used elsewhere (e.g. in the corresponding email notification) 🤔

@Thanos30 - unfortunately if an Internal fix occurs, generally the only compensation we pay is to the bug reported (and C+ if they reviewed the PR).
@lazar-stamenkovic - we have deemed this Internal, so no PR is needed from you. If we are using your solution, you will be assigned the GH issue. Thanks!

@Thanos30 - unfortunately if an Internal fix occurs, generally the only compensation we pay is to the bug reported (and C+ if they reviewed the PR).

I understand. I contributed on an issue a while ago, where the issue turned out to be handled internally. I was told I would be compensated a certain amount for helping with the issue and pointing to the right direction, that's why I asked. Totally fair though!

Hmm, I have heard of cases like that but the reality is, I'm not an engineer - I just do payouts and initial bug reproduction. If you feel strongly that you should be compensated, maybe @sobitneupane and @robertjchen can weigh in?

No @jliexpensify , it's okay, thanks for your interest. I was just wondering if this is like a policy when working on external issues that turn to internal. I do not want to disturb if this is not the way things work.
Thanks again 🙏

I was just wondering if this is like a policy when working on external issues that turn to internal.

Great question! My understanding is that in these cases it's up to the discretion of the assigned internal engineer.
In this case, both @Thanos30 and @sobitneupane have been really helpful in analyzing the issue, testing, and pointing out what needs to be changed, so I recommend a payout of $250 each upon resolution of this issue. cc: @jliexpensify

Much appreciated @robertjchen , thank you! 🙏

@robertjchen @jliexpensify this issue isn't occurred by rel=noopener.  as i mentioned,  this issue is occurred because target = 'blank' attribute is added into anchor tag after checking  hasExpensifyOrigin and internalExpensifyPath variable in 27 and 28 line within AnchorRenderer.js.
https://github.com/Expensify/App/blob/6f5b149437f941c23ae9b1fc84d34aa7ff6869fd/src/components/HTMLEngineProvider/HTMLRenderers/AnchorRenderer.js#L28C11-L28C29
actually i already fixed this issue by updates of AnchorRenderer.js on my end. I attached the video for it.
I understand that this can be internal issue. because it's a good way to fix this on the backend, too.
But I am not sure how this issue is occurred by rel=noopener.  please advise.
cc: @Thanos30 @sobitneupane

@lazar-stamenkovic You are kinda right, rel=noopener isn't directly affecting this, but without a specified target it will be handled as _blank, but so does the code you found for links with not specified target.
I do think your solution is a good catch , but I believe that instead of making multiple checks for every link, it's better to handle special links like this one immediately from the backend, since if a link has a target specified, it won't be made into _blank and open in a new tab.  We are talking about an automated message that will appear many many times, so a backend change seems much better to me. The rel=noopener should be kept, as it helps with security, we just need to specify the target. The paragraphs syntax can also only be addressed from the backend.
Therefore, I believe it's better to send this link with a target being _parent from the backend.

@robertjchen @jliexpensify Again, To resolve this issue on the backend,  think it has to get host of the current testing site and then add it into href attributes of anchor tag.
I believe it remains a viable approach to resolve the issue on the frontend, especially if host of the current testing site in the backend only needs for this issue on localhost or dev site.   please let me know if you decide using my solution. thanks.

Hi @lazar-stamenkovic - I'm going to defer to @robertjchen and @sobitneupane here for their thoughts on your comments! I'm not an engineer myself, so I can't judge what's the best approach here.

Hi @robertjchen and @sobitneupane - before I send out $250 payments, can you check out this comment? Thanks!

@Thanos30 can you add your name in Upworks to your Gh profile? @sobitneupane I assume you'll ask Anu to pay you via the C+ payments scheme?
@lazar-stamenkovic I have asked Robert to review your comments, and he should respond shortly.

@jliexpensify I added the info on my profile, also, this is my Upwork profile link in case you prefer it https://www.upwork.com/freelancers/~01db0383e77efb1881
Thank you 🙏

Invited @Thanos30 - cheers! Bumping @robertjchen to address @lazar-stamenkovic 's comment please :)

Thank you @jliexpensify , much appreciated 🙏

Still testing things out locally, please standby.

@robertjchen please review my proposal. i confirmed it correctly addresses the bug for this ticket.
https://github.com/Expensify/App/issues/21744#issuecomment-1612359530

@lazar-stamenkovic I have reviewed your proposal and have determined that this is ultimately a backend fix.
I've also considered your reasoning here https://github.com/Expensify/App/issues/21744#issuecomment-1623723744 but have ultimately decided that the issues specifically for this bug report (such as the newline formatting) are more appropriately handled in the backend.
I appreciate your proposal- if there's another bug/issue where your proposal can also apply, then we can re-consider it there.

Upworks job closed, @sobitneupane please request payment via New.Dot. @robertjchen please feel free to close this job once the Internal fix is complete.

BE fix under review

https://github.com/Expensify/App/issues/21744#issuecomment-1623486084

Payment Requested on newDot.

Not overdue

BE fix awaiting review and deployment (two parts to it).

@jliexpensify Can you please summarize the appropriate individual payments for all parties involved in this issue? This is holding up @sobitneupane's NewDot payments. More information on this compliance process in Slack.

Payment summary:

Contributor: @Thanos30 $250 (special payment approved by @robertjchen )
C+: @sobitneupane  $250 (special payment approved by @robertjchen )

Upworks job here

Reviewed details for @sobitneupane. These details are accurate based on summary from Business Reviewer and are now approved for payment in NewDot.

This is Internal, everyone has been paid.

Final piece went out two weeks ago: https://github.com/Expensify/Auth/pull/8240 👍


Class 'Firebase\Factory' not found

i have included autoload file of composer ,using same code as on git
$firebase = (new Firebase\Factory())
->withCredentials(DIR.'/xyz.json')
->withDatabaseUri('https://xyz.firebaseio.com')
->create();

There's a missing \ in front of Firebase - also make sure you have the 2.x release and are running on PHP7.

Hello,
I'm having the same problem. I'm using PHP 7.1.1.
I followed this installation guide.
https://firebase-php.readthedocs.io/en/latest/overview.html#installation


Removed unnecessary setTimeout from widget export screen

@epwinchell we need some styling on the export button and the button bar.

@skateman : is it really safe to remove the timeout? would it be good to put the code into some document.ready or something?
although I have a feeling you showed me another place with simillar code and no timeout, where was it?

@martinpovolny it's already in a document.ready, see here

#4041


Add GitLab as an TODO member in the OSPO Landscape

GitLab is officially a new TODO group member. We should add GitLab as a TODO member in the OSPO Landscape
Closing conditions

[x] PR created

PR Created #69

thank you!


services.samba.defaultShare and services.samba.extraConfig

Using both options, the latter to restrict samba to some interface(s), leads to a configuration like this:
[ global ]
log file = /var/log/samba/log.%m
private dir = /var/samba/private

[default]
path = /home/smbd
read only = no
guest ok = yes

# [global] continuing global section here, section is started by nix to set pids etc

  smb passwd file = /etc/samba/passwd

  # is this useful ?
  domain master = auto

  encrypt passwords = Yes
  client plaintext auth = No

  # yes: if you use this you probably also want to enable syncPasswordsByPam
  # no: You can still use the pam password database. However
  # passwords will be sent plain text on network (discouraged)

  workgroup = Users
  server string = %h
  comment = Samba
  log file = /var/log/samba/log.%m
  log level = 10
  max log size = 50000
  security = user

  client lanman auth = Yes
  dns proxy = no
  invalid users = root
  passdb backend = tdbsam
  passwd program = /usr/bin/passwd %u

  interfaces = <IP_ADDRESS>/<IP_ADDRESS>
  bind interfaces only = yes

Note the order of the fragments.

The Samba module has been massively updated some time ago, e.g., defaultShare is gone. Please, reopen if there are still problems.