DeleteAction in RollingFileManager does not work with soft link path

Description
The path of log files is soft link, writing log files works good, but the DeleteAction in RollingFileManager does not work
Configuration
Version: [Log4j version]
2.17.2
Operating system: [OS and version]
Linux 10008-5ck7v 5.10.56-220320.el7.centos.x86_64 https://github.com/apache/logging-log4j2/pull/1 SMP Sun Mar 20 08:36:08 EDT 2022 x86_64 x86_64 x86_64 GNU/Linux
JDK: [JDK distribution and version]
openjdk version "1.8.0_302"
OpenJDK Runtime Environment (Temurin)(build 1.8.0_302-b08)
OpenJDK 64-Bit Server VM (Temurin)(build 25.302-b08, mixed mode)
log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="TRACE" packages="com.xx.xx">
    <Properties>
        <!-- log_base_dir is soft link -->
        <Property name="log_base_dir">/opt/logs/10008</Property>
        <Property name="log_pattern"
                  value="[%d{yyyy-MM-dd HH:mm:ss.SSS}][%-5p][%C{1}.%M:%L][%t][msgId:%X{msgId}]%msg%xEx%n"/>
        <Property name="max_single_file_size">200KB</Property>
    </Properties>
    <Appenders>

        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="${log_pattern}"/>
        </Console>

        <RollingFile name="RollingFileInfo" fileName="${log_base_dir}/info.log"
                     filePattern="${log_base_dir}/info-%d{yyyy-MM-dd-HH}-%i.log.gz">
            <ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="ACCEPT"/>
            <PatternLayout pattern="${log_pattern}" charset="UTF-8"/>
            <Policies>
                <TimeBasedTriggeringPolicy/>
                <SizeBasedTriggeringPolicy size="${max_single_file_size}"/>
            </Policies>
            <DefaultRolloverStrategy max="10">
                <!-- basePath is soft link -->
                <Delete basePath="/opt/logs/10008" maxDepth="1">
                    <IfFileName glob="info-*.log.gz">
                        <IfAny>
                            <IfLastModified age="1H"/>
                        </IfAny>
                    </IfFileName>
                </Delete>
            </DefaultRolloverStrategy>
        </RollingFile>
    </Appenders>

    <Loggers>
        <Root level="INFO">
            <!--<AppenderRef ref="Console"/>-->
        </Root>

        <AsyncLogger name="com.xx" level="DEBUG" includeLocation="true" additivity="false">
            <AppenderRef ref="Console"/>
            <AppenderRef ref="RollingFileInfo"/>
        </AsyncLogger>
    </Loggers>
</Configuration>

linux disk
[op@10008-rppm5 logs]$
[op@10008-rppm5 logs]$ pwd
/opt/logs
[op@10008-rppm5 logs]$ ll
lrwxrwxrwx 1 deploy deploy 28 Jul 11 21:04 10008 -> /mnt/sandbox/10008

when using the log4j2 config file above, the RollingFileManager logs as below, IfFileName REJECTED
2023-07-11 21:11:51,997 Log4j2-TF-2-RollingFileManager-4 DEBUG Starting DeleteAction[basePath=/opt/logs/10008, options=[], maxDepth=1, conditions=[IfFileName(glob:info-*.log.gz AND [IfAny[IfLastModified(age=PT1H)]])]]
2023-07-11 21:11:52,001 Log4j2-TF-2-RollingFileManager-4 DEBUG DeleteAction complete in 0.004209355 seconds
2023-07-11 21:11:52,001 Log4j2-TF-2-RollingFileManager-4 TRACE Sorted paths:
2023-07-11 21:11:52,002 Log4j2-TF-2-RollingFileManager-4 TRACE /opt/logs/10008 (modified: 2023-07-11T13:11:20.375534Z)
2023-07-11 21:11:52,002 Log4j2-TF-2-RollingFileManager-4 TRACE IfFileName REJECTED: 'glob:info-*.log.gz' does not match relative path ''
2023-07-11 21:11:52,002 Log4j2-TF-2-RollingFileManager-4 TRACE Not deleting base=/opt/logs/10008, relative=

then I update the config file as below
            <DefaultRolloverStrategy max="10">
                <!-- basePath is real disk path -->
                <Delete basePath="/mnt/sandbox/10008" maxDepth="1">
                    <IfFileName glob="info-*.log.gz">
                        <IfAny>
                            <IfLastModified age="1H"/>
                        </IfAny>
                    </IfFileName>
                </Delete>
            </DefaultRolloverStrategy>

the RollingFileManager logs as below, IfFileName ACCEPTED
2762188:2023-07-11 21:20:19,150 Log4j2-TF-2-RollingFileManager-13 DEBUG Starting DeleteAction[basePath=/mnt/sandbox/10008, options=[], maxDepth=1, conditions=[IfFileName(glob:info-*.log.gz AND [IfAny[IfLastModified(age=PT1H)]])]]
2023-07-11 21:20:19,152 Log4j2-TF-2-RollingFileManager-13 DEBUG DeleteAction complete in 0.001599611 seconds
2023-07-11 21:20:19,152 Log4j2-TF-2-RollingFileManager-13 TRACE Sorted paths:
.........
2023-07-11 21:20:19,153 Log4j2-TF-2-RollingFileManager-13 TRACE /mnt/sandbox/10008/info-2023-07-11-21-9.log.gz (modified: 2023-07-11T13:20:07.361429Z)
2023-07-11 21:20:19,153 Log4j2-TF-2-RollingFileManager-13 TRACE /mnt/sandbox/10008/info-2023-07-11-21-8.log.gz (modified: 2023-07-11T13:20:07.217431Z)
2023-07-11 21:20:19,153 Log4j2-TF-2-RollingFileManager-13 TRACE /mnt/sandbox/10008/info-2023-07-11-21-7.log.gz (modified: 2023-07-11T13:20:06.969435Z)
2023-07-11 21:20:19,153 Log4j2-TF-2-RollingFileManager-13 TRACE /mnt/sandbox/10008/info-2023-07-11-21-6.log.gz (modified: 2023-07-11T13:20:06.796437Z)
2023-07-11 21:20:19,154 Log4j2-TF-2-RollingFileManager-13 TRACE /mnt/sandbox/10008/info-2023-07-11-21-5.log.gz (modified: 2023-07-11T13:20:06.393443Z)
2023-07-11 21:20:19,154 Log4j2-TF-2-RollingFileManager-13 TRACE /mnt/sandbox/10008/info-2023-07-11-21-4.log.gz (modified: 2023-07-11T13:20:06.030448Z)
2023-07-11 21:20:19,154 Log4j2-TF-2-RollingFileManager-13 TRACE /mnt/sandbox/10008/info-2023-07-11-21-3.log.gz (modified: 2023-07-11T13:20:05.692453Z)
2023-07-11 21:20:19,154 Log4j2-TF-2-RollingFileManager-13 TRACE /mnt/sandbox/10008/info-2023-07-11-21-2.log.gz (modified: 2023-07-11T13:20:01.567513Z)

2023-07-11 21:20:19,161 Log4j2-TF-2-RollingFileManager-13 TRACE IfFileName ACCEPTED: 'glob:info-*.log.gz' matches relative path 'info-2023-07-11-21-10.log.gz'
2023-07-11 21:20:19,162 Log4j2-TF-2-RollingFileManager-13 TRACE IfLastModified REJECTED: info-2023-07-11-21-10.log.gz ageMillis '12' < 'PT1H'
2023-07-11 21:20:19,162 Log4j2-TF-2-RollingFileManager-13 TRACE Not deleting base=/mnt/sandbox/10008, relative=info-2023-07-11-21-10.log.gz
2023-07-11 21:20:19,163 Log4j2-TF-2-RollingFileManager-13 TRACE IfFileName REJECTED: 'glob:info-*.log.gz' does not match relative path 'catalina.2023-07-11.log'
2023-07-11 21:20:19,163 Log4j2-TF-2-RollingFileManager-13 TRACE Not deleting base=/mnt/sandbox/10008, relative=catalina.2023-07-11.log
2023-07-11 21:20:19,163 Log4j2-TF-2-RollingFileManager-13 TRACE IfFileName ACCEPTED: 'glob:info-*.log.gz' matches relative path 'info-2023-07-11-21-9.log.gz'
2023-07-11 21:20:19,163 Log4j2-TF-2-RollingFileManager-13 TRACE IfLastModified REJECTED: info-2023-07-11-21-9.log.gz ageMillis '11802' < 'PT1H'
2023-07-11 21:20:19,164 Log4j2-TF-2-RollingFileManager-13 TRACE Not deleting base=/mnt/sandbox/10008, relative=info-2023-07-11-21-9.log.gz
2023-07-11 21:20:19,164 Log4j2-TF-2-RollingFileManager-13 TRACE IfFileName ACCEPTED: 'glob:info-*.log.gz' matches relative path 'info-2023-07-11-21-8.log.gz'

How to make RollingFileManager works good when using soft link basePath?

Did you try to add followLinks = "true"? According to docs, it does not follow symlinks by default.


implemented new methods to perform the new hierarchy build algorithm

What

New hierarchy build algorithm:
Instead of cloning all generic hierarchy nodes, and then removing the nodes that we don't need, now we check what node IDs we need to clone and clone them.

Created new queries in Neptune to implement the new hierarchy build algorithm.
Modified the driver hierarchy interface accordingly
Kept old methods, as Neo4j doesn't implement the new ones.
return ErrNotImplemented in Neo4j for the new methods or existing methods with unexpected params.

Batch processing:
Starting queries by selecting nodes by ID allows us to spit the queries in batches. Implemented the following batch strategy for Neptune:

Different batch sizes for write and read operations (reads queries can handle much larger batch sizes)
Batch queries are executed in parallel, by concurrent worker go-routines. We limit the number of concurrent workers to prevent doing a DOS attack to Neptune for large queries.
The new batch processing was abstracted, implemented in utils.go, so that it can be reused by other functions in the future.

More info in spike document

How to review

Make sure unit tests pass
Make sure code changes make sense

Who can review
Anyone with Gremlin experience

This is a great piece of work - I like what you have done with the generic batch processing, and the diagrams in the writeup are a work of art 😄 . I have left a few comments to consider.
There appears to be an issue with more than one root node once the hierarchy is built. I have tested building the CPIH aggregate hierarchy, and with the new code the search build fails as there are two root notes instead of the expected single node. I tested the same import with the original hierarchy builder and it was OK. The query the search builder attempts is:
g.V().hasLabel('_hierarchy_node_20d7fe05-99fb-420b-b68d-cf0bfdd27a63_aggregate').not(outE('hasParent'))

This example can be found in the develop-neptune-dev-test-cluster

Good catch! Thank you! I could reproduce it in develop-neptune-dev-test-cluster, as you mentioned. I checked the codes, leafIDs and ancestryIDs, and they are unique among themselves, but if I concat ancestires and leafs, then I found duplicate items!
I think the solution is to remove duplicated items from 'ancestryIDs', so that:

