Volumes are not correctly declared in the Dockerfile

By running docker inspect, we can see that the volumes know to the image are "/report]" and "[/src". Cf. the output of "docker inspect" below.
$> docker pull owasp/dependency-check
Using default tag: latest

latest: Pulling from owasp/dependency-check
Digest: sha256:951e771db88cb01cb4799c10711f1cdf1c70ecc6e3281f1a3060dc2ed2326111
Status: Image is up to date for owasp/dependency-check:latest
docker.io/owasp/dependency-check:latest

$> docker inspect owasp/dependency-check:latest

{
        "RepoTags": [
            "owasp/dependency-check:latest"
        ],
        "RepoDigests": [
            "owasp/dependency-check@sha256:951e771db88cb01cb4799c10711f1cdf1c70ecc6e3281f1a3060dc2ed2326111"
        ],
...
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "ASPNETCORE_URLS=http://+:80",
                "DOTNET_RUNNING_IN_CONTAINER=true",
                "DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true",
                "DOTNET_VERSION=2.2.6",
                "user=dependencycheck",
                "JAVA_HOME=/opt/jdk",
                "JAVA_OPTS=-Danalyzer.assembly.dotnet.path=/usr/bin/dotnet",
                "-Danalyzer.bundle.audit.path=/usr/bin/bundle-audit"
            ],
...
            "Image": "sha256:01097f25d6e6d89a0d0a09038a996606616ef40bd4f00faac59024418e1db3fe",
            "Volumes": {
                "/report]": {},
                "/usr/share/dependency-check/data": {},
                "[/src": {}
            },
}
...

Although it does not causes a lot of troubles using plain docker tools, docker-compose cannot restart the container because of this issue.

The VOLUME command used in the Dockerfile is
VOLUME ["/src" "/usr/share/dependency-check/data" "/report"]

while the documentation of the VOLUME command says "The list is parsed as a JSON array".
Using commas between the volumes should probably solve the issue, i.e., using the following command to declare the volumes:
VOLUME ["/src", "/usr/share/dependency-check/data", "/report"]

I am trying to build the image (and hence also the whole project) to check the fix.


Startup order ?

In asr_testmigration.ps1 and asr_migration.ps1, do the servers start in the same order that they are listed in the CSV file ?

@ediazrod @luisjfdez @gontxu7 @snehaamicrosoft Can one of you answer this question?

Closing issue due to age and lack of responses. Please reopen if this is still an outstanding issue.


(fix): Removed node_module from the repo

It is more safe to not push the node_modules to the remote repo


Broken YouTube link in docs

See https://github.com/awslabs/cfncluster/blob/master/docs/source/index.rst#additional-resources. The video https://www.youtube.com/watch?v=iHtzy6_WytE is not accessible (YouTube gives the message "this video is unavailable").

Looks like the video has been removed. Thanks for noticing. I think we'll link to https://www.youtube.com/watch?v=2WJcKwAChHE now.

At the risk of avoiding my own self-promotion, might I also recommend this https://www.youtube.com/watch?v=jp3wfBJgS-A which seems to be a walkthrough/screencap style video.

Doc updates done in fab3f3d, many thanks to @jamiekin for that.


Add MySQL database introspection support (POC) to persist-tools module.

Description:
When working with enterprise applications, it can be required to integrate your application with an existing database. The task is to create a bal persist pull command which will introspect the database and generate the model.bal file according to the implementation of the MySQL database.
Describe your task(s)

Read the database schema and get the schema data into POJOs.
Study the persist-tools library.
Create the pull command.
Integrate the database schema reading feature to the pull command.
Map the POJOs to the Ballerina Entities.
Study Ballerina SyntaxTree.
Generate the SyntaxTree according to retrieved entities.
Generate the model.bal file.

Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

This task is linked to the original issue https://github.com/ballerina-platform/ballerina-library/issues/5982

This task is a part of the parent issue: https://github.com/ballerina-platform/ballerina-library/issues/5982
This task is already done. Hence closing the issue. This fix will be sent with the other fixes.


Repackage as a jquery plugin

With arguments provided as config options
For example
$("div.funnel").funnel({
stageHeight: 200px,
startDate: "1/1/2015",
endDate: "1/2/2015"
});

Do we need startDate and endDate?

Actually no, not at the moment

But would be like to apply various styles to the funnel. Such as

