GIT bach issue EPG

Description
Kareemelmasry@Kareemlap MINGW64 ~/epg (master)
$ npm install
up to date, audited 754 packages in 6s
94 packages are looking for funding
run npm fund for details
26 vulnerabilities (22 moderate, 4 high)
To address issues that do not require attention, run:
npm audit fix
To address all issues possible (including breaking changes), run:
npm audit fix --force
Some issues need review, and may require choosing
a different dependency.
Run npm audit for details.
Kareemelmasry@Kareemlap MINGW64 ~/epg (master)
$ set SITE=beinsports.com&& npm run grab

grab
cross-var epg-grabber --config=sites/$SITE/$SITE.config.js --channels=sites/$SITE/$SITE.channels.xml --output=guides/{lang}/{site}.xml

Starting...
Loading 'sites/$SITE/$SITE.config.js'...
node:internal/modules/cjs/loader:1072
const err = new Error(message);
^
Error: Cannot find module 'C:\Users\Kareemelmasryy\epg\sites$SITE$SITE.config.js'
Require stack:

C:\Users\Kareemelmasryy\epg\node_modules\epg-grabber\bin\epg-grabber.js
at Module._resolveFilename (node:internal/modules/cjs/loader:1072:15)
at Module._load (node:internal/modules/cjs/loader:925:27)
at Module.require (node:internal/modules/cjs/loader:1139:19)
at require (node:internal/modules/helpers:121:18)
at main (C:\Users\Kareemelmasryy\epg\node_modules\epg-grabber\bin\epg-grabber.js:54:16)
at Object. (C:\Users\Kareemelmasryy\epg\node_modules\epg-grabber\bin\epg-grabber.js:157:1)
at Module._compile (node:internal/modules/cjs/loader:1257:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1311:10)
at Module.load (node:internal/modules/cjs/loader:1115:32)
at Module._load (node:internal/modules/cjs/loader:962:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'C:\Users\Kareemelmasryy\epg\node_modules\epg-grabber\bin\epg-grabber.js'
]
}

Node.js v20.3.1
Kareemelmasry@Kareemlap MINGW64 ~/epg (master)
$

I feel like you are using git bash from your prompts, sample output and issue title in which case here are a couple ways to execute the program.
Inline set SITE and execute grabber:
$ SITE=beinsports.com npm run grab

Export first and then execute grabber:
$ export SITE=beinsports.com
$ npm run grab

Kareemelmasry@Kareemlap MINGW64 ~
$ git clone --depth 1 -b master https://github.com/iptv-org/epg.git
fatal: destination path 'epg' already exists and is not an empty directory.
Kareemelmasry@Kareemlap MINGW64 ~
$ cd epg
Kareemelmasry@Kareemlap MINGW64 ~/epg (master)
$ npm install
up to date, audited 754 packages in 5s
94 packages are looking for funding
run npm fund for details
26 vulnerabilities (22 moderate, 4 high)
To address issues that do not require attention, run:
npm audit fix
To address all issues possible (including breaking changes), run:
npm audit fix --force
Some issues need review, and may require choosing
a different dependency.
Run npm audit for details.
Kareemelmasry@Kareemlap MINGW64 ~/epg (master)
$ $ SITE=beinsports.com npm run grab
bash: $: command not found
Kareemelmasry@Kareemlap MINGW64 ~/epg (master)
$ SITE=beinsports.com npm run grab

grab
cross-var epg-grabber --config=sites/$SITE/$SITE.config.js --channels=sites/$SITE/$SITE.channels.xml --output=guides/{lang}/{site}.xml

Starting...
Loading 'sites/beinsports.com/beinsports.com.config.js'...
Loading 'sites/beinsports.com/beinsports.com.channels.xml'...
node:fs:592
handleErrorFromBinding(ctx);
^
Error: ENOENT: no such file or directory, open 'C:\Users\Kareemelmasryy\epg\sites\beinsports.com\beinsports.com.channels.xml'
at Object.openSync (node:fs:592:3)
at Object.readFileSync (node:fs:460:35)
at Object.read (C:\Users\Kareemelmasryy\epg\node_modules\epg-grabber\src\file.js:13:13)
at main (C:\Users\Kareemelmasryy\epg\node_modules\epg-grabber\bin\epg-grabber.js:77:28)
at Object. (C:\Users\Kareemelmasryy\epg\node_modules\epg-grabber\bin\epg-grabber.js:157:1)
at Module._compile (node:internal/modules/cjs/loader:1257:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1311:10)
at Module.load (node:internal/modules/cjs/loader:1115:32)
at Module._load (node:internal/modules/cjs/loader:962:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:83:12) {
errno: -4058,
syscall: 'open',
code: 'ENOENT',
path: 'C:\Users\Kareemelmasryy\epg\sites\beinsports.com\beinsports.com.channels.xml'
}
Node.js v20.3.1
Kareemelmasry@Kareemlap MINGW64 ~/epg (master)
$ export SITE=beinsports.com
Kareemelmasry@Kareemlap MINGW64 ~/epg (master)
$ npm run grab

grab
cross-var epg-grabber --config=sites/$SITE/$SITE.config.js --channels=sites/$SITE/$SITE.channels.xml --output=guides/{lang}/{site}.xml

Starting...
Loading 'sites/beinsports.com/beinsports.com.config.js'...
Loading 'sites/beinsports.com/beinsports.com.channels.xml'...
node:fs:592
handleErrorFromBinding(ctx);
^
Error: ENOENT: no such file or directory, open 'C:\Users\Kareemelmasryy\epg\sites\beinsports.com\beinsports.com.channels.xml'
at Object.openSync (node:fs:592:3)
at Object.readFileSync (node:fs:460:35)
at Object.read (C:\Users\Kareemelmasryy\epg\node_modules\epg-grabber\src\file.js:13:13)
at main (C:\Users\Kareemelmasryy\epg\node_modules\epg-grabber\bin\epg-grabber.js:77:28)
at Object. (C:\Users\Kareemelmasryy\epg\node_modules\epg-grabber\bin\epg-grabber.js:157:1)
at Module._compile (node:internal/modules/cjs/loader:1257:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1311:10)
at Module.load (node:internal/modules/cjs/loader:1115:32)
at Module._load (node:internal/modules/cjs/loader:962:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:83:12) {
errno: -4058,
syscall: 'open',
code: 'ENOENT',
path: 'C:\Users\Kareemelmasryy\epg\sites\beinsports.com\beinsports.com.channels.xml'
}
Node.js v20.3.1
Kareemelmasry@Kareemlap MINGW64 ~/epg (master)
$

acually can't find the directory called guides in the epg directory and can't get or find the epg files.

acually can't find the directory called guides in the epg directory and can't get or find the epg files.

You have fixed your original problem as you are now able to run the program with the SITE variable injected. This is a different issue that is open here: https://github.com/iptv-org/epg/issues/2122


Removing the extra padding form the top menu smaller screen sizes when the toggle button is clicked, Add my name to contributors

Removing the extra padding from the top menu smaller screen sizes when the toggle button is clicked
Add my name to the contributors
Format code
Name: Ayesha Munawar
Profile Link: https://github.com/AyeshaMunawar-profile

Closing due to age and conflict. Please feel free to resolve and reopen


Issues connecting Wifi on Windows

My Wifi shield has an address of <IP_ADDRESS> and is attached to a Ganglion board.
Able to connect and stream data using auto-detect and wifi direct on a Mac running OS X Mojave with OpenBCI_NodeJS_Wifi tests and in the Hub.
Using a Windows 10 machine, getStreamingWiFiDirect.js produces an error. This same error is happening in the current GUI when trying to connect, along with other errors stemming from a failure to connect.
PS C:\Users\Retiutut\Documents\GitHub\OpenBCI_NodeJS_Wifi\examples\getStreamingWiFiDirect> node getStreamingWifiDirect.js
TCP: on port:  51599
Attempting to connect to <IP_ADDRESS>
-> POST: <IP_ADDRESS>/tcp {"ip":"<IP_ADDRESS>","output":"raw","port":51599,"delimiter":false,"latency":16667}
server listening <IP_ADDRESS>:62971
STATUS: 504
No more data in response.
BODY: {"connected":false,"delimiter":false,"ip":"<IP_ADDRESS>","output":"raw","port":51599,"latency":16667}
Error: ERROR: CODE: 504 MESSAGE: {"connected":false,"delimiter":false,"ip":"<IP_ADDRESS>","output":"raw","port":51599,"latency":16667}
    at IncomingMessage.res.once (C:\Users\Retiutut\Documents\GitHub\OpenBCI_NodeJS_Wifi\openBCIWifi.js:1120:16)
    at Object.onceWrapper (events.js:276:13)
    at IncomingMessage.emit (events.js:193:15)
    at endReadableNT (_stream_readable.js:1129:12)
    at process.internalTickCallback (internal/process/next_tick.js:72:19)

Looks like the wifi shield failed to connect to your computers server. I would check you computers firewall permissions or the permissions on the nodejs file?
Here is the line of code that is producing that error
Cheers

I turned off Windows Firewall and set VSCode to "Run as Admin". Still getting same error.

Could you create a test application that streams data into the nodejs application to test the internal server? It sounds like we need to approach this problem from another angle.

Here is a successful log when using Mac. I notice that my host machine starts with 10. just like the WiFi shield
TCP: on port:  60127
Attempting to connect to <IP_ADDRESS>
-> POST: <IP_ADDRESS>/tcp {"ip":"<IP_ADDRESS>","output":"raw","port":60127,"delimiter":false,"latency":16667}
server listening <IP_ADDRESS>:61087
STATUS: 200
No more data in response.
BODY: {"connected":true,"delimiter":false,"ip":"<IP_ADDRESS>","output":"raw","port":60127,"latency":16667}
Connected to <IP_ADDRESS>

