overrideComments option doesn't work

Hi! The overrideComments option doesn't seem to work for me.
I can only get the comments to change in my Localizable.strings file if I first manually delete the comment from the .strings file before running bartycrouch update.
I've tested this on macOS 13.0 Beta 5 through Beta 8, using bartycrouch 4.11.0, and my .bartycrouch.toml looks like this:
[update]
tasks = ["interfaces", "code", "normalize"]

[update.interfaces]
paths = ["app", "helper", "accomplice"]
subpathsToIgnore = [".git", "carthage", "pods", "build", ".build", "docs", "frameworks", "tests", "*/external", "*/SupportFiles", "*/iOS-Polynomial-Regression-master"]
defaultToBase = false
ignoreEmptyStrings = false
unstripped = false
ignoreKeys = ["#bartycrouch-ignore!", "#bc-ignore!", "#i!"]

[update.code]
overrideComments = true
codePaths = ["app", "helper", "accomplice"]
subpathsToIgnore = [".git", "carthage", "pods", "build", ".build", "docs", "frameworks", "tests", "*/external", "*/SupportFiles", "*/iOS-Polynomial-Regression-master"]
localizablePaths = ["./Localization"]
defaultToKeys = false
additive = false
unstripped = false
plistArguments = true
ignoreKeys = ["#bartycrouch-ignore!", "#bc-ignore!", "#i!"]

[update.transform]
codePaths = ["app", "helper", "accomplice"]
subpathsToIgnore = [".git", "carthage", "pods", "build", ".build", "docs", "frameworks", "tests", "*/external", "*/SupportFiles", "*/iOS-Polynomial-Regression-master"]
localizablePaths = ["./Localization"]
transformer = "foundation"
supportedLanguageEnumPath = "."
typeName = "BartyCrouch"
translateMethodName = "translate"
separateWithEmptyLine = true

[update.normalize]
paths = ["app", "helper", "accomplice"]
subpathsToIgnore = [".git", "carthage", "pods", "build", ".build", "docs", "frameworks", "tests", "*/external", "*/SupportFiles", "*/iOS-Polynomial-Regression-master"]
sourceLocale = "de"
harmonizeWithSource = true
sortByKeys = true
separateWithEmptyLine = true

[lint]
paths = ["app", "helper", "accomplice"]
subpathsToIgnore = [".git", "carthage", "pods", "build", ".build", "docs", "frameworks", "tests", "*/external", "*/SupportFiles", "*/iOS-Polynomial-Regression-master"]
duplicateKeys = true
emptyValues = true

My CLT output looks like this

I'm using an M1 MBA, and I'm working on the version-3 branch of the Mac Mouse Fix repo.
Not sure if relevant but the normalize task doesn't seem to output anything after the ... so maybe there's something going wrong there?
Originally posted by @noah-nuebling in https://github.com/FlineDev/BartyCrouch/issues/38#issuecomment-1215220638

@noah-nuebling Thank you for providing all these details. I might take a look at this in my next Open Source stream on Friday (find my exact schedule here). If you want to help me understand the problem in case I can't reproduce it with the information provided above, just join me in the chat.

Thank you very much, glad to hear it's been resolved!

I just made progress on the Xcode 14 front so I actually already started a new release 4.13.0 which includes this feature. Hope the Homebrew pipeline works this time: https://github.com/Homebrew/homebrew-core/pull/112557


ci: merge staging to master

This is an automatic PR generated by the pipeline CI/CD. This will be automatically fast-forward merged if successful.

Pipeline Attempt on<PHONE_NUMBER> for b69a7071a95cc4eb8a2f5cb5b05b7798420ea70a
https://gitlab.com/MatrixAI/open-source/js-ws/-/pipelines/1035530461

Pipeline Succeeded on<PHONE_NUMBER> for b69a7071a95cc4eb8a2f5cb5b05b7798420ea70a
https://gitlab.com/MatrixAI/open-source/js-ws/-/pipelines/1035530461


Layout bug - after delete file

After deleting a file from the file panel, this bug happens

@serapath could you take a look ?


Config added URLs are not in the generated sitemap.xml on build + preview

Describe the bug
I have URLs with params and therefore I want to add some in the nuxt.config.ts#sitemap.urls as written in the docs, but they appear not in the sitemap.
Reproduction
When i run npm run dev everything is fine, but when I run npm run build with npm run preview the URLs from the config are missing in the generated sitemap.xml
System / Nuxt Info
Here the important parts of `nuxt.config.ts`:

  // ...
  compatibilityDate: '2024-08-04',
  ssr: true,
  nitro: {
    prerender: {
      crawlLinks: true,
      routes: ['/sitemap.xml', '/robots.txt']
    }
  },
  sitemap: {
    urls: [ // Absolute or relative does not matter, both do not appear in the final sitemap.xml
      'a',
      'a/06052023200153'
    ]
  },
  runtimeConfig: {
    public: {
      baseUrl: process.env.BASE_URL
    }
  },
  modules: [
    '@nuxtjs/i18n',
    '@nuxt/image',
    '@nuxtjs/sitemap',
    'nuxt-schema-org',
  ],
// ...

Dependencies from package.json:
  "dependencies": {
    "@nuxt/image": "1.7.0",
    "@nuxtjs/i18n": "8.3.3",
    "@nuxtjs/robots": "4.0.2",
    "@nuxtjs/sitemap": "5.3.5",
    "@vercel/postgres": "0.9.0",
    "nuxt": "3.12.4",
    "nuxt-schema-org": "3.3.9",
    "vue": "3.4.35",
    "vue-router": "4.4.2"
  },
  "devDependencies": {
    "sass": "1.77.8",
    "vercel": "35.2.3"
  },
  "engines": {
    "node": "20.16.0",
    "npm": "10.8.1"
  }

Can you please provide a reproduction? https://nuxtseo.com/sitemap/getting-started/stackblitz


A little emphasis on application variable crash_log

Emphasize application variable, since I missed it.
A little emphasis may help.

Thanks for the patch!


onClick event not firing for Bubble point

I have set onClick event for bubble points in my graph. This is a javascript function in my page. But this event is not being fired in fiddle.
https://jsfiddle.net/u77pd4k3/3/
In actual code I am getting error at line 8304 of Chart.bundle.js
" 0x800a01b6 - JavaScript runtime error: Object doesn't support property or method 'call' "
if (e.type === 'mouseup' || e.type === 'click') {
if (options.onClick) {
options.onClick.call(me, e, me.active); // getting error here
}
if (me.legend && me.legend.handleEvent) {
me.legend.handleEvent(e);
}
}
Please update fiddle or show some sample code where i can call javascript function on point click.
Regards,
Keshav

I have updated the fiddle and am able to call javascript function for click event.
Please advise me how can i make common function for the click event and assign it to the options event.

onClick expects a function. Instead of setting it to the string "pointclickhandler", set it to
onClick:(function(){pointclickhandler()})

Here's the fiddle

Thanks RoxKilly and Etimberg.. It worked perfectly.
You can close this ticket.
Cheers !!!

No problem. My answer can even be simplified to:
onClick: pointclickhandler

Without the quotes around it, so that it's a reference to the function rather than a string.


Refine frontend code

As a frontend developer, I want to enhance web frontend codebase so that a fluent UX will be created.

Hi @oguzsenna
Too general task, let's change title and description
with respect to "Display notification if signup is ok" commit message
and then let's close this issue.

We have opened several issues for rehauling the frontend and are working on it. @oguzsenna can you merge your branch so we can close the issue?

@oguzsenna @dbaslan hi,
is it ok to close this task now?

I guess we can close this issue we do not need to do that we are already updating the frontend codes!


Ionic build android" from node js (using Shelljs npm)

I am trying to run "Ionic build android" from node js (using Shelljs npm). Getting Following Error
Caught exception:
TypeError: Path must be a string. Received undefined
at assertPath (path.js:7:11)
at Object.join (path.js:468:7)
at Object.load (C:\Users\jeneive.dhanapalan\AppData\Roaming\npm\node_modules\ionic\node_modules\ionic-app-lib\lib\config.js:12:28)
at Object. (C:\Users\jeneive.dhanapalan\AppData\Roaming\npm\node_modules\ionic\lib\utils\stats.js:31:31)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
Note: for support questions, please use one of these channels:
https://forum.ionicframework.com/
http://ionicworldwide.herokuapp.com/
Note: for build related issues you can open up an issue on the ionic-app-scripts repo
https://github.com/driftyco/ionic-app-scripts
Please ensure that you are on the latest version of the CLI.
npm view ionic@latest version
What version of the CLI are you using? Output of ionic --version
Short description of the problem:
What behavior are you expecting?
Steps to reproduce:
1.
2.
3.
insert any relevant code between the above and below backticks

Post the output of ionic info below please
Other information: (e.g. stacktraces, related issues, suggestions how to fix, stackoverflow links, forum links, etc)

Are you able to execute this from command line within the project directory without error?

yes I can run the command without any error

This issue has been automatically closed because it had the v2 label. Please install the new CLI v3 (npm install -g ionic@latest). See CHANGELOG.md#Upgrading from CLI v2 for details.
If this issue is still a problem in CLI v3, please create a new issue. Thank you!


feat(tutorial): complete step 5

Closes #
{{short description}}
Changelog
New

{{new thing}}

Changed

{{change thing}}

Removed

{{removed thing}}

Deployed URL
http://carbon-tutorial-sawant-siddhant.eu-gb.mybluemix.net/#/


How to extract "bestError" from xgb.train

How to extract error terms from xgb.train output.  Right now, it gives “handle” and “raw” only

There are two methods you can try currently:

Use the sink function in R to save the output information
Add parameter early.stop.round to xgboost/xgb.train, then there will be more slots in the returned model object.


Conditional resource reference fails when resourceDerivedTypes and symbolicNameCodegen experimental features are enabled

Bicep version
Id: ms-azuretools.vscode-bicep
Version: 0.30.23
Describe the bug
When enable resourceDerivedTypes and symbolicNameCodegen experimental features in Bicep, conditional resource references result in a deployment failure (see message below), however when I disable the experimental features everything works.
Failure Message:

{"code": "InvalidTemplate", "message": "Deployment template validation failed: 'The template reference 'previousPolicyAssignmentResource' is not valid: could not find template resource or resource copy with this name. Please see https://aka.ms/arm-function-reference for usage details.'.", "additionalInfo": [{"type": "TemplateViolation", "info": {"lineNumber": 0, "linePosition": 0, "path": ""}}]}