font (family, size, style) for stage names (ie on the left)
font for legend names (ie on the right)
font for histogram labels
background colour of the funnel
border colour and thickness of the funnel

OK, I have wrapped it up as a jQuery plugin. I will add these parameters.

Should finish it very soon.

Have finished the repackage.

Perfect!


video in mkv format goes black but the sound is heard

Bug

Platform

Which player are you experiencing the problem on:

Android

Environment info
React native info output:
System:
OS: Windows 10 10.0.22000
CPU: (8) x64 Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz
Memory: 3.92 GB / 15.89 GB
Binaries:
Node: 14.17.0 - C:\Program Files\nodejs\node.EXE
Yarn: 1.22.5 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
npm: 7.24.1 - C:\Program Files\nodejs\npm.CMD
Watchman: Not Found
SDKs:
Android SDK:
Android NDK: 21.3.6528147
Windows SDK: Not Found
IDEs:
Android Studio: Version  <IP_ADDRESS> AI-202.76<IP_ADDRESS>51085
Visual Studio: Not Found
Languages:
Java: 1.8.0_261
npmPackages:
@react-native-community/cli: Not Found
react: 18.0.0 => 18.0.0
react-native: 0.69.6 => 0.69.6
react-native-windows: Not Found
npmGlobalPackages:
react-native: Not Found
Library version: ^6.0.0-alpha.3
This is the metadata of the video:
{
"audioTracks": Array [
Object {
"bitrate": "",
"index": 0,
"language": "und",
"title": "2",
"type": "audio/mpeg",
},
],
"canPlayFastForward": true,
"canPlayReverse": true,
"canPlaySlowForward": true,
"canPlaySlowReverse": true,
"canStepBackward": true,
"canStepForward": true,
"currentTime": 0,
"duration": 7097.049,
"naturalSize": Object {
"height": 0,
"orientation": "portrait",
"width": 0,
},
"textTracks": Array [],
"trackId": "-1",
"videoTracks": Array [
Object {
"bitrate": 0,
"codecs": "",
"height": 404,
"trackId": "1",
"width": 720,
},
],
}
This is the code I use with the react-native-video library:
<Video
key={keyload}
ref={(ref) => {setVideo(ref)}}
style={styles.video}
onLoad={(data) => setMetadata(data)}//
source={{
uri: uriLoad, initOptions: ['--codec=avcodec']
}}
onProgress={progress => {setProgress(progress.currentTime)}}
controls={false}
fullscreen={true}
paused={paused}
volume={volumen}
fullscreenAutorotate={true}
selectedVideoTrack={videoTrack}
selectedAudioTrack={audioTrack}
selectedTextTrack={textTrack}
resizeMode={resizemode}
onEnd={() => end()}
isLooping
onError={error => playerError(error)}
onPlaybackStatusUpdat
allowsExternalPlayback
e={status => setStatus(() => status)}//setStatus(() => status)
/>
package.json
{
"name": "someiptv",
"version": "1.0.0",
"scripts": {
"start": "expo start --dev-client",
"android": "expo run:android",
"ios": "expo run:ios",
"web": "expo start --web"
},
"dependencies": {
"@react-native-community/slider": "4.2.3",
"@react-navigation/native": "^6.0.12",
"@react-navigation/native-stack": "^6.8.0",
"expo": "~46.0.9",
"expo-av": "~12.0.4",
"expo-font": "~10.2.0",
"expo-linear-gradient": "~11.4.0",
"expo-screen-orientation": "~4.3.0",
"expo-splash-screen": "~0.16.2",
"expo-sqlite": "~10.3.0",
"expo-status-bar": "~1.4.0",
"lodash.filter": "^4.6.0",
"react": "18.0.0",
"react-dom": "18.0.0",
"react-native": "0.69.5",
"react-native-marquee": "^0.4.0",
"react-native-paper": "^5.0.0-rc.4",
"react-native-safe-area-context": "4.3.1",
"react-native-screens": "~3.15.0",
"react-native-system-setting": "^1.7.6",
"react-native-video": "^6.0.0-alpha.3",
"react-native-web": "~0.18.7",
"react-navigation": "^4.4.4"
},
"devDependencies": {
"@babel/core": "^7.12.9"
},
"private": true
}

do you have a sample url ?

Yes, I have, but I should send it by direct message since the url contains a private username and password. Can you give me a contact to send it to?