i agree with your edit, what is your windows computer ip address?

The Windows machine is supposedly at <IP_ADDRESS>

seems weird those ip addresses are so different right?

Woah now.... Windows 10 says my IP address should be <IP_ADDRESS>! Bug found!

awesome, im in class, be back later, lmk if u find the solution 🚀

Looking into a fix using parameters for ip.address(), as seen in https://github.com/indutny/node-ip/issues/79

@andrewjaykeller Got it working using
 this.wifiServerUDP.bind({
    address: ip.address("Ethernet", "ipv4")
  });

I think a more generalized fix would select Ethernet first, then a WiFi network interface if Ethernet is not available. What are your thoughts?

This could be a huge fix for windows users who have had WiFi connection issues on windows!

Just tried the above code on a Mac, and the network interfaces follow a different standard (ex en0, en1). The fix for this issue should be contained to Windows OS case.

To fix this issue, the following now happens on WindowsOS only:

First, look for "Ethernet" network interface
If "Ethernet" is not available, look for "Wi-Fi" network interface
Otherwise, use first available network interface


Error: the server could not find the requested resource

I'm am using kubernetes v1.22.13 and kubedb v0.12.0. And get this err from pod kubedb-operator:
Error: the server could not find the requested resource
Is it it is related to version conflict ? Thanks

I'm getting the same error. We recently upgraded kubernetes to 1.23.16 and our kubedb version is v0.12.0 and we started getting this error
Error: the server could not find the requested resource Usage:   kubedb-operator run [flags]
Is it version compatibility issue?
Thanks


Reproduced results of TikTok data set

Thanks for your wonderful work. I follow your data processing script and training scripts to re-train a model on the TikTok data set. I have several questions. 1). The fitted SMPL result is somehow not very accurate using your data processing scripts. 2). The quality of visualization results of stages 1 and 2 are far from the results shown in your paper. I attached the SMPL results and visualization results from stages 1 and 2. Could you give me some suggestions? Looking forward to your reply.

https://github.com/user-attachments/assets/d9813718-59eb-4d31-a5c2-7f0e7deba601

I meet same issue in stage 1.  The same issue in stage2 is solved by training enough steps for stage1 and stage2, however the issue in  stage 1 is still remained.

Could you please share the YAML file used for training? I am wondering if the issue might be caused by a misconfiguration of the aug_type parameter in the YAML file.


Execute full Test plan for LZ0 (create project-set, deploy app)

Describe the issue
Execute the test plan in LZ0 to get a snapshot of the SEA
At this moment (July 2022) some of the tests can not be executed because there are no containers and serverless app installed, so the test related to them can not be executed.
The tasks are:

Obtain a project set that will allow to install the containers and serverless app
Install the Apps
Run the test plan

Additional context

Until now, LZ0 has not been stable enough to be a clone of LZ2.
Latest version of the ASEA is v1.5.3, Prabhu already tested LZ1 and project-set and app-deploy work.  We will test the test-plan in the next version after v1.5.3

Definition of done
The test report, a snapshot that describes how the SEA behaves and its state.

Done for SEA 1.5.3
Results can be found at https://bcgov.sharepoint.com/:f:/t/01368-CPFScrumTeam/ElqQ897Z3JRKuuw14-UJu9cBrUXMcoNpOX9rBp9tIxUnFA?e=LdVb3P


Actions with array cannot be defined

Currently I cannot write something like "reads record-s", but seems that this can be a normal situation to read a data array. Or are there any other ways to describe this?

@davvd assign someone else pls

@davvd assign someone else pls

@yegor256 I will assign somebody else to this issue

@davvd assign someone else pls

@yegor256 I deducted 30 points from your rating


on-http docker image build fail

Checking dockhub and I find on-http image build had been failed since around 20 days ago: https://hub.docker.com/r/rackhd/on-http/builds/
The reason is that /RackHD/on-http/install-swagger-ui.sh use curl to download zip files but curl is not installed in the image. Adding curl at the end of apt line will fix the issue.
apk add --update ipmitool@testing unzip curl
With that, I also find the newly added install-task-doc.sh also prevent docker image from successfully built.  There are three reasons:

install-task-doc.sh fail to run as it is decaired as a bash script but bash does not exist in docker image. Ref:

https://github.com/RackHD/on-http/blob/master/install-task-doc.sh#L1

install-task-doc.sh make use of on-core/spec/helper.js which in turn make use of supertest package will fail with missing package supertest. The supertest is not installed because it's in the devDependances list which is not installed when using ```npm install --production`` inside Docerfile.  Ref:

https://github.com/RackHD/on-http/blob/master/Dockerfile#L11
https://github.com/RackHD/on-http/blob/master/package.json#L81
https://github.com/RackHD/on-tasks/blob/master/task-annotation-generator.js#L221
https://github.com/RackHD/on-core/blob/master/spec/helper.js#L21

install-task-doc.sh make use of python for json.tool but python is not installed. Ref: https://github.com/RackHD/on-http/blob/master/install-task-doc.sh#L15

@WangWinson

Good catch. I didn't test this in docker build yet. Will update.

@WangWinson I just quickly created a PR against this issue: https://github.com/RackHD/on-http/pull/369

thans @cgx027,
Alos, I submitted https://github.com/RackHD/on-tasks/pull/281 to replace the python -m json.tool solution


Sync with latest wasmtime rev

This commit syncs tests with latest wasmtime revision.
As such, it now utilises the wasmtime-api crate for
runtime setup.
Closes #126, #127, #128, #129.

Thanks for moving this over to wasmtime-api while here; that's the direction wasmtime is generally heading!

Yep, it was long overdue! :-)


Undefined symbol: OBJC_CLASS$_MLKTextRecognizer

Step#1
Created a flutter module and added this dependency google_mlkit_text_recognition: ^0.6.0
Step#2
Created .xcframework using the command flutter build ios-framework
Step#3
Create a simple iOS file add links and embed frameworks there

`
import SwiftUI
import Flutter
// The following library connects plugins with iOS platform code to this app.
import FlutterPluginRegistrant
class FlutterDependencies: ObservableObject {
let flutterEngine = FlutterEngine(name: "my flutter engine")
var myChannel: FlutterMethodChannel!
init(){
// Runs the default Dart entrypoint with a default Flutter route.
flutterEngine.run()
// Connects plugins with iOS platform code to this app.
GeneratedPluginRegistrant.register(with: self.flutterEngine);
}
}
@main
struct OcrAppOneApp: App {
// flutterDependencies will be injected using EnvironmentObject.
 @StateObject var flutterDependencies = FlutterDependencies()

var body: some Scene {
    WindowGroup {
        ContentView()
    }
}

}
`
Note: For step 2&3 I follow https://docs.flutter.dev/add-to-app/ios/project-setup
Step#4
Run app on iPhone, getting this error:

I am not familiar with the steps you are following. To integrate any of our plugin in iOS, please follow steps in our readme: https://github.com/flutter-ml/google_ml_kit_flutter#ios


[cPP CHANGE] Entropy for virtualized/containerized applications

On behalf of CCCS
It is not clear that entropy generation requirements (as described in the Appendix D. Entropy Documentation and Assessment) include sufficient considerations for virtualized and containerized TOEs.

The ITC does not believe that any additional consideration are needed for Appendix D for Entropy Documentation with respect to virtualized or containerized TOEs. The same methodoloy will apply for either the invoke platform or implement functionality selections.


ci: use texlive container instead of installing texlive

I've had some issues with my thesis as it wouldn't build, furthermore, since it wouldn't build, it always took 40 minutes to build and fail. This should remove the longest build step and use a container with everything already installed instead.

@carlocorradini non ho i permessi per mergiare la PR, ho visto che l'hai approvata, potresti mergiare tu? Grazie!


How to disable Special Usage flags in flags library

Hi,
there are bunch of special usage flags defined in flags, and for example running your app with --helpfull
prints all kind of flags from parse.cc or usage.cc wich I don't want to see.
I thought running it like this:
absl::FlagsUsageConfig config;
config.version_string  = version { return "1"; };
config.contains_helppackage_flags = { return false; };
config.contains_helpshort_flags   =  { return false; };
config.contains_help_flags        = [](absl::string_view f) { return absl::EndsWith(f, "configuration.cpp"); };
absl::SetFlagsUsageConfig(config);
will show only flag defined in my configuration.cpp file.
thanks

Did you try running your program with --help instead of --helpfull?


What is it

I randomly found your ID on open source code for keychain authorization for user
Through cash app open source tab .
Are the developer or code writer for that
In which iOS uses for also ?
Thank you .

