[Bug] [Postgres CDC] postgresSQL database connection leak

Search before asking

[X] I searched in the issues and found nothing similar.

Flink version
any
Flink CDC version
master branch
Database and its version
any
Minimal reproduce step
Generating a large number of snapshotSplits during the snapshot synchronization phase can reproduce this issue.
What did you expect to see?
A small number of connections.
What did you see instead?
Abnormal Increase in Connection Count。
select client_addr,count(1) from pg_stat_activity group by client_addr
Anything else?
https://github.com/ververica/flink-cdc-connectors/blob/557944488bf7e1d383365a16c68fac311989e7d8/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-postgres-cdc/src/main/java/com/ververica/cdc/connectors/postgres/source/fetch/PostgresSourceFetchTaskContext.java#L193-L199
This code segment is executed once for each shard, which leads to the creation of a new connection each time and results in a leak.
Are you willing to submit a PR?

[ ] I'm willing to submit a PR!

But PostgresReplicationConnection will be closed after each snapshot split read. See com.ververica.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask#maybeDropSlotForBackFillReadTask.
    /** Drop slot for backfill task and close replication connection. */
    private void maybeDropSlotForBackFillReadTask(
            PostgresReplicationConnection replicationConnection, boolean skipSnapshotBackfill) {
        // if skip backfill, no need to create slot here
        if (skipSnapshotBackfill) {
            return;
        }

        try {
            replicationConnection.close(true);
        } catch (Throwable t) {
            LOG.info("here exception occurs");
            throw new FlinkRuntimeException(t);
        }
    }

Could you please give me your cdc version?

Thanks, i get it, I will modify it @ic4y


Optionally generate separete MQTT messages for additional sensors

Problem
My weather station reports not only it's weather sensors, but also other sensors in proximity compatible to the "ecowitt ecosystem", e.g. in my case some WH31 of a HP3000 clone coined "ELV RoomLogg":
"temp1": 20.777777777777782, "humidity1": 51.0,  "batt1": "OFF",
Consider the well known ecowitt sensor mapping:
There is a growing number of possbile extension and combiniations of sensors.
Not all their data flow into the the same destination.
Adding sensors to existing configurations may result in complex configuration changes in several points.
Frequent long messages may push lightweight receivers beyond their limit.
So it increases flexibility if we generate independent MQTT messages with independent configured topics and frequency.
In terms of database design, we might talk about those extre sensors comprising different entities.
Preferred solution in ecowitt2mqtt
Can we expand the configuration and processing in a way that

additional sensors may be included or omitted in the main message of the station
extra sensors may generate seperate MQTT meassages with configurable topic, frequency
new sensor instances and new sensor types can added "on the fly" by configuration changes

Alternative approaches:

dedicated Gateways
generating additional events in e.g. my database logging script
running a dedicated process that subscribes to all sensor data an generates messages for extra sensors
using skd of home automation system for this purpose

The German wiki page for MQTT distincts between

the broker, where all relevant data of a system is kept
silly (aka lightweight) clients, which just supply sensor data and recive simple commands
intelligent/powerful control instances performing complicated data integration

Gleaning over the source, I'm quite sure that ecowitt2mqtt had the intelligent power to implement the configurable separation of data. Unfortunately, I'm afraid that I am to silly to unveil this power.
So, unless there is neither any sign of need nor support from the ecowitt2mqtt comunity, I'd prefer the "works for me" way keep ecowitt2mqtt as simple interface layer to some simple weather station and implement the separation of Auxilariy Sensors in my PERL based database logger.
However, If there is need and / or support, I might head towards a fork with pull request in the end.

I've implemented it in PERL now, along with the database logger.
If somebody wants to implement it in ecowitt2mysql (or whatever), it may serve as pseudocode at least ;-).
The code processing the aux sensors starts here:
https://github.com/wolfgangr/ew_mq_log/blob/effb0b656b93252f7d090f8be963cf738bddfe31/log_aux_ecowitt.pl#L95
Now my data flow is as follows:
Station and sensors
   V--- RF transmission (16 ... 64 s)
Gateway / weather station
   V--- custom gateway ecowitt format (set to 10s)
ecowitt2mqtt (incl. dateutc hack)
   V--- mqtt (processed incl dateutc)
sub parse_ecowitt
   +--> sub log_ecowitt --->  SQL raw table of station outdoor every 16 s
   V--- sub parse_aux (extracts available temp/hum aux per sensor data)
sub do_aux (filters only readings per sensor where values have changed)
   +---> sub log_aux ---> SQL aux_th table with changed readings of every sensor
   V
sub pub_aux (filter configurable change bandwith)
   V--- mqtt retain - payload per sensor
lightweight consumers (TBD)

Bandwith funnel:

Raw logging is performed 4 times per minute
system load is barely noticeable at a 4core old pentium running debian
1,5 GB storage in 10 years
5 aux sensor produce ~ 1 ... 2 readings per minute if we omit readings unchanged
(instead of 4 * 5 = 20 per minute for the unfiltered case)
bandwith filtering reduces to 0.3 ... 1 reading / MQTT pub per minute

Data generated with 1 aux sensor outdoor, 2 indoor and 2 greenhouses at a sunny morning.
Pub message reason config:

temp change >= 1 °C
humidity change >= 5 %
last message older than 10 min
sensor conected

Publishing data as "retained" keeps state of last reading at the broker.
Thus a connecting/ polling subscriber gets data without waiting for a change event.
Example readings:
...$ mosquitto_sub -t wetter/pleussen/aux/# -h my.server.local -v
wetter/pleussen/aux/1/0 { "dateutc" : "2024-08-26 08:37:10" , "temp" : "24" , "humidity" : "53" , "batt" : "" , "reason" : "online" }
wetter/pleussen/aux/1/1 { "dateutc" : "2024-08-26 08:40:38" , "temp" : "29.1111111111111" , "humidity" : "68" , "batt" : "OFF" , "reason" : "hum_change" }
wetter/pleussen/aux/1/3 { "dateutc" : "2024-08-26 08:41:26" , "temp" : "33.8888888888889" , "humidity" : "58" , "batt" : "OFF" , "reason" : "hum_change" }
wetter/pleussen/aux/1/6 { "dateutc" : "2024-08-26 08:37:10" , "temp" : "18" , "humidity" : "73" , "batt" : "OFF" , "reason" : "online" }
wetter/pleussen/aux/1/4 { "dateutc" : "2024-08-26 08:37:10" , "temp" : "24" , "humidity" : "53" , "batt" : "OFF" , "reason" : "online" }
wetter/pleussen/aux/1/2 { "dateutc" : "2024-08-26 08:40:54" , "temp" : "18.3888888888889" , "humidity" : "72" , "batt" : "OFF" , "reason" : "online" }
wetter/pleussen/aux/1/2 { "dateutc" : "2024-08-26 08:43:02" , "temp" : "18.7777777777778" , "humidity" : "69" , "batt" : "OFF" , "reason" : "hum_change" }
wetter/pleussen/aux/1/1 { "dateutc" : "2024-08-26 08:46:46" , "temp" : "29.8888888888889" , "humidity" : "64" , "batt" : "OFF" , "reason" : "hum_change" }
wetter/pleussen/aux/1/0 { "dateutc" : "2024-08-26 08:48:22" , "temp" : "24" , "humidity" : "54" , "batt" : "" , "reason" : "max_time" }
wetter/pleussen/aux/1/1 { "dateutc" : "2024-08-26 08:48:54" , "temp" : "30.1111111111111" , "humidity" : "67" , "batt" : "OFF" , "reason" : "hum_change" }
wetter/pleussen/aux/1/2 { "dateutc" : "2024-08-26 08:52:22" , "temp" : "19.2222222222222" , "humidity" : "65" , "batt" : "OFF" , "reason" : "hum_change" }
wetter/pleussen/aux/1/3 { "dateutc" : "2024-08-26 08:52:54" , "temp" : "34" , "humidity" : "56" , "batt" : "OFF" , "reason" : "max_time" }
wetter/pleussen/aux/1/1 { "dateutc" : "2024-08-26 08:55:49" , "temp" : "31.1111111111111" , "humidity" : "67" , "batt" : "OFF" , "reason" : "temp_change" }
wetter/pleussen/aux/1/2 { "dateutc" : "2024-08-26 08:59:34" , "temp" : "19.5" , "humidity" : "62" , "batt" : "OFF" , "reason" : "hum_change" }
wetter/pleussen/aux/1/0 { "dateutc" : "2024-08-26 09:00:21" , "temp" : "24" , "humidity" : "54" , "batt" : "" , "reason" : "max_time" }
wetter/pleussen/aux/1/3 { "dateutc" : "2024-08-26 09:03:17" , "temp" : "34" , "humidity" : "53" , "batt" : "OFF" , "reason" : "max_time" }
wetter/pleussen/aux/1/1 { "dateutc" : "2024-08-26 09:05:57" , "temp" : "32.1111111111111" , "humidity" : "58" , "batt" : "OFF" , "reason" : "max_time" }
wetter/pleussen/aux/1/1 { "dateutc" : "2024-08-26 09:08:05" , "temp" : "32.1111111111111" , "humidity" : "55" , "batt" : "OFF" , "reason" : "hum_change" }

Would you say this overlaps with https://github.com/bachya/ecowitt2mqtt/issues/1073? If so, I'd like to consolidate all conversation over there.

In my (user) view, it loosely relates, but not really overlaps.
I'd consider putting a crossref in #1073 to #1080, too, but not really merge it.
but... well..., do you plan to implement it? both?
Adding calculated values to the station reading even more blows up the message.
So, keeping aux sensors in seperate messages might ease this.
And when digging in the code of aux sensors, may be for the programmer it's more efficient to handle both proposals in one run.
In the end, it's your project :-), you decide.

but... well..., do you plan to implement it? both?

I haven't decided yet. It isn't clear to me how this would be accommodated in a simple fashion that correlates to ecowitt2mqtt's design and purpose.

I perfectly understand.
That's what I've read from the MQTT "philosophy" in the German wiki:
Keep ecowitt2mqtt as a lean and tidy sensor interface.
Why not close the issue and wait whether any other users request the feature as well?

Okay, sounds good! Appreciate the content.


In Cyberpunk 2077, Preset Letter for UltraPerformance is always loaded based on Preset Letter of Performance (HUD confirms it, tested both DLSSTweaks-0.200.3 and newest DLSSTweaks-0.200.6beta2)

Basically the title, super easy to reproduce. Other quality settings' presets work fine!
Expected: UltraPerformance Preset symbol is respected
What happens: UltraPerformance always loads the Preset based on Preset symbol of Performance DLSS setting, basically Performance Preset controls both Performance and UltraPerformance.

Did you customize the ratio for UltraPerformance? If you did then it might be the same issue as https://github.com/emoose/DLSSTweaks/issues/59#issuecomment-1501983447
(DLSS picks the preset based on the ratio being used, whichever one of the vanilla ratios is closest is the preset-level that gets chosen)

I did! That might be it.
So ge current workaround is to keep in mind the original resolution scaling ratios and keep each custom ratio reasonably close to the original one?