Just tested with https://www.learningcontainer.com/wp-content/uploads/2020/05/sample-mkv-file.mkv The feature works fine.
I invit you the try to review: https://github.com/react-native-video/react-native-video/blob/master/docs/DEBUGGING.md
And to tripple check video plays correctly with another player ...

no activity, let's close


Enhancements

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

Fixed issues
#13 #15

Fix bug with use removed method ArrayHelper::isTraversable()
Add final and declare(strict_types=1) to classes
Public properties replaced to private constants
Add support \Traversable objects to Html::ul and Html::ol
Fix #15
Enhancements phpdoc and method arguments types
Tests cleanup
Update PHPUnit configuration
Enhancements README.md and LICENSE.md
Remove Travis and add Psalm, Inflection
Add GitHub Actions: backwards compatibility, build, mutation test and static analysis

👍


Add channel filtering to the WS endpoint

/test

@ctron the tests failures are related to the create token console changes. So it's safe to merge :)


updating to latest config module

Description
Config infrastucture for aio has changed and @adobe/aio-cna-core-config is now the preferred mechanism. Also results in cleaner code

Codecov Report

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

@@           Coverage Diff           @@
##           master      #18   +/-   ##
=======================================
  Coverage   95.18%   95.18%
=======================================
  Files          13       13
  Lines         353      353
  Branches       46       46
=======================================
  Hits          336      336
  Misses         17       17

Impacted Files
Coverage Δ

src/cloudmanager-helpers.js
100% <100%> (ø)
:arrow_up:

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 c6595c5...38d8ef8. Read the comment docs.


enterSelection.select does not accept a string argument

Selection behaviour -
d3_selectionPrototype.select = function(selector) {
...
  selector = d3_selection_selector(selector);
...
        subgroup.push(subnode = selector.call(node, node.__data__, i, j));
...
};

Enter selection behaviour -
d3_selection_enterPrototype.select = function(selector) {
...
        subgroup.push(upgroup[i] = subnode = selector.call(group.parentNode, node.__data__, i, j));
...
};

Is this expected behaviour?

95% of the time you call .append("tagName") right after .enter(). And because the elements are placeholders, selectors don't really make sense. I suspect that the implementation of .select for the enter selection is an implementation detail.
In How Selections Work, we read, "The implementation of enter.select is then specialized such that nodes are inserted into the group’s parent, replacing the placeholder." And indeed, selection.append (which is not overridden for enter selections) makes use of select, passing it a function. From the docs: "The selector [argument] may also be specified as a function that returns an element, or null if there is no matching element."
That's my guess, though I'm interested in what Mike has to say. (Also, this might be better on the mailing list.)

My use case is to allow decoration of the update selection (and implicitly the enter/exit selections) from a user supplied function e.g. -
...
an.example = function(selection) {
    var updateSelection = selection.selectAll('g.example')
        .data(...);
    updateSelection.append('g')
        .attr('class', 'example');
    ...
    decorate(selection);
};
...
var example = an.example()
    .decorate(function(updateSelection) {
        updateSelection.enter()
            .select(function() {
                return d3.select(this).select('g.example').node();
            })
            .doStuff...
    });

The workaround shown above (of passing a function to enterSelection.select) works fine but seems unnecessary. If it's just a case of no-one has asked to do this before and there's nothing inherently wrong with it, then I'm happy to create a PR.

Hmm. I suspect that if you get to know d3 idioms better, there will be a way to accomplish what you want. I could be totally off-base here but I'll give it a go.
You're appending to the update selection, which is weird - I actually had to try it out:
d3.selectAll("p").data(d3.range(12)).size()
12
d3.selectAll("p").data(d3.range(12)).append("p").size()
12

That's probably not what you want.
If you want to apply a function to the enter and update selections, you should know that enter merges with update after you append to it. So, basing this off the docs for enter,
var updateSelection = selection.selectAll('g.example').data(...);
updateSelection.attr(/* operate on old elements only */)
updateSelection.enter().append("g").attr('class', 'example') /* operate on new elements only */
updateSelection.call(decorator) /* pass selection of old and new elements to decorator */
updateSelection.exit().remove() /* complete the enter-update-exit pattern */