From: Kishikawa Katsumi @.>
Sent: Monday, April 25, 2022 9:13 PM
To: kishikawakatsumi/SourceKitForSafari @.>
Cc: mr-foster @.>; Author @.>
Subject: Re: [kishikawakatsumi/SourceKitForSafari] What is it (Issue #56)
Closed #56https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fkishikawakatsumi%2FSourceKitForSafari%2Fissues%2F56&data=05|01||d1ac2f9c9a8e4359b0ca08da272a68f2|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637865360351848818|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=l5Px2ADxdtTO1LIa2ygLQmYnkinWcxt8W70zPxSfT1k%3D&reserved=0.
—
Reply to this email directly, view it on GitHubhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fkishikawakatsumi%2FSourceKitForSafari%2Fissues%2F56%23event-6494822076&data=05|01||d1ac2f9c9a8e4359b0ca08da272a68f2|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637865360351848818|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=edD9KATNGiX1b9atqk%2BLMw7jrR4aTv%2Br6n0INDHCv3M%3D&reserved=0, or unsubscribehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FANSIUXQDSQ6GOMZS2Y65QHLVG5GOBANCNFSM5UKI6J6Q&data=05|01||d1ac2f9c9a8e4359b0ca08da272a68f2|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637865360351848818|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=xPveia7LRrVzO14mDW%2BxYS%2Fk9EqpyaLbvdKZQ4I6Ecc%3D&reserved=0.
You are receiving this because you authored the thread.Message ID: @.***>


CI updates: add Python 3.10 and drop Python 3.8 support

Issue
For efficiency and using more new built-in libraries, we can consider dropping Python 3.8 support now.

Note that it may affect the eth2spec Python package users if we drop Python 3.8 support in the package setting and start to write Python 3.9-new code.

I'm also preparing an update on future python versions https://github.com/ChihChengLiang/milagro_bls_binding/issues/34

When we move from 3.8 to 3.10, we should build test vectors with both and ensure they have the same output

@hwwhww @protolambda I have the milagro_bls_binding 1.8.0 ready. It works with my macos/M1/python3.10 setting.


issue

cnet.com currently not working, ISTM:
$ youtube-dl 'http://www.cnet.com/products/samsung-un50hu8550/2/' -v
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'http://www.cnet.com/products/samsung-un50hu8550/2/', u'-v']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.03.28
[debug] Python version 2.7.9 - Linux-3.16.0-4-amd64-x86_64-with-debian-8.0
[debug] exe versions: rtmpdump 2.4
[debug] Proxy map: {}
[generic] 2: Requesting header
WARNING: Falling back on generic information extractor.
[generic] 2: Downloading webpage
[generic] 2: Extracting information
ERROR: Unsupported URL: http://www.cnet.com/products/samsung-un50hu8550/2/
Traceback (most recent call last):
File "/home/justa/bin/youtube-dl/youtube_dl/extractor/generic.py", line 825, in _real_extract
doc = parse_xml(webpage)
File "/home/justa/bin/youtube-dl/youtube_dl/utils.py", line 1528, in parse_xml
tree = xml.etree.ElementTree.XML(s.encode('utf-8'), **kwargs)
File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1300, in XML
parser.feed(text)
File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1642, in feed
self._raiseerror(v)
File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1506, in _raiseerror
raise err
ParseError: not well-formed (invalid token): line 28, column 570
Traceback (most recent call last):
File "/home/justa/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 651, in extract_info
ie_result = ie.extract(url)
File "/home/justa/bin/youtube-dl/youtube_dl/extractor/common.py", line 275, in extract
return self._real_extract(url)
File "/home/justa/bin/youtube-dl/youtube_dl/extractor/generic.py", line 1313, in _real_extract
raise UnsupportedError(url)
UnsupportedError: Unsupported URL: http://www.cnet.com/products/samsung-un50hu8550/2/

Can't see a button to reopen an issue - are we supposed to create a new issue, or just comment on an issue like this? What about changing the subject, eg, in this case, to say "cnet.com site support request"?
debian.org website provides for logged in users to do these types of janitorial tasks, but I can't see how to do those two tasks here.

@zenaan open a new issue. We currently only support urls like http://www.cnet.com/videos/hands-on-with-microsofts-windows-8-1-update/.


Dev: Load map from browser console

For debugging reasons etc. it would be helpful to have console commands like loading a level.

consoleCommands introduced;
loadMap, enableCheats("k" for kill), teleport, getPosition, noDamage


Default parameters not working with Azure CLI Task V2.0

Type: Bug
Enter Task Name: AzureCLI@2
https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/AzureCLIV2
Environment

Server - Azure Pipelines

If using Azure Pipelines, provide the account name, team project name, build definition name/build number: account name is Advicent

Agent - Hosted

vs2017-win2016 from Azure Pipelines

Issue Description
I'm trying to use the AzureCLI@2 task on a hosted vs2017-win2016 agent to call a PowerShell script via a path, not inline, but I'm having a problem with it honoring the script's default parameter values.
I think a small example illustrates the problem best.
Given the script test.ps1
param(
  [Parameter(Mandatory = $false)][String]$resourceGroupName = "test-rg",
  [Parameter(Mandatory = $false)][String]$location = "centralus"
)

Write-Output "`nPSBoundParameters.Count"
$PSBoundParameters.Count | Format-Table

Write-Output "`nPSBoundParameters"
$PSBoundParameters | Format-Table

Write-Host "`nresourceGroupName..."
Write-Host $resourceGroupName | Format-Table

Write-Host "Parameters: location..."
Write-Host $location | Format-Table

and the azure-pipeline.yml
trigger: none

variables:
  subscription: 'yourSubscriptionHere'

stages:
- stage:  infrastructure
  jobs:
  - job: build_infrastructure
    pool:
      vmImage: 'vs2017-win2016'
    steps:
    - task: AzureCLI@2
      displayName: 'Azure CLI script with arguments'
      inputs:
        azureSubscription: $(subscription)
        scriptType: 'ps'
        scriptLocation: scriptPath
        scriptPath: ./deploy.ps1
        scriptArguments: '-resourceGroupName test-rg -location centralus'

    - task: AzureCLI@2
      displayName: 'Azure CLI script without arguments'
      inputs:
        azureSubscription: $(subscription)
        scriptType: 'ps'
        scriptLocation: scriptPath
        scriptPath: ./deploy.ps1

I would expect both tasks to output the same thing. Something like...
PSBoundParameters.Count
2

PSBoundParameters

Key               Value
---               -----
resourceGroupName test-rg
location          centralus

resourceGroupName...
test-rg
Parameters: location...
centralus

But I only get that output on the task when I explicitly supply it with parameters from the pipeline yaml. If I omit them and try let the script use it's defaults I get the following output
PSBoundParameters.Count
1

PSBoundParameters

Key               Value
---               -----
resourceGroupName null

resourceGroupName...
null
Parameters: location...
centralus

Which is weird because 1) PSBoundParameters only seems aware of one parameter and 2) that's the parameter that's null and the other prints fine. I also noticed this behavior is completely dependent on the order in which you specify the parameters.
I have tried both script types ps & pscore
I have also tried this same problem with a normal PowerShell task, things behave as expected here.

@jalajmsft Can you take a look at this ?

@winstonhenke Thanks for reporting this issue ! We have identified a bug and will be rolling out the fix soon. The issue is when arguments is not passed, the script gets called with arguments value as null which is why first parameter will be affected and assigned value null.
While the fix gets rolled out, you can unblock yourself by modifying the script and setting the default value for first parameter explicitly when argument is null.

@winstonhenke The fix will be available with version 2.0.2 within few days. Please feel to reopen this issue if problem persists.


Adds nativeEvent parameter to onEndEditing in TextInput

TextInput.onEndEditing in react-native sends a native event containing the text and the id of the target.
This PR adds a binding for it.
Android source:
https://github.com/facebook/react-native/blob/master/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEndEditingEvent.java#L47-L51
iOS source:
iOS event: https://github.com/facebook/react-native/blob/1151c096dab17e5d9a6ac05b61aacecd4305f3db/React/Base/RCTEventDispatcher.m#L111-L118
Event is sent here without a key and with the current text
https://github.com/facebook/react-native/blob/master/Libraries/Text/TextInput/RCTBaseTextInputView.m#L251-L256

Updated this branch to make the tests run once again. Thank you for this contribution, we will try to ship it soon!


Inquiry Regarding vLLM Support for Mac Metal API

Dear vLLM Maintainers,
I hope this message finds you well. I am reaching out to inquire about the potential for integrating Mac Metal API support within the vLLM framework. As an avid user and advocate for vLLM's capabilities, I have been thoroughly impressed with its performance and flexibility across various platforms and hardware configurations.
Given the increasing prevalence of Mac devices in the machine learning community and the performance benefits offered by Apple's Metal API for GPU-accelerated computing, I am curious to know if there are any plans to extend vLLM's compatibility to include Metal support. This would undoubtedly be a significant boon for researchers and developers working on Mac environments who wish to leverage vLLM's impressive suite of features.
Could you please shed some light on the following aspects:

Are there any ongoing efforts or discussions around incorporating Metal API support into vLLM?
If such plans are in the pipeline, what is the anticipated timeline for the availability of this feature?
How might the community contribute to expediting this process, and are there specific areas where contributions are most needed?

I understand that integrating a new backend such as Metal may present a variety of challenges, but I believe the potential benefits to the user community could be substantial. I am keen to offer my assistance, whether it be through testing, development, or documentation, to help bring this capability to fruition.
Thank you for your time and consideration. I eagerly await your response and am excited about the prospect of further enhancing vLLM's accessibility and performance on Mac platforms.
Best regards,
yihong1120

Torch has officially supports Metal for a while now. Would adding support in vLLM be as simple as removing changing device="cuda" to "mps" on Macs? Are there any other dependencies on CUDA?

Anyone? I'd be happy to do this - just don't want to spend hours down a dead-end.

I'd like to see this work as well, lots of Metal out there

same here please

Wish it could be implemented🥺

My offer still stands if someone on the project can answer the above questions.

@pathorn says they have an implementation that runs on M3 chips in https://github.com/vllm-project/vllm/issues/176#issuecomment-2023827553
Do you think it could be adapted to the new CPU backend that was added in #3634?

@pathorn says they have an implementation that runs on M3 chips in #176 (comment)
Do you think it could be adapted to the new CPU backend that was added in #3634?

FYI for anyone who wants to see that PR: https://github.com/vllm-project/vllm/pull/2244#issuecomment-1868419884. @pathorn did some tremendous work on the PR. However, llama.cpp still performs faster - by a mile. This may not be a fruitful endeavour after all.

Closing because other projects such as llama.cpp are more appropriate for running LLMs on Apple silicon.

Closing because other projects such as llama.cpp are more appropriate for running LLMs on Apple silicon.