What DLSS version are you using? this doesn't happen for me...
the only thing i've noticed in cp2077 that is different from other games i've tried is that it doesn't accept resolutions that don't have the same scale as the output... so if you are running 16:9 you have to enter 16:9 resolutions for this game... usually in other games i like to put a bit higher resolution on the height... like 1836x1080 (17:10).. or 16:10, 4:3 or 3:2 or even 1:1 for outputting on 16:9 because i think usually the vertical information is better to have more of to avoid artifacts on near-horizontal objects, some games even play DLAA vertically and DLSS horizontally but in cyberpunk it breaks the dlss completely and i just get a trippy laser show when i do this.


Some names still differ from BWMirror

BWListener -> BWEventListener
BWClient -> Mirror (Ill probably keep this different, so it is clear that JBWAPI is being used instead of BWMirror)
TextSize -> Text.Size.Enum (wont change this)
UnitCommand.getType() -> UnitCommand.getType().getUnitCommandType (not changing this to stay consistent with Unit.getType)

IIRC the return type of whatBuilds changed from Pair to Tuple (or vice versa). Also trivial.

Fixed in develop branch


Support overriding XML doc comments for methods and properties

Whether using HLC codegen or DPG, there have been cases where we've wanted to improve the documentation that gets generated beyond simply transforming the swagger description. It'd be great if there was a way to do this, though off hand I'm not sure what that would look like so we rely heavily on Roslyn, which would need some stub - like a property or method - to hang this information on.
For properties we can do that fairly easily today, at least. Most often, we just need to redeclare the property and regenerate, and we can add whatever docs we want.
For methods, though, we have to define the implementation and lose all the goodness of fully-generated code, which then we have to keep up to date manually or miss potentially critical changes to code gen.
It's hacky, but perhaps using a partial void method with the same parameters to match which, if not implemented, would be elided by the compiler. Should show up in Roslyn, though, so the code generator could pick up any doc comments. Just a thought, and I'm sure there's more.

@heaths, would replacing of the top level elements be enough for this one?

You mean like taking full control of <summary>, <parameter>, <remarks>, etc.? Possibly. My main concern there for DPG is for generated schemas for protocol clients. Off the top of my head, maybe an idea is a placeholder where DPG could still inject that generated schema, like <generatedSchema/> we could use? Just a thought.

IMHO, it would be better to handle that in post-build stages, since the requirement of overriding could be flexible so that the workaround using Rosolyn could be very hack (thus hard to maintain) or even impossible.
The dotnet build will compile the comments into an XML document, like below:
<?xml version="1.0" encoding="utf-8"?>
<doc>
    <assembly>
        <name>Azure.Analytics.Purview.Scanning</name>
    </assembly>
    <members>
        <member name="M:Azure.Analytics.Purview.Scanning.PurviewClassificationRuleClient.#ctor(System.Uri,System.String,Azure.Core.TokenCredential)">
            <summary> Initializes a new instance of PurviewClassificationRuleClient. </summary>
            <param name="endpoint"> The scanning endpoint of your purview account. Example: https://{accountName}.scan.purview.azure.com. </param>
            <param name="classificationRuleName"> The String to use. </param>
            <param name="credential"> A credential used to authenticate to an Azure Service. </param>
            <exception cref="T:System.ArgumentNullException"> <paramref name="endpoint" />, <paramref name="classificationRuleName" /> or <paramref name="credential" /> is null. </exception>
            <exception cref="T:System.ArgumentException"> <paramref name="classificationRuleName" /> is an empty string, and was expected to be non-empty. </exception>
        </member>

So theoretically we can use XML tools to apply a patch file to the XML doc team. I'm asking doc team on advice.

@heaths doc team recommend to directly update the generated XML doc (like this), and add overwrite="false" attribute to the corresponding XML nodes, so that the change will not be overwritten by daily pipeline.

This needs to be built into our pipeline then. It's not feasible to ask every SDK to figure out their own way. Who's responsible for that? /cc @jsquire

The docs process and pipeline are owned by the EngSys team.   To my knowledge, @danieljurek would be the right person to start a conversation with.

@jsquire this isn't just about external docs, though. This is also about our XML doc comments e.g., that IntelliSense shows. Meaning, however customizations are handled, it needs to happen during build prior to packing - not the release pipeline.

@AlexanderSher will discuss with @heaths .

Talking with @m-nash offline, I wanted to clarify a few things:

This is not blocking. It's a nice-to-have feature ask.
It may not be worth spending time on it for swagger-based generators.
It'd probably be even easier in Cadl, with decorators (just off the cuff naming) like @details, @example, etc.;, though, something language-specific (and rather large, most likely) like @example might be better in a per-language sidecar file.
The intent of this was to supply my own <remarks> or <example> or whatever in C#, which will vary in other languages, in a way that is language-agnostic without having to declare (effectively "override" the generator) the member. For properties this isn't a big deal, but for methods - where the generator writes a lot of its code - would be a huge deal to "override" that and take full ownership.


[chore] Remove SHOULD for compiler name in process.runtime.name.

It seems a bit misleading to generally recommend that compiled languages include the native compiler name as the process.runtime.name attribute. With golang as a notable exception (due to the runtime being a compilation byproduct), I don't think the compiler names make much sense here otherwise.
If the specific compiler details are important to have in telemetry, then they should get their own first-class attributes, rather than piggy-backing on process.runtime.name.
I couldn't find any other support for this in the semconv nor rust nor cpp implementations. I think the behavior described below for Go is perfectly reasonable and I left it untouched.
Changes
Removes the SHOULD recommendation for including the compiler name in the process.runtime.name.
Merge requirement checklist

[ ] CONTRIBUTING.md guidelines followed.
[ ] Change log entry added, according to the guidelines in When to add a changelog entry.

If your PR does not need a change log, start the PR title with [chore]

[ ] schema-next.yaml updated with changes to existing conventions.

/cc @open-telemetry/semconv-security-approvers  @open-telemetry/semconv-system-approvers


Explicit implemenetation serde::Serialize & Deserialize for types used as keys

I'm not sure if there is a good way to codegen this, but the current codegen logic will not explicitly generate serde::Serialize & serde::de::Deserialize traits for types even if they are used as keys in maps which causes a crash on to_json calls
For example, see https://github.com/dcSpark/cardano-multiplatform-lib/issues/115

I think this is somewhat related to #96 since this crash is caused by types that have an unclear serialization format such as addresses needing to be converted to string, etc.


Arc path not working on IOS 16.1 for iPads

Description
Hi, I've been using react-native-skia in my app and everything was working fine since an Xcode upgrade.
I've been noticing since that arc path was no longer working on iPad devices running IOS 16.1.
I've been able to reproduce this issue using expo, here's the snack:
https://snack.expo.dev/@xavierj03/arc-path-skia
To reproduce the issue, you'll need to test this snack on an iPad device running IOS 16.1
Version
0.1.157
Steps to reproduce

Run the snack on an iPhone or iPad, if it's an iPad, is has to use an older IOS version
The snack should display a red arc, start angle should be 90
Run the same snack on an iPad running 16.1
Only the text will be visible, to test the path, you can uncomment line 13 to see a circle path

Snack, code example, screenshot, or link to a repository
https://snack.expo.dev/@xavierj03/arc-path-skia
Code working on iPhone

Not working on iPad

@gabrielvincent Yes it happens sometimes one iPhone (16.1) too, I don't know why. The only workaround that I found for the moment would be to use path.addCircle instead of path.addArc. The issue is that 0 will be on the right side of the circle, I haven't seen a way to chose the circle startAngle in the documentation

I actually don't use path.addArc, I use path.arcToOval. The issue is the same, though, the arc is not drawn.

@gabrielvincent Since you're rendering a circle you should try path.addCircle. Circle paths are drawn properly even on IOS 16.1

It's not really a circle. It's 12 "slices" of a circle. I create a path for each slice that is a closed shape so I can highlight each slice individually. Here's a render of every other slice hidden and one of them in highlighted state:

It's not really a circle. It's 12 "slices" of a circle. I create a path for each slice, which is a closed shape, so I can highlight each slice individually. Each slice is made from 2 arches and 2 lines. Here's a render of every other slice hidden and one of them in highlighted state:

Hi @gabrielvincent, This is nice. I want to render something similar to this. But I'm new to Skia and am still trying to find a way to do it.  I'm appreciate if you could share your code with me for reference. Thanks in advance!

Hi @gabrielvincent, This is nice. I want to render something similar to this. But I'm new to Skia and am still trying to find a way to do it. I'm appreciate if you could share your code with me for reference. Thanks in advance!

Sure, it's pretty straightforward:
This is the function that draws the whole slice.
  function createHousePath(house: House): SkPath {
    if (!displayHouses) {
      const path = Skia.Path.Make()
      return path
    }

    const startAngle = convertEclipticAngleToTrigonometricAngle(house.longitude)
    let endAngle = convertEclipticAngleToTrigonometricAngle(
      adjustLongitude(house.longitude + house.width),
    )

    if (endAngle < startAngle) {
      endAngle += 360
    }

    const openingLineStart = getPointForAngleInArc(housesRing, startAngle)
    const closingLineStart = getPointForAngleInArc(housesRing, endAngle)
    const closingLineEnd = getPointForAngleInArc(housesInnerRing, endAngle)

    const path = Skia.Path.Make()

    path.moveTo(openingLineStart.x, openingLineStart.y)
    if (endAngle > startAngle) {
      path.arcToOval(
        rect(
          outerBounds.x,
          outerBounds.y,
          outerBounds.width,
          outerBounds.height,
        ),
        180 - house.width - house.longitude,
        endAngle - startAngle,
        true,
      )
    } else {
      path.arcToOval(
        rect(
          outerBounds.x,
          outerBounds.y,
          outerBounds.width,
          outerBounds.height,
        ),
        180 - house.width - house.longitude,
        360 - startAngle + endAngle,
        true,
      )
    }

    path.moveTo(closingLineStart.x, closingLineStart.y)
    path.lineTo(closingLineEnd.x, closingLineEnd.y)

    if (endAngle > startAngle) {
      path.arcToOval(
        rect(
          innerBounds.x,
          innerBounds.y,
          innerBounds.width,
          innerBounds.height,
        ),
        180 - house.width - house.longitude,
        endAngle - startAngle,
        false,
      )
    } else {
      path.arcToOval(
        rect(
          outerBounds.x,
          outerBounds.y,
          outerBounds.width,
          outerBounds.height,
        ),
        180 - house.width - house.longitude,
        360 - startAngle + endAngle,
        false,
      )
    }

    path.lineTo(openingLineStart.x, openingLineStart.y)

    return path
  }

It uses a few helpers functions that probably won't be very useful to you, like convertEclipticAngleToTrigonometricAngle, but this one may be useful, which is a function that gets the {x, y} coordinates of a point at an angle at the circumference of the circle:
declare namespace Geometry {
  interface Point {
    x: number
    y: number
  }
  interface Size {
    width: number
    height: number
  }
  type Frame = Point & Size

  type Circle = {
    center: Geometry.Point
    radius: number
  }

  type Ring = Circle & {
    width: number
  }
}