The reason enter.select doesn’t take a string is that it’s called on placeholder nodes which are by definition empty — there is nothing inside placeholder node to select, and furthermore the placeholder nodes won’t have a querySelector or querySelectorAll method defined, so it will simply crash. Therefore, the only thing you can do with enter.select is create and append a new element, as enter.append does.
Note that you can also pass a function to enter.append, which allows to you override how elements are created, while still appending them (as in the Clone Templates example). You can also pass a function to enter.select if you want to change how elements are appended (say to use something besides appendChild or insertBefore); but I’ve never seen a case where this is necessary.

Thanks to both of you for taking the time to explain things, this was indeed rooted in my misunderstanding of the enter selection...
The example use case I posted contained a typo which I think added to the confusion, it should have read updateSelection.enter().append('g'). However, it was still an invalid technique, as I found out when I tried to create an example gist with more than one item in my data array.


_getCpuProfileTimeline - Add file path and stack depth

In the response for _getCpuProfileTimeline, each stack frame looks like this:
      "140206380921856-1":{
         "category":"Dart",
         "name":"thread_start"
      },

In order to offer the best CPU profiling experience in DevTools, we need more information.
We need the following to be included in the JSON for each stack frame:

the file path for the frame
the stack depth of the frame

Just curious, what do you need the stack depth for exactly? The profiler doesn't necessarily capture full stacks for various reasons (e.g., if the stack is too deep, walking the stack takes too long, etc) so we might not be able to provide that information.

I explain the need for stack depth here: https://github.com/flutter/devtools/issues/579. Basically we'd like to have it so the truncated samples don't get lost in the truncation. When they are under the [Truncated] stack frame, it doesn't give an accurate depiction of the flame graph because, in reality, some of the events should be combined with the non-truncated stack frames in the UI. There are pictures to explain this on the linked issue.

I explain the need for stack depth here: flutter/devtools#579. Basically we'd like to have it so the truncated samples don't get lost in the truncation. When they are under the [Truncated] stack frame, it doesn't give an accurate depiction of the flame graph because, in reality, some of the events should be combined with the non-truncated stack frames in the UI. There are pictures to explain this on the linked issue.

If I understand correctly, you don't exactly need the actual stack depth, just IDs for frames? For example, in the case of a truncated stack we would never be able to provide an accurate depth since we don't know how deep the true stack goes.
@rmacnak-google, do you mind sharing your thoughts on this?

IIRC, there are cases where a frame can appear multiple times in the same stack. In this case, would each frame have a unique id? Otherwise, we will have the same issue we'd have now if we tried to match on name equality.

IIRC, there are cases where a frame can appear multiple times in the same stack. In this case, would each frame have a unique id? Otherwise, we will have the same issue we'd have now if we tried to match on name equality.

When _getCpuProfileTimeline is invoked in the VM, it assigns an ID as part of the key which takes the form of "isolateId-frameID". This ID should be unique for each frame as the ID is incremented as we traverse each frame and their children (to be clear, the ID counter has nothing to do with the current stack depth). If you're just requiring that each frame has a unique identifier, I think the existing key should be good enough for that purpose.

I don't think that will work because I need to match frames across samples. This seems to be handled automatically by the way we get the stackFrames response except when the stack is truncated. When sample A and sample B have identical roots (lets say levels 1-5), we do not get multiple stack frames of level 1, 2, 3, 4, 5. We get one stack frame for each and at the point that stack frame 5 has two different children, the tree will separate there.
Now imagine the scenario where sample A contains stack frames 1-5 but sample B was truncated and so it contains frames 3-5. We need a way to match stack frame 3 from sample B with stack frame 3 from sample A, but as it has a different root (the [Truncated] event), we don't know the level at which to match the stack frames.

It is not possible to match frames across samples. Just because two adjacent samples have a common sequence of functions at their tops of stack does not mean the frames in those samples come from the same function invocations. Chrome's DevTools does this sort of merging, but it is speculative and may misrepresent the program's execution.

I see. Is it possible to increase the stack depth we track? Are there consequences to doing so?

Although I'm sure we can increase the stack depth (can't remember specific implementation details) it will likely cause a performance hit proportional to the increased depth as walking the stack isn't a cheap operation. We can't ever predict how deep the stack will actually get and eventually we'll run into a stack that we'll have to truncate, so we'll always have to worry about this case.

Makes sense. Well in that case, lets just have this issue track adding the file path to the stackFrames.