I agree it makes sense, but I would not be super concerned by the performance. I have a M3 Mac provided by my company and the development loop is really slow when it comes to vLLM. Despite suboptimal, I'd love to just be able to run [uv] pip install vLLM and be free to experiment locally, then push to prod.

Also want to +1 this idea, it would be much cheaper to buy a 192GB Apple Silicon machine to run full Mixtral 8x7B than shelling out the money for an NVIDIA rig with equivalent memory.


Update Links “tiktok-33”

Automatically generated by Netlify CMS

👷 Deploy Preview for distracted-hoover-7b89cc processing.
🔨 Explore the source changes: 3bfba93b154cbb0ff1df298c019c7d8b7e91248c
🔍 Inspect the deploy log: https://app.netlify.com/sites/distracted-hoover-7b89cc/deploys/614bbb2712300400075e5c02


Disable Commit trigger for certain Jenkins precommit

Please add a meaningful description for your change here
Commit trigger for the following precommit are disabled, as same GitHub Action workflows are running

Name
Jenkins status
GitHub Action status

PreCommit_PythonDocs

PreCommit_PythonLint

PreCommit_RAT

PreCommit_Spotless

PreCommit_Website

PreCommit_Website_Stage_GCS

PreCommit_Whitespace

cron jobs and phrase trigger are unaffected

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

Run seed job

Found the phrase trigger does not work well. There are at least following problem

Another comment, regardless what content it is, will cancel the ongoing phrase triggered run for another job

If not triggered by commit, phrase triggered job won't update its status to the PR

Run Whitespace PreCommit

Run PythonDocs PreCommit

whitespace precommit is cancelled https://github.com/apache/beam/actions/runs/6090179476/job/16524631139

python doc precommit will be the same once this comment sent out https://github.com/apache/beam/actions/runs/6090182277/job/16524662987

If not triggered by commit, phrase triggered job won't update its status to the PR

This is probably not an issue for this set of jobs.

Another comment, regardless what content it is, will cancel the ongoing phrase triggered run for another job

I think blocking this pr on this probably makes sense

Run RAT PreCommit

irrelevant comment

Run PythonDocs PreCommit

Run Whitespace PreCommit


Create loyalistcollege.txt

Adding one of the Loyalist College's domains. Many of the students and staff are still using<EMAIL_ADDRESS>but we also have<EMAIL_ADDRESS>which I also added

@heatherAtLoyalist Pull request merged. Thank you!


Support messages with newlines

It seems the FluidLogRender doesn't work well with messages containing newlines:
import logging
from enrich.logging import RichHandler

logging.basicConfig(level="INFO", handlers=[RichHandler()])

log = logging.getLogger("rich")
log.info("Text that we\ndo not want\npre-wrapped by logger: %s", 100 * "x")

PR to fix is welcomed.

Now that I read the bug again I realise that I should close this as won'tfix, mainly because you cannot have both fluid newlines and reindentation of newlines.
If you log anything with newlines, you should know well that only the first line will container the prefix columns. That is true even for other loggers, not a bug of this library.


Yellow tilesshowing on map

Hi,
I tested osmdroid mapforge map on one plus 6(android pie) phone. While loading the map  yellow tiles occured. kindly tell how to solve this . But i tested on android 8.1 and below Osmdroid map is working perfectly.

Hi, i updated the dependency now works fine thank u


【Openatom Foundation Game】Automated Dubbo framework and protocol performance benchmark Benchmark mechanism and platform

What is the purpose of the change
Openatom 基金会比赛（自动化benchmark）的代码实现。
Code implementation of Openatom Foundation Game.
link: game
Brief changelog
交付产物：
● Dubbo主仓库的workflow配置文件。
● Dubbo-sample的benchmark工程代码和场景构建器相关代码。#https://github.com/apache/dubbo-samples/pull/1126
● Dubbo-benchmark作为Result持久化仓库，包含数据转换代码和workflow配置文件。#https://github.com/apache/dubbo-benchmark/pull/47
● Dubbo-website作为前端可视化仓库
Dubbo主仓库依赖Dubbo-sample和Dubbo-benchmark先merge，否则CI失败。
Dubbo-website依赖Dubbo-benchmark的数据源。

Deliver product
● Workflow configuration file of Dubbo main warehouse.
● Dubbo-sample’s benchmark project code and scene builder related code.
● Dubbo-benchmark serves as a Result persistence warehouse, including data conversion code and workflow configuration files.
● Dubbo-website as a front-end visual warehouse
Dubbo main warehouse relies on Dubbo-sample and Dubbo-benchmark to be merged first, otherwise CI will fail.
Dubbo-website relies on the data source of Dubbo-benchmark.

● Dubbo-website作为前端可视化仓库

https://github.com/apache/dubbo-website/pull/2951#issue-2225582948

● Dubbo-website作为前端可视化仓库

apache/dubbo-website#2951 (comment)

web-site合并前可参考  https://dyjjack.github.io/jmh_result/

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

Project coverage is 38.54%. Comparing base (a12975a) to head (a2db9a0).

Additional details and impacted files
@@            Coverage Diff             @@
##              3.3   #14031      +/-   ##
==========================================
- Coverage   38.55%   38.54%   -0.01%
==========================================
  Files        1895     1895
  Lines       79272    79272
  Branches    11528    11528
==========================================
- Hits        30560    30553       -7
- Misses      44439    44440       +1
- Partials     4273     4279       +6

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


Fix bugs and add missing properties in sagemaker

Fix breaking bugs in sagemaker, add missing properties.

Fixes #1213 #1191

@markpeek Please check this, Sagemaker currently broken

Thanks!


CT Image GPU renderer adds lot of white noise

Hi,
For our custom DICOM viewer we use following libs:
"@cornerstonejs/core": "^0.16.3",
<EMAIL_ADDRESS>"24.18.7",
"wslink": "^1.8.2",
"gl-matrix": "^3.4.3”,
"cornerstone-wado-image-loader": "^4.2.1"

Unexpetedly cornerstone adds a lot of white to images while rendering (except first image in series):
https://user-images.githubusercontent.com/14867014/192189820-f2121204-16e2-46d6-aac9-f1b9c6cae864.mov
But if you're setting CPU render only - this "white" effect dissappears
cornerstone.setUseCPURendering(true)

https://user-images.githubusercontent.com/14867014/192190164-878fa145-f29c-4782-9235-47687f553efd.mov
What may cause that?
regards,
--leo

@toropok This might have been fixed by 0.16.8

@md-prog Thanks! will try it asap

@toropok This might have been fixed by 0.16.8

unfortunately it doesn't help

@toropok  Indeed, it's unfortunate. It resolved mine.

I am having the same issue and could provide an anonymized study that reproduces it. I think it has to do with the way the windowing values are used but unsure. I tried the CPU rendering and the images will render correctly (but breaks some other things so I would like to stick to GPU rendering).
The odd thing is that when I load only 1 canvas, I am able to scroll through the images and it gets rendered correctly.

NOTE: The thumbnails are bitmaps so they are not cornerstone canvases.
As soon as another canvas comes in play, it will become white like this:

The cached images (when it was only 1 canvas active and I scrolled through few images)  are actually loading fine and only the newly rendered images become white:

It really feels like one of the group 28 attributes is causing this issue and only for GPU rendering.
Hope this can be fixed.

can you try again now, I moved the canvas rendering to gpu

For me, two issues were causing problems with window levels. I will file them separately, but for future reference I'll put a summary here:

As @sedghi suggested in #832, while loading the image using cornerstoneDICOMImageLoader.wadouri.loadImage(), I had to pass preScale: { enabled: true }
Also, in a test case, I found out that the window level breaks when I call cornerstoneDICOMImageLoader.webWorkerManager.initialize() during initialization, and not when I don't. Here's my exact call causing issues:

  cornerstoneDICOMImageLoader.webWorkerManager.initialize({
    maxWebWorkers: concurrency,
    startWebWorkersOnDemand: true,
    taskConfiguration: {
      decodeTask: {
        initializeCodecsOnStartup: false,
      },
    },
  });

Commenting this out solves the issue, I'll file an issue for this as soon as I'm further in my investigation.

Could you kindly provide the data if it has been anonymized and you can confirm that there is no patient health information present in any of the headers or embedded within the pixel data?

The issues is occurring from me as well.
Hope to fix this issue asap.

Could you kindly provide the data if it has been anonymized and you can confirm that there is no patient health information present in any of the headers or embedded within the pixel data?

Uploading AI_ABC.zip…
I've used these files.

https://drive.google.com/file/d/1XdpbPhwQQH3_3QiKiVmZ_QevRK2ECyFO/view?usp=sharing

Any solution for this will be appreciated!

I've filed #887 and #888 as possible root causes for this issue, including reproduction cases and a workaround.

use cpu render
private _resizeUsingCustomResizeHandler(
customRenderingViewports: StackViewport[],
keepCamera = true,
immediate = true
) {
// 1. If viewport has a custom resize method, call it here.
...
// 3. Reset viewport cameras
customRenderingViewports.forEach((vp) => {
const prevCamera = vp.getCamera();
vp.resetCamera();
  if (keepCamera) {
    vp.setCamera(prevCamera);
  }
});

// 2. If render is immediate: Render all
if (immediate === true) {
  this.render();
}

}
private getCameraCPU(): Partial {
const { metadata, viewport } = this._cpuFallbackEnabledElement;
const { direction } = metadata;
...
}
there is an error: Cannot read properties of undefined (reading 'direction')

use cpu render. Enums.Events.VOI_MODIFIED Will not trigger the first time