bicepconfig.json
{
    "experimentalFeaturesEnabled": {
        "resourceDerivedTypes": true,
        "symbolicNameCodegen": true
    }
}

main.bicep
targetScope = 'managementGroup'

@description('The regions in which the policy assignment should be applied. If the array contains "global", the policy assignment will be applied globally.')
param policyAssignmentRegionsSelected array

var regionSelector = {
  name: 'selectedLocations'
  selectors: [
    {
      kind: 'resourceLocation'
      in: policyAssignmentRegionsSelected
    }
  ]
}

param previousPolicyAssignmentId string
// These are used to set the scope of execution for the script
param subscriptionId string
param resourceGroupName string
param timestamp string = utcNow()

resource previousPolicyAssignmentResource 'Microsoft.Authorization/policyAssignments@2023-04-01' existing = if (!empty(previousPolicyAssignmentId)) {
  name: previousPolicyAssignmentId
}

var previousAssignmentProperties = empty(previousPolicyAssignmentId) ? {} : previousPolicyAssignmentResource.properties

module updateOldAssignment 'updateOldAssignmentModule.bicep' = if (!empty(previousPolicyAssignmentId)) {
  name: 'updateOldAssignment_${timestamp}'
  params: {
    existingPolicyAssignmentId: previousPolicyAssignmentId
    existingPolicyAssignment: previousAssignmentProperties
    policyAssignmentRegionsSelected: policyAssignmentRegionsSelected
    subscriptionId: subscriptionId
    resourceGroupName: resourceGroupName
    timestamp: timestamp
  }
}

updateOldAssignmentModule.bicep
targetScope = 'managementGroup'

param existingPolicyAssignment object
param existingPolicyAssignmentId string
param policyAssignmentRegionsSelected array
param subscriptionId string
param resourceGroupName string
param timestamp string
var checkOldAssignmentName = 'checkOldAssignment_${timestamp}'

module checkOldAssignment './checkOldAssignmentModule.bicep' = {
  name: checkOldAssignmentName
  scope: resourceGroup(subscriptionId, resourceGroupName)
  params: {
    oldPolicyAssignment: existingPolicyAssignment
    scriptName: checkOldAssignmentName
    newLocations: policyAssignmentRegionsSelected
  }
}

resource updatedOldAssigment 'Microsoft.Authorization/policyAssignments@2023-04-01' = {
  name: existingPolicyAssignmentId
  location: existingPolicyAssignment.location
  properties: {
    displayName: existingPolicyAssignment.properties.displayName
    enforcementMode: existingPolicyAssignment.properties.enforcementMode
    policyDefinitionId: existingPolicyAssignment.properties.policyDefinitionId
    parameters: existingPolicyAssignment.properties.parameters
    resourceSelectors: checkOldAssignment.outputs.updatedResourceSelectors
  }
}

checkOldAssignmentModule.bicep
param oldPolicyAssignment object
param scriptName string
param newLocations array

var scriptContent = loadTextContent('./checkOldAssignmentScript.ps1', 'utf-8')

resource script 'Microsoft.Resources/deploymentScripts@2023-08-01' = if (!empty(oldPolicyAssignment)) {
  kind: 'AzurePowerShell'
  name: scriptName
  location: resourceGroup().location
  properties: {
    azPowerShellVersion: '6.4'
    environmentVariables: [
      {
        name: 'oldResourceSelectors'
        value: string(oldPolicyAssignment.properties.?resourceSelectors ?? [])
      }
      {
        name: 'newLocations'
        value: string(newLocations)
      }
    ]
    scriptContent: scriptContent
    cleanupPreference: 'Always'
    retentionInterval: 'PT1H'
  }
}

output oldAssignment object = oldPolicyAssignment
output updatedResourceSelectors array = json(script.properties.outputs.text)

To Reproduce

Try to deploy the bicep project when experimental features are enabled, see the failure message.
Disable experimental features and attempt the deployment again, the deployment succeeds

Additional context
Add any other context about the problem here.

Seems to be another instance of https://github.com/Azure/bicep/issues/14190

Looks like the expression in the ARM JSON is generated improperly when symbolic names are enabled
 "existingPolicyAssignmentResource": {
            "value": "[reference('previousAssignmentResource', '2023-04-01', 'full')]"
          }

The value it takes when experimental features are disabled is:
 "existingPolicyAssignmentResource": {
            "value": "[reference(extensionResourceId(managementGroup().id, 'Microsoft.Authorization/policyAssignments', parameters('previousPolicyAssignmentId')), '2023-04-01', 'full')]"
          }

This is not very intuitive, but you can work around the issue for now by replacing:
resource previousPolicyAssignmentResource 'Microsoft.Authorization/policyAssignments@2023-04-01' existing = if (!empty(previousPolicyAssignmentId)) {
  name: previousPolicyAssignmentId
}

with:
resource previousPolicyAssignmentResource 'Microsoft.Authorization/policyAssignments@2023-04-01' existing = if (!empty(previousPolicyAssignmentId)) {
  name: !empty(previousPolicyAssignmentId) ? previousPolicyAssignmentId : 'placeholder'
}

The fix that recently rolled out for #2371 did not account for reference() expressions or dependsOn entries pointing at resources with a false condition that failed validation (and as a result were not included in the deployment). I'm working on a fix in the backend, but it'll take some time to roll out.


Add support for the email triggered campaign endpoint.

This code adds support for the transactional email triggered campaign endpoint:
https://developer.dotmailer.com/docs/send-transactional-email-using-a-triggered-campaign
Essentially this is a simple PR that defines the data types required for this API call, and adds the single method to the resources class so that it's callable etc.

And this is related to #17, although that issue is for the general transactional API, not the triggered campaign one.


route parameter pass argument to page.html, how-to

Hi,
Not sure who I can ask for help, my question is the route is matched, and how to passed the argument to remote page,  thanks
Eric Xin

you use route parameters:
<template x-route="/page/:id" x-template="/page.html"></template>

page.html

and if the argument isn't part of the route, simply set it in x-data and it will be available to the children:

<template x-route="/page" x-template="/page.html"></template>

page.html:

Thanks

Just come up another concern, not sure how to do.
Let's say we have a couple of pinecone-router setup, and A, B and C. If A has some model modified, and swtiched to C and swtiched A back again, how to detect A has something inside template and do not refetch A again. That is state detection right?
Thanks
Eric Xin

Sorry I don't quite understand, you mean multiple routers or routes? can you provide code example?
My guess:
if you mean you don't want to refresh when a link that points to the same page is clicked, maybe do something like this to disable the link:
go to B

https://codewithhugo.com/disable-html-anchor/
or maybe:
go to B

So pinecone-router would only display the active x-route template, and inactive x-route template would be hidden, is it right? I would try to use it in SPA, you know vue3 right? that is one display area, each route matched, that display area (target div) would be replaced by latest route match url,  but you know if a,b,c switches come and forth, and if A has been routed before, and A has been re-routed again, if A has nothing changed that is ok, but if A has something like almost ready to post, and rerouted to fetch html and rendering without save, that is frustrated.

Hi @rehhouari
Sorry to re-open this ticket, I have two questions, x-template can be url with random suffix? that can help me to load latest html without cache issue.
And I tried to see router-example folder, but I do not see view folders, I am curious what html file your example has.
Thanks
Eric Xin

Sorry to ask you something related to alpine.reactive

If I want to use this data object globally, is it possible?
Thanks
Eric Xin

Hi @rehhouari
Sorry to re-open this ticket, I have two questions, x-template can be url with random suffix? that can help me to load latest html without cache issue.

x-template uses fetch so yes it accept that too but it wont be cached in memory, meaning everytime it will be fetched again.

And I tried to see router-example folder, but I do not see view folders, I am curious what html file your example has.
Thanks Eric Xin

They're here: https://github.com/pinecone-router/pinecone-example/tree/main/public/views

Sorry to ask you something related to alpine.reactive

If I want to use this data object globally, is it possible?
Thanks Eric Xin

should be possible yes

Hi @rehhouari
How to define the random suffix at the end of url, and every time can generate a different tail to fetch the same url?
Thanks
Eric Xin

Currently it's only possible to do it server side, because x-template takes a string only, and x-bind:x-template doesn't work

Thanks.

x-template brings a remote html file, and which html file can have its own x-data scope right?
Thanks
Eric Xin

x-template brings a remote html file, and which html file can have its own x-data scope right?
Thanks Eric Xin

yes it can!

Thanks so much!


[stable/wordpress] Use subPath mounts to comply with docker image