export function getPointForAngleInArc(
  circle: Geometry.Circle | Geometry.Ring,
  angle: number
) {
  return {
    x: circle.center.x + circle.radius * Math.cos((angle * Math.PI) / 180),
    y: circle.center.y + circle.radius * Math.sin((-angle * Math.PI) / 180),
  }
}

The path is just two arches with different radii, where its edges are connected by two lines.


Icons are huge and basic and text is ultra tiny. Tried completely uninstalling or changing the setting and no effect. It was fine last night. I left it up and this morning it had changed.

My Setup

Operating System:
App Version:
Installation type:

[x] I have tested with the latest version
[ ] I can simulate the issue easily

Description

Current Behavior

Expected Behavior

That is most probably an issue with the server. Sometimes when reloading on develop this happens to me. There is a small chance it's related to Electron, but I doubt it. Maybe try restarting the server, or open it through the web app to see if there's any difference.

Please provide more info too. Server version, app version, OS, etc.

Reloading it fixed the problem. Windows 10 PC.


linux-docker-registry-in-blob-storage formatting

Minor formatting fix so that the list displays correctly

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

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

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

TTYL, AZPRBOT;

@esell : Thanks for your contribution to the Azure documentation! The author, @ahmetalpbalkan, has been notified to review your proposed change.

Thanks for catching. LGTM #signoff


TOSCA groups are a topology_template's child

Currently, groups element is a first tosca element level in AAMs and ADPs. However, this element should be described as a topology_template child.

@rosogon I think you was working on this, maybe #212 is related with this?

#212 uses DAMs, and assumes they have groups inside topology_template.


Allow specifying a stack.yaml for stack configurations

In response to #44 this PR adds an argument to Stack/StackMulti configurations for providing an explicit stack.yaml file to use. This is hard to do with generic additional arguments as mentioned in #44 since stackCradleDependencies has to know about it, so I decided to give it special syntax. Example hie.yaml (which I'd use for agda/agda)
cradle:
  stack:
    - path: "./src/full"
      component: Agda:lib
      stackYaml: stack-8.8.3.yaml
    - path: "./src/main"
      component: Agda:exe:agda
      stackYaml: stack-8.8.3.yaml

A few questions remain, of course, hence this is a draft.

Naming for stackYaml could simply be yaml

A small semantic change is that multistack/multicabal configurations are now allowed to only have a path key, defaulting the rest, not requiring a component. Imo, this is better behaviour anyway.

[x] Test cases are currently missing

[ ] Documentation is missing

Unfortunately stack shoud be a list or key-values.
My ideal shape would be
cradle:
  stack:
    config: stack-8.8.3.yaml
    components:
      - path: "./src/full"
        target: Agda:lib
      - path: "./src/main"
        target: Agda:exe:agda

But i would be out of scope of this pr...

Paths are supposed to be relative to the hie.yaml file, which also is the working directory of the stack command. I favor @jneira's config shape, and I suppose the following would work during parsing:

Look at the Value under stack:
If it's a list, do what has already been implemented in this PR.
If it's a an object with a components: key, parse those as a list of configurations, parse the rest of the object as a single configuration, then monoidally combine these configurations, where the more specific options overwrite the options in the parent one.
If there is no components:, parse it as a single configuration.

Also, are these paths expected to be relative to the cradle root directory?
What would happen in the face of nested multi-cradles, such as:
cradle:
  multi:
    - path: "appA"
      config:
        cradle:
          stack:
            - path: ./src
              component: appA:lib
              stackYaml: stack-8.8.3.yaml
    - path: "appB"
      config:
        cradle:
          stack:
            - path: ./src
              component: appB:lib
              stackYaml: stack-8.8.3.yaml

I guess in this case, the stackYaml needs to be relative to the cradleRootDir, otherwise we can not express the case that appA and appB have the same parent stack.yaml file.

I added a test case with this config, where I needed to say -path: appA/src instead of ./src. Not sure if this is intended behaviour, have a look once I pushed. So it seems that your guess is already the behaviour implemented. To be concrete, the stackYaml is relative to the working directory, which is, as far as I can tell, the cradleRootDir.
cradle:
  multi:
    - path: "appA"
      config:
        cradle:
          stack:
            - path: appA/src
              component: appA:lib
              stackYaml: stack-8.8.3.yaml
    - path: "appB"
      config:
        cradle:
          stack:
            - path: appB/src
              component: appB:lib
              stackYaml: stack-8.8.3.yaml

I'm a bit lost as to why the 8.10.1 test cases are failing, after all. I use ghc 8.10.1 locally, too. Apart from this issue the test appear just fine. Secondly, the Travis CI build seems to not find files, that the other builds do find, what is going on there?

Ping @fendor

This makes a lot of sense to have, what is the stackYaml path relative to? To me I would intuitively expect it to be relative to the hie.yaml file, not the component/cradle root

@bubba Maybe I'm missing something but I was basing the consideration on the implemented reality in multiCradle. The cur_dir is taken as the base path to append the component sub-paths cur_dir </> p off of. As I read it, this is relative to the cradle root, then. I would also agree with the suggestion to unambiguously make all paths inside hie.yaml relative to the file itself.
Additionally, it seems that the main entry point loadCradleWithOpts simply takes the directory containing hie.yaml as the cradle root directory, so it seems that relative to cradle root and relative to hie.yaml often means the same thing.

@WorldSEnder

I would also agree with the suggestion to unambiguously make all paths inside hie.yaml relative to the file itself.
This is probably worthy of a separate issue and discussion, but for now in this PR probably best then to just stick with making it relative to the cur_dir for consistency


feature/Bullets

projectile interface

bullet mvc

bullet model & view

different types of bullets

spawning bullets

bullet movement

bullet fire


Migrate Sapper to Snowpack

https://www.codingwithjesse.com/blog/sapper-is-dead-whats-next-in-svelte/

https://svelte.dev/blog/whats-the-deal-with-sveltekit

https://svelte.dev/blog/whats-the-deal-with-sveltekit


Question: Setup Apache proxy

Hi,
For almost 2 workdays im trying to setup a working Apache proxy Virtualhost. Without any success.
Do you have any information or could you give any direction where to find a working example run the ReactPHP http server with the Websocket middleware .
Here is a example of my struggle : https://github.com/andreaswarnaar/reactphp/blob/api/docker/app/000-default.conf
Regards,
Andreas Warnaar

@andreaswarnaar I use nginx as a proxy so I don't have much experience.
I would think this SE answer may help though: https://stackoverflow.com/a/27534443/3500248

Thanks, i found this one before but never tried this answer: https://stackoverflow.com/a/35141086/9560612
This one works well. But without the load balanced setup.


Odd indentation on tasklist when funding agreement is Attention Required [2]

Describe the Bug:
Probability (how likely the bug is to happen, scored from 1-5): 1
(For example, probability of 5 is something like "it happens to all users every time they log in."
Probability of 1 "only happens to certain users when a really specific and unlikely path is followed.")
Effect (how bad the bug is when it does happen, scored from 1-5): 1
(For example, effect of 5 is "the entire app crashes and makes it unusable for all users" or "the bug causes the wrong data to be saved, with critical information (e.g. payment) being affected."
Effect of 1 is "It makes some styling look a little bit weird.")
Steps to reproduce the behaviour:

in localhost
try to submit a funding agreement form that has validation errors
tasklist indentation gets wonky once status is Attention Required

Screenshots:

Additional information:

OS: [e.g. iOS]
Browser: [e.g. chrome, safari]
Version: [e.g. 22]
Additional context

Can't reproduce anymore; probably fixed in the tasklist refactor


SAMZA-2428: Clean up unused org.apache.samza.sql.util.ConfigUtil

Issues:

org.apache.samza.sql.util.ConfigUtil is not used
it is the same name as org.apache.samza.util.ConfigUtil
its usage should be deprecated in favor of Config#subset(String prefix, boolean stripPrefix)

Changes: delete org.apache.samza.sql.util.ConfigUtil
API Changes:
None
Upgrade Instructions:
None
Usage Instructions:
None
Tests: build

@atoomula FYI

@kw2542 Thanks for the changes. Merged the patch to trunk.


Invalid user profile on fresh SB installation without Stripe

Describe the bug
On fresh SB installation when there is no Stripe configured the user register / login won't work because user profile is not created.
To Reproduce
Steps to reproduce the behavior:

Create new SB instance locally without Stripe env configuration1
Try to register and login

Expected behavior
The user should be able to register and login even if the app doesn't have Stripe integration enabled

Afaik it's not related to stripe, this migration code https://github.com/apptension/saas-boilerplate/blob/21dcdb9e6f2949ab45888a0cacd50fe5abd90f03/packages/backend/apps/users/migrations/0003_auto_20210716_1603.py#L9 doesn't create UserProfile along with the initial superuser instance. Fix on the way.


Don't bring down the entire logging if something happens when adding to log

Fixes: https://github.com/ecraft/ecraft-watchdogservice/issues/3

@sorenhoglund Thanks for the fix. :+1:


Fix PRECONDITION_FAILED errors on exchange declaration

Hi Artem,
Thanks for 0.5.2! It really helped to keep Rabbitmq queues list clean!
This is just a little fix for errors that appear every time on user connection/message receive:
ChannelClosed: (406, "PRECONDITION_FAILED - inequivalent arg 'auto_delete' for exchange 'users-1415' in vhost '/'': received 'false' but current is 'true'")

Hi,
If I understand correctly you have this errors after upgrade from some version to 0.5.2. With RabbitMQ virtual host which persists some data from previous version format.
What is the previous version used?
Regards, Artem.

Well, I was experiencing these issues after I cleared up all previous
queues/exchanges. The previous version was 0.4.1.
2017-06-09 15:32 GMT+02:00 Artem Malyshev<EMAIL_ADDRESS>
Hi,
If I understand correctly you have this errors after upgrade from some
version to 0.5.2. With RabbitMQ virtual host which persists some data
from previous version format.
What is the previous version used?
Regards, Artem.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/proofit404/asgi_rabbitmq/pull/8#issuecomment-307389340,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABZ4G299roUavCpZ8jUDwG71GgQ40Jfnks5sCUlXgaJpZM4N1KnJ
.

--
Удачи,
Андрей

This error shouldn't happen because of the version upgrade. You can see that group exchange declarations in the 0.4.1 and 0.5.2 are the same.
We can't set an auto-delete flag to the group exchange. RabbitMQ doesn't consider exchange to exchange bindings as exchange usage. So it will remove group exchanges even when we need them.
Dead letters queue can't be removed as well. Messages come to that queue eventually even if there aren't any connections to the broker.
You can read more in the protocol description.


add new type reading byte base. 16bit and 32bit

No, I don't change this, but in the future must be solved.

Check I have a little bit change your code style 😅 but it's to reflect the project code style. 😀 Don't be offense.
Your contribution is great 💪😁 thank a lot


http/context: require HTTPS based on X-Forwarded-Proto

If mirrorbits is running behind a reverse proxy, it should honor the
X-Forwarded-Proto header to avoid downgrading the connection from HTTPS
to HTTP.