Can you check the latest OHIF viewer, which now includes Cornerstone 3D 2.0?
Here are the migration guides:
Try OHIF locally: https://viewer-dev.ohif.org/localbasicTry Cornerstone3D 2.0 locally: https://www.cornerstonejs.org/live-examples/local.html
https://docs.ohif.org/migration-guide/3p8-to-3p9/

Any update here?


Right-align tick text in axisRight() ?

Is there a way to right-align the tick text when creating a right axis via axisRight()?
I'm currently rendering a right axis on my graph like so:
  root
    .attr("class", "y gap-axis")
    .attr("margin-top", margin.top)
    .attr("transform", `translate(${width})`)
    .call(
      d3.axisRight(barYScale)
        .tickPadding(-1),
    );
}

and I get results like so:

but I want the numbers to be right-aligned.

You can use d3.axisLeft if you want right-aligned ticks. Sometimes I use an axisRight on the left side of the plot, as in this contour plot example.
Alternatively, you can select the elements generated by the axis and modify them however you like, as in the styled axes example.


lxd/instance/lxc: Add extra check for devpts_fd

Don't attempt to call the function if we don't have the runtime extension.
Closes #8159
Signed-off-by: Stéphane Graber<EMAIL_ADDRESS>

@tomponline @brauner should be good to go


[PA1] Cyclic Dependency

How to avoid cyclic dependency?

From what I understand,

All Term are able to execute .snd(Host) which returns a Host
Only Host that have received the .snd(Host) signal are able to execute .rcv() which returns a Term
Only Term that have received the .snd(Host).rcv() signal are able to execute .ack() which returns a Host

My train of thought is,
Term.snd(Host) returns a Host --> Term.snd(Host) is a Host --> Term is dependent on Host
Term.snd(Host).rcv() returns a Term --> since Term.snd(Host) is a Host --> Term.snd(Host).rcv() returns a Term can be simplistically understood as Host.rcv() returns a Term --> Host.rcv() is a Term --> Host is dependent on Term
Term is dependent on Host && Host is dependent on Term --> cyclic dependency exists

I initially faced this issue, but I think by reading between the lines the question implicitly asks you to return a type of Host instead of the Host itself. However, I do agree that slightly more information could have been provided in this respect to not confusion regarding this during the PA :(

I also faced this issue when submitting to codecrunch. I managed to resolve it by only passing whatever information is required to the new Host instead of passing the whole Host object. Not sure if it helps but it became clearer to me where the cyclic dependency problem arises when I did a rough sketch of the reference pointers.

As @zhanyi3 said earlier the best way to figure out where the circular dependencies are originating from is to draw a sketch of all ur classes and their relation to each other (eg A points to B if it depends on B etc and usually depending means like inheriting from B or like it creates/involves B in its code or something) then from there you can figure out how to change your classes to prevent the circular dependency

Yes I agree from the above comments, it helped me when I draw out all the possible classes. Also, the error message given in code crunch showed me where the cyclicity was, and thus I managed to eliminate those using the error message! hope this helps

Hi, to add on:
For my "rcv" instance of a pager, I had it inherit from Term instead of Pager to avoid cyclic dependency. Hope this helps someone

Initially I also got cyclic dependency because 1. I did not return specific type which is subclass of Host (it should not be like "Host rcv()"), and 2. I used attirbutes which are not Term and Host (abstract class does not raise cyclic dependency error if you are using it as an attribute), which are quite implicit in this question. Check them in order to avoid cyclic dependency.


Wrong color when picking from left bottom

Thanks for this component.
I found out that the area from 5 o'clock to 9 o'clock always returns something red in console.
BTW I am using tinycolor to convert the hsv to hex. But I don't think that's related in some ways.

I'd really appreciate if you could attach a screenshot with some log, so I can appreciate which is your exact case.
We are using https://github.com/netbeast/colorsys to convert colors back and forward.
Highly saturated colors (whites) can be translated to red in some scenarios, since they lose their color information in (white in rgb is {255,255,255} but in hsv, hue is an independent variable, so its info is kept safe).
Don't know if that's the case of tinycolor, in colorsys there it is a test implementation:
https://github.com/netbeast/colorsys/blob/master/test/test.js#L39-L47

Thanks for your quick reply @jsdario
Actually I just found the reason and fixed it like this:
When dragging in that area, for instance at 7 o'clock blue color, picker returns a value like so:
{ h: -134.48844413341297, s: 87.99901795187165, v: 100 }

The correct range for h is [0, 360], so obviously tinycolor converting to hex will return some other colors like red (I was just logging the final result at the beginning).
All I did is a small check:
selected(color) {
  if (color.h < 0) {
    color.h = color.h + 360;
  }
  // do whatever I want with color
}

That's it. Hopefully it would be helpful for anyone else who is using this component.

Oh I see! Since I am collaborator here and in colorsys I considered hue as any possible valid angle in degrees.
Thanks a lot for your contribution! Will close the issue with a solved tag :)


Can't place orders with the minumum amount

I cannot place an order with the minimum order size (0.05 ETH) even though I have the correct quantity available.
As you can see in the image below:

Oh, I see it's just a matter of decimal places. Don't worry.


ON-15024: Add Onload diagnostics container

Package Onload troubleshooting utilities in the new "onload-debug" image. Containers based on that image must be privileged to access devfs files in the nodes needed for "onload_stackdump" and others to gather data.

onload_tcpdump uses tcpdump, hence all this hassle.

As suggested by @tcrawley-xilinx offline, renamed onload-debug to onload-diagnostics to disambiguate the new troubleshooting image with the build types (e.g. debug/release).


[Feature][Future] WinUI: InfoBar control

Description

InfoBar is currently moving towards preview as indicated by this PR.
How will this benefit you and others?

This will make it easier to deal with the PagerControl in testing.

Added this new control element wrapper and tests as a part of recent changes

Awesome, thank you for this update @jamesmcroft !


[ENG-53] Adding ampersand sanitation to the components modal dialog

Purpose
Additional sanitation for &. This time in the components modal dialog

Changes
Added sanitation to the title line in website/project/views/node.py

QA Notes

Documentation

Side Effects

Ticket

https://openscience.atlassian.net/browse/ENG-53
*See comments for specific change

👌


Segmentation fault in Aws::S3Crt::S3CrtClient::UploadPartCallable

Confirm by changing [ ] to [x] below to ensure that it's a bug:

[ x] I've gone though Developer Guide and API reference
[ x] I've searched for previous similar issues and didn't find any solution