leafIDs : hasData = True
ancestryIDs: hasData = False
nodes present in both arrays: will be treated as leafIDs (hasData=True)

I also think that I should rename to nodesWithData and nodesWithoutData or something similar, because we will have nodes with Data and children.

Great work - I have tested local imports of CPIH and mid-year-pop-est datasets. I have tested the filter journey for both, and the hierarchies look the same as the current production hierarchies. I am able to select all areas of the geography in mid-year-pop-est, apart from the London children inner london and outer london. This is the same as production.

Thank you for the thorough testing! I will merge it now


Ensure schedule names are unique per experiement

Current scheduled messages within the scope of the same experiment can have the same name. These names are stored in the event's params field, so we can't simply let the DB ensure it is unique (that I know of??). We have to catch it when the action is being created.
Why is this important?
We include the schedules with its names in the participant data when its being injected in the prompt. If a user wants to update one of their schedules, the bot only has the name of the schedule to go on. When there are conflicting names, the user will be unable to update that schedule.
Another potential approach is to augment the schedule name with a DB id of sorts whenever we inject it in the participant data, but I think ensuring unique names rather are a better approach, since it's in anycase a sane thing to do. When users view the participant data (in the session view), they then will also be able to differentiate between schedules.

@snopoke I think we can close this, since we have the external_id field, yes?


Added IndexBy operator (issue #560)

need help with method summary/readme, please

@atifaziz on AppVeyor build I am receiving "New code was generated during build that's not been committed." error. I belive that it is about generated extension wrappers. Can you help me please?

AppVeyor build I am receiving "New code was generated during build that's not been committed." error. I belive that it is about generated extension wrappers. Can you help me please?

That's correct.  Those scripts will always make sure that the generated code is up to date. Doing a build in an IDE like Visual Studio or Visual Studio Code isn't enough.

Nice. When I tried to run these cmd I got an error and the console closed before I could read. May we follow with the review?

This PR addresses #560.

@atifaziz adjusts done. Except by elements. I did it for consistency, IndexBy need elements, CountBy does not, but CountByImpl does not know them, so it always provides.

I did a quick spike and implemented IndexBy in terms of ScanBy with 16f2cb4911da3fb3736572bd427a23ca03799e1a. In terms of design, I believe we should keep IndexBy as simple as Index. In other words, it shouldn't return any user-defined projection, but just key-value pairs where the key is the index within the group. The only downside is that it can be somewhat confusing to have a by operator where the returned key is something other than what keySelector returns but I imagine that wouldn't be too surprising either since this is just another flavour of Index.

@atifaziz glad you figure out the method benefícits. The implantation looks great. About no materialize entire source, we should add a ‘*DoesNotIterateUnnecessaryElements’ test to assure It.

@atifaziz adjusts done


When creating multiple machine/hosts, they disappear before becoming active

v0.20.1
Steps:

Add Host
Select DO and set quantity to 5
Click on Create

Results:
Right before the host become active, they disappear.  Eventually they show back up, but when they do if you have the debugger on, it throws an error.
Expected:
Hosts should not disappear from the screen, debugger should not throw error.

build from master - June 11th (Morning)
Verified fixed


Add the VGA CounterX CounterY to the CR space so its accessible from timing

To avoid flickering and tearing (where part of the screen shows the previous frame and part shows the next frame), the content update needs to be synchronized with the monitor's refresh cycle.
This is often achieved through vertical synchronization (V-Sync), where the graphics card is synchronized with the monitor's refresh rate, only sending a new frame when the monitor is ready to display it.
For CRTs, this meant updating the image in the buffer during the vertical retrace period.
By exposing the CounterY we can know where we are in the display cycle, and update the content at the correct time.
This will be used for future features and SW we will add to the project

NoamRahat wants to merge 2 commits into main from nr_600_access_countX_countY_from_timing


Add support for Storage transfer

see: https://cloud.google.com/storage/transfer/

Why wasn't this required for GA?

This is a distinct service from Storage.
Someone filed an issue much more recently for this: https://github.com/GoogleCloudPlatform/google-cloud-java/issues/2222
New client requests are being tracked internally now. I'm going to close this out.


Proposed Rule Changes

I have written up a detailed explanation of these proposed changes which will be distributed internally by Ruben Casas @infoxicator - please contact him for that document.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

This PR has been broken up into individual ones.


redirect bypass??

is there a way to bypass the voting only once for testing / fafing aboot with it?

it is ultimately to make the results more accessible(colorblind ...)

figerg it out


Add Chinese infotips.json

Before you hit that Submit button....
Please read our contribution guidelines
before submitting a pull-request.
Types of changes
What types of changes does your code introduce?
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)

If you want to raise a pull-request with a new feature, or a refactoring
of existing code, it may well get rejected if it hasn't been discussed on
the mailing list or
slack team first.
Proposed changes
Describe the nature of this change. What problem does it address?
Checklist
Put an x in the boxes that apply

[x] I have read the contribution guidelines
[x] For non-bugfix PRs, I have discussed this change on the mailing list/slack team.
[x] I have run grunt to verify the unit tests pass
[x] I have added suitable unit tests to cover the new/changed functionality

Coverage remained the same at 87.591% when pulling 27140be58a1b8ca373c371843d900fa9d419d773 on xiuqi08:master-chinese into 298e37ec53e8e3dfbcf348f2ea4dce51fc6fddd9 on node-red:master.


Unable to fetch logs on google GKE because log files are not where they are expected to be

Describe what happened:
Enabling datadog logging for kuberernetes through containers log files on google GKE does not work because the file layout seems different than what the agent expects
Describe what you expected:
The agent is looking for file matching /var/log/pods/$POD_UUID/$CONTAINER_NAME.log
See: https://github.com/DataDog/datadog-agent/blob/master/pkg/logs/input/kubernetes/launcher.go#L226
an example path: /var/log/pods/c079422d-e3cb-11e7-8643-000c29573710/calico-node_0.log
On google GKE, the files seem to have a different pattern:
/var/log/pods/kube-system_calico-node-hbdhm_c079422d-e3cb-11e7-8643-000c29573710/calico-node/0.log
Something like /var/log/pods/$POD_NAMESPACE_$POD_NAME_$POD_UUID/$CONTAINER_NAME/x.log
I couldn't find any official source where this path layout is defined, but in any case i'm unable to use datadog-agent to tail those logs, and I have to fallback to docker socket to read logs, with the limitations it incurs.
This repository about customizing log collections in stackdriver/fluentd seem to include this path layout: https://github.com/GoogleCloudPlatform/kubernetes-engine-customize-fluentd/blob/master/kubernetes/fluentd-configmap.yaml
Additional environment details (Operating System, Cloud provider, etc):
Google GKE 1.13

Thanks for the report @rslinckx ! We identified this issue a few days ago and are going to address it asap. It turns out the current path will likely change again soon because it produces directory names that are too long. We will keep monitoring this and try our best to support all 3 paths.
Sorry for the inconvenience.
cc @NBParis

Side note: this pattern may change again since it introduced a bug (https://github.com/kubernetes/kubernetes/issues/80042).


Network is unavailable!

Storeman detects that I have no network, but I have no issues with my connection.
$ harbour-storeman
[D] unknown:0 - Using Wayland-EGL
[W] unknown:0 - Network is unavailable!

Storeman doesn't work or it's only a message?

Storeman in unusable. It opens but basically nothing works.
Does the application depend on ConnMan's online status?
I have this:
$ connmanctl state
    State = ready
    OfflineMode = False
    SessionMode = False
    InputRequestTimeout = 300000

If so, can I "cheat" Storeman to detect I have a working connection?

Does the application depend on ConnMan's online status?

Yes, it does. Did you changed you ConnMan's config somehow? As a quick solution you can patch harbour-storeman.qml on your device:
readonly property bool online: !state || state === "online" || state === "ready"

Thank you for the tip.
I use a custom DNS resolver outside ConnMan so it is not able to check online status.
My /usr/share/harbour-storeman/qml/harbour-storeman.qml has now the following modification:
...
NetworkManager {
        readonly property bool online: !state || state === "online" || state === "ready"

        id: networkManager
    }
...

However, it seems like this is not enough. I still get the error message when I launch the application:
$ harbour-storeman
[D] unknown:0 - Using Wayland-EGL
[W] unknown:0 - Network is unavailable!
[W] unknown:0 - libpng warning: iCCP: known incorrect sRGB profile

I am now able to search applications with Storeman, but I can't add any repositories - the same error message is printed to stdout when I try to do so.

I realised that I also compare the state to "online" in the C++ part of code. I will check if I can add "ready" to supported states with no regressions.

Great. Let me know if you can add it.

@wickedsp1d3r, could you check out this version?

@wickedsp1d3r, could you check out this version?

It seems like everything is working smoothly with this version. Many thanks! I will report back if I face any issues with it.


Added Xcode Project Template

Xcode Template Manager is a Swift command line tool that helps your manage your Xcode project templates.
Project URL

https://github.com/Camji55/Xcode-Template-Manager
Category

Xcode General
Description

Why it should be included to awesome-ios (optional)
Checklist

[ X] Only one project/change is in this pull request
[ ] Has unit tests, integration tests or UI tests
[X ] Addition in chronological order (bottom of category)
[ X] Supports iOS 9 / tvOS 10 or later
[X ] Supports Swift 4 or later
[X ] Has a commit from less than 2 years ago
[X ] Has a clear README in English

          1 Warning

:warning:
Found 4 link issues, a project collaborator will take care of these, thanks :)

Link issues by awesome_bot

Line
Status
Link

199
301
https://www.raywenderlich.com/38557/learn-to-code-ios-apps-1-welcome-to-programming redirects tohttps://www.raywenderlich.com/redirect?uri=rw://koenig/post/38557

205
403
https://www.udemy.com/arkit-beginner-to-professional/?couponCode=CREATORS

329
301
https://github.com/BitcoinCashKit/BitcoinKit redirects tohttps://github.com/yenom/BitcoinKit

3137
429
http://iphonedevsdk.com/

  Generated by :no_entry_sign: Danger


Change npm-run-all to npm-run-all2

Closes #76
Hi! 👋
I changed npm-run-all to npm-run-all2 considering the latest version (which supports at least Node.js 18). What do you think? Thanks!

CI failure are not related.


Trailer mixed up dynamic inventory and static inventory signs and chests

Really, I had already noticed :cry: , I intend to update the documentation with a video showing all the features and the new UI


how to use "SshScpSend"

how to use "SshScpSend" please

Quick response from my memory, if it's not working, tell me more informations...
firstly you create and connect your SshClient:
SshClient client;
client.connectToHost(.....);
client.waitForState(SshState::Ready);
// Then, you create the SshScpSend object:
SshScpSend *scp = client.getChannel("scp_channel"); // scp_channel name is mainly to debug
// Then you can use it:
scp->get("/path/source", "/path/dest");
you can connect signal finished to be notified when it's finished