Yes it would mean you have to track https state of your mirrors and encourage them to setup https. which luckily with letsencrypt got a lot easier.
The problem is ... many clients block protocol downgrades. so they cant access the mirror after the redirect.

Can we have this as an option so it would not break VLC HTTP downloads, but can be enabled by interesting parties? At Kodi we have the same problem; we would have to add ?https=1 to every public download link because some browsers nowadays block HTTPS->HTTP downgrade.

@yol does the provide patch works for you?

we have deployed it now, will report back with results

we ended up using https://github.com/xbmc/mirrorbits/commit/f6ff77155348c16fdba2d6998e1cb8b62bbc1938
While playing around with this, I realized that it would be nice to also also set WITHOUTTLS when the proto is http, but that automatically excludes all mirrors that have an https url, which is more then half for us.
Unless we add each mirror twice, with http and https urls, which also means we would check them twice.
I guess an option to test mirrors for https automatically or a config option for both protocols would be helpful here.

we ended up using https://github.com/xbmc/mirrorbits/commit/f6ff77155348c16fdba2d6998e1cb8b62bbc1938
While playing around with this, I realized that it would be nice to also also set WITHOUTTLS when the proto is http, but that automatically excludes all mirrors that have an https url, which is more then half for us.
Unless we add each mirror twice, with http and https urls, which also means we would check them twice.
I guess an option to test mirrors for https automatically or a config option for both protocols would be helpful here.

The version of @wsnipex is a bit cleaner than the original PR so I cherry-picked this one into the master but they are functionally equivalent.
About the WITHOUTTLS issue, this would indeed require testing each mirror for HTTP and HTTPS availability during the background checks. But I don't think it's worth the time implementing it since unsecured HTTP mirrors are more and more getting phased out but I'm open for a PR if someone thinks otherwise.
Anyway thanks for your contribution @florolf, I'm now closing this issue since it's now merged into the master.

The version of @wsnipex is a bit cleaner than the original PR so I cherry-picked this one into the master but they are functionally equivalent.
About the WITHOUTTLS issue, this would indeed require testing each mirror for HTTP and HTTPS availability during the background checks. But I don't think it's worth the time implementing it since unsecured HTTP mirrors are more and more getting phased out but I'm open for a PR if someone thinks otherwise.
Anyway thanks for your contribution @florolf, I'm now closing this issue since it's now merged into the master.


Change config to environmental variables

We currently drop the API key and Slack token in a JSON config file, but that means we are making it a lot easier for folks to accidentally expose credentials in their repo.
Since most platforms will have a way to provide secure environmental variables anyway, we should ditch the config file and use environmental variables for these instead.

https://github.com/WebPageTest/webpagetest-slack/pull/9


Is the book already available?

Hi,
I'm looking for this second edition. I'd love to be the first to read it... but I'm not being able to find this second edition on the market. Any way to purchase it somewhere?
Thanks a lot!

@Conkernel thank you so much for your interest in the 2nd edition.
The book will be published by Sep 2024 but you can pre-order your copy now: https://amzn.to/4dX3cqk

Hi iamgini, thanks for your answer. September will be too late for me to het the book, as I need to re-start learning again these days for the new job, and I've already read your first edition. Is there a way to access to a kind of draft of the second edition, as Manning does with their MEAP books?
Best regards

Closing as no more updates.


[Malefices] Feuille de personnage pour Malefices