Describe the bug
A clear and concise description of what the bug is.
Attempting to do a multipart upload using the new S3Crt client. I started with a working version of code using the S3 client. When the code executes Aws::S3Crt::S3CrtClient::UploadPartCallable, I get a segmentation fault.
Address sanitizer indicates an attempt to read from memory address which points to the zero page:
==11503==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x0000005888f3 bp 0x60300023b7b0 sp 0x7fff12af8210 T0)
==11503==The signal is caused by a READ memory access.
==11503==Hint: address points to the zero page.
#0 0x5888f3 in Aws::S3Crt::S3CrtClient::UploadPartCallable(Aws::S3Crt::Model::UploadPartRequest const&) const (.../Linux/test2+0x5888f3)
#1 0x4ddf5b in main /.../aws-multipart-upload-new/main.cpp:176
#2 0x7feaa9037544 in __libc_start_main (/lib64/libc.so.6+0x22544)
#3 0x410241  (.../Linux/test2+0x410241)
I would be very grateful for any help.
John
SDK version number
1.9.23
Platform/OS/Hardware/Device
What are you running the sdk on?
Red Hat Enterprise Linux Server release 7.5 (Maipo)
gcc version 11.1.0 (GCC)
To Reproduce (observed behavior)
Steps to reproduce the behavior (please share code)
int main ()
{
int i = 0;
int j = 0;
int position1 = 0;
int position2 = 0;
int partNumber = 0;
int outputBufferLength = 1024 * 1024 * 20;
unsigned long int contentLength = 0;
const unsigned long int fixedPartSize = 1024 * 1024 * 8;
int bytesRead = 0;
const double throughput_target_gbps = 5;
Aws::Utils::Logging::InitializeAWSLogging(
Aws::MakeSharedAws::Utils::Logging::DefaultLogSystem(
"RunUnitTests", Aws::Utils::Logging::LogLevel::Trace, "aws_sdk_"));
std::string inputFile = "/brixhome/brixton/pdmbuild/jparkeTest/books/43254.txt";
std::ifstream infile(inputFile.c_str(), std::ios::binary);
char outputBuffer = (char) malloc(outputBufferLength);
const Aws::String bucket_name = "test-cse-0cc24cfe-";
const Aws::String object_name = "test-file2.txt";
const std::string object_content = "text content.";
const Aws::String region = "us-east-1";
std::string bucket = bucket_name;
std::string key = object_name;
Aws::SDKOptions options;
Aws::InitAPI(options);
{
  Aws::S3Crt::ClientConfiguration clientConfiguration;
  clientConfiguration.region = region;
  clientConfiguration.throughputTargetGbps = throughput_target_gbps;
  clientConfiguration.partSize = fixedPartSize;
  Aws::S3Crt::S3CrtClient s3_client;

  Aws::S3Crt::Model::CreateMultipartUploadRequest multipartUploadRequest;
  multipartUploadRequest.SetBucket(bucket.c_str());
  multipartUploadRequest.SetKey(key.c_str());

  auto multipartUploadOutcome = s3_client.CreateMultipartUpload(multipartUploadRequest);
  std::string upload_id = multipartUploadOutcome.GetResult().GetUploadId();

  std::cout << "multipart upload id is:" << upload_id << std::endl;

  Aws::S3Crt::Model::UploadPartRequest uploadPartRequest;
  uploadPartRequest.SetBucket(bucket.c_str());
  uploadPartRequest.SetKey(key.c_str());

  auto stream_ptr =
     Aws::MakeShared<Aws::StringStream>("PutObjectInputStream",
     std::stringstream::in | std::stringstream::out | std::stringstream::binary);

  Aws::S3Crt::Model::CompleteMultipartUploadRequest completeMultipartUploadRequest;
  Aws::S3Crt::Model::CompletedMultipartUpload completedMultipartUpload;

  //**************************
  // Set Content Length
  //**************************

  infile.read(outputBuffer, fixedPartSize);
  bytesRead = infile.gcount();
  std::cout << "read(" << bytesRead << ")" << std::endl;

  stream_ptr->write(reinterpret_cast<char*> (outputBuffer), bytesRead);

  uploadPartRequest.SetUploadId(upload_id.c_str());

  Aws::Utils::ByteBuffer part_md5(Aws::Utils::HashingUtils::CalculateMD5(*stream_ptr));
  uploadPartRequest.SetContentMD5(Aws::Utils::HashingUtils::Base64Encode(part_md5));

  uploadPartRequest.SetBody(stream_ptr);

  auto start_pos = stream_ptr->tellg();

  stream_ptr->seekg(0LL, stream_ptr->end);

  partNumber ++;
  contentLength = static_cast<long> (stream_ptr->tellg());

  std::cout << "tellg (" << static_cast<long> (stream_ptr->tellg()) << ")" << std::endl;
  std::cout << "start position (" << start_pos << ")" << std::endl;
  std::cout << "part Number (" << partNumber << ")" << std::endl;
  std::cout << "content length set to(" << contentLength << ")" << std::endl;

  uploadPartRequest.SetContentLength(contentLength);
  uploadPartRequest.SetPartNumber(partNumber);
  stream_ptr->seekg(start_pos);

  std::cout << "upload id(" <<  uploadPartRequest.GetUploadId () << ")" << std::endl;

SEGV ===>    auto uploadPartOutcomeCallable = s3_client.UploadPartCallable(uploadPartRequest);
  //**************************
  // finish upload
  //**************************

  completeMultipartUploadRequest.SetBucket(bucket.c_str());
  completeMultipartUploadRequest.SetKey(key.c_str());
  completeMultipartUploadRequest.SetUploadId(upload_id.c_str());

  Aws::S3Crt::Model::UploadPartOutcome uploadPartOutcome = uploadPartOutcomeCallable.get();
  Aws::S3Crt::Model::CompletedPart completedPart;

  completedPart.SetPartNumber(partNumber);
  Aws::S3Crt::Model::UploadPartResult uploadPartResult = uploadPartOutcome.GetResult();
  auto etag = uploadPartOutcome.GetResult().GetETag();
  Aws::S3Crt::Model::UploadPartOutcome response = s3_client.UploadPart(uploadPartRequest);

  completedPart.SetETag(etag);
  completedMultipartUpload.AddParts(completedPart);

  /*
   * Complete the Multipart Upload
   *
   */
  completeMultipartUploadRequest.WithMultipartUpload(completedMultipartUpload);

  auto completeMultipartUploadOutcome = s3_client.CompleteMultipartUpload(completeMultipartUploadRequest);

  if (!completeMultipartUploadOutcome.IsSuccess())
  {
     auto error = completeMultipartUploadOutcome.GetError();
     std::cout << error << error.GetExceptionName() << ": " << error.GetMessage() << std::endl;

  }

}
Aws::Utils::Logging::ShutdownAWSLogging();
Aws::ShutdownAPI(options);
Expected behavior
A clear and concise description of what you expected to happen.
File should upload.
aws_sdk_2021-05-21-13.log
asan.log.11503.log
Logs/output
If applicable, add logs or error output.
Program output:
multipart upload id is:fk95A9gWIUaO7KPwA462BgBBZjp8Bcq..Q4qxIO8IWbOZBkcsxQtQbWnQ_0c8zXQ0EeXWrqCQ8ESY3lS197dR4PT9.F2mdsHsmnVACv9Kxk32Y53Nmjfy8tlpDWgSNEI
read(1178782)
tellg (1178782)
start position (0)
part Number (1)
content length set to(1178782)
upload id(fk95A9gWIUaO7KPwA462BgBBZjp8Bcq..Q4qxIO8IWbOZBkcsxQtQbWnQ_0c8zXQ0EeXWrqCQ8ESY3lS197dR4PT9.F2mdsHsmnVACv9Kxk32Y53Nmjfy8tlpDWgSNEI)
AddressSanitizer:DEADLYSIGNAL
Aborted
To enable logging, set the following system properties:
REMEMBER TO SANITIZE YOUR PERSONAL INFO
options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace;
Aws::InitAPI(options)

Additional context
Add any other context about the problem here.
gdb output:
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00000000004aa783 in Aws::S3Crt::S3CrtClient::UploadPartCallable(Aws::S3Crt::Model::UploadPartRequest const&) const ()
[Current thread is 1 (Thread 0x7f4cc995f800 (LWP 10892))]
(gdb) where
#0  0x00000000004aa783 in Aws::S3Crt::S3CrtClient::UploadPartCallable(Aws::S3Crt::Model::UploadPartRequest const&) const ()
#1  0x000000000040da87 in main () at main.cpp:176

Additional information on code where crash occurs:
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00000000004c17c0 in Aws::Utils::Threading::Executor::Submit<Aws::S3Crt::S3CrtClient::UploadPartCallable(const Aws::S3Crt::Model::UploadPartRequest&) const::<lambda()>&>(struct {...} &) (this=0x0, fn=...)
at /usr/aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/utils/threading/Executor.h:42
42                          return SubmitToThread(std::move(callable));
[Current thread is 1 (Thread 0x7fe61f705800 (LWP 30129))]
(gdb) where
#0  0x00000000004c17c0 in Aws::Utils::Threading::Executor::Submit<Aws::S3Crt::S3CrtClient::UploadPartCallable(const
this value of 0x0 ==>Aws::S3Crt::Model::UploadPartRequest&) const::<lambda()>&>(struct {...} &) (this=0x0, fn=...)
at /usr/aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/utils/threading/Executor.h:42
#1  0x0000000000444cfb in Aws::S3Crt::S3CrtClient::UploadPartCallable (this=0x7ffe6927e990, request=...)
at /usr/aws-sdk-cpp/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp:4071
#2  0x000000000040cef7 in main () at main.cpp:176
4068    {
4069      auto task = Aws::MakeShared< std::packaged_task< UploadPartOutcome() > >(ALLOCATION_TAG, this, request{ return this->UploadPart(request); } );
4070      auto packagedFunction = task { (*task)(); };
SEGV here ==>4071      m_executor->Submit(packagedFunction);
4072      return task->get_future();
4073    }
           * Send function and its arguments to the SubmitToThread function.
             */
            template<class Fn, class ... Args>
            bool Submit(Fn&& fn, Args&& ... args)
            {
                std::function<void()> callable{ std::bind(std::forward<Fn>(fn), std::forward<Args>(args)...) };
          ==>      return SubmitToThread(std::move(callable));
            }

Hi @Johnparke888 ,
Alright, thanks for bringing this up to us. I'll see if I can figure out what's going on... But in the mean time, do you get the same error if you try using the transfer manager or the s3 client (instead of the s3crt) ?