It is not possible to match frames across samples. Just because two adjacent samples have a common sequence of functions at their tops of stack does not mean the frames in those samples come from the same function invocations. Chrome's DevTools does this sort of merging, but it is speculative and may misrepresent the program's execution.

We can always give power users the option of turning off speculative merging.
I expect that like in the case of Chrome DevTools, performing the speculative merging will give a better user experience even though it will not always accurate. This is because not doing the merging is also inaccurate as far as non expert users are concerned as too few CPU samples are attributed to to frames near the top of the stack trace because of the truncation.

Let me try rephrasing this in terms of our problem rather than a proposed solution as we aren't trying to propose a solution just explain the problem we have that we need the VM team's help this.
The problem is we have stack traces that are very deep for Flutter applications. Typically 256+ frames even for relatively simple applications such as the Flutter Gallery application.
What we would like is a way to generate profiles that are understandable to users even with these deep stack traces.
What is not an option is simple truncating like we are doing now: The truncated time is confusing and distracting to even advanced users.
The deep stack traces in Flutter typically have many repeated blocks of the same 3 or 4 source locations repeated over and over again in the same order. A solution that dealt with these repetitive stack frames better would be very valuable as the users are not getting value out of seeing the repeated frames and the repeated frames are starving us from seeing more useful frames.
The chrome team worked around the issue by setting the stack trace depth to 256 but that does not appear sufficient for us based on tests with Flutter Gallery.