Since the bitnami docker image explicitly defines volumes in subpaths (https://github.com/bitnami/bitnami-docker-wordpress/blob/master/4/Dockerfile#L40), no data is actually persisted when mounting the parent folder (found out the hard way).

cc @nickjackson

@prydonius apologies for dismissing your suggestion to do this on my previous PR that caused this... I didn't expect the dockerfile to declare those volumes. Tested in my cluster and it persists now.

@bcorijn no worries! On a side note, I'm wondering if it makes sense to change the bitnami/wordpress image to support a single volume mount (https://github.com/bitnami/bitnami-docker-wordpress/issues/96).

@k8s-bot ok to test


Make WorkIdSource only fetch unique records

When a Work record is modified multiple times in one polling period (which is likely if anything happens in the relation embedder), there will be multiple identical messages on the queue, which are then used as the list of identifiers in WorkIdSource.
As a result, the same document is fetched multiple times by the WorkIdSource (or multiple attempts are made, see https://github.com/wellcomecollection/concepts-pipeline/issues/114).
This also guarantees that duplicate concepts are extracted, meaning more work for the deduplicate flow (though this is trivial).

https://github.com/wellcomecollection/concepts-pipeline/pull/118


dev chore: setup jest for unit tests

This PR configures Jest to be used with ESM and Svelte for unit tests.

[x] adds dev dependencies for running tests via Jest / Babel / Svelte / ESM
[x] adds necessary Jest / Babel / Svelte / ESM configuration
[x] adds a test for the MapLayerHandler utility class in components/tools/Map
[x] adds a sample Svelte component test for components/tools/Map/controls/StyleControl
[x] updates the Github Action to run tests with Jest
[x] updates Readme with documentation on how to run the tests and where to look for help on writing them.

@mukhtyar I would recommend checking this branch out locally, doing an npm install and then npm run test to see if it works on your machine. You could also try doing npm run test:watch and then modifying the files that currently have tests to see if the tests break (or not). Let me know if you'd like to walk through any of it sometime.


Npm publish

This work allows automated release deployment.
Previous semi-automation lived in release.sh and I split it into two pieces:

test-manual-e2e.sh - that just tests that current commit is buildable and makes a quick e2e installation for manual testing
publish-npm.js - that makes publish based on what current branch and tags are on commit that is tested/deployed by CI

This simplified Releases.md guide and requires you to just run
git checkout -b 0.22-stable
git tag v0.22.0-rc
git push origin 0.22-stable --tags

to have a successful npm release.

Review will be done internally because package.json changes anyway

@facebook-github-bot import

@facebook-github-bot import


ogg support on Windows?

Checklist

[x] I made sure that the feature I am proposing doesn't already exist

in as much as I searched the code for ogg, opus, and vorbis and found no mention other than ogg working on Android
I know it works on Web as well.

Use case / Problem

Supporting the open source media format
Works on other platforms with audioplayers.
Windows outputs a largely unhelpful error message:

AudioPlayers: Error setting url to '/C:/Users/john/AppData/Local/Temp/music/cool-vibes.ogg'.
Proposal / Solution

Unsure.  I'm assuming audioplayers just passes through to Windows.

Platforms

Windows doesn't work.  Android, and Web do. I don't have a mac or iPhone.

Confirmed, we are happy for any Merge Requests. I don't know exactly how to solve this, maybe it is sufficient just to install some codecs.
@azchohfi do you know how to approach different codecs?
Some refs:
https://docs.microsoft.com/en-us/windows/win32/api/mfmediaengine/
https://github.com/bluefireteam/audioplayers/blob/6fad1cc4443e623e5c94519f130b4004b2dc3857/packages/audioplayers_windows/windows/MediaEngineWrapper.cpp#L318

Does this project require (or have a stance) on pre-Windows 10 support?
Opus in windows 10

GUID
Description
Format Tag (FOURCC)

MFAudioFormat_Opus
OpusSupported in Windows 10 and later.
WAVE_FORMAT_OPUS (0x704F)

And a random note somewhere about WMDM_FORMATCODE_OGG.
Assuming pre-windows 10 support; my second guess would be opusfile / opus tools?
https://www.opus-codec.org/release/dev/2020/06/27/opusfile_0_12.html

I think minimum supported Windows version for Flutter is 7. But we only support Windows 8+, see #1140.
This also doesn't mean, we cannot add extra functionality which only works for Windows 10+ versions.
I never developed any windows applications, so I think I'm not a big help here ^^.
If you have a solution, let us know :)


[NET-642] Creating a unit-test that proves that execPROT resets the p…

…roxy settings on FTPS Clients.

Thank you for the unit test. We are all volunteers in this project. If you want a speedier resolution, please provide a patch for a fix. Thank you!

Hey!
I honestly would provide a patch for that issue if I could. However I honestly do not understand a whole lot of what you're doing there with all those socket factories so even if I were able to satisfy my own unit tests, I would not have enough confidence in my work that I would feel it to be a good idea to merge it in :-|

It's up to you to pick the challenge for yourself or wait... ;-)

uhm, what does that closed now mean? Has the issue been resolved?

The PR was against trunk
The trunk branch was deleted as all Commons projects use maser in preference to trunk. That automatically closed all PRs against trunk.
I'll re-open this but you'll need to modify the PR to be against master rather than trunk.

done! Thanks!

Nevermind

Hi, we were having the same issue with version 3.6, if the issue was closed does it mean it was resolved in 3.8? Thanks!

Hello @Ynhockey ,
You will have to test the latest release to check your use case. Since @DJGummikuh closed the issue, maybe they can answer if their use case works.

@Ynhockey my Test showed the ill-behavior. You can run it against current master, to figure out if the issue still persists.
However, since my tests were not up to standard and I honestly did not have the juice in me to analyze the test template for commons-net in order to be able to rewrite the test I just basically gave up on that issue. In our Software, we opted to simply forbid users to use FTPS with Proxies, and the handful of complaining customers we successfully lobbied to move over to SFTP, which circumvents this issue altogether :shrug:


Reference architecture for RAG

Code files for the following Reference Architecture : https://blog.ovhcloud.com/reference-architecture-retrieval-augmented-generation-rag/

@dtonda please move the files in ai/ai-endpoints/pyton-rag and update the Python section of the readme file.


Consider adding Java 7 option for Delombok

I don't think that Delombok considers the Java version when generating code.  Ideally, it should be able to take advantage of new language features when possible.
An example would be leveraging the Objects.hash function -- but that may only be done when Java 7 or later is the target JDK.  The Objects.equals function may also be used, generating cleaner looking code.

While 'cleaner', Objects.hash(x, y, z) doesn't generate the same hashes as what lombok would do when you have a class with fields x, y, and z, no matter what these fields are. We're not going to accept delombok generating code that isn't functionally equivalent even if it rarely matters, and we're not going to rewrite the impl of lombok's hashcode generators to fit that, because ours have better hash performance.
Objects.equals() WOULD help though. Still not something we'll generate (hey, we're generating code, why not generate the 'long form' which is more likely to be compatible with stuff?). I worry about the complication of what we call this. delombok serves 2 separate functions:

Show you EXACTLY what lombok is doing
Turn your lombok-containing code into code that is as pretty as we can make it, without the lombok

here these two are in conflict. But how do we communicate that in the settings? We can, but at this point I'm not sure this is worth doing.

I checked the current state of delombok and there just isn't a 'prefer cleaner code over code that is as close as reasonable to the stuff lombok does' option. There's -f:pretty which is short for a bunch of options to make it look nicer but that isn't the same. We COULD do this but it'd be a lot of work. Doesn't sound worth it.


Generalize chunked_map (or chunked_list?)

Already manually implemented and used in Council and Indices.
Essentially equal to splitting a giant Vec<T> into fixed size smaller vectors each fetched via an index. Needs a bit of work to keep track of where to insert next + cleanup (option--probably should let the user call an expensive clean() if they want it).
Using it is:

bit more expensive to do a global iteration.
otherwise more efficient to read and write (smaller chunks, not sure but maybe it also helps key hashing?).

Also, good in the sense that it can encourage new substrate users NOT to naively store bulks of Vec<T>.

A very good example + inspiration of how this can be done is implemented by @apopiak here: https://github.com/apopiak/stablecoin/blob/master/storage-adapters/src/priority_queue.rs

@kianenigma Was wondering whether to take a shot at implementing this, but cannot find the Council and Indices implementations. :sweat_smile:
Any pointers?

ok, I think I found it, do you mean the voters in elections here?

ok, I think I found it, do you mean the voters in elections here?

I think so, I  was just going to paste a link there.

This issue is quite old, but I think it is still interesting to keep around. It can be implemented now easier with the new storage types.


How can I set the underlineView's width equals titleLabel.

I want to set the underlineView's width.
underlineView's width = itemview.titleLabel.width

Hi, @hengchengfei. Please set this options
options.tabView.underlineView.margin = 0

@hengchengfei Like this ?

like this.

We do not publish such an API in this project, so it seems that it can not be realized.

options.tabView.additionView.padding =  UIEdgeInsets(horizontal: 25.0, vertical: 0)
play with values


Load elimination does not handle external strings

Proposed fix: https://codereview.chromium.org/2005813002/

Fixed via 88dbeb805db881c3a49bc46c691425264ff36701


Jaeger Native Tracing broken with envoy proxy 1.13.0

Jaeger Native Tracing doesn't seem to work anymore with the latest 1.13.0 envoy proxy version. The container keeps crashing.
Please see the logs below :
[2020-01-28 15:45:28.139][30][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:83] Caught Segmentation fault, suspect faulting address 0x30,
[2020-01-28 15:45:28.139][30][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:70] Backtrace (use tools/stack_decode.py to get line numbers):,
[2020-01-28 15:45:28.139][30][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:71] Envoy version: bb7ceff4c3c5bd4555dff28b6e56d27f2f8be0a7/1.13.0/Clean/RELEASE/BoringSSL,
[2020-01-28 15:45:28.140][30][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:77] #0: [0x7f8bfa68c420],
[2020-01-28 15:45:28.140][30][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:77] #1: [0x560dd56d3e5a],
[2020-01-28 15:45:28.140][30][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:77] #2: [0x560dd50f58ed],
[2020-01-28 15:45:28.140][30][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #3: jaegertracing::propagation::Propagator<>::extract() [0x7f8bf807bffe],
[2020-01-28 15:45:28.141][30][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #4: jaegertracing::Tracer::Extract() [0x7f8bf807c31a],

rebuilding the jaeger-client-cpp worked with the latest image
Patch Build, to build with libc++ tested and working with envoyproxy/envoy:v1.13.1 ubuntu image.
https://github.com/jaegertracing/jaeger-client-cpp/issues/183#issuecomment-595790140


Transform breaks if field name isn't Capitalized

also it fails if field name is something like 'large_video'
in transform.js
const pattern = new RegExp(`(${typeNames.map((w) => `${name}_${w}`).join("|")}) {`);

here's my regexp
/(Post_Slice_Hero|Post_Slice_editor|Post_Slice_large_video) {/
and here's what pattern.test runs against (for example)
'interface Page_Slice_LargeVideo { title: string; description?: string; media: any; poster?: string; }',
so 'rest' and 'interfaces' arrays get messed up and types eventually are broken
UPD: some more info
I believe it happens only to "typed lists" when label is used to set widgetName here
I'll have to disable labels anyways as they are less permanent and robust.
Thanks for a great module BTW. I wonder why it's not more popular. It would be great to have a way to parse a js object instead of config.yml to use with manual init .

Hi, thanks for the bug report! This issue should be resolved in version v1.2.1.
Feel free to re-open this issue if the problem persists!


Compatibility with Angular6

Currently the crypto library is not included in the webpack.config file of Angular 6, and the webpack.config file it's not exposed to end-users of Angular 6. This prevents me from being able to use the jsonwebtoken package in an Angular 6 application.

Can you check if this helps you? https://github.com/auth0/node-jsonwebtoken/issues/471

I did read that but that's not really an option for the project I'm working on. Everything needs to be pretty legit in this application.

This module does appear to require an update to be compatible with Angular 6. I've had to rollback to Angular 5 for this to still work. Please won't you look into it and resolve?

In the past providing compatibility with angular has been outside the scope of this project.
The issue with the usage of the crypto module not being provided is an issue with Angular 6 not providing a mechanism to enable the node crypto polyfill in their webpack configuration. See https://github.com/angular/angular-cli/issues/1548 for more details and a few workarounds for Angular.
The angular2-jwt project that adds some support for JSON Web Tokens to Angular projects and reports to work with Angular 6.

I still maintain that this is the node-jsonwebtoken project, including the work for frontend would introduce too much complexity in this package.

Thanks for the responses, it is appreciated. Also the link to the 1548 issue is helpful.  I know it's "in the name" node-jwt... however your fantastic module is the only useful option for signing & generating a usable JWT and not just to decode & verify. I'd be super grateful if you were able to somehow get it to work in the future :)


3.0 update: ASP.NET Core Middleware

Update  samples using 3.0 templates and endpoint routing.
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapGet("/", async context =>
        {
            await context.Response.WriteAsync("Hello World!");
        });
    });
}

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 9898482c-fa54-7ce2-1716-d14fbe03990d
Version Independent ID: 3926c686-0ccc-f9fe-ca52-0134612a1623
Content: ASP.NET Core Middleware
Content Source: aspnetcore/fundamentals/middleware/index.md
Product: aspnet-core
Technology: aspnetcore-fundamentals
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