SshScpSend *scp = m_client.getChannel("scp_channel");
scp->send( this->ui->le_src->text(), this->ui->le_dst->text() );

your example(sshgui) can not handshake to win10 openssh server, have a solution to use to the win10 openssh server?


Multiply Factor not applied to standby usage

When using multiply_factor, standby_usage is not multiplied with the factor when the lights are off. (at 0%)
Instead it will be shown with the stand by usage of a single bulb.
...data/signify/LTG002/model.json:
{
"name": "Hue White Ambience Spot GU10",
"supported_modes": [
    "linear"
],
"standby_usage": 0.4,
"linear_config": {
    "min_power": 1.2,
    "max_power": 5
},
"measured_method": "manual",
"measure_device": "From manufacturer specification and a bit of guessing ;)"
}

configuration.yaml:
 sensor:
  - platform: powercalc
    entity_id: light.entrance
    manufacturer: signify
    model: LTG002
    multiply_factor: 3

When on and at 100% it correctly reports 15W as the power usage. But when the lights are of it only shows 0.4W instead of 1.2W.
Version: 0.4.3
(I don't think the issue has been introduced with this version, but has been present at least since 0.4.2.)

Hi, this is a know issue and by design. See https://community.home-assistant.io/t/powercalc-virtual-power-sensors/318515/86?u=bramski.
However I will make a configuration option for this soon.

I understand. I did not know i  multiply_factor was intendet to be used like this.
I think adding a short note to the section in the documentation, until there is a propper way to "group" multiple bulbs, would fix this issue. Something like:

Note: At the moment multiply_factor is not applied to the standby_usage of bulbs.

Option has been implemented with #157

Why 1.2W in standby?
What i know of no lights use that much in standby.


Getting error while launching "npm" install task from launch.json.

VSCode Version: 0.10.12-alpha
OS Version: WIndows10

Steps to Reproduce:

Launch app and open any folder which contains .ts file.
Install eslint extension and restart app.
Configure task by generating tasks.json for npm.
Update install task as below:
{
"taskName": "install",
"args": ["install","-g","eslint"]
},
Set node debugger and generate launch.json and set prelaunchtask as "install".
Start debugging and verify output.

Actual:

Getting error " Errors detected while running the preLaunchTask 'install'.
There is no error message on output window.
Expected: When I run the command "npm install -g eslint" from command prompt under the workspace folder then I didn't get any error .

@isidorn I move this to you since it is prelaunch related. Is this an error reported by the task or is this message referring to the error count in the status bar ?

Well this is the current design limitation of our approach. After a prelaunchTask is finished we check the global error count, if > 0 then we abort.
The task framework is not giving me a correlation between a task run and the errors.
Due to this limitation we have a 'Continue' action in the message box
Closing as designed

@isidorn I think that could be made more clear with a better message. Errors detected sounds a little harsh. I too had the impression that the task failed with errors. What's about saying something like: 'Build errors have been detected during preLaunchTask. Do you want to debug anyways?

@dbaeumer agree. I have improved the wording.


Retry test on old Gradle version when Dispatcher is not ready

Gradle version before Gradle 3.5 contain a problem that log events are sent even if the dispatcher may not be ready. We retry tooling API cross version tests when they fail with that error.
Fixes gradle/gradle-private#744

@jjohannes PTAL!

lgtm!


[Tracking]: affected-based incremental rebuild

This issue tracks the progress of affected-based incremental rebuild:

proof of concept, implement for some passes, rfc: https://github.com/web-infra-dev/rspack/discussions/8243
more tests, enable for bytedance internal projects, stabilize for some passes (👈 we are here)
stabilize all passes and enable by default

The passes we planned to support:

make (already implemented before, but may need some refactors)
provided exports (done): https://github.com/web-infra-dev/rspack/pull/7703
infer async modules (done): https://github.com/web-infra-dev/rspack/pull/7927
collect dependencies diagnostics (done): https://github.com/web-infra-dev/rspack/pull/8127
build chunk graph (done @JSerFeng): https://github.com/web-infra-dev/rspack/pull/7721
modules hashes (done): https://github.com/web-infra-dev/rspack/pull/7684
modules codegen (done): https://github.com/web-infra-dev/rspack/pull/7681
modules runtime requirements (done): https://github.com/web-infra-dev/rspack/pull/7684
chunks runtime requirements (not start)
chunks hash (not start)
chunks render (not start)
emit assets (already implemented before, but may need some refactors)

Currently you can enable this by experiments.incremental = true, feel free to report bugs to us.

Bug Report
experiments.incremental` breaks the production build:

Reproduction steps

Clone https://github.com/rspack-contrib/performance-compare
pnpm i
enable experiments.incremental in rsbuild.config.js

export default defineConfig({
  plugins: [pluginReact()],
  tools: {
    rspack: {
      experiments: {
        incremental: true,
      },
    },
  },
});

pnpm run build:rsbuild

Workaround
Only enable experiments.incremental in dev mode:
export default defineConfig({
  plugins: [pluginReact()],
  tools: {
    rspack: {
      experiments: {
        incremental: process.env.NODE_ENV === "development",
      },
    },
  },
});

@chenjiahan This should be fixed by https://github.com/web-infra-dev/rspack/pull/8311, but after further consideration I think we should recommend user to only enable this in development mode, since in production build incremental can't be used with optimization.concatenateModules/usedExports/mangleExports together, on Rspack side only thing we can do is overriding to false and log warnings. Related docs is also updated in this PR.


Add Homebrew Formula

What this PR does / why we need it:
This pull request adds the way to install pipectl using brew. The installation will be available by the following pull request.

https://github.com/pipe-cd/homebrew-tap/pull/1

Documentation updates:

docs/content/en/docs-dev/quickstart/_index.md and docs/content/en/docs-v0.47.x/quickstart/_index.md: Added a new section detailing how to install pipectl using Homebrew.
docs/content/en/docs-dev/user-guide/command-line-tool.md and docs/content/en/docs-v0.47.x/user-guide/command-line-tool.md: Updated the documentation to include Homebrew as a method for installing pipectl. The new sections provide step-by-step instructions on how to add the pipe-cd/tap tap and install pipectl using Homebrew.

Which issue(s) this PR fixes:

Fixes https://github.com/pipe-cd/pipecd/issues/4879

Does this PR introduce a user-facing change?:
No.

Hi @peaceiris, thank you so much for the contribution ❤
Same as we have https://github.com/pipe-cd/asdf-pipectl for the asdf pipectl installer, I think we should create homebrew-pipectl for the homebrew pipectl installer as well to keep this main repo clean. Could you create a PR containing Formula/pipectl.rb to that repo (https://github.com/pipe-cd/homebrew-pipectl)

I got it!
Could you create the first commit on pipe-cd/homebrew-pipectl to create my forked repo? :-)

Also, I recommend you rename the repo name pipe-cd/homebrew-pipectl to pipe-cd/homebrew-tap.
The install command for pipectl with the former is:
brew install pipe-cd/pipectl/pipectl

The install command for pipectl with the latter is:
brew install pipe-cd/tap/pipectl

The format looks confusing for users, I think. The latter looks more clear and more useful to manage multi-binary except pipectl.
e.g. https://github.com/mongodb/homebrew-brew
brew tap mongodb/brew

Also, I recommend you rename the repo name pipe-cd/homebrew-pipectl to pipe-cd/homebrew-tap.
The install command for pipectl with the former is:
brew install pipe-cd/pipectl/pipectl

The install command for pipectl with the latter is:
brew install pipe-cd/tap/pipectl

The format looks confusing for users, I think. The latter looks more clear and more useful to manage multi-binary except pipectl.
e.g. https://github.com/mongodb/homebrew-brew
brew tap mongodb/brew

Totally agree, thanks for teaching me that 😄 Let's me change the name and make first commit there 👍

@peaceiris Sorry for the late, I renamed the repo as your suggestion 👍
https://github.com/pipe-cd/homebrew-tap

https://github.com/pipe-cd/homebrew-tap/pull/1

has been created and the Formula directory was removed from this pull-request.

rebase master

@ffjlabo @t-kikuc Please check when you all have time 😉


Investigate OSM root certificate rotation failure states and potential recoveries

How to handle reverting an in-progress or failed root certificate rotation
How to depict an error state
How status should be represented
How to determine when to progress through each rotation stage
The root certificate rotation failure states and how to handle each failure scenario
What commands the users need to navigate the rotation stages and errors
Doc: OSM Root Certificate Rotation Unknowns

@jaellio I think this is done?


[go_router] Prevent access to route when navigated to via a deep link

Use case
Prevent access to a route with deeplink.
In the redirect function I would like to detect if the navigation event is a deeplink and redirect to the parent route.
Proposal
Add a bool in the state that says if its deeplink or not

Can you explain more on your use case?

By default, any deep link is mapped to route configuration, even if route is not supposed to be accessed through deeplink.
I suppose OP wants to disable deep linking to some pages. @chunhtai

@chunhtai  Yes I'm using Flutter Web and I want some routes to be accessed only by the user navigating "in-app" and not by entering the URL directly.  For now I'm manually setting the extra argument to true when navigating in app, so I can differentiate between deeplinks or user navigation.

Thanks for explanation, I think instead of add a boolean to the state, we should have a more comprehensive API to handle Deeplink
For example
GoRouter(
  ....
  onDeepLink: (RouteInformation info) => ....
)

@chunhtai It's a good idea yes, but maybe the function onDeepLink should also be supported on each GoRoute(...). So we don't have to do some complicated "if else" or "switch case" for each routes we want to intercept in the global onDeepLink function.

scheme://host?a=1
in ios, ?a=1 is as the url push to my app, I'm lost.
maybe i need this feature too

I need this feature also.
But it maybe more suitable with a wider concept rather than deeplink merely.
The wider concept is preventing an access going forward.
By the way is there any other methods to prevent an access?

Thanks for explanation, I think instead of add a boolean to the state, we should have a more comprehensive API to handle Deeplink
For example
GoRouter(
  ....
  onDeepLink: (RouteInformation info) => ....
)

and by default , it will go through the regular parsing if this method is not provided

I would also like this feature, so I came to say my use case.
My whole app consists of 3 screens: register -> waiting for approval -> approved / rejected.
I was looking for some way to prevent user from navigating by modifying URL. I mean, nothing would happen, but it looks better to disable that navigation instead of showing some error pages or so.
I made a workaround by using boolean which I set to true everytime I navigate using GoRouter. Then in redirect I'm checking if it's true (allow navigation) or false (prevent navigation). This currently works good enough for me.
redirect: (state) {
  // triggered by URL modification
  if (!_routerNavigated) {
    // allow app start
    if (_router.location == '') {
      return null;
    // allow manual navigation to register screen
    } else if (state.subloc.startsWith('/register')) {
      return null;
    // to prevent redirect loop
    } else if (_router.location == state.subloc) {
      return null;
    // otherwise return back to the current location
    } else {
      return _router.location;
    }
  // triggered by GoRouter navigation
  } else {
    _routerNavigated = false;
  }

  return null;
}

My other idea was some ability to allow ignoring URL bar completely.
In my use case I don't need to update the URL bar, I don't need to preserve history and I also don't need to navigate using deeplinks (except for the first register screen).

But it maybe more suitable with a wider concept rather than deeplink merely.
The wider concept is preventing an access going forward.
By the way, is there any other method to prevent an access?

you can use redirect to always redirect to a different path.
For the deeplink, right now browser backward and forward button is treated the same as deeplink. Although there is a way to differentiate them, they are really similar in nature. If app were to prevent deeplink access of a page, should the browser backward and forward button to be prevented as well?

We also have plan to improve overall deeplink setup process, the more flexible API we provide the less deeplink code we can automate for the developers. This requires more thoughts

If app were to prevent deeplink access of a page, should the browser backward and forward button be prevented as well?

I think, the best would be to be able to do both depending on what we need. What I would do is in the redirect callback give access to a "RouterEvent" object witch contains informations about the event with properties like: inAppNavigation or urlNavigation, historyNavigation, deepLinkNavigation. Maybe using an enum or booleans.

There is another issue to add support for handling deeplinks from different domains. https://github.com/flutter/flutter/issues/100624
We also need to expose domain information for deeplinks. One idea is that add a new string or something in the GoRouteState

Hi, can we make automatic handling optional? I mean I want to run some preconditions and also want to push rather than go.

I mean a notification comes and user is in a flow he taps and everything gone

I think there are two steps to fix this issue

https://github.com/flutter/packages/pull/4392/files
This adds the ability to know whether a GoRouteState is a deeplink (by checking GoRouteState.uri.host and GoRouteState.uri.scheme)
https://github.com/flutter/flutter/issues/102408
The onenter and onexit should have more flexible api to decide whether to push page or doing other operation.

Hi, when is this scheduled to release ? I have the same requirement to restrict deeplink, without going through login page.

I think there are two steps to fix this issue

https://github.com/flutter/packages/pull/4392/files
This adds the ability to know whether a GoRouteState is a deeplink (by checking GoRouteState.uri.host and GoRouteState.uri.scheme)
[go_router] Replace redirect with onEnter and onExit #102408
The onenter and onexit should have more flexible api to decide whether to push page or doing other operation.

You mention that you can tell whether a GoRouteState is a deep link by checking GoRouteState.uri.host and GoRouteState.uri.scheme. Both of these values are "" when I check them in the redirect, does this sound right?
If so, the only way to tell if a state is a deep link or initiated from within the app is to add some extra denoting that it is not a deeplink, as others have suggested?

@chunhtai for me, replacing configuration.findMatch(routeInformation.location!, extra: state.extra); with configuration.findMatch(routeInformation.uri.toString(), extra: state.extra); made it so that we did have a GoRouteState.uri.host and GoRouteState.uri.scheme in our redirect with, seemingly, no side-effects. This approach is backed-up by the fact that RouteInformation.location is deprecated and should be replaced with implementations of RouteInformation.uri.
I can get moving on making a PR for this if this makes sense to you...

You mention that you can tell whether a GoRouteState is a deep link by checking GoRouteState.uri.host and GoRouteState.uri.scheme. Both of these values are "" when I check them in the redirect, does this sound right?

This is expected as of now, since go_router can't migrate to use RouteInformation.uri yet.

I can get moving on making a PR for this if this makes sense to you...

yes, feel free to send out a pr.

Actually I was wrong package is supporting 3.10.0 and up, so the routeinformation.uri isn't yet available.

@chuntai So, we would need a PR that:

Upgrades go_router's min. flutter version to >=3.12.0 (so that RouteInformation.uri exists)
Implements my aforementioned changes which make use of RouteInformation.uri rather than RouteInformation.location
Adds new tests/makes sure that no tests are broken

@ChopinDavid that sounds correct

PR is open @chunhtai: https://github.com/flutter/packages/pull/5742


Update timeout for .github/workflows/check-links.yml

This is an automated pull request to update default timeouts for all jobs in .github/workflows/check-links.yml that do not currently contain a default timeout property.
Please review these changes closely to ensure that all jobs have sufficient time to run. If a job needs more time, please add a timeout property to that job to override the organization default.
Additionally, please be attentive to unintended changes to the workflow YAML file, as the parser is not perfect.
Lastly, note that it is up to the reviewer to merge this pull request and delete the PR branch once they are satisfied with the changes.

Replaced by an explicit timeout setting: https://github.com/Kong/docs.konghq.com/pull/6912


chore(functions/log): add more logging methods

Fixes #1219
(I was going to do this in #1218, but @bshaffer ninja'd me. 🙂

@ace-n
FYI, it seems like the snippet-bot is updating the comment which is deleted.


Slurm V6. Add login module

Testing:

created cluster with login node;
SSH on login node;
srun;
destroy cluster.

PR-validation is failing. I think this is because license details is missing.


chore: remove support for node 12

Fixes #1646

This should be marked as a breaking change, so the major version is incremented

We're going to hold off on merging this change for now since this will require a major version bump of the runtime

Closing for now as it's not actionable at the moment. We can re-open once it's decided in https://github.com/netlify/next-runtime/issues/1475 that Next.js has upgraded their Node.js requirements


Having issue with timeline not updating as complete when using ##vso[task.logdetail

Here's a basic example. I tried to get TFS 2015 Update 3 - On Premise to start logging to a timeline to show progress on powershell actions easily. Not seeing the steps being marked as complete. Not sure if this is an issue, or incorrect syntax usage by me.  Any help appreciated, and if there is a more appropriate forum for submitting this please direct me so I don't cause any issues. thanks
#POWERSHELL

#master guid
$MasterGuid =  [GUID]::NewGuid()
write-host "##vso[task.logdetail id=$MasterGuid;name=MasterTimelineStep;type=build;order=1]"

#individualstep on timeline, should finish work and then mark this complete
$StepGUID = [GUID]::NewGuid()
write-host "##vso[task.logdetail id=$StepGUID;name=Initializing Environment;type=build;order=1]Setup the environment with variables"

#do stuff, and then update as complete

#should mark the "nested timeline record" as completed, with green checkmark
write-host "##vso[task.logdetail id=$StepGUID;state=Completed;Result=Succeeded"
$StepGUID = $null

#should identify master step as done
write-host "##vso[task.logdetail id=$MasterGuid;state=Completed;Result=Succeeded"

@TingluoHuang  would know offhand.

@sheldonhull Not sure if this is the root cause but it looks like the closing bracket is missing? Can you try adding it.
Are you still having this issue?


Android studio gitignore

Reasons for making this change:
There should be a dedicated AndroidStudio gitignore file for developers using AndroidStudio to do android development. @aroben this pull is requested in response to your closing comment on #859.
Links to documentation supporting these rule changes:
http://stackoverflow.com/questions/16736856/what-should-be-in-my-gitignore-for-an-android-studio-project
https://gist.github.com/vtanathip/9414323
http://unknownerror.org/opensource/github/gitignore/q/stackoverflow/16736856/what-should-be-in-my-gitignore-for-an-android-studio-project
If this is a new template:

AndroidStudio: https://developer.android.com/studio/index.html

@shiftkey please add a new template label to this pull request.

@dzfacts gradle.xml contains the path where the gradle is installed (note: gradle path can be different for different contributors of the project), modules gradle settings, distribution type and external project path settings.
From the discussion done at [(https://youtrack.jetbrains.com/issue/IDEA-55923)]  the general consensus is that it shouldn't be ignored by default.

Files in folder .idea  are not automatically generated?  Why can't ignore?  I Think even one file is useful ,if everyone generated are the same,the file can be ignored. Am I right?

@shahabhameed - This tempalte is live on gitignore.io - https://www.gitignore.io/api/androidstudio

I think vcs.xml, modules.xml, runConfigurations.xml will be useful. Don't know about misc.xml & codeStyles\Project.xml Files. Even though misc.xml contains some absolute paths in SvnConfiguration section.

@shahabhameed I think Android.gitignore is the template you're looking for here. Please submit any additional improvements to that template.


groups: prevent avatar squishing

Accounts for non-square source images.
Before:

After:

@tomholford nicely done. That source image is of landscape aspect ratio; it basically just center-crops the longer side.


chore: added setup guidelines in contributing.md file

Fixes Issue
closes #1678

Changes proposed

added setup guidelines in contributing.md
removed setup guidelines from readme.md
added emojis in headings
fixed typos

Note to reviewers
Please let me know if any changes required!

@CBID2 review please!


feat: support Align-Anything-Instruction-100K dataset

Description
Describe your changes in detail.
Motivation and Context
Solved the issue #7

[x] I have raised an issue to propose this change (required for new features and bug fixes)

Types of changes
What types of changes does your code introduce? Put an x in all the boxes that apply:

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds core functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation (update in the documentation)

Checklist
Go over all the following points, and put an x in all the boxes that apply.
If you are unsure about any of these, don't hesitate to ask. We are here to help!

[x] I have read the CONTRIBUTION guide. (required)
[x] My change requires a change to the documentation.
[ ] I have updated the tests accordingly. (required for a bug fix or a new feature)
[x] I have updated the documentation accordingly.

LGTM.


The live demo is not working

Actual Behavior

Just scroll down bro

Should be fixed now.
The webpack config got an error. It took the generated html file as the template file. So the new generated css and js files got always appended to the old ones. Thats why there were some 404 erros.
However it was never really broken, but I added and indicator that people should scroll down :)


Error sending PM to multi recipents

"array_combine(): Both parameters should have an equal number of elements"

Looking at the code I'd say it should be either in:
https://github.com/elkarte/Elkarte/blob/4b5853c17da2fe097cd58c38742d4bd321ce32ac/sources/subs/PersonalMessage.subs.php#L852
or:
https://github.com/elkarte/Elkarte/blob/4b5853c17da2fe097cd58c38742d4bd321ce32ac/sources/subs/PersonalMessage.subs.php#L903
the first should not be because the number of elements are the same, the second could happen if $all_to was empty, but it cannot be because it's checked a few lines above for emptiness... I guess this is not the correct spot.
We don't have a traceback in the logs, right? 👼

I don't have a log for this one, I was just noting the issue occurred to me but never grabbed the log but easy enough to reproduce.  Its been a long time, but I seem to recall the message was sent to all.

Finally decided to look at this and the error was thrown in function log_email($sent) and was due to the way the time and email were being appended to the array .. so you needed to have PBE on and be sending to multiple recipients that had email enabled.  Simple fix, long time to trace 👊 🤕


Remove version: CrystalDewWorld.CrystalDiskInfo version 8.17.14

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

Close with reason: Duplicate;


Possibility copying or running multiple session

Hi thanks for your amazing environment.
I am wondering is there possiblity that maybe a env can be replicated in a script? The reason why I want to try this is the actree-id changed every time. So maybe copy a env for the current state and do some test on it won't influnce the original one, which could be much of convienence.
I tried in 2 ways.

copy.deepcopy(env), got the error below.
TypeError: cannot pickle '_queue.SimpleQueue' object.
simply assign a new env and then using reset, also doesn't work because:

playwright._impl._api_types.Error: It looks like you are using Playwright Sync API inside the asyncio loop.
Please use the Async API instead.

Is there any simple functions to overcome the problem I met? Or some instructions from you will also be very helpful. Thanks a lot!

If you want to have a fixed axtree node - ID mapping given the current observation, one possible thing to try is to assign the IDs in the order of the tree. For example:
[164] textbox 'Search' focused: True required: False
[171] button 'Go'
[174] link 'Find directions between two points'

becomes
[99] ...
[100] textbox 'Search' focused: True required: False
[101] button 'Go'
[102] link 'Find directions between two points'
[103] ....

then you create a mapping between the underlying node ID and the displayed ID. The relevant code is here.
Do you think this will resolve your problem?

Thanks for your reply! This could alleviate my problem a lot. I will check the code.
Although I still want to know if there is possible ways to replicate the env, because it may fundamentally prevent the problem I'm encountering.

Not sure if I understand your need completely, but I think that copying an environment may not be feasible since interactions with WebArena websites can cause irreversible changes, such as deleting a post.

The reason why I want to copy a env is for (possibly wrong)tests, so that the original one keep in its current situation. An example could be: There are 3 repositories in a gitlab page, i.e. A, B, C. I need to go to A to complete the task but the program may choose the wrong one. Doing a test and verify it on a copied env before execute the action in the real one could be very helpful.
But never mind, I just try to make it clear what I meant. I will test the method you provided.
Regarding "deleting a post", this raise me a new question: If I logged in e.g. reddit and deleted a post. How to get the env recover from this? Maybe reloading the docker file?

Thanks for the clarification.

There are 3 repositories in a gitlab page, i.e. A, B, C. I need to go to A to complete the task but the program may choose the wrong one. Doing a test and verify it on a copied env before execute the action in the real one could be very helpful.

If I understand correctly, you are trying to do some search on a few possible actions. I can think of two approaches:

execute the action, and if it is wrong, perform go_back()
open a new tab with the corresponding link e.g.,new_tab(), goto(repo_a)
These should work for read-only actions which does not change the state of the environment.

Regarding "deleting a post", this raise me a new question: If I logged in e.g. reddit and deleted a post. How to get the env recover from this? Maybe reloading the docker file?

You are correct. After each round of evaluation, we will reset the docker to its original state.

Feel free to reopen if you have any questions in the future.


trace:sql  loginfo without database name and sql  in version 1.3.5 and 1.4.0

Is your feature request related to a problem? Please describe.

hope to  add the traceinfo in future version after 1.3.5!

Added in v1.4.0, I remember.

Added in v1.4.0, I remember.

i have seen the original code in v1.4.0, which is not including any sql stmt log. Only print the sql stat in console! @kevwan

Didn't submit details for security reasons. What kind of info you like to submit?

Didn't submit details for security reasons. What kind of info you like to submit?

Ok.  Hope to include the sql related database in the trace panel. From the trace panel , i can get the traceId , then get the sql log from the sls service searching by the trace id.

@kevwan  hope to print sql like "/TRACE_3f5a0e4904d43b0632e260c2a1db3d28/SELECT t1.id, t1.external_type, t1.external_idFROM esdocownerstriggerlog t1WHERE t1.is_synced = 0ORDER BY t1.id ASCLIMIT 200"

I hope to commit sql statement too, because Alibaba Cloud's database analytics function rely on it.


ERR_TOO_MANY_REDIRECTS

Have encountered this before, but this is a more common use case.
I'm trying to relaunch my single instance, external DB rancher server behind RAP proxy. Cloudflare DNS is used as well.
sudo docker run -d  --name=paas -e ROOT_URL=https://rancher.domain.com -e PORT=8080 -l rap.host=rancher.domain.com-l rap.port=8080 -l rap.proto=https -l rap.le_host=rancher.domain.com -l<EMAIL_ADDRESS>--restart=unless-stopped -p 8080 rancher/server:stable
--db-host db --db-port 3306 --db-user root --db-pass dbpass --db-name rancherserver
So from what i understand, RAP should be proxing rancher.domain.com port 80 as well as 443 requests via https to port 8080.
RAP has managed to get a letsencrypt cert as i can find it in /etc/nginx/letsencrypt
Now the issue is whenver i hit rancher.domain.com:80, I just get into a redirect loop of GET / HTTP/1.1

Got same error

don't mind me just passing through...

missing a space...


Add mimetype field in previewer in async context

Please describe the problem you're trying to solve
Currently previewer plugin (in async context) are launched based on name or mime patterns, but previewer in lua has no access to the file's mimetype (which had already been fetched by fm), even though the function that calls lua previewer has access to the mimetypes.
https://github.com/sxyazi/yazi/blob/46cd42f923d11a2bf29b13d8a01de63137fb70f5/yazi-config/src/plugin/plugin.rs#L113-L119
Would you be willing to contribute this feature?

[X] Yes, I'll give it a shot

Describe the solution you'd like
Is it possible to add an additional field the following File object
https://github.com/sxyazi/yazi/blob/46cd42f923d11a2bf29b13d8a01de63137fb70f5/yazi-shared/src/fs/file.rs#L9-L14
with the field
	pub mime: Option<String>,

that gets populated when mimetype are computed (when launching the previewer), so that any previewer in lua can directly access the mime field?
Additional context
No response

Hey, why do you need to get the mime-type in the previewer?
If your previewer matches files based on the mime-type, then it should already know this information. If your previewer matches files based on the file name, then the mime-type isn't relevant.


Tile coverage

View is now able to accurately determine the tiles that are visible in the current view frustum (instead of approximating with a bounding box)

Don't merge this yet, I'm actually reconsidering the approach I had planned for tile coverage and LOD and I want to try an approach using the scan-line technique before we move ahead with this.

Closing in favor of https://github.com/tangrams/tangram-es/pull/83


Include file path on xunit reporting

I propose the file path is included within testcases.
At the moment my use case is to use GitLab Test API exporting Robot Framework reports in junit format and scrape it to retrieve individual timings and run parallel execution of tests on several nodes.
https://docs.gitlab.com/ee/ci/unit_test_reports.html
Other test frameworks such as RSPEC would provide the file path corresponding to each test case such as below.
This is an example of report generated by RSPEC using RspecJunitFormatter
<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="rspec" tests="735" skipped="0" failures="0" errors="0" time="550.581470" timestamp="2022-04-29T00:13:24+00:00" hostname="xxx">
<properties>
<property name="seed" value="3628"/>
</properties>
<testcase classname="spec.lib.xxx" name="xxx" file="./spec/lib/xxx.rb" time="0.010554"></testcase>

This is how the GitLab Test API would present the test cases if the file was provided:
      {
        "status": "skipped",
        "name": "x",
        "classname": "X",
        "file": "x.robot",
        "execution_time": 0.001,
        "system_output": {
          "message": "Test skipped using '--skip' command line option.",
          "type": "SkipExecution"
        },
        "stack_trace": null,
        "recent_failures": null
      },
      {
        "status": "skipped",
        "name": "x",
        "classname": "X",
        "file": "x.robot",
        "execution_time": 0.001,
        "system_output": {
          "message": "Test skipped using '--skip' command line option.",
          "type": "SkipExecution"
        },
        "stack_trace": null,
        "recent_failures": null
      },

#4327 opened PR

I'm also very interested in this addition!


Adapted your code

Thanks I guess.
REPLY TO YOUR EMAILS GOD

If you merge now everything should work properly.


arrows up/down shouldn't change the input's caret position

Needs to prevent the default input's comportment.

ah yeah totally!


CNDB-12240: Make OutboundConnections' metrics public

What is the issue
These metrics needs to be accessible.
What does this PR fix and why was it fixed
Makes them public.
Checklist before you submit for review

[ ] Make sure there is a PR in the CNDB project updating the Converged Cassandra version
[ ] Use NoSpamLogger for log lines that may appear frequently in the logs
[ ] Verify test results on Butler
[ ] Test coverage for new/modified code is > 80%
[ ] Proper code formatting
[ ] Proper title for each commit staring with the project-issue number, like CNDB-1234
[ ] Each commit has a meaningful description
[ ] Each commit is not very long and contains related changes
[ ] Renames, moves and reformatting are in distinct commits

Realized I need further changes here that will be more outbound-specific, so I'll update with those when ready.


Enable sharing of requests to channel and not just the requesting user?

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

This is controllable using the DISCORD__REQUESTED_MSG_STYLE variable from https://kiranshila.github.io/Doplarr/#/configuration?id=optional-settings


ussd

https://github.com/oasis-open/cti-taxii-server

Hello @epworth. I'm going to close the issue. Fill in the form and feel free to ping us.


Add InProcessChannelProvider that can be used for functional tests

(also remove stale docs about credentials)

Just ran across LocalChannelProvider. I will try to merge the 2 classes

It looks like LocalChannelProvider is exactly what I needed for the resource header tests. I'll try to use it tomorrow.


fixes for import path and API changes

Seems that @aclements changed path to the package and API slightly. Fixes for that.

Up

Up

Hi @mkevac. Sorry about that. I've fixed the build on master. (Unfortunately, I couldn't merge your PR since you haven't signed the Go CLA, but thank you for pointing out the API breakage!)


misc cleanup

Codecov Report

Merging #633 into master will not change coverage.
The diff coverage is 100%.

@@            Coverage Diff            @@
##             master     #633   +/-   ##
=========================================
  Coverage     83.18%   83.18%
  Complexity      953      953
=========================================
  Files            65       65
  Lines          4223     4223
  Branches        522      522
=========================================
  Hits           3513     3513
  Misses          466      466
  Partials        244      244

Impacted Files
Coverage Δ
Complexity Δ

...haredtable/impl/MtAmazonDynamoDbBySharedTable.java
84.75% <100%> (ø)
81 <0> (ø)
:arrow_down:

...alesforce/dynamodbv2/mt/backups/MtBackupManager.kt
91.66% <100%> (ø)
0 <0> (ø)
:arrow_down:

...ers/sharedtable/impl/MtSharedTableBackupManager.kt
90.76% <100%> (ø)
58 <14> (ø)
:arrow_down:

...modbv2/mt/repo/MtDynamoDbTableDescriptionRepo.java
93.13% <100%> (ø)
44 <0> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


Revert "Replaces textScaleFactor with TextScaler"

Reverts flutter/flutter#128522
b/291701820 - Broke customer golden related to appbar

Closing as we were able to create an internal patch


Enable headless automation for CI verification

In our team, we have very strict rules on what can get merged and what not. Having your save actions executable in headless mode would allow us to verify automatically whether it has been execute before starting the pull request.
Using a docker container, this could be triggered: https://github.com/ccaominh/intellij-inspect
Intellij

Hello @ambition-consulting , thank you for your interest in the plugin. I'm unfamiliar with what you call "headless mode". If what you mean is packaging save-actions alone without Intellij, it can't work. The plugin doesn't actually do anything, it just calls stuff in Intellij at the right time.
I think what you are looking for is a linter, like checkstyle for example, that can be run from Gradle.
Closing for now


[just a question] about the led color

hi @alexislg2 (led color author) and @macdonst
according to this
https://github.com/phonegap/phonegap-plugin-push#led-in-notifications
ledcolor is work perfect
and...
it told me that [0, 0, 255, 0] seem like a green color
so I use this website attempting change the color
http://www.ifreesite.com/color/
finally I found [0, 4, 0, 255] seem like blue
so I use this value and send a notification again
but still receive a green ledcolor
is it because the hardware(phone) that must support this feature，otherwise，always the default (green)
if yes，is there a site or page can show the support list

I don't think such a compatibility list exists.
[The android docs](http://developer.android.com/intl/pt-br/reference/android/app/Notification.Builder.html#setLights(int, int, int)) state that:

Not all devices will honor all (or even any) of these values.

thanks @fredgalvao reply
HAHA
I am just wonder，if I want to see the led color (default green) change to other color (maybe blue)，which phone or tablet should I bought it ?


Add WikiJS on Notetaking category

Added option for WikiJS in category Notetaking.

@osnibjunior thanks for your PR!
Unfortunately, we are adding only companies in this list. Is Requarks a company?

Hi @garrrikkotua
I can't tell you precisely whether Requarks is a company or not. They have other products and a headquarters in Cadaná, but apparently it's just a fixed-form developer.

Hi @garrrikkotua
Any news about this inclusion?


New Datalog Combine Algorithm

This PR introduces the following changes:
Reworked Combine Algorithm.

New algorithm is optimised for Queries with a large number of Predicates. Predicates that don't have Vars will be pre-matched and processed quickly.
Memory usage has been optimised
Usage has changed, both the constructor & solution search method return an error when no solutions are found, which can be ignored during the World.Run() call
To avoid confusion the Combiner struct has been renamed to Solver and Combine() method has been renamed to Solve()

Light refactoring of datalog.go

To make future code maintenance easier, a number of types in datalog.go have been moved into separate files

FYI I reverted this in favor of #98. The code looked fine, but I did no feel I understood it enough to maintain it, while the goroutine approach without recursion was easier to understand for me (I don't write Go often, so I have to keep the code as simple as possible)


[Feature]: Passkey - Implement tx payment fee charge

Feature Description
Since Unsigned Extrinsic does not charge any fees for the transaction we need to implement it
Acceptence Criterea

Calculate the fee for the transaction and check if the owner account has enough deposit to cover it
Charge the owner account the calculated transaction fee
Add tests
Add benchmarks

Notes

Related logic is implemented inside ChargeFrqTransactionPayment
It is preferable if we can already reuse these implementations

@aramikm  @wilwade  are we supporting capacity fee here or tokens or both?  that would define if we are depending on pallet-frequency-tx-payment or pallet-balances

@wilwade Correct me if I'm wrong but my impression is that we are only going to support token transfers for now which should be a token transaction itself.

@aramikm I'm late on this, but I don't see any reason to limit the calls possible over any other token account.


Allow (un)archive of projects

This PR implemented the needed method for (un)archiving a project.

Thank you ❤


Jupyter integration

Integrate Jupyter or JupyterHub.
In the project overview, a user should be able to spawn a Juypter notebook with the model preloaded. There should exist some example scripts. py-capellambse is preinstalled (https://github.com/DSD-DBS/py-capellambse).
Persistent volumes should exist on different levels: Global mounts (read/only for users, write for administrators), project mounts (a folder per project, read-only for read-only project users, read/write for read/write project users) and a personal mount (where you can just do whatever you want).
A user should be able to spawn the Jupyter notebook from the Collab Manager (like the sessions). It may be worth investigating if JupyterHub is a good option.

Example: https://colab.research.google.com/
Which direction to go:

One session
One session per project
Personal workspaces

How to provide models to the jupyter containers? How to expose containers?

Example: https://colab.research.google.com/

This is good example indeed.

Which direction to go:

One session
One session per project
Personal workspaces

It depends on the implementation effort. In general, it is important that users can only see models from projects where the user has access to. In addition, we need to allow collaboration within projects.
We have differentiate between sessions and workspaces. For clarification, I'd call one Docker container a session and a volume or file share a workspace.
We need at least two workspaces for the beginning:

A personal workspace
A project workspace
In the future, we may need a global templates store, which can only be edited by administrators. For more details, see the description of this issue.

Which type of session we'd like to use depends on the type of Jupyter. If we use JupyterLab, one container is probably enough. If we use JuypterHub, we would need to have one session per user or one session per project.

How to provide models to the jupyter containers? How to expose containers?

Models can be cloned from the corresponding Git repository during startup. Containers can be exposed via one nginx container, which has an Ingress endpoint. The nginx container redirects to the Jupyter container internally. The jupyter containers are exposed via ClusterIP/DNS.

From what I see, the functionality of JupyterHub overlaps a lot with what we already do in Collab Manager: manage users and sessions. It would be interesting to see how they keep track of the sessions and make users access their own session.
JupyterHub only provides per-user workspaces.


Change go module name to github.com/sigstore/cosgn/v2 for Cosign 2.0

Signed-off-by: Priya Wadhwa<EMAIL_ADDRESS>This is required to build a 2.0 version by go modules, the original rc release failed with this error:
/workspace/go/src/sigstore/cosign/dist/proxy/linux/go.mod:4: require github.com/sigstore/cosign: version "v2.0.0-rc.0" invalid: should be v0 or v1, not v2

Release Note
Change go module name to github.com/sigstore/cosgn/v2 for Cosign 2.0

Codecov Report

Merging #2544 (b95365c) into main (d2c842d) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #2544   +/-   ##
=======================================
  Coverage   30.08%   30.08%
=======================================
  Files         139      139
  Lines        8607     8607
=======================================
  Hits         2589     2589
  Misses       5642     5642
  Partials      376      376

Impacted Files
Coverage Δ

cmd/cosign/cli/attach.go
0.00% <ø> (ø)

cmd/cosign/cli/attest.go
0.00% <ø> (ø)

cmd/cosign/cli/attest_blob.go
0.00% <ø> (ø)

cmd/cosign/cli/clean.go
0.00% <ø> (ø)

cmd/cosign/cli/commands.go
0.00% <ø> (ø)

cmd/cosign/cli/copy.go
0.00% <ø> (ø)

cmd/cosign/cli/dockerfile.go
0.00% <ø> (ø)

cmd/cosign/cli/dockerfile/verify.go
41.66% <ø> (ø)

cmd/cosign/cli/download.go
0.00% <ø> (ø)

cmd/cosign/cli/env.go
76.82% <ø> (ø)

... and 78 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


GeoJSON.readFeature does not use projection options passed to constructor

Description
When creating an instance of ol/format/GeoJSON it is possible to specify dataProjection and featureProjection.
The documentation states:
dataProjection: Default data projection.
featureProjection: Projection for features read or written by the format. Options passed to read or write methods will take precedence.
When specifying these options and using the readFeature function, I would expect that the dataProjection and featureProjection options of the format instance would be used.
The documentation of the readFeature function states:
dataProjection: Projection of the data we are reading. If not provided, the projection will be derived from the data (where possible) or the dataProjection of the format is assigned (where set). If the projection can not be derived from the data and if no dataProjection is set for a format, the features will not be reprojected.
The problem
In the latest version of OpenLayers the readFeature function ignores the projection settings passed to the constructor of ol/format/GeoJSON. So it is necessary to specify the same projection settings when calling the readFeature method.
I noticed that setting only the featureProjection (and thus omitting the dataProjection) when calling readFeature does work.
Example
I created a small example in codesandbox: https://codesandbox.io/s/featureselection-m2wes
Comment out lines 44 and 45 in index.js to see that the point in the center is no longer showing up on the map.

What you are seeing is in documentation, but perhaps the documentation could be better.
dataProjection is working as you expected.
For the constructor the documentation states:
featureProjection: Projection for features read or written by the format. Options passed to read or write methods will take precedence.
Under readFeature the documentation states:
featureProjection: Projection of the feature geometries created by the format reader. If not provided, features will be returned in the dataProjection.
Which implies you would always need to pass featureProjection to readFeature if you need the feature reprojected (otherwise it will appear in the Gulf of Guinea)
featureProjection in the constructor is used in vector sources:
var geoJsonFeature = {
  type: "Feature",
  geometry: {
    type: "Point",
    coordinates: [162395, 492192]
  }
};

var vectorSource2 = new VectorSource({
  url: "data:text/plain;charset=utf-8," + encodeURIComponent( JSON.stringify(geoJsonFeature) ),
  format: new GeoJSON({
    dataProjection: "EPSG:28992",
    featureProjection: "EPSG:3857"
  })
})

If vectorSource2 is used as the source of another vector layer in your map the feature will show where expected.

Ah, I did not notice that the readFeature method will ignore the featureProjection passed to the constructor.
I didn't expect this behavior when reading 'Projection for features read or written by the format. Options passed to read or write methods will take precedence.' in the documentation of the featureProjection option of the constructor.
Closing the issue as it works as documented.


Refactor and Add ingress-operator as install opetion

Description
Iv added and tested that we can install ingress-operator using the
openfaas helm  chart.
Signed-off-by: Alistair Hey<EMAIL_ADDRESS>How Has This Been Tested?

Tested by building and running locally and then adding a FNI resource
and validating the route and certs were created
Checklist:
I have:

[x] checked my changes follow the style of the existing code / OpenFaaS repos
[x] updated the documentation and/or roadmap in README.md
[x] read the CONTRIBUTION guide
[x] signed-off my commits with git commit -s
[ ] added unit tests

Thanks for adding the new option. That bit looks fine.
I'm not a fan of how the files have been split out - it makes each file look like it's a separate command - that's generally the way /cmd/minio.go would mean we should have a command of ofc-bootstrap minio. I understand why you wanted to do this, but I would like it reverted in this PR, so that you only make the change to add the new field to the YAML spec.
After merging I'd be open to ideas you have on reducing the length of the apply command - perhaps making use of an additional Go package?

Thanks for adding the new option. That bit looks fine.
I'm not a fan of how the files have been split out - it makes each file look like it's a separate command - that's generally the way /cmd/minio.go would mean we should have a command of ofc-bootstrap minio. I understand why you wanted to do this, but I would like it reverted in this PR, so that you only make the change to add the new field to the YAML spec.
After merging I'd be open to ideas you have on reducing the length of the apply command - perhaps making use of an additional Go package?

@alexellis reverted refactor.
Ill open an issue to discuss

https://github.com/openfaas-incubator/ofc-bootstrap/issues/213


Uglify fails - Unknown provider: aProvider <- a

Hi guys,
I ran into an issue yesterday when I've added the angular-bootstrap JS to my project (which has been set up using the Yeoman Angular Generator) and then it failed due to uglification.
I've added the lib via bower (uncompressed!) and it got included into the vendor.js for concatination and minification.
When the file (ui-bootstrap-tpls.js; uncompressed) is concatenated and bundled in one big vendor.js, everything looks fine,  but as soon as the uglify task kicks in (with mangle: true = default), this fails (although the grunt ngmin task should rewrite the code to use Angular's inline annotation method):
The error message was pretty much this one:
Error: [$injector:unpr] Unknown provider: aProvider <- a

Pretty much like this bug: https://github.com/yeoman/generator-angular/issues/378
Is this a bug in the angular-bootstrap code and how it's implemented?
Does anybody have an idea why this is happening and how it can be fixed (without turning mangle off)?
Just a hint would be cool! :+1:
I've set mangle to false in the uglify.js code... and everything works fine, but I'd really like to turn it back to true again. :)
Regards,
mastix

@sethen Same here. What was the fix?

I'm getting this too.  The app works in dev but not prod.  Unfortunately the proposed solutions aren't working for me.
@PeterTrotter, I tried that but got the same results.
@DFOXpro, I have no uglify task in my Gruntfile whose mangle property I can set.  I think uglify is configured automatically by usemin.  I'm using the generator-angular-fullstack approach which does a lot of things I don't fully understand.
@knutesten, I'm confused how your idea solves the problem.  I want to use ngAnnotate to take care of minification-safe dependency injection, not do it myself.  That is, I don't want to have to write $scope and the other parameters twice everywhere as your solution implies unless I'm misunderstanding.  Is modalOptions something specific to your app?
The initial error isn't very useful.  So in dist/public/index.html, I replaced dist/app/d41d8cd9.vendor.js with the unminified-but-concatenated vendor.js and I changed the reference from angular.min.js to angular.js.
Having done that, I got the slightly more useful error message: Unknown provider: $urlMatcherFactory.  Any ideas why this one is a problem?  It's failing to find it in an array var called cache that does have these at the time of the exception being thrown
$$asyncCallbackProvider: Object
$$jqLiteProvider: Object
$$qProvider: Object
$$rAFProvider: Object
$$sanitizeUriProvider: Object
$$testabilityProvider: Object
$anchorScrollProvider: Object
$animateProvider: Object
$browserProvider: Object
$cacheFactoryProvider: Object
$compileProvider: Object
$controllerProvider: Object
$cookieStoreProvider: Object
$cookiesProvider: Object
$documentProvider: Object
$exceptionHandlerProvider: Object
$filterProvider: Object
$httpBackendProvider: Object
$httpProvider: Object
$injector: Object
$interpolateProvider: Object
$intervalProvider: Object
$localeProvider: Object
$locationProvider: Object
$logProvider: Object
$parseProvider: Object
$provide: Object
$qProvider: Object
$resolveProvider: Object
$resourceProvider: Object
$rootElementProvider: Object
$rootScopeProvider: Object
$sanitizeProvider: Object
$sceDelegateProvider: Object
$sceProvider: Object
$snifferProvider: Object
$templateCacheProvider: Object
$templateFactoryProvider: Object
$templateRequestProvider: Object
$timeoutProvider: Object
$urlMatcherFactory: Object
$urlMatcherFactoryProvider: Object
$windowProvider: Object
aDirectiveProvider: Object
currencyFilterProvider: Object
dateFilterProvider: Object
filterFilterProvider: Object
formDirectiveProvider: Object
inputDirectiveProvider: Object
jsonFilterProvider: Object
limitToFilterProvider: Object
linkyFilterProvider: Object
lowercaseFilterProvider: Object
maxlengthDirectiveProvider: Object
minlengthDirectiveProvider: Object
ngBindDirectiveProvider: Object
ngBindHtmlDirectiveProvider: Object
ngBindTemplateDirectiveProvider: Object
ngBlurDirectiveProvider: Object
ngChangeDirectiveProvider: Object
ngCheckedDirectiveProvider: Object
ngClassDirectiveProvider: Object
ngClassEvenDirectiveProvider: Object
ngClassOddDirectiveProvider: Object
ngClickDirectiveProvider: Object
ngCloakDirectiveProvider: Object
ngControllerDirectiveProvider: Object
ngCopyDirectiveProvider: Object
ngCutDirectiveProvider: Object
ngDblclickDirectiveProvider: Object
ngDisabledDirectiveProvider: Object
ngFocusDirectiveProvider: Object
ngFormDirectiveProvider: Object
ngHideDirectiveProvider: Object
ngHrefDirectiveProvider: Object
ngIfDirectiveProvider: Object
ngIncludeDirectiveProvider: Object
ngInitDirectiveProvider: Object
ngKeydownDirectiveProvider: Object
ngKeypressDirectiveProvider: Object
ngKeyupDirectiveProvider: Object
ngListDirectiveProvider: Object
ngMaxDirectiveProvider: Object
ngMaxlengthDirectiveProvider: Object
ngMinDirectiveProvider: Object
ngMinlengthDirectiveProvider: Object
ngModelDirectiveProvider: Object
ngModelOptionsDirectiveProvider: Object
ngMousedownDirectiveProvider: Object
ngMouseenterDirectiveProvider: Object
ngMouseleaveDirectiveProvider: Object
ngMousemoveDirectiveProvider: Object
ngMouseoutDirectiveProvider: Object
ngMouseoverDirectiveProvider: Object
ngMouseupDirectiveProvider: Object
ngNonBindableDirectiveProvider: Object
ngOpenDirectiveProvider: Object
ngOptionsDirectiveProvider: Object
ngPasteDirectiveProvider: Object
ngPatternDirectiveProvider: Object
ngPluralizeDirectiveProvider: Object
ngReadonlyDirectiveProvider: Object
ngRepeatDirectiveProvider: Object
ngRequiredDirectiveProvider: Object
ngSelectedDirectiveProvider: Object
ngShowDirectiveProvider: Object
ngSrcDirectiveProvider: Object
ngSrcsetDirectiveProvider: Object
ngStyleDirectiveProvider: Object
ngSubmitDirectiveProvider: Object
ngSwitchDefaultDirectiveProvider: Object
ngSwitchDirectiveProvider: Object
ngSwitchWhenDirectiveProvider: Object
ngTranscludeDirectiveProvider: Object
ngValueDirectiveProvider: Object
numberFilterProvider: Object
optionDirectiveProvider: Object
orderByFilterProvider: Object
patternDirectiveProvider: Object
requiredDirectiveProvider: Object
scriptDirectiveProvider: Object
selectDirectiveProvider: Object
socketFactoryProvider: Object
styleDirectiveProvider: Object
textareaDirectiveProvider: Object
uppercaseFilterProvider: Object

Thank you @knutesten, it solved my problem :)

@frhd Sorry, just seeing this now.
I can't remember exactly what the issue was anymore (I answered that almost a year ago)...  I remember it had something to do with the minification process in Yeoman somehow issuing a grunt build:dist I believe.  I think ui-router will throw this error when you're doing something like:
.state('site.gateway.password-request', {
    url: '^/password/request',
    templateUrl: '/views/partials/templates/request.html',
    controller: function ($rootScope) {
        $rootScope.title = 'Password Request';
    }
})

This looks right, but you need to give the controller an array with your injected stuff first like:
.state('site.gateway.password-request', {
    url: '^/password/request',
    templateUrl: '/views/partials/templates/request.html',
    controller: [$rootScope, function ($rootScope) {
        $rootScope.title = 'Password Request';
    }]
})

This may not help a lot, but that's all I can really remember.

For me it was the resolves in the states for ui router
$stateProvider.state('deals', {
      url: '/deals',
      templateUrl: '/contest/states/deals.template.html',
      controllerAs: 'DealsCtrl',
      resolve: {
        deals: ['$http', function ($http) {
          return $http.get('/api/deal/findactive')
            .then(function (results) {
              return results.data;
            });
        }],

@mastix @fno @pkozlowski-opensource I just hit the same issue using ui-bootstrap with these tools.  The larger file size isn't an issue for me, so I'll work around it by not minifying that file.  Curious though.. did resolving this issue get set aside for one reason or another?

I thought this issue was a thing of the past with ngAnnotate so was really confused when I ran into it again recently. Seems I removed the array syntax from a ui-router resolve — which ngAnnotate doesn't handle. From the Yeoman generator-angular Gruntfile:

ngmin tries to make the code safe for minification automatically by using the Angular long form for dependency injection. It doesn't work on things like resolve or inject so those have to be done manually.

@knutesten thanks - that was my oversight as well.

Amazing I found the solution to my problem in google leading here... @knutesten has my problem and solution (thanks!). minify is mucking up the of inline array controller syntax in the middle of code.
This won't happen if one declares the controller as a named controller rather than an inline one, which will rarely happen going forward since the documentation these days seems to promote that.

Nice Idea @knutesten :smiley: but I solve my problem with
.pipe(uglify({     mangle: false }))
OBS: in gulp

@knutesten this solved my problem!

Just a note for all of you here - you should ALWAYS turn on strictDi mode for your angular application.  You can do it either via the ng-strict-di attribute on your ng-app element or, if you're bootstrapping your application, you can follow the instructions here.  This will protect you from these type of issues moving forward.
Unfortunately, not all angular examples are good about using the strict injection declaration format and so people learn incorrectly.

I just want to point out that for all other users even with using ng-strict-di, it did not resolve this problem, or lead to this specific case.

I had a big problem with that too and I want to thank you all because a mix of answers was my good cocktail :D
I had to uncomment uglify on the Gruntfile and add the option 'mangle' with the value 'false' as mentioned by @ivomarsan.
I also made a separate build for "" and added the piece of code that @PeterTrotter said to the bower.json.
And that was the solution for me!
Thank you so much!!

I found two problems,
The first is angular-bootstrap modal directive resolve problem, yeoman with grunt can not annotate the modal resolve dependency. so I write it manually.
But, The annotate problem is still there when I exec grunt build

I check the error stack in mangled code . I think the problem is angular-bootstrap modal, but i did't find the error code.

This is a bug with ng-annotate, not ui-bootstrap. For me it started after upgrading ui.bootstrap though. If we look in the ng-annotate docs, we'll find:

ng-annotate understands $uibModal.open (and $modal.open) (angular-ui/bootstrap).

There must be a bug with ng-annotate's handling of the newer ui.bootstrap, that uses the uib prefix. That is all I changed to replicate the bug was $modal.open to $uibModal.open, and that caused ng-annotate to stop implicitly matching.
If I tag the inline controller with @ngInject, it works:
var modalInstance = $uibModal.open({
                    /** @ngInject */
                    controller: function($scope, $uibModalInstance) {

In summary, this is a bug in ng-annotate, which is able to handle $modal.$open but apparently not $uibModal.open -- it is not in any way ui.bootstrap's problem.

Hi, all.
I was also having this issue on only one of several modal instances throughout my application, and after some debugging I realized that my problem was not using strict dependency injection in my resolve block, i.e.:
  var modalInstance = $uibModal.open({
    templateUrl: 'preferences.html',
    controller: 'preferencesCtrl as ctrl', // this external controller was using explicit function annotation...
    resolve: {
      parent: [function() {
        return ctrl;
      }],
      sectorList: ['preferencesService', function(preferencesService) { // but this was not!
        return preferencesService.getSectors();
      }]
    }
  });

Finally my issue is resolved. Please refer this url
https://stackoverflow.com/questions/17238759/angular-module-minification-bug

@knutesten thanks, your solution really helped a lot. I was stuck from a while n tried almost every possible  solution but not getting the reason behind. Now i get it . Thanks once again.

I'm using Laravel mix and fixed by inserting the config bellow
mix.options({ 	uglify: { 		uglifyOptions: { 			mangle: false, 		} 	} })

I'm using Laravel mix and fixed by inserting the config bellow

mix.options({
  uglify: {
    uglifyOptions: {
      mangle: false,
    }
  }
})


Frontend local dev error Cannot convert undefined or null to object

Description

Occasionally when running and viewing the frontend locally in the browser at http://<IP_ADDRESS>:8443/, an error view and message is displayed while the terminal for the devserver process shows no issue:

Reproduction

just frontend/run dev locally and see if it happens. Click around the local site and see if it occurs.

Additional context
This was previously reported by @sarayourfriend in early 2022 as an issue with vue-server-renderer:
https://github.com/nuxt/nuxt/issues/8303#issuecomment-1029081724

@zackkrida Shouldn't we try to reopen the issue with Nuxt? Though I doubt anything will happen with it as we're on Nuxt 2. I don't know what we can do on our end for this that would warrant an issue, is all.

I don't believe this is an issue anymore.


Updated navbars

Updated navbars here:
https://www.figma.com/file/u3yiT3WYc4FMe7QToSbsZ5/Keep.id-Style-Guide?node-id=2%3A1221
as per design+engineering mtg, we discussed a fade-in to darker color, shown via the bottom navbar.

can we update figma with all of these designs? also will navbar be solid color after login?

can we update figma with all of these designs? also will navbar be solid color after login?

i just updated the figma with the updated navbars across the board. we only discussed having the darker color appear when they scroll, but that is an idea to be solid after login.


Fix build failure with v2 config

While trying to build tensorflow with v2 config:
bazel build -s --verbose_failures --config=opt --config=v2 \
//tensorflow/tools/pip_package:build_pip_package

The following failure was encountered:
ERROR: /home/ubuntu/tensorflow/tensorflow/core/kernels/BUILD:6800:1: undeclared inclusion(s) in rule '//tensorflow/core/kernels:summary_kernels':
this rule is missing dependency declarations for the following files included by 'tensorflow/core/kernels/summary_kernels.cc':
  'tensorflow/contrib/tensorboard/db/schema.h'
  'tensorflow/contrib/tensorboard/db/summary_db_writer.h'
  'tensorflow/core/kernels/summary_interface.h'
  'tensorflow/contrib/tensorboard/db/summary_file_writer.h'
Target //tensorflow/tools/pip_package:build_pip_package failed to build

The issue was that summary_kernels.cc still depends on tensorflow/contrib/tensorboard
no matter if v1 or v2 is selected.
NOTE: The tf.summary.create_file_writer that is exposed to v2 calls create_summary_file_writer in tensorflow/contrib/tensorboard anyway.
This fix fixes the issue so that it is possible to build tensorflow with v2 config.
Signed-off-by: Yong Tang<EMAIL_ADDRESS>

@martinwicke  The tf.summary.create_db_writer is not exposed in 2.0 so removing tf.summary.create_db_writer could drop the dependency of "//tensorflow/contrib/tensorboard/db:summary_db_writer".
However, tf.summary.create_file_writer is exposed in 2.0, and eventually calls SummaryFileWriter in tensorflow/contrib/tensorboard. So a dependency to "//tensorflow/contrib/tensorboard" will always be there.
https://github.com/tensorflow/tensorflow/blob/735d26a821d9f69f58ad12ea841da9bc8c5a65ee/tensorflow/python/ops/summary_ops_v2.py#L237-L238
https://github.com/tensorflow/tensorflow/blob/735d26a821d9f69f58ad12ea841da9bc8c5a65ee/tensorflow/core/kernels/summary_kernels.cc#L52

@martinwicke I am wondering if tf.summary.create_file_writer and tf.db.summary.create_file_writer should be dropped from 2.0 completely? Then the dependency could be removed.
I can update the PR if this is the case.

@nfelt WDYT

I'm working on moving the contrib/tensorboard files into core today, actually.  Once that is done this won't be a problem.


Remove event handlers on OnDispose

I'm developing "reload MODs without restart" MOD.
This mod requires other mods to clean up event handlers. if not, it won't work
I18NEverywhere is popular. So my MOD useless without this FIX.

I'm more curious about what you would do with harmony


Remove profile image as it is not in use

This image:

Closing this as we're gonna implement the image feature instead #138


turbo_frame_tag inside a component duplicates it

Ok, so I'm not sure if the title makes sense. Hopefully the code will.
When rendering a component which has a turbo_frame_tag inside it, ViewComponent (or Turbo?) will render the contents twice.
Once inside a turbo_frame_tag as expected, and again, with whatever's inside the turbo_frame_tag
Note: The content of the component html doesn't matter from my testing. I initially thought it might be another turbo frame tag or component conflicting, since my VC is quite complex.
- achievements.each do |achievement|
  = turbo_frame_tag(achievement.event) do
    = render(Provider::TrophyComponent.new(trophy: achievement))

= turbo_frame_tag(@trophy) do

  .cell-auto.card.--with-image data-controller='provider--trophy-component--trophy-component' id=dom_id(@trophy)
    .row.items-stretch
      .cell-auto.card class="#{ @trophy.cover.attached? ? '' : 'animate-pulse' } #{ @trophy.is_a?(XBOX::Trophy) ? 'w-60' : 'w-38' }"
        =<EMAIL_ADDRESS>class: 'w-full h-full rounded-md object-cover') if @trophy.cover.attached?

To fix this, I have to extract the component inside a rails partial and wrap it inside a turbo_frame_tag in there, instead of the VC.
- achievements.each do |achievement|

  = turbo_frame_tag(achievement.event) do
    = render(partial: 'fix', locals: { achievement: achievement }, cache: false)

= turbo_frame_tag(achievement.event) do
  = render(Provider::TrophyComponent.new(trophy: achievement))

Expected behavior
The ViewComponent shouldn't render the contents twice.
System configuration
Rails version:
ruby -Rails <IP_ADDRESS>
Ruby version:
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-darwin20]
Gem version:
view_component (2.40.0)
turbo-rails (7.1.0)

Hey @pacMakaveli! It'd be really helpful if you could provide us with a failing test case or a replica of the issue. If you want to get started with the latter, I'd recommend doing the following:
rails new --minimal view_component-1099
cd view_component-1099
bundle add view_component
rails g component TurboFrameTag

A failing test case is preferable, but either way, a replica of the issue in isolation will be helpful in diagnosing it. Thanks!

Would calling helpers.turbo_frame_tag instead of turbo_frame_tag fix this in the short term?

Afraid not, however, @xkraty's solution works a treat.
Either:
<turbo-frame id="some_id">
  Some content
</turbo-frame>

Or:
<%= tag.turbo_frame(id: "some_id") do %>
  Some content
<% end %>

Adding include Turbo::FramesHelper in your component class seems to work as well: you can then call turbo_frame_tag directly instead of proxying through helpers

@swanson it didn't work for me. Nor did the helpers.turbo_frame_tag
However, @HashNotAdam's solution works a treat! Thanks a bunch to everyone that chimed in.
So, if you have issues with the ViewComponent duplicating your content, or messing with the HTML rendering, tag.turbo_frame fixes it.

@pacMakaveli mind writing a docs PR to reflect this?

The same happened for me after upgrading from haml 5 to 6.
Using tag.turbo_frame fixed it for me.

As far as I can see, the reason is, that the content of the tag rendered outside of the tag instead inside of it. This results in a duplication of the content since it is not replaced by turbo but technically appended.

bump
@HashNotAdam thanks for the workaround 👍 🎉


Adapt use of tox_extra_args to tox 4.x

Tox 4.x requires the use of -- to separate tox and environment {posargs}, so this change adds that to the job definitions.

Just leaving this here for future travelers. We attempted to patch this in one place in zuul_jobs but unfortunately tox_extra_args is used for more than just posargs: https://review.opendev.org/c/zuul/zuul-jobs/+/870978


[Feature]: Add Custom Navbar for custom menus and / or application headings

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
Create a seperate header-section to enable application-wide custom menus (especially when using embedded mode) and / or application headings.
Why should this be worked on?
When navigating through a multipage-app in embedded mode, currently the only way to add a (custom) menu is by using clickable elements like menu-buttons.
For consistency and a nice look & feel of applications I am using a container with a logo and menu-buttons along with the navigateTo-method for each multipage-app.
However this way one needs to clone this "pseudo"-menu-bar-header to each page and also edit it on all of the pages for any changes.
Retool has a seperate "header" section which "solves" this.

 Front conversations

I think something similar to breadcrumb is not enough for everyone, some of us need header with some good options like fixed position, zero margins around similar to a navbar in a common web app

@luilabdev could you share a screenshot of the type of navbar you're trying to replicate?

Shared by the user in discord

upvote for this feature.  Use case is that we can keep the layout consistent and are able to manage the options shown in one spot instead of updating all the pages.

upvote for this feature. I'd like the option to hide the default Appsmith "Sign In" button as well, since this confuses my users. They end up signing up for Appsmith, instead of signing in through our login page.

Thanks @ZackKnopp regarding disabling sign up here's a doc on this- https://docs.appsmith.com/v/v1.2.1/how-to-guides/restricting-signup

@ZackKnopp , @Eudemon ,@luilabdev, @slysiou, @Privatecoder, @ragnorok
Sam from Appsmith here. We’re currently exploring this feature in detail and we’d love to get a deeper understanding of your needs with regards to navigation.
Have you ever created your own navigation using our widgets? If so, would you be willing to share screenshots of what you have built with me? Alternatively, we could jump on a quick call where you could show me what you have created. You can book some time in via my calendly here: https://calendly.com/samstudiorival/30min

Upvote! What's the status of this?