After doing some testing locally, it appears that a max stack depth of 512 resolves the truncation issues for Flutter Gallery's Material -> Backdrop page. However, I'm concerned that we're reaching the limit of what the profiler can handle effectively given the current size of the sample buffer.
For context, the profiler currently allocates a buffer of 60,000 samples upon initialization, each of which can store stacks up to 8 frames deep. For stacks deeper than 8 frames, the profiler chains samples from the buffer to allow for deep stacks. In its current configuration using the default sample rate of 1000Hz, the sample buffer has enough space for up to 60s worth of unique samples. If stacks are generally deep, there is a much smaller number of unique samples that can be collected before the buffer fills and the oldest samples are overwritten.
Given the DevTools sample rate of 50us (which will be problematic on Fuchsia and Windows as those systems don't utilize signals and rely on some sort of polling mechanism for profiling), our sample buffer can hold up to 3s worth of unique samples with stack depths of 8 or less. As we've seen, Flutter frequently has very deep stacks, so I wouldn't be surprised if sampling at this rate causes the buffer to fill in less than a second. Increasing the stack depth will only worsen this problem.
Assuming reducing the sample rate is off the table, the only option here is to increase the size of the sample buffer significantly which I'm not sure is something we want to do. Each sample is currently ~100 bytes and the existing buffer uses about 6MB of memory, so any increase in the sample buffer size will result in a noticeable increase in the memory footprint of the VM in debug and profile builds.
The profiler is meant to provide insights to where time is roughly being spent during execution, but it seems that we're trying to use it to provide an extremely fine profile. We might want to reconsider this approach and move towards something more accurate that doesn't rely on collecting samples at given intervals (e.g., instrumenting kernel to perform tracing).

Closing as adding a stack depth is not something we'd be able to do with the existing profiler and file paths have been added to the stack frames in a prior CL.


gamepad input needs verification

Ideally a screen recording of the functionality would be ideal for documentation purposes. This will be done today (12-28-22).

Works fine as seen in today's demo. Compatible and supportive of analog signal --> Can control speed


(owncloud-client) package not up-to-date, autoupdate seems broken

Expected Behavior
owncloud-client should be on the most recent version (2.6.3) and the package should auto-update
Current Behavior
The last version of the package according to https://chocolatey.org/packages/owncloud-client is 2.6.1, but the sources here indicate that the last successful auto-update was 2.6.0 https://github.com/chocolatey-community/chocolatey-coreteampackages/blob/master/automatic/owncloud-client/owncloud-client.nuspec
Possible Solution
Fix the auto-updater, i believe it would have to be adjusted because ownCloud changed their website layout
Steps to Reproduce (for bugs)
irrelevant
Context
irrelevant
Your Environment
irrelevant

Fix the auto-updater, i believe it would have to be adjusted because ownCloud changed their website layout

It isn't a problem with the updater (from the looks of it).
There seems to be indeed some kind of change on the software developers' server, but the updater is still able to correctly detect both the new version and the URL for the binary file.
Unfortunately, when the updater is trying to validate the MSI installer the updater found, the server refuses the download due to an SSL/TLS handshake failure: https://gist.github.com/choco-bot/a14b1e5bfaf70839b338eb1ab7f8226f#owncloud-client
This failure has been happening for a few days (I looked into it a couple of days ago), and unfortunately, it isn't much we can do about it AFAIK.

but the sources here indicate that the last successful auto-update was 2.6.0

That most likely happened because of an origin timeout error when pushing the package to chocolatey.org (In these cases, the source isn't updated in the repository). That doesn't matter much, though.

@AdmiringWorm
Could this possibly be related to issue #366 that had plagued lightworks earlier?
The same fix could help this package too.

@RedBaron2 not relevant, as that fix went directly into AU and not in the lightworks package.

@AdmiringWorm
I would like to point out that the lightworks package has this line
This is NOT implemented into AU at all.
Second using the same site SSL test as that issue. Download.owncloud.com server supports TLS 1.3
I'm suggesting that you try adding the line of code into the verification or the chocolateyinstall.ps1 file and test. If it works then you have solved the problem. If not then you are back to the drawing board. This is the only

@RedBaron2 as far as i can tell, the problem isn't within the au_GetLatest method. Looking at the bot's output we can tell that it fails one step further down the road. I.e. it can successfully parse the download link for the newest version, but then fails to download the actual installer. So applying a fix to update.ps1 won't do much.
Most likely AU, or at least the environment it runs in, needs to be fixed. Somebody has a very similar issue here https://github.com/majkinetor/au/issues/213
Comparing the TLS configuration of owncloud.org and download.owncloud.com explains why update.ps1 runs fine: The former still supports TLS 1.0/1.1, while the latter doesn't...
I'm not sure whether i fully understand dependencies/responsibilities here. Is AU developed and maintained as an independent project, but used for chocolatey community repository automation? If so, who operates that specific installation of AU? I believe it would be up to them to either migrate to a more recent environment or reconfigure the existing one accordingly. In any case, at least TLS1.2, better yet TLS1.3, should be supported and enabled.

@marcquark
It fails in the au_beforeupdate section in the called AU function get-remotefiles,  but could be switch solved possibly.
The line of code needs to be put in this section.
FYI:
The AU is a powershell module and a chocolatey package maintained by @majkinetor.
AU has built in functions developed to make automating package updating quick and easy.

@RedBaron2 it is in AU: https://github.com/majkinetor/au/blob/0264eef17f0f428eeed8fbfafe3a93a226c3e5d3/AU/Public/Update-Package.ps1#L384
If I remember correctly, that line in lightworks was used to test what was necessary before implementing it in au itself.

In any case, at least TLS1.2, better yet TLS1.3, should be supported and enabled.

TLS1.2 is supported, both by AU and by the environment, otherwise every single package in this repository that would download anything (or parse) from github would be failing as it requires TLS 1.2.
Not sure about TLS1.3, not even sure if .NET have implemented support for it.

Thx for elaborting guys, the picture is becoming clearer now :)
So, if it should work, what could be done to debug why the download from choco-bot is failing? Could somebody point me in a direction here, i.e. could i create some minimalist example and run it on AppVeyor, possibly trying out different environments? Or was that already done behind the scenes and boils down to "can't fix it"?
Would it be an option to update the package manually until a fix for choco-bot is available?

@AdmiringWorm @majkinetor
Just curious but doesn't the automated appveyor tests use the alias function updateall not update ?

@RedBaron2 yes, however the updateall script then calls the package script, and the package script calls update.

So, if it should work, what could be done to debug why the download from choco-bot is failing?

Honestly, I have no idea how to debug it, I have already tried to debug it both locally and by doing RDP to the appveyor instance. Both of these returned a successful update.

Could somebody point me in a direction here, i.e. could i create some minimalist example and run it on AppVeyor, possibly trying out different environments?

Different environments have been tested in the past, originally the WMF5 image was used, but this caused problems in some rare cases and was changed to use the Visual Studio 2015 image. The Visual Studio 2017 image was also tried, but there was no difference between the VS2015 and VS2017 images, so the default one was used instead (Visual Studio 2015).

Would it be an option to update the package manually until a fix for choco-bot is available?

That is only an option if there is a user associated with the package (other than the chocolatey user), and it would be his/her responsibility to keep it up to date in that case.
None of the people normally working on this repository have any access to push on the behalf of the chocolatey user outside of the appveyor instance.

@AdmiringWorm @marcquark
Confirmed and tested via Appveyor
The only change was to update the image to either Visual Studio 2017 or Visual Studio 2019 both seem to allow the update to progress correctly.
I would suspect that the older WMF5 and Visual Studio 2015 don't allow the newer ciphers required for owncloud.com

@RedBaron2 thanks for checking that out.
I checked out which servers each image is now running on, and that seems to have changed since the last time I checked (last time I checked both VS2015 and VS2017 was running on Windows Server 2012 R2).
Using the VS2019 image is a nogo, as it does not have Windows PowerShell installed, only PowerShell Core.
I will give it a shot and change the image to VS2017 and see if it helps (I will only update the image on the updater, not the one that runs on pull requests as we want to test those on Windows Server 2012 R2).

Looks like updating the appveyor image used worked, thanks again @RedBaron2 for looking into it.
I will be closing this issue now as I noticed the updater mentioned that the latest version was pushed (it will take a few hours before it is available without a version argument).

Re-Opening as the latest version is failing due to invalid mailing list/forum url


Misc

Enable several compiler warnings
Enable common compiler warnings supported by GCC and Clang.

Add format attributes
Enable compilers to check for format string issues.
endlessh.c: In function ‘logstdio’:
endlessh.c:80:9: warning: function ‘logstdio’ might be a candidate for ‘gnu_printf’ format attribute [-Wsuggest-attribute=format]
   80 |         vprintf(format, ap);
      |         ^~~~~~~
endlessh.c: In function ‘logsyslog’:
endlessh.c1009: warning: function ‘logsyslog’ might be a candidate for ‘gnu_printf’ format attribute [-Wsuggest-attribute=format]
  100 |         vsnprintf(buf, sizeof buf, format, ap);
      |         ^~~~~~~~~

endlessh.c: In function ‘config_log’:
endlessh.c:509:31: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘int’ [-Wformat=]
  509 |     logmsg(log_info, "Delay %ld", c->delay);
      |                             ~~^   ~~~~~~~~
      |                               |    |
      |                               |    int
      |                               long int
      |                             %d

Drop unnecessary parameter name in function typedef

Mark file local statistics struct static

Mark die() as noreturn
die() calls exit() and thus never returns.
endlessh.c:248:1: warning: function 'die' could be declared with attribute 'noreturn' [-Wmissing-noreturn]
{
^

Mark client parameter of statistics_log_totals const
statistics_log_totals() does not modify any state.

Use unsigned data types
Use unsigned data types for counters containing only non-negative values to ensure, i.e. on a long-running endlessh instance, potential wrap-arounds are well-defined.

Thanks for catching that format string defect! I have cherry-picked and
merged just that fix. While GNU attributes would have helped catch this
particular mistake sooner, I prefer to stick to standard C and POSIX.
I also cherry-picked the static global variable patch. Not so important in
this particular case, but it's good to be consistent.
I disagree strongly about using unsigned for the time. First, wraparound
would be absolutely incorrect so I don't want its overflow semantics to be
defined. With wraparound illegal, related defects are more likely to be
caught (sanitizers). Second, this is an absolute wall clock time. In its
signed form it's good until the year 292,272,993. Using unsigned extends
this to the year 584,544,016. Endlessh is irrelevant on either time scale
and will never need to use that sign bit.


Easy Emoticon Feature: Added command list modal functionality in version 0.7.8

This PR adds the functionality to Easy Emoticon of a command panel that can be summoned with /help or /commands, which conveniently allows you to scroll through the list of commands on Kbin through a modal, rather than rely on memory or an external document like before.

Would you mind making this patch against the testing branch (git checkout testing) and resubmitting? Thanks


Font Awesome Icons Not All Appearing in Firefox (Possibly IE?)

I noticed when checking both my site and your example site that certain Font Awesome icons, such as the Twitter icon in the tray, as well as both the "Share to Facebook" and "Share to Twitter" buttons/icons which appear at the end of posts, don't appear in Firefox. (I can't test on Internet Explorer as my computer is wonky.) However, most of them do. Not sure why that would be.

Facebook/Twitter not working on Mac/Chrome, all other icons work fine.