Changes / Comments
Bonjour
Nouvelle Feuille de personnage pour Malefices V3.
Cordialement
Le Pelican
Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[X] Does the pull request title have the sheet name(s)? Include each sheet name.
[ ] Is this a bug fix?
[ ] Does this add functional enhancements (new features or extending existing features) ?
[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[X] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Character Sheet Info Roll20 Internal Use only.


Improve exceptions on data interface constructor

Currently we generate a fairly useless exception message if no interface is able to process the data:
ValueError: None of the available storage backends were able to support the supplied data format.

There's a fairly good reason to have done this because we don't want to see exceptions from all the interfaces it tries, but when you're trying to debug what has gone wrong this output is just entirely unhelpful. We should find some way to summarize and report the exceptions raised by the individual interfaces.

We probably need some logic in the section of the code where the different data interfaces are tried  out to retain this information. Maybe we could keep this info on a hidden class attribute where you can see the exception and traceback for each interface tested.
Alternatively, maybe we could show the real exception but only if the length of the data interface list is one.  Having only one possible interface to try means there is no ambiguity about which interface should be used which means any exceptions and tracebacks generated should be shown - this seems like sensible behavior to implement whether or not we do anything else.

I have a new suggestion, how about when the data is one of the expected formats and all the interfaces fail to interpret the data it raises the exception for the prioritized interface, e.g. when passing in an xarray.Dataset you see the exception raised by the XArrayInterface and the same happens for dataframes, dictionaries, arrays and iris cubes. In case of passing in a list or tuple you still wouldn't see an error but at least the unambiguous data types could raise meaningful exceptions.

... it raises the exception for the prioritized interface

You mean you see the traceback from the interface that recognized the type/format but failed in some other way? What do you mean by ' prioritized interface'?

You mean you see the traceback from the interface that recognized the type/format but failed in some other way?

Right.

Ok, in that case I have two questions:

What bit of an interface will state whether the data is recognized or not even if there is a later exception?
What happens if the data is really odd and nothing recognizes it?

I've introduced DataErrors which allow raising more informative error messages from within an interface, so I'll close this. Concrete suggestions for improvements should be filed in https://github.com/ioam/holoviews/issues/2101.


Failed to configure when cross compiling shared library with Android SDK

version 1.2.11
export NDK=/home/user/Android/Sdk/ndk/26.1.10909125
export TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64
export TARGET=$1
export API=$2
export AR=$TOOLCHAIN/bin/llvm-ar
export CC=$TOOLCHAIN/bin/$TARGET$API-clang
export AS=$CC
export CXX=$TOOLCHAIN/bin/$TARGET$API-clang++
export LD=$TOOLCHAIN/bin/ld
export RANLIB=$TOOLCHAIN/bin/llvm-ranlib
export STRIP=$TOOLCHAIN/bin/llvm-strip
PATH=$PATH:$TOOLCHAIN/bin/
./configure --shared
In the configure.log I got
No shared library support; try without defining CC and CFLAGS
I executed the test from line 421 of the configure script
/home/user/Android/Sdk/ndk/26.1.10909125/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android25-clang -shared -Wl,-soname,libz.so.1,--version-script,zlib.map -g -O0 -Wall -fPIC  -o ztest1181.so test.o
ld.lld: error: version script assignment of 'ZLIB_1.2.0' to symbol 'compressBound' failed: symbol not defined
ld.lld: error: version script assignment of 'ZLIB_1.2.0' to symbol 'deflateBound' failed: symbol not defined
ld.lld: error: version script assignment of 'ZLIB_1.2.0' to symbol 'inflateBack' failed: symbol not defined
ld.lld: error: version script assignment of 'ZLIB_1.2.0' to symbol 'inflateBackEnd' failed: symbol not defined
ld.lld: error: version script assignment of 'ZLIB_1.2.0' to symbol 'inflateBackInit_' failed: symbol not defined
ld.lld: error: version script assignment of 'ZLIB_1.2.0' to symbol 'inflateCopy' failed: symbol not defined
ld.lld: error: version script assignment of 'local' to symbol 'deflate_copyright' failed: symbol not defined
ld.lld: error: version script assignment of 'local' to symbol 'inflate_copyright' failed: symbol not defined
ld.lld: error: version script assignment of 'local' to symbol 'inflate_fast' failed: symbol not defined
ld.lld: error: version script assignment of 'local' to symbol 'inflate_table' failed: symbol not defined
ld.lld: error: version script assignment of 'local' to symbol 'zcalloc' failed: symbol not defined
ld.lld: error: version script assignment of 'local' to symbol 'zcfree' failed: symbol not defined
ld.lld: error: version script assignment of 'local' to symbol 'z_errmsg' failed: symbol not defined
ld.lld: error: version script assignment of 'local' to symbol 'gz_error' failed: symbol not defined
ld.lld: error: version script assignment of 'local' to symbol 'gz_intmax' failed: symbol not defined
ld.lld: error: version script assignment of 'ZLIB_<IP_ADDRESS>' to symbol 'gzclearerr' failed: symbol not defined
ld.lld: error: version script assignment of 'ZLIB_<IP_ADDRESS>' to symbol 'gzungetc' failed: symbol not defined
ld.lld: error: version script assignment of 'ZLIB_<IP_ADDRESS>' to symbol 'zlibCompileFlags' failed: symbol not defined
ld.lld: error: version script assignment of 'ZLIB_<IP_ADDRESS>' to symbol 'deflatePrime' failed: symbol not defined
ld.lld: error: version script assignment of 'ZLIB_1.2.2' to symbol 'adler32_combine' failed: symbol not defined
ld.lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
clang-17: error: linker command failed with exit code 1 (use -v to see invocation)
What can I do to fix this?
Thx in advance.

I s this
 -Wl,--undefined-version
a reliable fix?

The real issue is that --version-script is set too early in LDSHAREDFLAGS causing lld to choke...

Fixed by #1750, please reopen if you still have problems.


[Bug]

🐛 Bug Report

Steps to Reproduce

Expected Behavior

Your Environment

Closing as this issue is empty.


Added Hashing, Encryption and Encoding

@mr-mig Please take a look at https://www.integralist.co.uk/posts/hashing-and-encryption/

Thank you, very good! 👍


Contact and About

Creation of a contact us and about us page, to let students know more about you. I beleive with my knowledge in UI/UX and web development, I can create an attractive page. Could you please assign me this issue?

Hello @Mahy-31, Are you a UX/UI Designer, If you want to work on the project design, join the Figma link and work on it I will help you anywhere you feel you got stuck.
Link: https://www.figma.com/design/Gpp9lztaz36xu9nuGt7FBE/Frontend-Mentor?node-id=0-1&t=Nbnhr0WvpAnebSiy-1
If you have any doubts, then ask me in the discord server here:
https://discord.gg/4rMUncEV

Let's make a beautiful UI of the project together and then code it.

can you assign this to me I will work on it

@beRajeevKumar  Can we go with the updated figma design? Can you check and let me know once?


feat: added github pages

Fixes #410
Changes:

Added Github Pages

Screenshots for the change:

Any URL to view it?

@mariobehling yes I copied phimp.me's complete gh-pages and edited accordingly. Will update the screenshot and a test link soon

@mariobehling @cweitat removed sidebar and update test link and screenshot.

footer about link is different from the top navbar. footer donate as well.

@cweitat fixing


Adding transit

Is it posible to add transit to "GmsDirectionTravelMode"?

Or does it has any solution before the enhancement is completed?


Add removeAccents

Thanks for contributing. However, there is a significantly easier way to write this, using str.normalize("NFD").replace(/[\u0300-\u036f]/g, ""). Could you please update your PR to use that instead?

Done. Thank you for the review.


ability to move components on edge of layout

current version cant do it
just drag component from any stack and try to place it on edge of layout (on side which has more than one component)

for local preview
git clone -b on_edge --single-branch https://github.com/akaJes/golden-layout.git
ln -s golden-layout /var/www/on_edge
xdg-open http://localhost/on_edge

for passing travis checks need PR https://github.com/deepstreamIO/golden-layout/pull/266
overall improvements  on https://akajes.github.io/golden-layout/

Great change! Thanks!


Improve hash maps

Pull Request Description
Follow-up PR of #3878.
Important Notes

Functions are not comparable.
NaNs are not comparable.
Refactor Incomparable_Values to a builtin error.
Improve API of Map to throw Illegal_Argument for incomparable keys.

Checklist
Please include the following checklist in your PR:

[ ] The documentation has been updated if necessary.
[ ] All code conforms to the
Scala,
Java,
and
Rust
style guides.
All code has been tested:

[ ] Unit tests have been written where possible.
[ ] If GUI codebase was changed: Enso GUI was tested when built using BOTH
./run ide build and ./run ide watch.

Declining as too outdated. There are even no commits that are useful and could be cherry-picked now.


Moving the how tos to self hosted

Description
This moves the how tos to their own repo / site for real time updating. This way they are always updated!
This PR fixes #1534
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

@mudler requested changes made


Create a Webflash page for the project

Allow users to flash this project directly to their ESP32 direct from the browser
Is dependent on #2 and #3

Added now
https://witnessmenow.github.io/Spotify-Diy-Thing/WebFlash/

I am having issues with platform IO and I have the 2 port USB version could we get a webflash for that ?


some kr translation of raidboss (e1n~e4n)

first time using github. sorry for any problems.

하데스 토벌전 한국 지역 이름이 안들어가있네요

No worries about problems! Thanks for the pull request, especially if this is your first time using github! More Korean cactbot translations are very welcome.
It looks like there's some errors here that the build caught: https://travis-ci.com/quisquous/cactbot/jobs/270433955.  You can test this locally by running npm run lint and npm run test (and npm runlintfix will fix some of these).  It looks like there's some tabs instead of spaces as well as some incorrect keys from copying and pasting.
If you can fix those up, commit them, and push that commit, I can merge this.  :+1:

It looks like this is fine other than a few tab/spacing errors in e1n.js.  Can you fix those so that I can merge this? https://travis-ci.com/quisquous/cactbot/jobs/270610744

I fixed up the merge conflicts and lint errors, so I could get this merged.  Thanks for the pull request!


Ad boost-cpp to each package to trigger two builds for linux (1.72 and 1.74)

Checklist

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

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

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

Documentation on acceptable licenses can be found here.

@conda-forge-admin, please rerender

Closing this pull request in favour of https://github.com/conda-forge/fenics-feedstock/pull/123


support translate

如图对比， 补充了翻译

cool  but FYI I did not add this because blockquote  always are code....
They do not need to translate
@typebrook @hleft  I think we can add this to an option in args?
like we discuss on tw div tag

@yihong0618 Yes, it is better to add option support to configure the tags to be translated in addition to the p tag

agree～

@yihong0618  Then I will add a new pr

@hleft just add more commit on the same PR is OK.

I think we can add this to an option in args

Agree. I suggest includes tags like <h1>, <h2>, <h3>, <div>, <td>, <blockquote> and .
Proposal:

Option --tag-all to translate all included tags
Option --tag for custom tags, usage would be like:

python3  make_book.py \
  --book_name test_books/foo.epub \
  --openai_key ${OPPEN_API_KEY} \
  --language zh-hant \
  --tag div \
  --tag td

I can make a PR for this tonight, or would you like to make your hands dirty now?

@typebrook  Because I'm not sure what all the tags should be, I just added a custom tag .
  --translate-tags TRANSLATE_TAGS
                        example --translate-tags p,blockquote

please fix the lint
@typebrook do you have time help me to review it, since its your idea too~

Work as babysitter right now, will get back to this tonight

great feature.

Sorry, I pushed another pr to this pr... wait for me to see how to modify it

I accidentally pushed the content of another PR to here, and it has been revised back, please act as if nothing happened..

@hleft
Now I am testing new options with this epub file, which put most of its contents into <div>:
https://topo.tw/public/tmp/The_World.epub
This file comes from another twitter user, read original tweets at:
https://twitter.com/typebrook/status/1633313460737150977
Looks good now!

@yihong0618 Do you think it is a good idea to add this epub file into test_books

It is better to Choose Books Without Copyright

@yihong0618

It is better to Choose Books Without Copyright

Good point, I'll check if any books in https://www.gutenberg.org use tags other than <p>.

How about bible (Latin)? This may be a proper test both for Chinese/English native reader:
https://www.gutenberg.org/ebooks/826
https://zh.wikipedia.org/zh-tw/以斯帖記
EBooks from gutenberg puts disclaims in <div>, and this book also put story title into <h5>. I think it is a good choice for the demo of option --translate-tags!
@hleft
If @yihong0618 is fine with this, please add this book into test_books/ in a new commit.

ok

@typebrook @yihong0618  in .gitignore /test_books/*.epub,  Should I modify gitignore？ how to add this book?

Should I modify gitignore？
No

how to add this book?

cd test_books/
curl -Lo Liber_Esther.epub https://www.gutenberg.org/ebooks/826.epub.noimages

@hleft @yihong0618
Test case finished, LGTM. I think after adding new ebook into test_books/, this PR is ready to merge.
python3 make_book.py \                                                                                1
  --book_name /home/pham/Downloads/Liber_Esther.epub \
  --model gpt3 \
  --no_limit \
  --language "Traditional Chinese" \
  --translate-tags div,p,h1,h2,h3,h4,h5

@hleft
Also, could you modify PR title into "support translate other than <p>" ? This may helps future development.
P.S. I found <br>(it means newline) in each tags are not properly processed, but this is another issue.

@typebrook  .gitignore contain
/test_books/*.epub
test_books/

still ignore

@yihong0618 I think it is an accident in ab3bb4b, we should remove this line in .gitignore

Oh...you intentionally add this line in e9066d0
@hleft Great job! PR is LGTM now.

Seems that we need add another test

Wait! Now we just pick book of test by filename? (head -n 1)
https://github.com/yihong0618/bilingual_book_maker/blob/b25c4ca873fb1ef357884663418a3d2d16b09a02/.github/workflows/make_test_ebook.yaml#L21

This is not my code....
I think head -n 1 is fine...

And we need mention it in README


Component names in templates

what we're going to use in templates for defined rows and columns, waiting your comments bellow
My variants
<q-grid:(tr|td)>

<q-grid:(row|column)

I like tr|td more, because it's shorter, clearer and this naming is common for HTML. The only possible problem is synchronization with scope's variables: $row and $column. Probably it might be the point of confusion.

I don't like this html native names, but probably it will be clearer and accustomed to use for most users.
@vkorolev, do you mean sync between tr|td and $row|$column for user? Or some technical aspect?

@titov-max, no technical aspects, only possible naming confusion

tr | td maybe not so pretty but it's oldschool and more suited to standards. I'd choose it.

I like that it only 2 symbols there and still readable

tr/td - applies to table terms. Also for me row/column- clearer. As for minimalism in naming - we can use row/col (only two additional simbols).


Update index.md

Added a hint for the exercise.

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

@rjohn1997 Please see the following link on updating stub articles and make the necessary changes.
https://github.com/freeCodeCamp/freeCodeCamp/blob/master/docs/how-to-work-on-guide-articles.md#when-do-we-close-pull-requests
Thank you.

As there has been no response from your end for a while, we are closing this PR.
Feel free to request this PR to be reopened or create a new PR, if you still wish to make the changes you originally added plus any additional change requests asked of you.  Also, remember to update your fork, so you have the latest version of master in case it has changed significantly.
Happy Coding!


How do I configure the cpp demo to send producer timestamp as current system time

How do I configure the cpp stream demo to send producer timestamp as current system time?
It seems to be sending time since stream start as the producer timestamp right now. Is it easy to send system time instead?

The frame timestamp is set here https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp/blob/master/kinesis-video-gst-demo/kinesis_video_gstreamer_sample_app.cpp#L180. Right now, it's using the timestamp that gstreamer produces.

It looks like it's probably using MONOTONIC time. Any easy way to change this to realtime? I tried the below code to no avail:
    GstClock* gstSystemClk = gst_system_clock_obtain();
    g_object_set(gstSystemClk, "clock-type", GST_CLOCK_TYPE_REALTIME, NULL);

This seems to be working for me.
    frame->decodingTs = static_cast<UINT64>(std::chrono::system_clock::now().time_since_epoch().count()) / DEFAULT_TIME_UNIT_IN_NANOS;
    frame->presentationTs = static_cast<UINT64>(std::chrono::system_clock::now().time_since_epoch().count()) / DEFAULT_TIME_UNIT_IN_NANOS;

@frenchie4111 using the same timestamp for both pts and dts might break you on B-frames. True, most streaming encoders will not produce B-frames but if they do then the pts != dts.
Also, you can use frame->pts = frame->dts = timestamp to avoid a duplicate call to system clock.
Could you please share some information on what you are trying to do? If you are writing your own consumer then you could perhaps add the stream time to the relative time that's produced?

I have a second set of code running on the device that is producing data tagged with system timestamps, and I am trying to line them up as closely as possible.

This setup is working for me (with @MushMal's enhancement as well). I am going to close this


Adding description file for Vaadin Directory

Connected to vaadin/components-team-tasks#328

This change is

 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.

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Check source variables in assert_data_frame() calls

Source variables from traceability_vars are not checked in assert_data_frame() calls in below functions. Use get_source_vars() to get the source variables from traceability_vars.

[ ] derive_var_dthcaus()
[ ] derive_var_lstalvdt()

Hi @hmanek24 do you still have time to work on this issue.  We need this done in the next 14ish days.

Hi @bms63 sorry, I won't be able to get to it in the next couple of weeks.

admiraldev::get_source_vars() looks to be like a wrapper that would just call assert_varval_list(traceability_vars, optional = TRUE) which are already both in dthcaus_source() and date_source() respectively. Considering time when issue was first raised, I think this may already be addressed? @thomas-neitmann @bms63 @bundfussr

@zdz2101 , I think it isn't addressed yet. You are right that the validity of traceability_vars is checked. But it is not checked if the variables required to create the traceability variables are in the source dataset. I.e., assert_data_frame(source_dataset, required_vars = get_source_vars(traceability_vars)) should be added.


v1.10 backports 2022-12-06

[x] #22002 -- docs: fix deployment resource type output (@cleverhu)
[x] #22296 -- daemon/cmd: Fix error handling for getting proxy port (@christarazi) :warning: minor conflicts
[x] #22304 -- docs: add instructions to build the base images from external forks (@aanm)
[x] #20366 -- Clear stale CNP status nodes if updates have been disabled (@pippolo84) :warning: major conflicts due to file rename and different logic in operator/main.go, please review carefully
[ ] #21990 -- fix: Fail CCNP preflight check if using empty endpoint selectors (@thorn3r) :warning: minor conflicts
[x] #22393 -- k8s: don't consider 4xx a successful interaction (@bimmlerd)
[x] #22461 -- .github: add PR labeler for external contributions (@aanm)
[x] #22508 -- .github/workflows: use right event type for auto labeler (@aanm)

:stop_sign:  Skipped due to conflicts:

[ ] #20350 -- daemon: add cleanup for stale local ciliumendpoints that aren't being managed. (@tommyp1ckles)
[ ] #22321 -- docs: Update Cilium Sphinx RTD Theme reference (@kimstacy)

Once this PR is merged, you can update the PR labels via:
$ for pr in 22002 22296 22304 20366 21990 22393 22461 22508; do contrib/backporting/set-labels.py $pr done 1.10; done

Fixed a missing import and had to remove the following PR, as it broke the documentation build:

#22321 (@kimstacy)

/test-backport-1.10

ci-multicluster failed due to infra flake https://github.com/cilium/cilium/actions/runs/3638846339/jobs/6141567004
gke did not succeed in the init container https://github.com/cilium/cilium/actions/runs/3638846331/jobs/6141567506 - unfortunately the sysdump already expired, so I'll re-run

/ci-gke-1.10

/ci-multicluster-1.10

Discussed on Slack - the GKE is currently broken due to the version being too new for v1.10. Will be fixed outside of this PR.

Tentative fix PR is here: #22724

I'm marking this ready-to-merge. As mentioned above, the GKE pipelines (i.e. all 4 red ones) failures are unrelated to the PR and will be fixed in a separate PR.


docs($readme): add accessibility requirements

provide better experience for visually impaired
close #226

 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.

Forgot about the CLA. Closing.


Graphing Calculator can still be accessed on Windows 10X after disabling it via InTune policy

Repro Steps

Set up an InTune group, profile, policy, and assign the policy to the profile
In the "Add work or school" user settings, add the profile created in step 1 with the InTune policy applied
Launch calculator with graphing mode
Try to access graphing mode

Observed Results
Graphing calc can still be accessed on Windows 10X
Expected Results
Graphing calc option is grayed out like it is on desktop

This is a duplicate of #1425 and was fixed by #1426


Move exposed configs in the advanced transform modals

Description

Moves the exposed configs (one_to_one for input transforms of search response processors, full_response_path for output transforms of ingest and search response processors) into a dedicated "Advanced settings" accordion under "Define transform" subsection of the modals.
Updates the BooleanField implementation to be more compact, using a checkbox instead of radio group. Moves any helper text under an IconTip.

Demo video, showing the new checkbox form components, and the new advanced settings accordions and configs in the input/output transform modals for the different processors.
screen-capture (16).webm
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@ohltyler, I will review this PR in some time. Could you please fix failing unit tests. Thank you.

LGTM. @ohltyler ,Overall the workflow editor page looks really good. Could you please once confirm if everything is good by switching to New Home Page look?

Tested on new home page, looks fine.


OLS-58: Truncating flag to be returned in response

Description
Truncating flag to be returned in response.
This need changes in model, changes in DocsSummarizer etc.
The trunsation itself is not implemented there. This is 1st step to avoid having huge PR that will need to be constantly rebased.
Type of change

[ ] Refactor
[x] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library

Related Tickets & Documents

Related Issue #OLS-58

Checklist before requesting a review

[x] I have performed a self-review of my code.
[x] PR has passed all pre-merge test jobs.
[ ] If it is a core feature, I have added thorough tests.

/retest

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (7a442ce) 96.08% compared to head (1de3ceb) 96.09%.
Report is 8 commits behind head on main.

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #425   +/-   ##
=======================================
  Coverage   96.08%   96.09%
=======================================
  Files          32       32
  Lines        1073     1075    +2
=======================================
+ Hits         1031     1033    +2
  Misses         42       42

Files
Coverage Δ

ols/app/endpoints/ols.py
100.00% <100.00%> (ø)

ols/app/models/config.py
97.71% <100.00%> (ø)

ols/app/models/models.py
100.00% <100.00%> (ø)

ols/constants.py
100.00% <100.00%> (ø)

ols/src/query_helpers/docs_summarizer.py
93.84% <100.00%> (+0.09%)
:arrow_up:

/lgtm
/approve

Considering this as a pre-flight PR for trunsation, looks good to me.

/approve


Mark ElizaService.Say idempotent

Say is free of side effects and perfectly safe to cache, so we should
mark it idempotent. This also lets us demo HTTP GETs.

I think this also surfaces a change we may need to make in the breaking change detector

Sure. How would you want to handle this? There's a clear hierarchy (nothing -> idempotent -> side effect free), so perhaps going up is backward-compatible but going down is breaking?


[0011] Allow vk::ext_capability and vk::ext_extension on fields

Which proposal does this relate to?
https://github.com/microsoft/hlsl-specs/blob/main/proposals/0011-inline-spirv.md
Describe the issue or outstanding question.
The documentation for  these attributes say they can only be used on certain functions. This worked for types that required capability and extensions because types were declared using a function, which was awkward.
In proposal 0011, we replaced the original way of declaring a spir-v type with the type vk::SprivType and vk::SpirvOpaqueType. I just realized we have no way of adding the required extension and capabilities that they types many require because you do not necessarily have a function.
We should allow the vk::ext_capability and vk::ext_extension attributes on any variable declaration (global, function scope, and field) I don't know if parameters are needed. So that the appropriate capabilities and extensions can be added when vk::Spriv*Type is used.

Even the current implementation from #270 has a bit of gap things slip through
https://github.com/microsoft/DirectXShaderCompiler/issues/6958


Update smallweb.txt

Removed effectivealtruism.org forum because it seems to host strongly commercially-oriented content, such as this (which I came across in the Small Web feed): https://forum.effectivealtruism.org/posts/6dPecDMarq3pm3Fbx/what-happens-on-an-80-000-hours-call

Is it an exception or a rule?

@vprelovac
I don't think commercially-oriented content is a problem.
I think that it is weird to have a forum here where (as far as I can tell) anyone can post and the guidelines are lax. https://forum.effectivealtruism.org/posts/4WxHNBf5LeM9gQneT/you-should-write-on-the-ea-forum
I'd say that gets into the discussion of what's a forum vs a blog (which can also have many authors).
But without trying to make a general rule, I'd say the forum doesn't feel like a good fit.
They have a blog, which hasn't been active for years, and has no rss feed. https://www.effectivealtruism.org/articles

@RayBB Thanks for chiming in. The RSS feed filters posts with karma > 30 so both of your example would not make it. We do have a few other forums like https://forum.melonland.net in the list

I'll admit to not being familiar with the EA forum. However, the post referenced in my pull request did show up in the Small Web feed (so I assume it must have had >30 karma, either organically or due to its status as an advertisement) and was the first thing I came across related to the EA forum. I chose to read it because I thought the title, with no additional context, was very odd ("What happens on an 80,000 Hours call?").
Looking at the current posts from today with >30 karma, I see the post that prompted this as well as another titled "AMA: 80,000 Hours Career Advising Team" with 39 karma which is also commercial. There are a total of 5 posts with >30 karma, so the commercial posts that would show up in the Small Web feed make up 40% of the content from the site. I'll grant that this is a small sample and may be extremely skewed, but that's at least some amount of context which IMO is "not great."

Somehow, this post ended up in the SmallWeb feed today even though it appears to only have 3 upvotes. It also makes no sense to me as someone not familiar with whatever context it's referencing: https://forum.effectivealtruism.org/posts/LQAngMzyd7wbEBGQ7/how-much-is-a-plan-change-worth-and-how-much-does-it-cost-to

Good point, can you resubmit the patch


Problem using .plugin - TypeError: arguments[i].apply is not a function

I'm getting the following error when using .plugin:
[19:52:52] TypeError: arguments[i].apply is not a function
    at Compiler.apply (/Users/Vaughan/dev-live/babelator/node_modules/webpack/node_modules/tapable/lib/Tapable.js:165:16)
    at OptionsApply.WebpackOptionsApply.process (/Users/Vaughan/dev-live/babelator/node_modules/webpack/lib/WebpackOptionsApply.js:62:18)
    at webpack (/Users/Vaughan/dev-live/babelator/node_modules/webpack/lib/webpack.js:22:48)
    at /Users/Vaughan/dev-live/babelator/lib/tasks/webpack/index.js:105:16
    at bound (domain.js:254:14)
    at runBound (domain.js:267:12)
    at asyncRunner (/Users/Vaughan/dev/gulp4/node_modules/undertaker/node_modules/bach/node_modules/async-done/index.js:38:18)
    at doNTCallback0 (node.js:415:9)
    at process._tickCallback (node.js:344:13)
    at Function.Module.runMain (module.js:474:11)
    at startup (node.js:124:18)
    at node.js:959:3

The issue is that in tapable/lib/Tapable.js
Tapable.prototype.apply = function apply() {
	for(var i = 0; i < arguments.length; i++) {
		arguments[i].apply(this);
	}
};

apply is undefined when using .plugin. I expect it has something to do with the way you instantiate plugins. Couldn't work it out myself.

The .plugin() method essentially stores the constructor and the parameters separately and instantiates when .resolve() is called. From reading the docs of Tapable, it appears its .apply() method expects function arguments? Would it possible to see how you are calling the .plugin() method?

  config.plugin('CommonsChunkPlugin', webpack.optimize.CommonsChunkPlugin, [{name: 'vendor'}])

I'm guessing its something to do with the resolvePlugin method. I couldn't get my head around it.

The CommonsChunkPlugin is something I'm yet to look into... The docs seem to suggest that it accepts parameters that are strings? Not sure if that will make any difference. https://webpack.github.io/docs/code-splitting.html#split-app-and-vendor-code Would result in the following code:
config.plugin('CommonsChunkPlugin', webpack.optimize.CommonsChunkPlugin, ["vendor", "vender.bundle.js"])

If it's currently blocking your workflow, a workaround would be the .merge() method which allows you to revert back to usual way of composing? In the meantime, I'll try and look into a fix for this.

It seems to happen with all my plugins.
Any reason why you can't just do new Clazz(args)?

I'll admit, the resolvePlugin function could be implemented much better (and be more readable. The reason in looks so bad is because of the way the new keyword works. In order to pass an array of parameters to the constructor, you must call .apply on it. Looking at how Babel solves this problem appears to be a much easier to understand.
To try and recreate this issue, I created the following script:
var Webpack = require("webpack");
var WebpackConfig = require("webpack-configurator");

var config = new WebpackConfig();

config.plugin('CommonsChunkPlugin', Webpack.optimize.CommonsChunkPlugin, [{name: "vendor"}]);

console.log(JSON.stringify(config.resolve(), null, 4));

I don't seem to get an error. It prints the following:
{
    "plugins": [
        {
            "chunkNames": "vendor"
        }
    ]
}

Is there something I'm missing here?

Try pass this config to webpack.
E.g. 'Webpack(config.resolve())'
I am using the node.js webpack Api.
On Mon, 26 Oct 2015 at 9:26 PM, Lewis Barnes<EMAIL_ADDRESS>wrote:

I'll admit, the resolvePlugin function could be implemented much better
(and be more readable. The reason in looks so bad is because of the way the
new keyword works. In order to pass an array of parameters to the
constructor, you must call .apply on it. Looking at how Babel solves this
problem appears to be a much easier to understand.
To try and recreate this issue, I created the following script:
var Webpack = require("webpack");var WebpackConfig = require("webpack-configurator");
var config = new WebpackConfig();
config.plugin('CommonsChunkPlugin', Webpack.optimize.CommonsChunkPlugin, [{name: "vendor"}]);
console.log(JSON.stringify(config.resolve(), null, 4));
I don't seem to get an error. It prints the following:
{
"plugins": [
{
"chunkNames": "vendor"
}
]
}
Is there something I'm missing here?
—
Reply to this email directly or view it on GitHub
https://github.com/lewie9021/webpack-configurator/issues/2#issuecomment-151274253
.

OK seems to be something else in my webpack config.
The above works fine and also works fine when I use a simple config.

If I use a working example of a simple config and log where the error is occurring:
Tapable.prototype.apply = function apply() {
	for(var i = 0; i < arguments.length; i++) {
                console.log(arguments[i], arguments[i].apply.toString()) // < -- ADDED
		arguments[i].apply(this);
	}
};

This prints out:
{ chunkNames: 'vendor',
  filenameTemplate: undefined,
  minChunks: undefined,
  selectedChunks: undefined,
  async: undefined,
  minSize: undefined }

'function (compiler) {\r\n\tvar chunkNames = this.chunkNames;\r\n\tvar filenameTemplate = this.filenameTemplate;\r\n\tvar minChunks = this.minChunks;\r\n\tvar selectedChunks = this.selectedChunks;\r\n\tvar async = this.async;\r\n\tvar minSize = this.minSize;\r\n\tcompiler.plugin("this-compilation", function(compilation) {\r\n\t\tcompilation.plugin(["optimize-chunks", "optimize-extracted-chunks"], function(chunks) {\r\n\t\t\tvar commonChunks;\r\n\t\t\tif(!chunkNames && (selectedChunks === false || async)) {\r\n\t\t\t\tcommonChunks = chunks;\r\n\t\t\t} else if(Array.isArray(chunkNames)) {\r\n\t\t\t\tcommonChunks = chunkNames.map(function(chunkName) {\r\n\t\t\t\t\treturn chunks.filter(function(chunk) {\r\n\t\t\t\t\t\treturn chunk.name === chunkName;\r\n\t\t\t\t\t})[0];\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tcommonChunks = chunks.filter(function(chunk) {\r\n\t\t\t\t\treturn chunk.name === chunkNames;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif(commonChunks.length === 0) {\r\n\t\t\t\tvar chunk = this.addChunk(chunkNames);\r\n\t\t\t\tchunk.initial = chunk.entry = true;\r\n\t\t\t\tcommonChunks = [chunk];\r\n\t\t\t}\r\n\t\t\tcommonChunks.forEach(function processCommonChunk(commonChunk, idx) {\r\n\t\t\t\tvar commonModulesCount = [];\r\n\t\t\t\tvar commonModules = [];\r\n\t\t\t\tvar usedChunks;\r\n\t\t\t\tif(Array.isArray(selectedChunks)) {\r\n\t\t\t\t\tusedChunks = chunks.filter(function(chunk) {\r\n\t\t\t\t\t\tif(chunk === commonChunk) return false;\r\n\t\t\t\t\t\treturn selectedChunks.indexOf(chunk.name) >= 0;\r\n\t\t\t\t\t});\r\n\t\t\t\t} else if(selectedChunks === false || async) {\r\n\t\t\t\t\tusedChunks = (commonChunk.chunks || []).filter(function(chunk) {\r\n\t\t\t\t\t\t// we can only move modules from this chunk if the "commonChunk" is the only parent\r\n\t\t\t\t\t\treturn async || chunk.parents.length === 1;\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif(!commonChunk.entry) {\r\n\t\t\t\t\t\tcompilation.errors.push(new Error("CommonsChunkPlugin: While running in normal mode it\'s not allowed to use a non-entry chunk (" + commonChunk.name + ")"));\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tusedChunks = chunks.filter(function(chunk) {\r\n\t\t\t\t\t\tvar found = commonChunks.indexOf(chunk);\r\n\t\t\t\t\t\tif(found >= idx) return false;\r\n\t\t\t\t\t\treturn chunk.entry;\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tif(async) {\r\n\t\t\t\t\tvar asyncChunk = this.addChunk(typeof async === "string" ? async : undefined);\r\n\t\t\t\t\tasyncChunk.chunkReason = "async commons chunk";\r\n\t\t\t\t\tasyncChunk.extraAsync = true;\r\n\t\t\t\t\tasyncChunk.addParent(commonChunk);\r\n\t\t\t\t\tcommonChunk.addChunk(asyncChunk);\r\n\t\t\t\t\tcommonChunk = asyncChunk;\r\n\t\t\t\t}\r\n\t\t\t\tusedChunks.forEach(function(chunk) {\r\n\t\t\t\t\tchunk.modules.forEach(function(module) {\r\n\t\t\t\t\t\tvar idx = commonModules.indexOf(module);\r\n\t\t\t\t\t\tif(idx < 0) {\r\n\t\t\t\t\t\t\tcommonModules.push(module);\r\n\t\t\t\t\t\t\tcommonModulesCount.push(1);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tcommonModulesCount[idx]++;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t\tvar reallyUsedChunks = [];\r\n\t\t\t\tvar reallyUsedModules = [];\r\n\t\t\t\tcommonModulesCount.forEach(function(count, idx) {\r\n\t\t\t\t\tvar module = commonModules[idx];\r\n\t\t\t\t\tif(typeof minChunks === "function") {\r\n\t\t\t\t\t\tif(!minChunks(module, count))\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t} else if(count < (minChunks || Math.max(2, usedChunks.length))) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treallyUsedModules.push(module);\r\n\t\t\t\t});\r\n\t\t\t\tif(minSize) {\r\n\t\t\t\t\tvar size = reallyUsedModules.reduce(function(a, b) {\r\n\t\t\t\t\t\treturn a + b.size();\r\n\t\t\t\t\t}, 0);\r\n\t\t\t\t\tif(size < minSize)\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\treallyUsedModules.forEach(function(module) {\r\n\t\t\t\t\tusedChunks.forEach(function(chunk) {\r\n\t\t\t\t\t\tif(module.removeChunk(chunk)) {\r\n\t\t\t\t\t\t\tif(reallyUsedChunks.indexOf(chunk) < 0)\r\n\t\t\t\t\t\t\t\treallyUsedChunks.push(chunk);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tcommonChunk.addModule(module);\r\n\t\t\t\t\tmodule.addChunk(commonChunk);\r\n\t\t\t\t});\r\n\t\t\t\tif(async) {\r\n\t\t\t\t\treallyUsedChunks.forEach(function(chunk) {\r\n\t\t\t\t\t\tif(chunk.initial || chunk.entry)\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\tchunk.blocks.forEach(function(block) {\r\n\t\t\t\t\t\t\tblock.chunks.unshift(commonChunk);\r\n\t\t\t\t\t\t\tcommonChunk.addBlock(block);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t\tasyncChunk.origins = reallyUsedChunks.map(function(chunk) {\r\n\t\t\t\t\t\treturn chunk.origins.map(function(origin) {\r\n\t\t\t\t\t\t\tvar newOrigin = Object.create(origin);\r\n\t\t\t\t\t\t\tnewOrigin.reasons = (origin.reasons || []).slice();\r\n\t\t\t\t\t\t\tnewOrigin.reasons.push("async commons");\r\n\t\t\t\t\t\t\treturn newOrigin;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}).reduce(function(arr, a) {\r\n\t\t\t\t\t\tarr.push.apply(arr, a);\r\n\t\t\t\t\t\treturn arr;\r\n\t\t\t\t\t}, []);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tusedChunks.forEach(function(chunk) {\r\n\t\t\t\t\t\tchunk.parents = [commonChunk];\r\n\t\t\t\t\t\tcommonChunk.chunks.push(chunk);\r\n\t\t\t\t\t\tif(chunk.initial)\r\n\t\t\t\t\t\t\tcommonChunk.initial = true;\r\n\t\t\t\t\t\tif(chunk.entry) {\r\n\t\t\t\t\t\t\tcommonChunk.entry = true;\r\n\t\t\t\t\t\t\tchunk.entry = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tif(filenameTemplate)\r\n\t\t\t\t\tcommonChunk.filenameTemplate = filenameTemplate;\r\n\t\t\t}, this);\r\n\t\t});\r\n\t});\r\n}'
{} 'function (compiler) {\r\n\tcompiler.plugin("this-compilation", function(compilation) {\r\n\t\tcompilation.mainTemplate.apply(new JsonpMainTemplatePlugin());\r\n\t\tcompilation.chunkTemplate.apply(new JsonpChunkTemplatePlugin());\r\n\t\tcompilation.hotUpdateChunkTemplate.apply(new JsonpHotUpdateChunkTemplatePlugin());\r\n\t});\r\n}'

So plugin.apply should actually be the plugin method. When using webpack-configurator it is undefined.

Solved!
Typo in require('webpack-configurator/plugin.js'):
// Used by the resolve method to execute the plugin constructor with the parameters provided.
module.exports = function(name, plugin) {
return (function() {
function F(args) {
return plugin.constructor.apply(this, args);
}
    F.prototype = plugin.constructor.prototype;

    //return new F(arguments);
    return function(args) {return new F(args);}
}).apply(this, plugin.parameters);

};
Assuming you used this stack overflow question to manually call the constructor: http://stackoverflow.com/a/1608546/130910

Actually hang on, not sure it fixes it.

Ok so I am merging the result of config.resolve(). When using .plugin is doesn't merge properly.

Finally...problem is cloning array of functions. Does not work.

// This method returns a valid Webpack object. It should not produce any side-effects and therefore can be called as
// many times as you want.
Config.prototype.resolve = function() {
    var config = _.clone(this._config, true);

    // Plugins are functions and don't clone properly. Add pre-existing plugins into config object.
    // We will add new plugins further down.
    config.plugins = this._config.plugins // <---- FIX

Update pull request #3 with fix.

I'm trying to get my head around why this would fix it. this._config basically stores an object that's composed by the .merge() method. The .resolve() method deals with plugins separately, unless plugins have been defined via the merge method. It goes through each plugin and basically does new MyPlugin.apply(MyPlugin, parameters) (since we have the new keyword, you can't actually do this as it thinks you're trying to call new on Function.prototype.apply - delegated via the prototype chain).
If all the plugins are defined via the .plugin() method, _.clone should never pass through any plugins. Further down in the method, it attaches the resolved plugins to the cloned object before returning (provided at least one plugin has been defined).

Would it be possible to have a broke snippet of code to demonstrate this issue? I still haven't managed to run into this error. I've used 3-4 plugins in my own projects using this module and haven't any problems.

https://github.com/vjpr/webpack-configurator-issue
On 27 October 2015 at 20:35, Lewis Barnes<EMAIL_ADDRESS>wrote:

Would it be possible to have a broke snippet of code to demonstrate this
issue? I still haven't managed to run into this error. I've used 3-4
plugins in my own projects using this module and haven't any problems.
—
Reply to this email directly or view it on GitHub
https://github.com/lewie9021/webpack-configurator/issues/2#issuecomment-151619591
.

It happens when merging a config which already has plugins.
My use case is this:
When I split my config into multiple files (loaders, plugins, dev, prod, etc.) I want to be able to return a plain json object. If I returned a webpack-configurator object, everything would be fine, but I don't want to depend too heavily on webpack-configurator for all configs - especially when you are dealing with legacy configs.

Alternatively we could extract any plugins when merge is called.

Looking at the repo, the second config calls the .pluign method wrong.
config2.plugin(new webpack.DefinePlugin({foo: 'foo'}))

should be:
config2.plugin("webpack-define", webpack.DefinePlugin, [{foo: "foo"}]);

It's in interesting way of using the module. In my own projects, I usually pass around the config instance and let each mode compose in it's own way before finally resolving. I'll be working on some more examples soon to demonstrate how it can be useful in more complex setups.

Here is an example that breaks. I updated the repo.
var conf = {
    context: __dirname + "/app",
    entry: "./entry",
    output: {
        path: __dirname + "/dist",
        filename: "bundle.js"
    }
}

var webpack = require('webpack')
var Config = require('webpack-configurator')

var config = new Config
config.merge(conf)
config.plugin('define-plugin', webpack.DefinePlugin, [({foo: 'foo'})])

var config2 = new Config
config2.merge(config.resolve())

var resolvedConfig = config2.resolve()

var compiler = webpack(resolvedConfig)

Now I understand the bug! Unfortunately, my tests haven't got as far seeing what happens when .plugin() is used with .merge() which also defines plugins. Like you said, _.clone is issue here. When the plugin resolves it returns an instance (in this case an instance of DefinePlugin). When _.clone comes along, it does a dumb clone so it becomes a normal object (with Object as its direct prototype - which explains why Tappable's .apply() didn't exist).
Lodash is pretty handy with this kind of thing as it allows you to pass a 'customizer'. By applying this code in the .resolve() method, it appears to work again:
var config = _.clone(this._config, true, function(value) {
    if (!_.isPlainObject(value))
        return value;
});

I think this approach might be little more reliable as .merge() could be used to define other non-plain objects that may also suffer from this issue. An example would be global configuration for loaders.

Cool, I prefer your fix.

v0.3.0 has now been release on npm.


Way to set language for articles in OJS Export

Hello, as I have checked from the XML file exported from the plugin, the language is set only per  tag, not per <journal_article> tag. Is there a way to set the article languages in the settings, so that the CrossRef XML Export Plugin
exports also the language of the article to Crossref, and to their partners through them.

the language is set only per tag

you mean, the language is set only per author tag? that's what I've been able to confirm, e.g.:
<EMAIL_ADDRESS>it's set in ArticleCrossrefXmlFilter.php:
https://github.com/pkp/crossref-ojs/blob/main/filter/ArticleCrossrefXmlFilter.php#L162

Is there a way to set the article languages in the settings, so that the CrossRef XML Export Plugin exports also the language of the article to Crossref,

an easier solution would be to keep grabbing the metadata only in the submission primary language and implement only support for setting the article's language attribute during the crossref export.
if the editor/admin wants to change the submission primary language, they can always use the quicksubmit plugin (or wait for https://github.com/pkp/pkp-lib/issues/5502).

I've confirmed the language attribute can be set preferably at both journal-level and article-level, as per CrossRef support forum:, e.g.:
<journal>
<journal_metadata language="fr">
<full_title>Revue scientifique</full_title>
</journal_metadata>
<journal_article publication_type="full_text">
<titles language="fr">
<title>Quand vos meilleures métadonnées ne suffisent pas: travailler avec une spécification imparfaite</title>
</titles>
</journal_metadata>
</journal>

https://community.crossref.org/t/multi-language-support/3054/12

Currently the article metadata are exported in the article primary language. Thus, do I understand it correctly, that the goal/requirement here is to export all metadata, in all languages, but to define the article primary language using the language attribute in the journal_article element? Is only Crossref export topic of this issue?

@ajnyga, because this issue is assigned to CRAFT OA: is the issue maybe solved with https://github.com/pkp/pkp-lib/issues/9126? And if not, what else would be needed? Thanks a lot!

@ajnyga, now I saw/read the CRAFT OA document considering this issue. I would suggest to open a new issue for that part of the CRAFT OA package in pkp-lib/issues/ because this issue is only opened for Crossref (repository/plugin) and in the project it seems you will investigate also other services/places in the code.

Thus, do I understand it correctly, that the goal/requirement here is to export all metadata, in all languages, but to define the article primary language using the language attribute in the journal_article element?

dear @bozana originally I had suggested a gradual approach: first to make more explicit in the metadata which single language is being exported; then, later, support exporting metadata containing multiple languages.
but now I believe the present issue is already fully resolved, given the great work at https://github.com/pkp/pkp-lib/issues/9126.


Couldn't import data to Firestore

Expected Behavior
To import the data to your Firestore instance
Actual Behavior
Nothing is imported; the script crushes when adding the document to the collection.
Steps to Reproduce the Problem

Follow the steps of the codelab
Until step "Set up the Firebase CLI to run against your Firebase project"
When running node index.js YOUR_PROJECT_ID (with a valid project id)
It crushes with this node: "Exception occurred in retry method that was not classified as transient"

Version:

"dependencies": {
    "@genkit-ai/ai": "^0.5.0-rc.11",
    "@genkit-ai/core": "^0.5.0-rc.11",
    "@genkit-ai/dotprompt": "^0.5.0-rc.11",
    "@genkit-ai/firebase": "^0.5.0-rc.11",
    "@genkit-ai/flow": "^0.5.0-rc.11",
    "@genkit-ai/googleai": "^0.5.0-rc.11",
    "@genkit-ai/vertexai": "^0.5.0-rc.11",
    "clsx": "^2.1.0",
    "firebase": "^10.12.2",
    "firebase-admin": "^12.1.0",
    "next": "14.2.3",
    "react": "^18",
    "react-dom": "^18",
    "sass": "^1.77.1",
    "zod": "^3.23.4"
  },
  "devDependencies": {
    "@types/node": "^20",
    "@types/react": "^18",
    "@types/react-dom": "^18",
    "autoprefixer": "^10.0.1",
    "eslint": "^8",
    "eslint-config-next": "14.2.3",
    "postcss": "^8",
    "prettier": "^3.2.5",
    "tailwindcss": "^3.3.0",
    "typescript": "^5.4.5"
  }

Platform:-
Node.js: 22.2.0
Firebase: 13.10.2

I am facing the same issue. Not sure it's relevant but I am trying to run the codelab in Project IDX. What is strange is that I previously ((about a week ago) ran through the codelab successfully.


Add option to disable showing replies/parent posts

Example with config option enabled:
|12:26 <hloeung> Testing (re @hloeung)
So it will only show (re @nick_of_user) without the post message that the reply is made to.

Thanks @hloeung could you rebase on master?
If possible open a separate PR for the "@ALL" changes, thanks!

@42wim done, updated.
Also split out the @all fix to https://github.com/42wim/matterircd/pull/288

Thanks!


Create testing instances before deploying to main

Motivation

Some issues might arise just after a successful deployment to the infrastructure (GCP so far)
Local testing environment and the production environment might differ
We might want to evaluate the "actual" time a PR might take to sync on the blockchain up to the tip or any similar behavior

Designs

When a PR passes the CI, deploy a testing instance and report back to GitHub with a health-check to confirm it was successfully deployed and everything is working as expected.
If this Integration Test fails, we must validate before reviewing/merging to the main branch

If this Integration Test fails, we must validate before reviewing/merging to the main branch

One issue is that sync takes hours, so it could make things difficult when merging a bunch of PRs one after another.
Not sure if we should just accept it, or maybe allowing merging to main (as long as the other tests pass) but running the sync test and notifying if it breaks, so that we can prioritize fixing it.

@gustavovalverde @teor2345  Just to check, this is blocked on us trying to make sync faster and deciding to enforce this on PRs, or to just to test it asynchronously, right?

I think this extra testing is a good idea, but there are other things that are a higher priority, like:

#3510
#3391


Guru Claim Request: Navidrome

Gurubase Username:
"Deluan Quintão"
Guru Link:
https://gurubase.io/g/navidrome
Proof of Maintainership:
https://github.com/navidrome/navidrome/pull/3491

Hey @deluan
I’ve assigned it to your Gurubase account. You can find it on the 'My Gurus' page. While I’m closing this issue, please let me know if you need any help here or on our Discord Channel.


Size of organisation screen

Amend options to:
Individual
Micro (<10 employees)
SME (10 to 250 employees)
Large (250+ employees)

This can be done by @MandyCostello in js/survey.js


Better testing: Test SQL functions

First set of new tests: #899
These test the tagging operators

not done yet


User metadata not propagated from child workflow command to child workflow's execution config

Expected Behavior
Like start workflow, I would expect start child workflow user metadata to end up on the execution config on the child workflow.
Actual Behavior
The user metadata only ends up on the event, not the actual child workflow
See https://github.com/temporalio/temporal/pull/5857 where user metadata propagation was added.

Thanks for reporting this issue. User metadata is currently only propagated to the child workflow's first event, not its execution config.
We are looking into ways to improve user metadata propagation in the future.  You can keep an eye on the Temporal GitHub repository for updates.
In the meantime, here's a workaround:

Read the user metadata from the child workflow's first event. You can access the first event using the GetWorkflowExecutionHistory API.
Store the user metadata in the child workflow's execution context.  This allows you to access it throughout the child workflow's execution.

Let us know if you have any other questions.

Thanks for reporting this issue.  This is a known behavior that the user metadata only ends up on the event, not on the child workflow itself.
You can find more information on User Metadata in the documentation here: https://docs.temporal.io/workflows#user-metadata


Stuck on Locked Mon with no Runes

I got a new Shihwa and wanted to move my runes from the 5* to the new 4* for BJ5.  I locked the empty 4* and the optimizer got stuck on her.

technically the optimizer fails without updating the message


Refactor user operations tests

Explanation

This PR refactors tests related to user operations methods, to align them with the structure used for other methods.
It also adds test coverage for keyrings that do not support user operations
References

Related to #3830

Changelog

No functional changes
Checklist

[ ] I've updated the test suite for new or updated code as appropriate
[ ] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
[ ] I've highlighted breaking changes using the "BREAKING" category above as appropriate

This is waiting on https://github.com/MetaMask/core/pull/3831


FIler: Allow for Target FIlter

Would be helpful to be able to apply a filter to the target note selection when move a line or block.

For example ...only show files with #project tag.

What's the problem that this seeks to solve (i.e. why this "would be helpful")?
And where/when would you like to be able to apply a filter? Would it be fixed for you, or would it change?

Closing, as no reply in 2 months.


Mobile screens prototype update

89% done

Guess we can say 99% done now.

Kindly cross check the prototype on the old design file. It seems the forgot password prototype didn't flow well

After re setting the password a user can't go back

Done. View