I get the same error if I use the S3 client instead of S3Crt. I don’t use the transfer manager.
I have dropped back to 1.8 in the meantime.
Appreciate your help.
John
From: Gilberto Lopez Zayas @.>
Sent: Monday, May 24, 2021 1:33 PM
To: aws/aws-sdk-cpp @.>
Cc: Johnparke888 @.>; Mention @.>
Subject: Re: [aws/aws-sdk-cpp] Segmentation fault in Aws::S3Crt::S3CrtClient::UploadPartCallable (#1654)
Hi @Johnparke888 https://github.com/Johnparke888  ,
Alright, thanks for bringing this up to us. I'll see if I can figure out what's going on... But in the mean time, do you get the same error if you try using the transfer manager or the s3 client (instead of the s3crt) ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/aws/aws-sdk-cpp/issues/1654#issuecomment-847214231 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ATX7IAFJE4L5ZSWXTPOYYK3TPKEWTANCNFSM45JJMJXA .  https://github.com/notifications/beacon/ATX7IAAMCISP6ECO4M4USZTTPKEWTA5CNFSM45JJMJXKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOGJ7XNFY.gif

@Johnparke888 ,
Wait so then the error doesn't happen on 1.8? With the same code?
Also I should mention, when using the S3Crt client, it is recommended that you use only the Get and Upload functions, it will do multipart if needed on the background for you, dunno if this helps in your case since the s3 client still gives you the error, but yea thought I'd mention in case you want to try that.

That’s right. The 1.8 code doesn’t get the segmentation fault.
I thought from reading the docs that, in 1.9, the Upload would do multipart if needed as you said.
Does it do this for a stream buffer, or does it have to be from a source file?
If I can do it from a stream than I could use 1.9.
Thanks again,
John
From: Gilberto Lopez Zayas @.>
Sent: Monday, May 24, 2021 4:35 PM
To: aws/aws-sdk-cpp @.>
Cc: Johnparke888 @.>; Mention @.>
Subject: Re: [aws/aws-sdk-cpp] Segmentation fault in Aws::S3Crt::S3CrtClient::UploadPartCallable (#1654)
@Johnparke888 https://github.com/Johnparke888  ,
Wait so then the error doesn't happen on 1.8? With the same code?
Also I should mention, when using the S3Crt client, it is recommended that you use only the Get and Upload functions, it will do multipart if needed on the background for you, dunno if this helps in your case since the s3 client still gives you the error, but yea thought I'd mention in case you want to try that.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/aws/aws-sdk-cpp/issues/1654#issuecomment-847316991 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ATX7IABXXOZPTKJDEDZVMZ3TPK2A7ANCNFSM45JJMJXA .  https://github.com/notifications/beacon/ATX7IACYVKEXFL6LRFB7NO3TPK2A7A5CNFSM45JJMJXKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOGKAQP7Y.gif

The problem with uninitialized/empty m_executor is resolved by #1884, as it initializes the base class first.

This should be fixed now with the above PR. Please let me know if you are still getting this seg fault.


Add script to generate codebase metrics

For the last couple of months, we've been tracking some metrics about the codebase, to help us check progress on our mission to make it easier to work in. So far, we've retrieved the metrics manually. This is error-prone, and vulnerable to differences in method or OS shells on different dev machines, mis-recollections of what commands to use, etc.
To mitigate this, I've added this script that will execute as many of the metrics as possible, via cloning a temporary copy of the repo, and removing the .git directory.
By default it will use the main branch, but particular branches or revisions can be specified with the REVISION env var
Example for main:
~/govuk/whitehall$ ./script/codebase_metrics
(...)
Codebase metrics as of 2022-07-08T09:42:41+01:00, current revision f9967fbc91b32ae6765b6ad234f5aad55c619222
-----------------------------------------------------------------------------------------------------------

Total size:                 26728354 bytes
Total size (MB):            25.49MB
Number of items in Github:  3619
Number of models:           199
Number of views:            522
Number of controllers:      119
Number of presenters:       92
Number of routes:           440

You can retrieve "Test coverage %" and "Time to build (s)" from the latest
build against "main" in Jenkins, at:
  https:/(...removed...)/job/whitehall/job/main/lastSuccessfulBuild/console

Developer rating is an average score from 1 to 10 to the question:
"Overall, how difficult is it to make changes to Whitehall publisher?"
where 1 = terrible, 10 = very easy
It"s best asked of @publishing-experience-devs on Slack.

Example for named revision:
~/govuk/whitehall$ REVISION=40561aea88c40b5a53b3983b9d9f8fcb12065c20  ./script/codebase_metrics
(...)
Codebase metrics for revision 40561aea88c40b5a53b3983b9d9f8fcb12065c20
-----------------------------------------------------------------------------------------------------------

Total size:                 26806752 bytes
Total size (MB):            25.56MB
Number of items in Github:  3654
Number of models:           200
Number of views:            534
Number of controllers:      121
Number of presenters:       93
Number of routes:           N/A unless on main

To get "Number of routes", run this line in a Rails console against this revision:
  Rails.application.routes.routes.map { |r| {path: r.path.spec.to_s}}.uniq.count

  (Note, this gets less and less likely to work for older revisions, due to
  gem version locks & deprecations, etc)

To get "Test coverage %" and "Time to build (s)", run:
  git checkout 40561aea88c40b5a53b3983b9d9f8fcb12065c20
  git push -u origin (some unique branch name)

You can then retrieve those figures from the console output of that build in Jenkins, at:
  https://(...removed...)/job/whitehall/job/40561aea88c40b5a53b3983b9d9f8fcb12065c20/lastSuccessfulBuild/console

(...etc...)

⚠ This repo is Continuously Deployed: make sure you follow the guidance ⚠

The metrics retrieval looks fine to me, but I'm wondering if this might be better as a shell script, rather than a rake task since all of the methods perform system commands?

Yeah, that makes sense. I originally put it as a Rake task because I wanted to instantiate the Rails environment to count the routes - but I couldn't find a way to get that working reliably against previous revisions, so took it out. Happy to port it to a shell script if you'd prefer that

I've ported it to a bash script. This works fine on my Ubuntu 21.10 laptop, it will need testing on GDS-issue macbooks too

This looks good to me.
I had to add an option to mkdir as I didn't have the intermediate directories already created.
Also, I couldn't run this directly on my Mac (...) Instead I ran it in govuk-docker.

If it runs OK in the docker container, then I think that's probably enough to tick the "runs repeatably on other machines" box. 👍


Dependency injection + HttpClient handling can restrict additional handlers being added to the HttpClient

As we're registering the HTTPClient as part of dependency injection, this removes some of the flexibility around adding handlers to the HTTP Client.  These handlers have been alluded to by the open pull request (rate limiting) and also retry policies (polly).
May I propose we modify the Dependency injection to expose the adding of the HTTPClient, returning the IHttpClientBuilder:
    public static IHttpClientBuilder AddWarcraftHttpClient(this IServiceCollection services, string clientId,
        string clientSecret, Region region, Locale locale)
    {
        if (!services.Any(x => x.ServiceType == typeof(WarcraftClient)))
        {
            return services.AddHttpClient(ARGENTPONY_WARCRAFT_CLIENT_HTTPCLIENT_NAME,
                client => client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"))
            ).AddTypedClient(httpClient =>
               new WarcraftClient(clientId, clientSecret, region, locale, httpClient));
        }
        return default;
    }

This will:

Allow consumers to register the HTTPClient independently of dependency injection.
Handle any additional HttpHandlers they may wish via the returned IHttpClientBuilder.
Remove the scenario where we may attempt to add two of the same type.

Once we've done this, we can then expose one final method, to simply register the services as follows:
    public static IServiceCollection AddWarcraftTransientServices(this IServiceCollection services)
    {
        services.AddTransientUsingServiceProvider<IWarcraftClient, WarcraftClient>()
           .AddProfileApiServices()
           .AddGameDataApiServices();

        return services;
    }

We'd then simply call these methods as part of the AddWarcraftClients:
    public static IServiceCollection AddWarcraftClients(this IServiceCollection services, string clientId,
        string clientSecret, Region region, Locale locale)
    {
        if (clientId == null)
        {
            throw new ArgumentNullException(nameof(clientId));
        }

        if (clientSecret == null)
        {
            throw new ArgumentNullException(nameof(clientSecret));
        }

        if (!locale.IsSupportedInRegion(region))
        {
            throw new ArgumentException("The locale selected is not supported by the selected region.");
        }

        services.AddWarcraftHttpClient(clientId, clientSecret, region, locale);
        services.AddWarcraftTransientServices();

        return services;
    }

This will allow us to continue supporting the existing methods, along with allowing granularity for handling the HttpClient.
If you are ok with this (comment is fine) I'll raise a PR.

@andyjmorgan, sorry for ignoring this suggestion for so long.  This looks like a good idea.  Please create a pull request.  If you don't mind, also update the README.md for the dependency injection to explain the new option.


Add 'Dictionary' feature: Find Content

Codecov Report

Merging #86 (218de9d) into master (1d21699) will decrease coverage by 1.26%.
The diff coverage is 12.50%.

@@             Coverage Diff              @@
##             master      #86      +/-   ##
============================================
- Coverage     58.82%   57.55%   -1.27%
  Complexity      553      553
============================================
  Files           110      112       +2
  Lines          2159     2217      +58
  Branches        203      215      +12
============================================
+ Hits           1270     1276       +6
- Misses          808      860      +52
  Partials         81       81

Impacted Files
Coverage Δ
Complexity Δ

...u/dictionote/logic/commands/AddContentCommand.java
0.00% <0.00%> (ø)
0.00 <0.00> (?)

...ctionote/logic/parser/AddContentCommandParser.java
0.00% <0.00%> (ø)
0.00 <0.00> (?)

...eedu/dictionote/logic/parser/DictionoteParser.java
74.07% <0.00%> (-2.85%)
16.00 <0.00> (ø)

...java/seedu/dictionote/logic/parser/ParserUtil.java
81.13% <0.00%> (-10.36%)
17.00 <0.00> (ø)

...main/java/seedu/dictionote/model/ModelManager.java
68.18% <0.00%> (-2.41%)
28.00 <0.00> (ø)

...l/dictionary/ContentContainsKeywordsPredicate.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

...dictionote/model/dictionary/UniqueContentList.java
55.17% <ø> (ø)
8.00 <0.00> (ø)

...va/seedu/dictionote/model/util/SampleDataUtil.java
10.71% <ø> (ø)
1.00 <0.00> (ø)

...a/seedu/dictionote/storage/JsonAdaptedContent.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

...dictionote/storage/JsonSerializableDictionary.java
0.00% <0.00%> (ø)
0.00 <0.00> (?)

... and 6 more

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 1d21699...218de9d. Read the comment docs.


Log when a property is being assigned a new value.

Log a low priority message during evaluation when a property that was previously assigned is being assigned a new and different value. This is useful to determine when your property might be stomped over later.
Also adding Evaluation started and Evaluation finished messages for each project evaluation to logically isolate messages coming from the evaluation phase.
Sample log output:
Evaluation started ("C:\CodeCleanupTools\SortProjectItems\SortProjectItems.csproj")
Property reassignment: $(ProcessorArchitecture)="msil" (previous value: "AnyCPU") at C:\MSBuild\bin\Bootstrap\15.0\Bin\Microsoft.Common.CurrentVersion.targets (457,5)
Evaluation finished ("C:\CodeCleanupTools\SortProjectItems\SortProjectItems.csproj")

Is this only available as a log entry or can it be made into a warning?

Just a message (I'm not familiar with how strict mode works). I'm guessing this would fire a lot even for trivial builds (just the way common targets are written).


grpc batching

Needs at least: semitechnologies/weaviate:preview-add-grpc-batching-8a390c5
how to use:
import uuid

import weaviate
from weaviate import Config
from weaviate.collection.classes import (
    CollectionConfig,
    Vectorizer,
    Property,
    DataType,
    DataObject,
)

client = weaviate.Client(
    "http://localhost:8080", additional_config=Config(grpc_port_experimental=50051)
)

name = "TestInsertMany"
collection_config = CollectionConfig(
    name=name,
    properties=[Property(name="Name", data_type=DataType.TEXT)],
    vectorizer=Vectorizer.NONE,
)

collection = client.collection.create(collection_config)
uuids = collection.data.insert_many(
    [
        DataObject(data={"name": "some name"}, vector=[1, 2, 3]),
        DataObject(data={"name": "some other name"}, uuid=uuid.uuid4()),
    ]
)

obj1 = collection.data.get_by_id(uuids[0])
obj2 = collection.data.get_by_id(uuids[1])
assert obj1.data["name"] == "some name"
assert obj2.data["name"] == "some other name"

Codecov Report
Patch coverage: 40.77% and project coverage change: -0.29% :warning:

Comparison is base (0536d36) 94.45% compared to head (0b27de8) 94.16%.

Additional details and impacted files
@@                   Coverage Diff                   @@
##           pydantic_experiment     #420      +/-   ##
=======================================================
- Coverage                94.45%   94.16%   -0.29%
=======================================================
  Files                       75       76       +1
  Lines                    10093    10148      +55
=======================================================
+ Hits                      9533     9556      +23
- Misses                     560      592      +32

Files Changed
Coverage Δ

weaviate_grpc/weaviate_pb2.py
19.35% <2.04%> (-5.65%)
:arrow_down:

weaviate_grpc/weaviate_pb2_grpc.py
59.25% <50.00%> (-3.90%)
:arrow_down:

weaviate/collection/data.py
67.39% <77.77%> (-2.26%)
:arrow_down:

weaviate/collection/grpc_batch.py
82.35% <82.35%> (ø)

integration/test_cluster.py
100.00% <100.00%> (ø)

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


Code does not presently fit within bounds allowed by 32K v1.0 & 128K v2.0 bootloader

The code at present does not fit within the bounds set by the earliest 32K v1.0 and 128K v2.0 bootloaders. This is due to the lack of NOP padding on the erase/write routines,
For instance, the write routine entry point for 32K v1.0 is at 0x12F, but the erase routine overlaps this boundary (extends to 0x13D), and is truncated by the write routine. Similarly, the write routine entry point for 128K v2.0 is at 0x162, but the erase routine extends to 0x175, and so is also truncated by the write routine.
Perhaps something could be added to the build process which does a post-linking verification of the offsets and sizes, and issue a warning if any code overlaps. This could be done by reading the .map files generated by the linker.

A script has been added to the build process (check-seg-size.awk) that parses the .map files generated by the linker and checks whether any segments of interest overlap. If any overlaps are found, a warning is printed containing details. For example:
*** WARNING: Segment ERASE_SEG overlaps with following segment WRITE_SEG! ***
    ERASE_SEG ends @ 0x13c
    WRITE_SEG begins @ 0x12f
    Overlaps by 14 bytes
1 segment overlap(s) found

This will at least make it fairly obvious that the generated binaries for 32K v1.0 and 128K v2.0 are at present useless, until code size can be reduced.

Solved with commit 79fa506. There are now no segment overlap warnings when building those versions.
For 32K v1.0, there is now 5 bytes margin between erase and write segments. For 128K v2.0 there is now 22 bytes margin.
The downside is that the common segment has expanded, and now extends to 0x253. We need to be aware that some of the smallest devices that feature a ROM bootloader only have 1KB of RAM but yet still a 512B stack. On these devices, the common segment will actually extend into the stack area. However, it shouldn't be a problem as the stack extends downwards and the erase/write routines use minimal amounts of stack space (a few bytes) during runtime (and it appears the ROM bootloader code uses none at all).


Use available aurelia-pal-nodejs

Got this error after installing and running the linter:
Inner Error:
Message: _aureliaPal.DOM.createElement is not a function
Inner Error Stack:
TypeError: _aureliaPal.DOM.createElement is not a function
    at createElement (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-binding\dist\commonjs\aurelia-binding.js:4418:29)
    at new SVGAnalyzer (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-binding\dist\commonjs\aurelia-binding.js:4427:9)
    at Object.invoke (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:347:12)
    at InvocationHandler.invoke (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:324:166)
    at Container.invoke (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:588:23)
    at StrategyResolver.get (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:126:35)
    at Container.get (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:519:39)
    at Object.invoke (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:377:103)
    at InvocationHandler.invoke (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:324:166)
    at Container.invoke (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:588:23)
    at StrategyResolver.get (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:126:35)
    at Container.get (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:519:39)
    at Object.invoke (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:371:55)
    at InvocationHandler.invoke (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:324:166)
    at Container.invoke (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:588:23)
    at StrategyResolver.get (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:126:35)
    at Container.get (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:519:39)
    at SyntaxRule.ASTBuilder (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\dist\ast.js:11:47)
    at SyntaxRule (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\dist\rules\syntax.js:12:14)
    at new AureliaLinter (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\dist\aurelia-linter.js:33:13)
    at module.exports.stream._transform (D:\Development\ERP\ERP\node_modules\gulp-aurelia-template-lint\index.js:16:18)
    at Gulp.<anonymous> (D:\Development\ERP\ERP\gulp\tasks\lint.js:15:15)
End Inner Error Stack
------------------------------------------------

    at new AggregateError (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-pal\dist\commonjs\aurelia-pal.js:36:11)
    at Container.invoke (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:590:13)
    at StrategyResolver.get (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:126:35)
    at Container.get (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:519:39)
    at Object.invoke (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:377:103)
    at InvocationHandler.invoke (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:324:166)
    at Container.invoke (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:588:23)
    at StrategyResolver.get (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:126:35)
    at Container.get (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:519:39)
    at Object.invoke (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:371:55)
    at InvocationHandler.invoke (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:324:166)
    at Container.invoke (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:588:23)
    at StrategyResolver.get (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:126:35)
    at Container.get (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\node_modules\aurelia-dependency-injection\dist\commonjs\aurelia-dependency-injection.js:519:39)
    at SyntaxRule.ASTBuilder (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\dist\ast.js:11:47)
    at SyntaxRule (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\dist\rules\syntax.js:12:14)
    at new AureliaLinter (D:\Development\ERP\ERP\node_modules\aurelia-template-lint\dist\aurelia-linter.js:33:13)
    at module.exports.stream._transform (D:\Development\ERP\ERP\node_modules\gulp-aurelia-template-lint\index.js:16:18)
    at Gulp.<anonymous> (D:\Development\ERP\ERP\gulp\tasks\lint.js:15:15)
    at module.exports (D:\Development\ERP\ERP\node_modules\orchestrator\lib\runTask.js:34:7)
    at Gulp.Orchestrator._runTask (D:\Development\ERP\ERP\node_modules\orchestrator\index.js:273:3)
    at Gulp.Orchestrator._runStep (D:\Development\ERP\ERP\node_modules\orchestrator\index.js:214:10)

Looked in my node_modules/aurelia-template-lint folder and noticed that even though the dependency is there the aurelia-pal-nodejs folder was missing. I had to download aurelia-pal-nodejs from here, build it and add the folder to node_modules/aurelia-template-lint/node_modules/aurelia-pal-nodejs. After that it worked fine and I was able to resolve a couple of silly mistakes in my HTML :smile:
Until aurelia-pal-nodejs gets merged into the official repo, it would be useful to point https://github.com/MeirionHughes/aurelia-template-lint/blob/master/package.json#L47 to a correct location (possibly on github).
Thanks :smile:

Are your other aurelia dependencies up to date on RC version? I think this error pops up if you have an older version of aurelia installed. pal-nodejs requires the RC unfortunately. Others have had the same issue and resolved by a complete wipe of node_modules and reinstall of dependencies.
Technically its on npm and it does work with a fresh install; the automated builds would be failing otherwise. I did have it installing from github at one point; but it was a pain in the bum to manage while I was still making changes.

Yep, this app is on RC

That's kind of worrying... did you try wiping node_modules and reinstalling?

also are you on node.js 5 / 6 ?

I'm on node 4.4.3, do I need 5/6 ?

I'm not sure, might not be bad idea to update to 5 or 6. I know on 5 when you install something with bad version conflicts, it will tell you the install was erroneous.

@JeroenVinke, I've had some problems with node v4 and aurelia-template-lint v 0.8, but not with node v6

Were able to see if node 5 / 6 fixes the problem?

just checked, and works fine with v6.3.0


feat(segmented-control): added disabled state

added disabled state
✅ Closes: COMUI-3009

Overall this looks good to me, but I would recommend changing the cursor style so that it is a cursor "arrow" instead of a "pointer" when hovering over the disabled segmented control items


Vim Settings to make new line after openning bracket only indent once

By default if one writes the following, pressing enter after the opening (
then the next character pressed will be where the x is:
function my_long_function_name(
                               x

but what the style-guide recommends is:
function my_long_function_name(
    x

I suspect the answer is super fiddly
https://www.vim.org/scripts/script.php?script_id=754

will probably need to look at :help indentexpr and :help indent-expression

examples at https://github.com/vim/vim/tree/master/runtime/indent

I've been using this fork of julia-vim which fixes the above problem for me. I guess the relevant changes are in this file.

I've been using this fork of julia-vim which fixes the above problem for me. I guess the relevant changes are in this file.

Happy others have found this useful! But be aware my changes were a bit of a hack-job and the fork is well behind the upstream master. That said, I have been using it for a couple of years with no trouble.

Happy others have found this useful! But be aware my changes were a bit of a hack-job and the fork is well behind the upstream master. That said, I have been using it for a couple of years with no trouble.

There are now options for this in the main julia-vim plugin
https://github.com/JuliaEditorSupport/julia-vim/blob/b437dae505b0fbb6aac92a9aad8f4fb68ea1259b/doc/julia-vim.txt#L389-L472
It would be useful if someone can workout exactly what we want to set them to and add it the section of the instructions on configuring vim.