@rynowak please assign someone to show 3.0 template based samples of middleware.

There's not much to change here, I think. It's already been updated to 3.0 content and the samples are still relevant. The most I'd suggest doing is to consider removing examples of Run and linking over to the Routing docs for that.

Where is the repo we can download to see the actual working project?

This doc doesn't have a full sample attached, as far as I'm aware. The doc is quite varied in what it describes so there isn't really a single sample app that would illustrate the concepts.

It is definitely needed. The internet if full of plagiarized articles on this subject without any downloadable example for the current version of core.  Trying to put all the pieces together to make a working solution is very time consuming.


SUN-heatclientexceptiionbug

Issue: Consumer gets created even stack creation fails.
Resolved: Overrideen create API.
Raised exception when stack state goes to failed.
User need to update neutron, as default 15sec is not sufficient:
[heat_node_driver]
stack_action_wait_time = 120

@chandra-k

changes look good


Request: Docs for moving to stepwise migration tooling

Is your feature request related to a problem? Please describe.
It's not clear from docs the best way to move from older migration patterns to the new stepwise migration pattern.
We chose not to use codegen for generating tables and data classes, so we largely use .drift files and raw SQL for tables, indexes, simple and complex queries. We also use our own data classes imported into the drift files.
Because of this - we didn't have schema generation or schema dumps prior to our current schema level.
We've gone back and added schema for our deployed version and the migrations / schema between the latest deployed. We've added the new stepwise migration steps, along with tests, and really like how it works - it's much closer to how we handle schema updates on other platforms.
The pattern we've adopted is to give a floor to the from value in migrator.runMigrationSteps that equals the current migration. This allows our "legacy" migration code to play out, then we start as though we are the latest schema and migrate stepwise from that point on.
Describe the solution you'd like
If the below looks like a good pattern, adding it to the docs may be useful. Probably as a callout - "if you've already got a DB and looking to add the new stepwise migration" or similar.
// Assuming you've already run your migration code up to schema 10
// and you want to migrate to 11, 12, etc.. with stepwise,
// pin the floor of the `from` value to 10.
await m.runMigrationSteps(
    from: math.max(10, from),
    to: to,
    steps: migrationSteps(...));

It could also be that you'd like to add some handling for this kind of case to the "runMigrationSteps" - like a to10 step that handles cases before stepwise was added. Not sure this is better than the above - and I think the current functionality is fine considering this is all that is required to "move" to stepwise at a given schema point.
Happy to do the work to add to the docs, but didn't know if there was a need or opportunity to improve the docs or code here, which is why I'm opening this as a feature request.

This sounds like a reliable pattern for moving towards the migration tooling, I agree that it should be pointed out in the docs.
I have plans to restructure the documentation to move towards smaller pages with more actionable advice to make them easier to access. I'll remember to add this then, but if you want to make a PR to the current docs I can also move it to the new page later. Contributions to the documentation are always much appreciated :)


Dpeloyed Projects : Deploy Project as Django WebApp

Description
I have added a new project under the category deployed projects where I have added a diabetes prediction system deployed as Django Web App.
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

(Add x in the [] to mark as completed.)
Related Issues or Pull Requests
Fixes #253

Hello @khusheekapoor, Please review it and let me know the changes needed.

Hi, why have you deleted the Custom Data Embedded Chat Bot project from the README? Please add it back.

Oops! Sorry, it was by mistake. Have modified the changes. @khusheekapoor


change mpicom init to use c2f handle, instead of address

Description
Resolves #5488
Remove logic that passes com address string between VisIt and MPI comm, and replace it with logic that uses
MPI_Comm_c2f and  MPI_Comm_f2c -- which allow us to pass handles as integers regardless of the mpi implemention.
Type of change
Bugfix
How Has This Been Tested?
Ran py_queries test on my mac in parallel mode.
Checklist:

[x] I have followed the style guidelines of this project.~~
[x] I have performed a self-review of my own code.~~
[x] I have commented my code where applicable.~~
- [ ] I have updated the release notes.
- [ ] I have made corresponding changes to the documentation.
- [ ] I have added debugging support to my changes.
- [ ] I have added tests that prove my fix is effective or that my feature works.
[x] I have confirmed new and existing unit tests pass locally with my changes.~~
- [ ] I have added any new baselines to the repo.
[x] I have NOT made any changes to protocol or public interfaces in an RC branch.~~
[x] I have assigned reviewers (see VisIt's PR procedures for more information).~~

@biagas - I belive this should resolve the issue  you were seeing on windows with the MPI Com pointers -- can you give it a try?

checking it out

The changes worked, thanks.

@biagas awesome, thanks for testing them!


feat: don't await foxy rebase history

Description

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[ ] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)

closes #
Risk

Testing

Engineering

Operations

Screenshots (if applicable)

Current dependencies on/for this PR:

develop

PR #4415   👈

This comment was auto-generated by Graphite.

Testing on gomeyeet as we speak since FOXy request don't go through locally


validate credentials before going any further

@badjware

Thank you for your pull request!
There is a few issues with the code you submitted:

An empty/unset token has a valid use-case. eg: on gitlab.com you can have group visibility set to "public" allowing anonymous users to clone your repo.
Besides, all interactions with gitlab are done through the github.com/xanzy/go-gitlab package. We try to avoid net/http to talk with gitlab if possible.

I will close this pr, but feel free to poke me if you have any questions or if you wish to contribute in the future!

Thank you for your pull request!
There is a few issues with the code you submitted:

An empty/unset token has a valid use-case. eg: on gitlab.com you can have group visibility set to "public" allowing anonymous users to clone your repo.
Besides, all interactions with gitlab are done through the github.com/xanzy/go-gitlab package. We try to avoid net/http to talk with gitlab if possible.

I will close this pr, but feel free to poke me if you have any questions or if you wish to contribute in the future!


Add info to the documentation that android does not support woff2 formats

Use case
Flutter crashes on Android with a nondescript error message when using a woff2 font.
Proposal
Add the list of supported font formats to the documentation

Hi @mwawrusch,
Although I see a similar request to document font support, I am not sure if that has happened.

It's been a while, so it seems. That 'bug' caused me a few hours of work unfortunately.

Currently android doesn't crash, just silently fallback. I wish woff2 support...

@darshankawar I think we can add to the docs an alternative option, using Google Fonts for Flutter Android and woff for Flutter web
so it will load google fonts on native and use assets fonts on the web or google fonts library adding this option
WDYT?

@darshankawar is woff not supported for Android native but possible Flutter web on Android chrome
https://caniuse.com/?search=woff

?

@goderbauer The docs says that Flutter does not support .woff and .woff2 fonts for all platforms. I think this can be closed.


⚠ Bofrost.de has degraded performance

In 46a9444, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 2063 ms

Resolved: Bofrost.de performance has improved in 581bebc after 10 minutes.


ENH: allow 'derived_from' input do DerivedSignal to be a string

This defers grabbing the actual Signal object until init time.

Context: without this change, DerivedSignal is unusable inside a Device because it needs a reference to a Signal instance at init time.

👍 (aside: why is doc building failing, though?)

Codecov Report

Merging #516 into master will decrease coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master    #516      +/-   ##
=========================================
- Coverage   89.43%   89.4%   -0.03%
=========================================
  Files          51      51
  Lines        7023    7023
=========================================
- Hits         6281    6279       -2
- Misses        742     744       +2

Impacted Files
Coverage Δ

ophyd/pseudopos.py
91.57% <0%> (-0.57%)
:arrow_down:

Continue to review full report at Codecov.

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

why is doc building failing

The new version of sphinx is fussier. This update broke bluesky as well. I have pinned it to 1.6.7 for now (in master, as part of my doctr work). I opened an #517 to remind us to address this at some point.


Load Image on Dialog.js Picture Box

I want to load the image using the image path provided behind the search button.

I created a search button on visitDialog.js
I wrote ajax call for content from db
I populated all the fields on form
How to populate Image in image box from js script

Please help

I'm not sure I understand what you mean. Are you trying to simply add a image using the dialog ? Just use the ImageUploadEditor. BasicSamples also has a sample for displaying the images in-line in the grid


transform_column, using .apply(), operates elementwise in a column individually

This precludes doing something nice like normalizing a column into probabilities as in:
df['col'] = df['col'] / df['col'].sum()

I might be sounding crazy here, but what about a janitor.statistics submodule? 👀

I think this is an interesting concept, but I'm struggling to think of practical examples to be able to think about implementing this.
R's dplyr package has a rowwise function that basically does what you're discussing (even though I don't think the 'Details' section of that link makes any sense).

# NOT RUN {
df <- expand.grid(x = 1:3, y = 3:1)
df_done <- df %>% rowwise() %>% do(i = seq(.$x, .$y))
df_done
df_done %>% summarise(n = length(i))
# }

R is such a beautiful language.
I had a practical example months ago that spawned this idea from what I was directly working on, though that's well phased out of my brain at this point......

I like to add a normalize and standardize function to pyjanitor.  I guess we can do this with transform, but I like the readability of the code over a lambda function to make it work.  Like normalize_columns() or standardize_columns(), since we already have expand_columns() (aka. dummy codes) and max_min_scale().  This will put preprocessing into the hands of a more beginners, even though I have noting against sklearn.  I will say, doing a .fit() call on preprocessing bothers me, and I dont know why?  What are your thoughts?

Hi, I would like to see if I can contribute to this issue, can you give a better idea of what's expected here?

@fireddd I think we've lost context on the original issue, so I'm going to close it. Thanks for picking up on the thread though!


Added more highlightings

More highlightings for F#!

Computation expressions
Extension methods
Extension properties
4. Generic constraints (not a separate option, gets auto highlighted like method or property)
5. F# methods (let functions compiled as methods) (goes to FSharp functions)
F# value functions
F# mutable value functions
Units of measure

Before:

After:

There is still work to do with parameter highlighting, but after spending some time and getting no result I've decided to try pulling this as it already covers about 90% of what I wanted to do
TODO:

[x] Fix current tests. I need some advice here becase I have to change "gold" files and maybe you don't really need all those new highlighting options (althought I personanly find them all useful)
[x] Add more tests
[ ] Ask someone from compiler team about highlighting of method parameters (couldn't figure out how to do this one, sadly)

String literals and properties are given almost the same color:

Yes, but that's all up to the user. You can pick any color you want. I just wanted to demonstrate the ability to pick a color if you want extension methods/props to be more distinguishable

Fix current tests. I need some advice here becase I have to change "gold" files and maybe you don't really need all those new highlighting options (althought I personanly find them all useful)

It's OK to just update them with newer ids.

Add more tests (if needed)

Please do. 🙂

Sorry for the delay. I've fixed old tests and added new ones. Please tell me if there is more work I need to do on this thing.
Sadly, I couldn't find a way to get this FSharpParameter thing with static constrains to work properly. F# compiler knows that when 'T : (static member Two : 'T) - this is a Property and when 'T : (static member Two : unit -> 'T) - now this is a Method but it's either me or API does not give out this kind of info that easily
So it was really easy to confuse properties and methods. Also it gave false results at object instantiation in case like this:

I guess it's better to just leave those things highlighted as simple values for now.
Also, I will note again that FSharp Method's and FSharp Function's are not the same thing - FSharp Method is something we get from the "outside" (e.g. C#) and FSharp Function comes from F#. F# function can either be method or func but we have decided to not give out this kind of info via highlighting.
Also, should I check for [] Attribute when highlighting extension methods? It's mainly for C# I guess and F# shouldn't really care about it internally. But on the other side it might be useful.

Also, without IsValCompiledAsMethodCheck things like these are not being shown as methods for some reason:

vs

I find this a kind of bug at F# comp side because it's a value, it's compiled as method, but for some reason it's not a function type.

@En3Tho Thanks for this change!
I'm glad you've found a way to highlight the type functions too (I wasn't sure if it's possible to see it via FCS right now).

Sorry, I've messed it up a bit trying to push a small cleanup. The changes got merged without closing the PR automatically, so I'll close it manually.

No problem. Thank you for accepting :)


App Install Banner issue

I've launched the app install banner sample pages on Chrome for Android 44.0.2 (tried the latest Dev + Beta builds from the Play store). After enabling chrome://flags/#bypass-app-banner-engagement-checks and relaunching Chrome, I still don't see any banner.
Any ideas? Note: I'm not signed into Chrome, is this a requirement?
/cc @PaulKinlan

Make sure the url is https on https://googlechrome.github.io/

Https is on.
Make sure the url is https on https://googlechrome.github.io/
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleChrome/samples/issues/134#issuecomment-109034623.

Plug in devtools on Beta and see what the error is, it's imposible for me to tell otherwise.  For example, you could already have the app installed.

Oops didn't realise it was the I/O app, I see the banner now after uninstalling. Thanks!


Support more configuration in TOS

What changes are proposed in this pull request?
This update includes several configuration options for TOS and adds the functionality to clean up expired redundant multipart upload files.
Why are the changes needed?

Previously, users could not specify the number of threads, timeout durations, etc. Now, all these options can be configured when connecting to TOS.
Fixed the issue where expired files were not automatically cleaned up.

Does this PR introduce any user facing changes?
There are now more configuration options available, which need to be specified in the conf file.

alluxio-bot, merge this please


WASM Build isn't working correctly

Currently the WASM build on merge is not producing the HTML file necessary.

Fixed here: https://github.com/raysan5/raylib/issues/3470


[SPARK-31879][SQL] Using GB as default Locale for datetime formatters

What changes were proposed in this pull request?
This PR switches the default Locale from the US to GB to change the behavior of the first day of the week from Sunday-started to Monday-started as same as v2.4
Why are the changes needed?
cases
spark-sql> select to_timestamp('2020-1-1', 'YYYY-w-u');
2019-12-29 00:00:00
spark-sql> set spark.sql.legacy.timeParserPolicy=legacy;
spark.sql.legacy.timeParserPolicy	legacy
spark-sql> select to_timestamp('2020-1-1', 'YYYY-w-u');
2019-12-30 00:00:00

reasons
These week-based fields need Locale to express their semantics, the first day of the week varies from country to country.
From the Java doc of WeekFields
    /**
     * Gets the first day-of-week.
     * <p>
     * The first day-of-week varies by culture.
     * For example, the US uses Sunday, while France and the ISO-8601 standard use Monday.
     * This method returns the first day using the standard {@code DayOfWeek} enum.
     *
     * @return the first day-of-week, not null
     */
    public DayOfWeek getFirstDayOfWeek() {
        return firstDayOfWeek;
    }

But for the SimpleDateFormat, the day-of-week is not localized
u	Day number of week (1 = Monday, ..., 7 = Sunday)	Number	1

Currently, the default locale we use is the US, so the result moved a day backward.
For other countries, please refer to First Day of the Week in Different Countries
With this change, it restores the first day of week calculating for functions when using the default locale.
Does this PR introduce any user-facing change?
Yes, but the behavior change is used to restore the old one of v2.4
How was this patch tested?
add unit tests

Test build #123369 has started for PR 28692 at commit ab0517d.

Merged build finished. Test PASSed.

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

Test build #123369 has finished for PR 28692 at commit ab0517d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

Test build #123378 has started for PR 28692 at commit 3339274.

Merged build finished. Test PASSed.

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

Wow, really? Monday is considered the first day of week in the US locale?
I'm a little uneasy about defaulting to GB, as it might have other implications.
What does the root locale do here?

Test build #123378 has finished for PR 28692 at commit 3339274.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

retest this please

Test build #123410 has started for PR 28692 at commit 3339274.

Merged build finished. Test PASSed.

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

Test build #123410 has finished for PR 28692 at commit 3339274.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

good idea using ROOT locale! @yaooqinn can you try it?

Locale.ROOT was my first choice but it didn't work. However, even it works, I don't think it's a good idea for a distributed system.

+  val defaultLocale: Locale = Locale.ROOT

   def defaultPattern(): String = s"${DateFormatter.defaultPattern} HH:mm:ss"

diff --git a/sql/core/src/test/resources/sql-tests/results/ansi/datetime.sql.out b/sql/core/src/test/resources/sql-tests/results/ansi/datetime.sql.out
index a9a3bccadc..94fcc3b4ad 100644
--- a/sql/core/src/test/resources/sql-tests/results/ansi/datetime.sql.out
+++ b/sql/core/src/test/resources/sql-tests/results/ansi/datetime.sql.out
@@ -1032,4 +1032,4 @@ select to_timestamp('2020-01-01', 'YYYY-ww-uu')
 -- !query schema
 struct<to_timestamp(2020-01-01, YYYY-ww-uu):timestamp>
 -- !query output
-2019-12-30 00:00:00
+2019-12-29 00:00:00

It's a bit unfortunate that ROOT locale also uses Sunday as the first day. I checked the pattern string doc: https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html , there are only 2 localized pattern letter: e: localized day-of-week and O: localized zone-offset. US and DB have no difference for these two.

retest this please

Test build #123413 has started for PR 28692 at commit 3339274.

Merged build finished. Test PASSed.

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

Test build #123413 has finished for PR 28692 at commit 3339274.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

retest this please

retest this please

Test build #123421 has started for PR 28692 at commit 3339274.

Merged build finished. Test PASSed.

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

Test build #123421 has finished for PR 28692 at commit 3339274.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

Test build #123433 has started for PR 28692 at commit f94c72b.

Merged build finished. Test PASSed.

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

Just for my info, why was Monday the first day of week in 2.4 then? we didn't use TZ to determine it?
Also is that the right answer from a SQL standard or Hive perspective?

why was Monday the first day of week in 2.4 then?

In Spark version 2.4 and earlier, datetime parsing and formatting are performed by the old Java 7 SimpleDateFormat API, the Monday the first day of week thing is decided by SimpleDateFormat. Since Spark 3.0, we switch to the new Java 8 DateTimeFormatter to use the Proleptic Gregorian calendar, which is required by the ISO and SQL standards.

we didn't use TZ to determine it?

The first day of week is a date field, not a time field, TZ is short for time zone actually.

Also is that the right answer from a SQL standard

The first day of week is not directly decided by ANSI SQL Framework but from its normative reference ISO standard. It is Monday start in ISO. The day of weekDateTimeFormatter become localized and by default we use Locale.US where a week starts from Sunday. We have to restore this for backward compatibility. There may more solutions options provided at SPARK-31879

or Hive perspective?

I think the backward compatibility between 3.0 and 2.4 shall go first.

Oops right I meant Locale, not TZ.
OK makes sense.

Test build #123433 has finished for PR 28692 at commit f94c72b.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

@yaooqinn please also create a PR to explain what gets changed in the meaning of u in the migration guide. I'm merging this PR to master/3.0 first, thanks!

@yaooqinn @cloud-fan Does this locale setting change anything else in the date parsing?

As I mentioned in: https://github.com/apache/spark/pull/28692#issuecomment-637226576
There are only 2 localized pattern letter: e: localized day-of-week and O: localized zone-offset. @yaooqinn tested it locally, there is no difference between US and GB for these 2 pattern letters, except that GB treats Monday as the first day of week.

please also create a PR to explain what gets changed in the meaning of u in the migration guide.

@bart-samwel maybe you were confused by this. The meaning already changed when we switch to the java 8 formatter API. In the legacy formatter, u means Day number of week (1 = Monday, ..., 7 = Sunday), which is number, in the new formatter, we replace u with e, but e is localized day-of-week, which is number/text.
There is no such a pattern letter in the java 8 formatter API, which has the same meaning of the legacy u, the e is the closest.

Hi @bart-samwel, we are improving test coverage for the datetime patterns. Can you help review  here https://github.com/apache/spark/pull/28718/files#diff-e342ba37e6a036a13fa8373de2ea9470R1047 ?

This breaks the Jenkins Java 11 job, because Java 11 changes the behavior when formatting AM/PM by lower-casing it, see https://amplab.cs.berkeley.edu/jenkins/view/Spark QA Test/job/spark-master-test-maven-hadoop-2.7-hive-2.3-jdk-11/539/testReport/org.apache.spark.sql/SQLQueryTestSuite/datetime_legacy_sql/ . I can't believe it but that's the reality...
I'm reverting it from master/3.0, we need to find another way to fix the reported behavior change.

Thanks for taking care of this. It looks like the culture in GB has been changed a lot during JDK8 to 11, lol...
Since we have banned 'u'(localized day-of-week) for parsing, maybe 'E' is better than 'e' for substitution.

Thank you for recovering Java 11!

Thanks for taking care of this. It looks like the culture in GB has been changed a lot during JDK8 to 11, lol...
Since we have banned 'u'(localized day-of-week) for parsing, maybe 'E' is better than 'e' for substitution.

I'm thinking that since we can't properly support the old behavior of u, we're better off forbidding it, because otherwise we're doing a silent behavior change. The error can suggest using e or E instead, with a warning about the potential differences.

Thanks for taking care of this. It looks like the culture in GB has been changed a lot during JDK8 to 11, lol...
Since we have banned 'u'(localized day-of-week) for parsing, maybe 'E' is better than 'e' for substitution.

I'm thinking that since we can't properly support the old behavior of u, we're better off forbidding it, because otherwise we're doing a silent behavior change. The error can suggest using e or E instead, with a warning about the potential differences.

FYI, https://github.com/apache/spark/pull/28719#issuecomment-638585185


update Workflows to use main release of dti-provisioner

Description
The main branch of dti-provisioner will be updated with the latest tags and features.  Current workflow upgrades by moving to main:

Add domain option to support domains other than c3dti.ai
Add Error summary after provisioner

this is done


Question about skip-tipping on reader stripe

Hello ,
I want to ask you a question please,
I am working on using Stripe Reader M2 In flutter using your library (stripe_terminal) everything is fine but I am unable to do skip tipping because it is not supported in your library Do you have a solution to this issue or another way to remove the tips.
Thank you very much ..
Skip-tipping in documentation:
https://stripe.com/docs/terminal/features/collecting-tips/on-reader#skip-tipping

@obada15 THis must be fixed on version 1.3.2.

thanx for you for your replay , I am obliged to find a quick solution because the project is suspended. Can you tell me the expected time period for the release of the new version of the package?

It's already released.

in this version stripe_terminal 1.3.2  the you added skip tipping ??

Thank you, I updated the package but when I insert the card it still asks me to insert it a second time to pull out the tips, and the response on stripe dashboard is " The customer has not entered their payment method."
please can you check it another time


gcloud --> google-cloud-[product]

Update sample dependencies to use latest google-cloud-* libraries
Previously, the gcloud gem contained all product libraries.
These libraries have since been extracted out into their own google-cloud-* libraries.
Fixes #55 and #52

LGTM:

Failure is negligible.
Gemfile's were updated.
Sample and Specification were updated to use updated Gem.


 If the error still persists, please open a new report with additional steps to reproduce this issue.
Thank you


Bug in Update Documentation

Hey all, I saw a "bug" in the update documentation here:
https://docs.openwebui.com/getting-started/updating
Specifically the "Create a New Container with the Updated Image" command under the Manual Installation instructions. The Docker command there will install the non-CUDA version of Open WebUI. I didn't see this and mentally swore at my computer for over a week wondering why everything was CPU bound.
Could you add the CUDA command to that page? It's otherwise super easy to miss if you're moving fast and don't take the time to read the full update command.

docker run --gups all


fix: sync delete projects and related quota&usage data

这个 PR 实现什么功能/修复什么问题:

sync delete projects and related quota&usage data
sync delete user/group/domain for ldap driver
ModelManager add OrderByExtraFields
misc bugfixes

是否需要 backport 到之前的 release 分支:

release/2.10.0

Codecov Report

Merging #1350 into master will decrease coverage by 0.01%.
The diff coverage is 0%.

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

/lgtm
/approve


a11y - contents page -a11y - SELECT COLUMNS TO SHOW  - cms ui

Describe the bug
The options list appear on focus with the keyboard, (but it would be better if they appeared on sending) with the possibility of choosing which columns to show, the sorting and the elements, but they are not accessible with the keyboard;
To Reproduce
Steps to reproduce the behavior:

Go to https://demo.plone.org/contents
navigate using the keyboard until the modal "select columns to show" appears (tree dots in the same row as the word "HOME")

Expected behavior

Open the modal only after a click and put the focus inside the container

Screenshots

https://github.com/plone/volto/assets/60133113/554de342-1557-4272-af58-842f79d606f4
Software (please complete the following information):
-Volto Version 17.0.0-alpha.19
-Plone Version 6.0.4

Here, when the three dots are focused it is opening the modal,
Is this the expected behavior,

accessing the three dots using keyboard doesnot open the modal
the user has to click on it to show the modal


Update Composer dependencies (2023-09-27-00-12)

Visual regression test passed!
View the visual regression test report


Fresh Raspbian Not Installing

I've tried to install dasher on both the lite and full versions on a clean Raspbian build using image 2016-09-23-raspbian-jessie, but neither have worked.
I also tried sudo npm install -g npm as suggested in another thread, and as you can see in the logs it stopped the "npm WARN engine" errors, but the install still failed.
The pastebin log shows everything entered after a fresh raspbian install:
http://pastebin.com/y7dAzZ1Z

duh - I needed to use "sudo npm install" :)

Ok, looks like it mostly installed ok, but there were errors:
pi@raspberrypi:~/dasher $ sudo npm install
npm WARN npm npm does not support Node.js v0.10.29
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm You can find the latest version at https://nodejs.org/

><EMAIL_ADDRESS>install /home/pi/dasher/node_modules/socketwatcher
> node-gyp rebuild

gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/0.10.29"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/home/pi/dasher/node_modules/socketwatcher/.node-gyp"
make: Entering directory '/home/pi/dasher/node_modules/socketwatcher/build'
  CXX(target) Release/obj.target/socketwatcher/socket_watcher.o
  SOLINK_MODULE(target) Release/obj.target/socketwatcher.node
  COPY Release/socketwatcher.node
make: Leaving directory '/home/pi/dasher/node_modules/socketwatcher/build'

><EMAIL_ADDRESS>install /home/pi/dasher/node_modules/pcap
> node-gyp rebuild

gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/0.10.29"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/home/pi/dasher/node_modules/pcap/.node-gyp"
make: Entering directory '/home/pi/dasher/node_modules/pcap/build'
  CXX(target) Release/obj.target/pcap_binding/pcap_binding.o
  CXX(target) Release/obj.target/pcap_binding/pcap_session.o
  SOLINK_MODULE(target) Release/obj.target/pcap_binding.node
  COPY Release/pcap_binding.node
make: Leaving directory '/home/pi/dasher/node_modules/pcap/build'
<EMAIL_ADDRESS>/home/pi/dasher
└─┬<EMAIL_ADDRESS>  ├─┬<EMAIL_ADDRESS>(git+https://github.com/mranney/node_pcap.git#d920204745c8b00ef4b7a3fe27d902b263cdb70f)
  │ ├──<EMAIL_ADDRESS>  │ └──<EMAIL_ADDRESS>  └──<EMAIL_ADDRESS>
And now when I try to run the find_button command, the following occurs:
pi@raspberrypi:~/dasher/script $ ./find_button

module.js:340
    throw err;
          ^
Error: Cannot find module '/home/pi/dasher/script/node_modules/node-dash-button/bin/findbutton'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:906:3
pi@raspberrypi:~/dasher/script $ sudo ./find_button

module.js:340
    throw err;
          ^
Error: Cannot find module '/home/pi/dasher/script/node_modules/node-dash-button/bin/findbutton'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:906:3

Looking to address the Nodejs being unsupported, it seems raspbian only has an old version:
pi@raspberrypi:~/dasher/script $ apt list -a nodejs
Listing... Done
nodejs/stable,now 0.10.29~dfsg-2 armhf [installed,automatic]

Hmm, so I was able to update to the latest nodejs, and install didn't give any errors, but the find_button still doesn't work. :(
pi@raspberrypi:~/dasher/script $ node -v
v0.10.29

pi@raspberrypi:~/dasher/script $ curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -

## Installing the NodeSource Node.js v7.x repo...

pi@raspberrypi:~/dasher/script $ node -v
v7.3.0

pi@raspberrypi:~/dasher $ sudo npm install
pi@raspberrypi:~/dasher $

pi@raspberrypi:~/dasher $ cd script/
pi@raspberrypi:~/dasher/script $ ./find_button
module.js:472
    throw err;
    ^

Error: Cannot find module '/home/pi/dasher/script/node_modules/node-dash-button/bin/findbutton'
    at Function.Module._resolveFilename (module.js:470:15)
    at Function.Module._load (module.js:418:25)
    at Module.runMain (module.js:605:10)
    at run (bootstrap_node.js:420:7)
    at startup (bootstrap_node.js:139:9)
    at bootstrap_node.js:535:3

(same for sudo ./find_button)

Ok, solved!
The issue is that nodejs is an old version when using the default package on Raspbian, so you have to upgrade to the latest version. The second issue I had above was installing npm as root (doesn't work) - I used a fresh Raspbian image and installed npm as Pi, and now the find_button command works. Here were my steps:

Write a new 2016-09-23-raspbian-jessie.img image to an SD card
Boot the Pi and SSH to it.
Run these commands:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libpcap-dev
sudo apt-get install npm
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install nodejs
git clone https://github.com/maddox/dasher.git
cd dasher
npm install

Hi @quavoce, I wanted to thank you for this. I had exactly the same problem, and this helped me solve it.
Just as a future note to myself (and anyone else that is trying to get this to work on a Raspberry 1), the first 4 steps above work fine, but the 5th doesn't (the processor in the Pi 1 isn't powerful enough for node 7, or something like that), so instead you need to install node 4 using:
wget http://node-arm.herokuapp.com/node_latest_armhf.deb
sudo dpkg -i node_latest_armhf.deb

After this you can go ahead and complete all the other steps, which should work correctly.


fix: renew dependency cruiser config, setting tsPreCompilationDeps to ensure type files are not marked as orphans

:tada: This PR is included in version 0.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add support for attaching to graph emulator

@fiveisprime How important is this?  The emulator says it doesn't fully support graphs, so this might not be possible.

Hi,
Is there some update about this feature support ?
It will be awesome to have it :-)
Thanks a lot


Specific TSP plugin to modify H264 PES packets

Hello,
I would like to implement a specific plugin that modify PES H264 packets by adding an extra custom SEI for each frame.
The idea would be to get the PES content, then to parse the H264 to be able to add this custom SEI after each slice.
I get a look in the PES plugin source, but I am not sure it is feasible:

ts::PESPlugin::handlePESPacket(PESDemux&, const PESPacket& pkt) or ts::PESPlugin::handleAVCAccessUnit() may not be the correct place to modify the packet (const ...)
I read that adding new data requires to add stuffing packets in input. But I am not sure how I can access those stuffing packets to regenerate a bigger PES data, where the initial data is left untouched, but the data after each slice would be shifted.
or should I copy this buffer, modify it (add SEIs and so on), store it on a shared object? but I have to reset the TS packets belonging to the PES, then to regenerate another PES packet? and would TSP be able to remux this PES packet?

In short, do you think TSP is well suite for this kind of project?
may be could you point me to a plugin that could be used as a basis to modify/inject PES data?
Thanks a lot in advance,
--
Sylvain

Hi @sym39,
This is a quite interesting idea. This is certainly feasible, not the easiest plugin to develop but quite feasible.
You have identified the first difficulty: adding data, larger than original data. This is the easiest one to solve. Since tsp is designed to work also on streamed data, packets are processed one by one and there is no way to go back. There is also no way to add new TS packets. The typical use case I had in mind from day one was receiving a TS through a cheap tuner, modify it in real time and reinject it in a Dektec modulator card with the same parameters. The bitrate must be unchanged, no packet can be added and the processing must be stable.
So, all "new" data, all kinds of "insertion" are done by replacing stuffing. The idea is that you keep the TS packets you want to insert and when your processPacket() method is called with a TS packet on PID_NULL, simply replace the complete TS packet with the one you want to insert. Of course, you need at least as many stuffing packets as new packets. In CBR broadcast streams (satellite or terrestrial), there are always a few kilobytes (sometimes megabytes) of stuffing. So, this is fine for most usages like yours. In VBR IP streams, there is usually no stuffing at all. But since this is VBR, you can artifically boost the input bitrate with stuffing (see the user's guide), use your insertion plugins which replace stuffing and end with a filter plugin which removes the residual stuffing. In all cases, this is transparent for the plugin: it simply replaces null packets. When you write the command line, you know the context and you know if you need to add input stuffing (this is a command line option).
The second difficulty is the induced latency or "time shift". You modify existing data. So, you need to accumulate enough data to analyze them and then replace the content of the input PID with the new data. In short, the scenario is always the same:

Identify the target PID, explicitly on command line or after analyzing the signalization, typically a PMT.
Accumulate data from the input PID. In the startup phase, as long as you do not have enough data to create the replacement packets, replace the input PID with null packets (return TSP_NULL in processPacket() method). More generally, for each packet of the input PID, if you do not have new data immediately available, replace it with a null packet.
When you have new data, replace all packets from the target PID with the next new packet.
If your replacement data are larger, try to permanently evaluate how many new packets are created. When you encounter a null packet on input and your "extra packet counter" is not zero, just replace it with a new packet. This is the best way to absorb the extra output.

This scenario is typically used in all plugins which modify the signalization (plugins pat, pmt, nit, etc). You must do the same, except that you process PES packets instead of sections. In a way, this is easier for PES.
If the "duration of a PES packet" (which depends on the structure of the stream and GOP size) is an acceptable latency for you, then you can simply use a PESDemux and your plugin must implement PESHandlerInterface to receive demuxed PES packets. Each time your receive a PES packet, you can generate the new one, packetize it, evaluate the extra number of TS packets (for null packet replacement) and then reinject those buffered TS packets later, when your processPacket() method receives packets from the target PID or null packets when needed.
If you absolutely need to reduce the latency more than the "duration of a PES packet", it is much more complicated. Feasible but much more complicated. You need to parse TS payloads on the fly, keeping the context of the current PES packet, determining where new data are needed and regenerate the new PES packet on the fly, without waiting for the end of the PES packet. Unless you need ultra low latency, I do not recommend this approach.
One last point, in the context of the simpler method with PESDemux: you need to split the modified PES packet into TS packets. Unlike sections for which the Packetizer class and its subclasses are available, there is no PES packetizer class in TSDuck, only a PES demux. There are several reasons for that. First, and more importantly, I never needed a PES packetizer (otherwise it would already exist). Second, packetizing PES is trivial while packetizing sections can be extremely complex, especially when several tables with different cycles are muxed in the same PID. This is why section packetizers exist to hide that complexity.
If you go through that route, I can add a PES packetizer in TSDuck quite easily.
Alternatively, it could be interesting to add some generic PESProcessor class which hides the demux and remux of PES packets. It would call some new interface in a class of the application to "process PES": the application is invoked with a PES packet, processes it or replaces its content and that's all. I could do this. The core TSDuck library hides the mechanics of PES replacement and the application focuses on the processing of each PES packet content.

Hi @lelegard,
First at all, I would like to thank you for this quick and exhaustive answer.
Next I will try to reformulate what should be done to check I have correctly understood. I will limit to the simpler case that gets whole PES packets as it is enough for me.
Big picture:

Ensure the data I get at input contains stuffing TS packets. Could be done via tsp itself: tsp --add-input-stuffing 1/10 ...
Also remove stuffing with the filter plugin, at the end: tsp ... -P myplugin [...] -P filter --negate --pid 0x1FFF -O ip [...]
create a new plugin myplugin inheriting ProcessorPlugin and PESHandlerInterface, like the PES plugin; it may take a pid option to identify the H264 stream (next it could get the information from the stream itself if stream_type is easely available).

In the code, I understand that most of the work has to be done in processPacket() like in the PES plugin, one has to call _demux.feedPacket(pkt) (for the H264 pid only) to ensure the PES packet will be parsed by tsp.
First read packets at initialization will be dropped on output, by returning TSP_NULL (more below).
in handlePESPacket(), I have to parse the H264 as described above, then regenerate it with custom SEIs in it. Having a new modified PES packet, I need to packetize it and somewhat to fill a TSPacketPtrQueue of TSPacket objects.
Back in processPacket(), when I receive a PID_NULL packet, or one for the H264 pid, I have to remove the first packet from the queue to pass it back to the caller (pkt = *_queue.front(); [...])
Also probably the most difficult part of the job is to packetize a PES packet into TS packets. I guess the Packetizer class could be a good starting point? (of course, if a PES packetizer were present, it would be nice, but I don't feel very comfortable to ask you to do this or that when this project is still at early stage, and is not a personal project ...)
Many thanks again,
--
Sylvain

Hi @sym39,
You got it, exactly.

Also probably the most difficult part of the job is to packetize a PES packet into TS packets.

Not at all. It is quite easy on the contrary. And since it is generally useful anyway, I just did it. For PES packetization, I reproduced the same hierarchy of classes as for section packetization : pull mode <- push mode <- one shot. Considering that I refactored the generic properties in an abstract superclass, common to section and PES packetization, you get the following hierarchy of classes:
AbstractPacketizer <- PESPacketizer <- PESStreamPacketizer <- PESOneShotPacketizer

In you case, I recommend to use PESStreamPacketizer. When you build a modified (or even unmodified) PES packet, just call addPES(). And when you want to replace a TS packet from the original PID, just call getNextPacket(). There is no need to keep a list of generated TS packets, they stay inside the packetizer. And getNextPacket() can be used all the time, even in the startup phase. If there is a generated packet from the PES, it is returned. Otherwise, it returns a null packet. This is why you can blindly use it all the time.
The difficulty you have to solve is the whether or not you should replace null packets with packets from the packetizer. If the amount of output packets is the same as input, just replace the packets from the input PID, no need to replace null packets. If your output is slightly larger than input, then you must replace some null packets, but not all. Just enough to compensate the output volume increase. It you replace all null packets, then your output PES PID is likely to burst. Maybe a problem or maybe not, your choice. Or just test.
The most difficult part is now the parsing of AVC data and insertion of your custom SEI. But this is the core of you own work.

Tomorrow, after the nightly CI/CD process, the doxygen doc will have been updated on tsduck.io and you will see this class diagram:

Hi @lelegard ,
I also just get the modifications from gitlab, and also see how to use the classes in utestPESPacketizer.cpp (difference is that the test uses the PESOneShotPacketizer and I agree, I should use the PESStreamPacketizer::getNextPacket() like you described above).
Many thanks again,
--
Sylvain

Don't focus too much in the unitary tests. The code is very different from what we do in applications. I just try to exercise many different features in a very short way to track potential regressions. Using PESOneShotPacketizer was the fastest way to exercise the complete hierarchy of classes because it is the deepest subclass (using PESOneShotPacketizer actually uses PESStreamPacketizer and PESPacketizer).
For higher level non-regression tests, there is the TSDuck test suite project. But these tests use TSDuck commands and plugins and the PES packetizer classes are not yet used in any of them.


Making breaking changes a major version change

Codecov Report

Merging #134 (b77c128) into main (5da86d4) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main      #134   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            2         2
  Lines          184       184
=========================================
  Hits           184       184

Continue to review full report at Codecov.

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


Pods metrics are not seen on the Cluster dashboard

on 2.6-head commit id: e322f8f

Deployed a 1.22/1.21 k8s rke1 cluster custom/DO node driver cluster
In the cluster explorer --> Cluster Dashboard --> Pods section is not available

@sowmyav27 Can you capture the browser console log and attach to this issue. Thanks.

On 2.6-head commit id: 4375161
Pods metrics are seen


Simplify input parameters

There are too many and some can be removed
Remove:

[x] --sample-list
[x] --ignore-base-phred-scores (altered to --use-base-phred-scores for now)

In the long term some arguments could be merged:

[ ] --bam, --bam-list, --sample-bam
[ ] --ploidy, --sample-ploidy
[ ] --inbreeding, --sample-inbreeding
[x] --genotype-likelihoods, --genotype-posteriors: merged into a single --fields list?

Related, the new --sample-pool argument should also match this pattern with a single argument specify either a global pool of a file listing the pool of each sample


Creating polygon convex hull from image

Support creating convex hull by scanning a portion of an image. This is very useful for 2D games.

This is going to be out in 1.3.1


added comments

For a beginner going through the course, this test will be daunting, I have added comments to make this more beginner-friendly if someone references the repo.

I can get behind these comments. Thanks!


Continue Integration

in progress! Works with continue rn, but with some delay. Continue prs will allow us to have a better integration. Will push pr soon


[Package Issue]: IrfanSkiljan.IrfanView 4.62

Please confirm these before moving forward

[X] I have searched for my issue and not found a work-in-progress/duplicate/resolved issue.
[X] I have not been informed if the issue is resolved in a preview version of the winget client.

Category of the issue
Installation issue.
Brief description of your issue
IrfanView tries to update 32bit installation with 64bit installer and therefore updates (or installs? - see note) the wrong program - See screenshot (There are separate installers for each version, because they provide a different feature set / plugin support)
Note: I already had both versions (32/64 bit) installed at the same time before
Steps to reproduce
Update "IrfanSkiljan.IrfanView" (32bit) from version 4.60 to 4.62 on a 64bit system.
Actual behavior
Wrong version of IrfanView gets installed or updated, and update "requirement" for the 32bit version remains in winget.
Expected behavior
Separate update for each version (Independent of 32/64bit system)
Environment
Windows-Paket-Manager v1.4.10173
Copyright (c) Microsoft Corporation. Alle Rechte vorbehalten.

Windows: Windows.Desktop v10.0.22621.1778
Systemarchitektur: X64
Paket: Microsoft.DesktopAppInstaller v1.19.10173.0

Screenshots and Logs

(There are separate installers for each version, because they provide a different feature set / plugin support)

Expected behavior
Separate update for each version (Independent of 32/64bit system)

For this we would need to separate the package into two PackageIdentifiers IrfanSkiljan.IrfanView.x64 and IrfanSkiljan.IrfanView.x86. Since DisplayName and ProductCode are different for each installer, WinGet shouldn't have trouble identifying the two as separate packages after the change
I am a little occupied with Uni this week so I wouldn't be able to create PRs for the change. For any contributor willing to take a stab at it before me, be sure to include AppsAndFeaturesEntries: DisplayName and ProductCode in all manifests

Great, thanks for the quick assessment

(There are separate installers for each version, because they provide a different feature set / plugin support)

FYI from the official Irfanview Website https://www.irfanview.com/64bit.htm

Starting with IrfanView 4.40 there is also a 64-bit version available.
Advantages of IrfanView 64-bit over 32-bit version:
It can load VERY large files/images (image RAM size over 1.3 GB, for special users)
Faster for very large images (25+ Megapixels, loading or image operations)
Runs 'only' on a 64-bit Windows (Vista, Win7, Win8, Win10, Win11)

Advantages of IrfanView 32-bit over 64-bit version:
Runs on a 32-bit and 64-bit Windows
Loads all files/images for normal needs (max. RAM size is about 1.3 GB)
Needs less disc space
All PlugIns will work: not all PlugIns are ported (yet) to 64-bit (like OCR) and some 32-bit PlugIns
     must be still used in the 64-bit version, some with limitations (see the "Plugins32" folder)
Some old 32-bit PlugIns work only in compatilibilty mode in IrfanView-64
Command line options for scanning (/scan etc.) work only in 32-bit (64-bit TWAIN drivers are rare =>
     in case of problems, use IrfanView-32 for scanning)

Notes:
You can install both versions on the same system, just use different folders.
For example: install the 32-bit version in your "Program Files (x86)" folder
     and the 64-bit version in your "Program Files" folder (install 32-bit PlugIns to IrfanView-32
     and 64-bit PlugIns to IrfanView-64, DO NOT mix the PlugIns and IrfanView bit versions)
The program name and icon have some extra text in the 64-bit version for better distinguishing

It shouldn't make a difference for the winget manifest as the default paths of the installers do meet this requirement but just in case, please note that the versions require a different installation folder as stated in the notes section above.

It also happen to me. 64Gram.64Gram stop at version "1.0.53" on x86 but "1.0.54" and above is x64 only.

Hello @mdanish-kh !
When you apply the changes discussed above I think PR https://github.com/microsoft/winget-pkgs/pull/102326 should be changed accordingly. Currently this PR is blocked due go the lack of dependencies in winget.
Unfortunately I have very little time to spare currently. So would you mind doing the appropriate changes there, too?
Thanks!


Switching plans with Braintree

It appears that when using Braintree and switching plans, the new plan gets billed right away. When a user switches from monthly to yearly subscription, the new yearly plan should be billed when the monthly, already paid plan, runs out. Not right away.
Is this something I can "fix" from my end, or is it just how Braintree handles this?

This should have been filed under laravel/cashier-braintree
Here is how proration works. Also, see the previous test.
I'm currently looking into using Cashier, can't help more right now.

Have a look here, too. It should prorate correctly (i.e. there should be a discount on the yearly plan, for the unused rest of the current monthly plan). If that's the case, please consider closing this issue.

Heya, we just enabled issues for the Braintree repo. If this is still an issue can you report the issue there? Thanks! https://github.com/laravel/cashier-braintree/issues


control-service: Cronjob API backwards compatibility

Currently there is no backwards compatibility support when a user switches to the V1 Kubernetes Cronjob API (from the currently default V1beta1). This results in situations, where if there are deployed data jobs which use the v1beta1 API, and a switch is made to the V1 API, these jobs are suddenly shown as NOT DEPLOYED, and cannot be properly managed.
This change adds backwards compatibility support in the Kubernetes Service, to allow for a switch to V1 Cronjob API in clusters, where V1beta1 API cronjobs are deployed.
Testing Done: Unit and Integration tests (new and existing).
Signed-off-by: Andon Andonov<EMAIL_ADDRESS>

Nice spot! I think it looks really good. However I think it would be soo much better if you are able to test it with an integration test using actual jobs.

@doks5  I actually think even if beta1 is enabled we should check for v1 jobs.
Because if we deploy a few jobs on v1 and need to roll back to betav1 for some unexpected reason then the issue will introduce its self again.
Plus it should make the code a bit simpler?

Associated Github Issue: https://github.com/vmware/versatile-data-kit/issues/1595

@doks5
What I would do is create a new class called LegacyDataJobKubernetesService.
It would extend DataJobKubernetesService and it would always set k8sSupportsV1CronJob to false.
in the test setup I would have  k8sSupportsV1CronJob set to true.
Now you have one bean that you can use for legacy inserts/update/etc and one for new inserts updates etc..
Please let me know if that isn't clear as I am happy to help.

This change is blocked by https://github.com/vmware/versatile-data-kit/issues/1612

@tozka, Can you take a look? I believe to have fixed all outstanding issues.


Add a simple nix dev shell

[Feel free to reject this PR if you do not wish to have Nix support upstream]
This PR adds a simple flake.nix providing a development shell for people that use the Nix package manager. It provides the benefit of having everything setup automatically for Dioxus development -- all I have to do is open VSCode in the dev shell.
The flake provides only dev shell, and not the full Nix packages, because that will require a Cargo.lock. I originally wanted to write this flake to create the dioxus-cli package, but figured the dev shell would be useful to others.

Note: if you choose to merge this, I'm willing be the maintainer of this flake.

Is it all possible to move the flake/lock into a "dot" directory to keep the main folder less cluttered?

It is technically possible -- and I can make that change if you absolutely want -- but this practice is never practiced in any projects that use Nix. Having a top-level flake.nix (which is equivalent to having a top-level Cargo.toml for Rust workspaces) also signals to potential contributors that this project is Nix-friendly.

Thanks @srid ! Sorry this sat here for so long.


Path Bindings in Pretty Printer Output

Do we have a rational behind the Path Bindings in the Pretty Printer output? I'm not sure why its there, and I'd like to remove it. (I suspect this was related to the Android port.)

The paths are attached as metadata to occurrences of local variables, giving the path to the binding of the variable. This allowed the android client to draw a line from occurrence to binding when it was clicked/tapped on.
So yes, only used in the android project so far. I think a feature like this would be very handy in any future GUI (we stole the idea from Racket IDEs), but it could be removed for now and reimplemented another way in the future.

The problem is manifesting as orphan instance creep. We need to make Paths, from KURE, instances of From/To JSON. I'm trying to be aggressive with the refactor, but I think this should stay right now.

Sorry, I was offline for a couple of days and am trying to catch up.
We could avoid orphan instances in this case by removing KURE's SnocPath newtype wrapper and just carrying a list of crumbs directly, right?
We already define our own instances of ReadPath and ExtendPath for PrettyC, and KURE exposes the SnocPath constructor, so coercing back to SnocPath when necessary would be trivial.


OptImprove performance by introducing cache of list directory files when getting split for each query.

What problem does this PR solve?
Refer to trino to implement the cache mechanism of multiple hive tables at the query level to obtain the file split list of each partition.
Because files within a query should have the same visibility, the split list of partitions that see the same table should be consistent across the query scope. So this cache is reasonable and should be enabled by default.
The mechanism in Trino is transactional level. A transaction can see the same table, so the command is TransactionScopeCachingDirectoryLister. This name is retained for Doris to expand to the transaction concept in the future.
In addition, for this scenario, because the caffeine cache currently used by doris has an elimination phase strategy, the existing cache items in the window area may be eliminated immediately after the weight is updated. Therefore, EvictableCache which based on guava was introduced and eliminated based on segment LRU.
Check List (For Author)

Test

[ ] Regression test
[x] Unit Test
[ ] Manual test (add detailed scripts or steps below)
[ ] No need to test or manual test. Explain why:

[ ] This is a refactor/code format and no logic has been changed.
[ ] Previous test can cover this change.
[ ] No code files have been changed.
[ ] Other reason

Behavior changed:

[x] No.
[ ] Yes.

Does this need documentation?

[x] No.
[ ] Yes.

Check List (For Reviewer who merge this PR)

[ ] Confirm the release note
[ ] Confirm test cases
[ ] Confirm document
[ ] Add branch pick label

run buildall

run buildall

run buildall

run buildall

run buildall

run buildall

run buildall