How many channels can be used in the control image?

The train documentation uses a single image for control. Even if the control is a black and white line image it seems to be a 3 channel RGB image.
Is it possible to use 4 or more channels (RGBA or concatenating multiple images) for control? Or is the 3 channel a limitation of the model?

It is in https://github.com/lllyasviel/ControlNet/blob/main/cldm/cldm.py#L147
Perhaps a better idea is to add that to config file

Wonderful, thank you!


docs(BAccordion): update component reference

Describe the PR
Updated BAccoridion documentation.
PR checklist

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix :bug: - fix(...)
[ ] Feature - feat(...)
[ ] ARIA accessibility - fix(...)
[x] Documentation update - docs(...)
[ ] Other (please describe)

The PR fulfills these requirements:

[x] Pull request title and all commits follow the Conventional Commits convention or has an override in this pull request body This is very important, as the CHANGELOG is generated from these messages, and determines the next version type. Pull requests that do not follow conventional commits or do not have an override will be denied

tyvm


Fail to use fancybox 3

I tried to upgrade fancybox from version 2 now in the theme to 3.2.1, I replaced the fancybox js and css in /assets/plugins/ and upgraded the jquery version to 3. I also changed the js and css resources in dafault.hbs but I found that the fancy box plugin didn't work when I used it in the form .
I tried it in the same way and it successfully worked in casper 2.0.5.
Could you please tell me how to use fancybox 3, thanks.
http://fancyapps.com/fancybox/3/

@S8Cloud I will test fancybox3 recently in Ghost 1.x. Thanks for tell me.

@S8Cloud
Kaldroei now support fancybox 3.1.25, you can update the latest repo.
Here is how to use fancybox in ghost.
Have fun.


I want to add my customized layer

I want to add my customized layer in Jetson-Inference demo.
Currently, GIE does not support customized layers as well as latest caffe versions.
I want to add my caffe distribute(libcaffe.so) in this camera demo by removing GIE.
Is it possible?

I also strongly hope this feature

Can anybody answer for this request?
It would be great if applying customized layer is possible.

Hi there, custom layers are a feature of TensorRT2, the next version.
For now, to add support for custom layers, please use Caffe or your own code.  The Tegra Multimedia API which JetPack installs, includes a sample of using TensorRT and cuDNN in tandem to implement a 'custom' function.
For example, the detectNet and segNet example networks that are included in this repo, I removed superfluous layers to get it working.  Typically these are at the end of the pipeline and are linear operators (like cropping, ect.) as opposed to having non-zero learning rate.

Thank you for your kind explanation.


AOT compilation of DotNext.Net.Cluster (and the RaftNode example) fails

The AOT compilation of the RaftNode example does not work. After removing Kestrel and other HTTP dependencies that were blocking AOT compilation, I encountered a reflection dependency in DotNext.Reflection.TaskType.
"C:\Users\administrator\.nuget\packages\runtime.win-x64.microsoft.dotnet.ilcompiler\8.0.11\tools\\ilc" @"obj\Release\net8.0\win-x64\native\RaftNode.ilc.rsp" EXEC(0,0): Error : One or more errors occurred. (Code generation failed for method '[DotNext]DotNext.Reflection.TaskType..cctor()') System.AggregateException: One or more errors occurred. (Code generation failed for method '[DotNext]DotNext.Reflection.TaskType..cctor()')  ---> ILCompiler.CodeGenerationFailedException: Code generation failed for method '[DotNext]DotNext.Reflection.TaskType..cctor()'  ---> System.NotImplementedException: Open instance delegates    at ILCompiler.DelegateCreationInfo.Create(TypeDesc, MethodDesc, TypeDesc, NodeFactory, Boolean) + 0x475    at Internal.IL.ILImporter.ImportCall(ILOpcode, Int32) + 0x18ad    at Internal.IL.ILImporter.ImportBasicBlock(ILImporter.BasicBlock) + 0x1d04    at Internal.IL.ILImporter.ImportBasicBlocks() + 0x55    at Internal.IL.ILImporter.Import() + 0x745    at ILCompiler.ILScanner.CompileSingleMethod(ScannedMethodNode methodCodeNodeNeedingCode) + 0x5c    --- End of inner exception stack trace ---
Upon further investigation, I found the issue in
src/cluster/DotNext.Net.Cluster/Net/Cluster/Consensus/Raft/Tcp/TcpServer.cs, particularly in commit 413e0b185c07eaa84115951747e417ffed754af9, where TaskType was introduced.
using static Reflection.TaskType;
...
protected override void Dispose(bool disposing)     {         if (disposing)         {             CleanUp();             if (!SpinWait.SpinUntil(noPendingConnectionsEvent.Task.GetIsCompletedGetter(), GracefulShutdownTimeout))                 logger.TcpGracefulShutdownFailed(GracefulShutdownTimeout);         }         base.Dispose(disposing);     }
After removing the dependency on TaskType from TcpServer.cs, the AOT compilation worked successfully.

Seems like open delegates are not supported in AOT. This is not good, because ECMA-335 doesn't imply any restrictions on that.

Even <IsAotCompatible>true</IsAotCompatible> setting on the library doesn't catch that. I'll try to rewrite IL code to achieve AOT compatibility.

The implementation of TaskType has changed, could you please try develop branch?

I've added DotNext.AotTests project to the repo to verify AOT compatibility on every build. TaskType now is working normally.

All examples in the repo (including RaftNode) are rewritten with SlimBuilder and AOT support.


GKE storageClass Multi-Attach error

The Helm chart version
5.0.0-beta.112
Environment Versions
Kubernetes 1.29
GKE

Custom chart values
persistence:
  enabled: true
  storageClass: "rwo"
  subPath: ""
  accessMode: ReadWriteOnce
  size: 1Gi
  existingClaim: ""
  annotations: {}

Current Behavior & Steps to Reproduce
Regarding the storage behavior mentioned in https://github.com/netbox-community/netbox-chart/issues/357, I took a deeper look into the issue. Even RWO is an issue for us when your run a cluster with multiple K8s Worker nodes. The PVC, Netbox and Netbox-worker must reside on the same Worker node, otherwise you get Multi-Attach error for volume <pvc> Volume is already used by pod(s) netbox-worker-xxx. RWX isn't available on GKE, because pd.csi.storage.gke.io doesn't support it.
And why does Netbox-worker need access to Netbox-media?
Expected Behavior
An alternative or perhaps improved documentation.
NetBox Logs
No response

Thanks for filing this issue, @D1StrX.

And why does Netbox-worker need access to Netbox-media?

That's a good point.
Would removing this mount resolve the issue you're facing?

Wondering this as well. I'd think you'd still have problems if you're running multiple nb replicas and they end up on different nodes.

As long as we don't use scriptsPersistence and reportsPersistence ... but this wouldn't resolve the main issue. When scaling up the replicas this would indeed create the same issue. A couple of solutions/directions I can think of;

FileStore, which is way to expensive for the solution to achieve
(S3/Cloud) buckets. Netbox already leverages this option for Media an scripts? perhaps extend this to reports. Makes the Netbox installation harder and maybe more expensive.
RWX is nearly essential with the current setup, while RWO is more suitable when binding to a single Worker node.
Tie Netbox dynamically to a Worker node based on tolerations/affinity... still doesn't support multiple replicas.
Removing the mount for Netbox-worker wouldn't resolve the issue, since multiple replicas reintroduce the problem.

Makes sense.
Then what's blocking to use the proper ReadWriteMany access mode?
That would be the exact use case for this.

GKE doesn't support RWX at all. And trying this to work, is not succeeding: https://github.com/netbox-community/netbox-chart/issues/394.

As far as I understand, it does, just not when using Compute Engine disks.
I might be wrong, but if so, do you have any reference?

Several reference points:

Error I am getting: failed to provision volume with StorageClass "<storageclass>": rpc error: code = InvalidArgument desc = VolumeCapabilities is invalid: specified multi writer with mount access type

In Google Cloud Platform, the default storage class uses gce-persistent disk as the provisioner. However gce-persistent disk does not allow RWX mode. By default, gcePersistentDisk volume only permits readonly for multiple consumers.

https://www.googlecloudcommunity.com/gc/Google-Kubernetes-Engine-GKE/pod-failed-to-use-pvc-with-standard-rwx-storageclass/m-p/796156 Solution is going straight for FileStore.

I honestly don't know what can be done in this repository for this case.
The fact GKE doesn't support ReadWriteMany volumes for some context is quite outside our expertise/ability to fix.
And NetBox is not even special is that case, as an app with a database backend. All the others I've checked defined the exact same behavior.
I'm not even sure to see the use case, where ReadWriteOnce, or even ReadOnlyMany, won't cover the needs.
The "active" replication should be let to the database only, I'm not sure NetBox would be very suitable for full active replicas across nodes.

Databases are not relevant in this context. "External" databases uses StatefulSets, where each pod has its own PVC/PV.
If only the Netbox container (not Worker or Housekeeping) would attach to Media, Scripts and Reports PVC the issue would be fixed. When you want to run Netbox HA; use for Media, Scripts and Reports external datasources like Git or S3.

Please give version 5.0.0-beta.137 (or above) a try.
A new option has been added to allow read only volume mounts (housekeeping.readOnlyPersistence, worker.readOnlyPersistence).
I believe ReadOnlyMany should then be an adequate option.


Show quickfixes for launch.json

Results of spike https://dev.azure.com/devdiv/DevDiv/_sprints/taskboard/Python for VS Code/DevDiv/OneVS/CY20-H1/February 2020?workitem=1068658
VSCode API: https://code.visualstudio.com/api/references/vscode-api#CodeActionProvider
Code action samples: https://github.com/microsoft/vscode-extension-samples/tree/master/code-actions-sample
cc @luabud

I have checked the following piece of code works.

Contents of file quickFixService.ts

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

import { injectable } from 'inversify';
import { CodeActionKind, DocumentFilter, languages } from 'vscode';
import { IExtensionSingleActivationService } from '../../activation/types';
import { QuickFixLaunchJson } from './fixLaunchJson';

@injectable()
export class QuickFixService implements IExtensionSingleActivationService {
    public async activate(): Promise<void> {
        const documentSelector: DocumentFilter = {
            scheme: 'file',
            language: 'jsonc',
            pattern: '**/launch.json'
        };
        languages.registerCodeActionsProvider(documentSelector, new QuickFixLaunchJson(), {
            providedCodeActionKinds: [CodeActionKind.QuickFix]
        });
    }
}

Contents of file fixLaunchJson.ts

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

import { Range } from 'vscode';

/**
 * Provides code actions for launch.json
 */
export class QuickFixLaunchJson implements CodeActionProvider {
    public provideCodeActions(
        document: TextDocument,
        _range: Range | Selection,
        context: CodeActionContext
    ): CodeAction[] {
        // for each diagnostic entry that has the matching `code`, create a code action command
        return context.diagnostics
            .filter(diagnostic => diagnostic.message === 'Incorrect type. Expected "string".')
            .map(diagnostic => this.createFix(document, diagnostic));
    }

    private createFix(document: TextDocument, diagnostic: Diagnostic): CodeAction {
        const finalText = `"${document.getText(diagnostic.range)}"`;
        const fix = new CodeAction(`Convert to ${finalText}`, CodeActionKind.QuickFix);
        fix.edit = new WorkspaceEdit();
        fix.edit.replace(
            document.uri,
            new Range(diagnostic.range.start, diagnostic.range.start.translate(0, 2)),
            finalText
        );
        return fix;
    }
}

The diagnostic message in english is 'Incorrect type. Expected "string"'. We'll need to check messages in other localizations and compare accordingly. The message comes from VSCode.


Resource limit / control

Clear and concise description of the problem
Currently, woodpecker does not limit resource power (often "CI minutes") per user. This can lead to

resource waste through stuck builds (if people don't manually cancel)
resource abuse by malicious users / PRs
resource waste because people don't consider optimizing their pipelines

Suggested solution
Implement

setting a maximum global resource limit for builds (e.g. 20 minutes)
allowing a user-definable limit per build (so a user who expects the pipeline to run at most 3 minutes can limit at 5, to avoid using up unnecessary resources if something is stuck)
tracking the resource usage per user and / or project
a user and admin dashboard showing the use
capping the resource usage when reaching a daily / weekly / monthly / yearly limit (don't start new builds) ← ideally configurable for each of the timeframes, but monthly could be a good start
prominently calculate the trees burned to produce that much energy :wink:

Alternative
In #345 there is already the idea to display resource usage, but manual moderation is often not feasible.
Additional context
No response
Validations

[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

the info is already in DB
-> #345

@qwerty287 where is the context of tree calculation and CO2? Isn't this issue more meant as limiting by usage time?

I run into the issue by using Woodpecker on Kubernetes with Docker in Docker (dind). Resource Limits defined by k8s are ignored by the dockerd. After playing around with cgroups  I could somehow get it working adding the existing pod resource limits (cgroup) to the docker deamon:
          command: ["dockerd"]
          args: ["--cgroup-parent=$(cat /proc/self/cgroup | cut -d: -f3)"]

(or in the /etc/docker/daemon.json with "runtimeArgs": [])
the cat command returns the cgroup path for that pod which can be found in /sys/fs/cgroup/*:
/kubepods/pod{pod_uid}/{container_runtimeId}
Perhaps someone with cgroups experience has an idea how we can clone the kubepod child cgroup into a new parent group? (@6543 ? :-)
For non-k8s users (assume @fnetX ) , they can create their own cgroups limits either on the host system using  systemd or self defined cgroups in the dind with cgcreate ...
P.S. I am new to the cgroups topic and I am sure there is a better/proper way to achieve this. As this solution also causes multiple issues on the docker deamon by inspecting the logs - but somehow it works, even the resources are a bit over allocated by +10%.  But as the resource limit of the agent as enough cpu/mem spare, it shouldnt be a problem at all.
P.P.S anyone with GPU (NVIDIA) needs, can give my docker image a try on github or dockerhub: maltegrosse/dind-nvidia:c_11.8.0-d_20.10.22. K8s resources need the nvidia gpu tag, e.g.  nvidia.com/mig-2g.20gb: 1 and the pipeline needs for the gpu step:   environment:      - NVIDIA_VISIBLE_DEVICES=all

I did some more testing and playing around with cgroups. I finally came up with entrypoint.sh following script
#!/bin/sh
cgroup_path="/sys/fs/cgroup/"
new_group_path="$cgroup_path"DIND
echo "setting cgroups"
mkdir -p $new_group_path
if [ -z "${KUBERNETES_SERVICE_HOST}" ]; then
  echo "non-k8s"
  if [ -z "${CPU_MAX}" ] || [ -z "${MEMORY_MAX}"]; then
    echo "env variable missing, skip setting resources"
  else
    echo "$CPU_MAX" > "$new_group_path"/cpu.max
    echo "$MEMORY_MAX" > "$new_group_path"/memory.max
  fi
else
  echo "k8s"
  cgroup_k8s_path=$(cat /proc/self/cgroup | cut -d: -f3)
  full_path="$cgroup_path$cgroup_k8s_path"
  echo $(cat "$full_path"/cpu.max)> "$new_group_path"/cpu.max
  echo $(cat "$full_path"/memory.max)> "$new_group_path"/memory.max
fi
. ./dockerd-entrypoint.sh

It either maps the resource limits from k8s, or two env variable can be set: CPU_MAX & M̀EMORY_MAX (in cgroup format)
keep in mind that running two agents on the same host will take the same cgroup...


Refresh on tx page shows no results in Safari

I believe this is Safari specific? Couldn't replicate in Brave.

I think the root cause for this is the "Chaosnet - Testnet" switch which automatically defaults to Chaosnet on page reload causing a 404 from the API.


HTTP method not allowed for wrong json

Any additional fields on the json request returns "HTTP method not allowed"
➜  quickwit-indices curl -X POST -H "Content-Type: application/json" \
                            -d '{"query":"body:cliid", "does not exist": true}' \
                            http://<IP_ADDRESS>:7280/api/v1/hdfs/search
{
  "error": "HTTP method not allowed"
}⏎

Ignoring the field or returning an error with the unrecognized field would be better.

We get this error if a query parameter is wrong too!
> curl "http://<IP_ADDRESS>:7280/api/v1/oom/search?query=p004&sort_by_fiel=toto"

{                                                                                │Run query 1360
  "error": "HTTP method not allowed"                                                                                │[ec2-user@ip-172-31-12-46 oom]$ ../oom/target/release/oom<PHONE_NUMBER>0 | ./quickwit index ingest --index oom
}

Yes, the way warp handles rejection does not help us here. What we want is:

try to match a route with an URI + method
if it matches, validates query parameters and/or payload and on error return an appropriate response
if it does not match, find another route

Today using rejection leads to ugly code (see recover_fn function) and it would be nice to clean that.
I saw two interesting threads on the subject:

a PR https://github.com/seanmonstar/warp/pull/909 that can help clean the code
discussion about how to handle rejection property https://github.com/seanmonstar/warp/issues/388

I'm pushing a simple PR to fix the problem.

try to match a route with an URI + method
if it matches, validates query parameters and/or payload and on error return an appropriate response
if it does not match, find another route

Totally agree.  It seems that the error returned by serde_qs can't be handled by warp.


Component will Unmount

Hi, i'm getting this warning and its slowing my app whenever i put something in ComponentWillUnmount. This does not occur in previous versions.
Warning: setState(...): Can only update a mounted or mounting component. This usually means you called setState() on an unmounted component. This is a no-op. Please check the code for the undefined component.

I have this problem too. Is there any api to know if the component is already not exist in this window?

This component is just wrapper around NavigationExperimental API. Just reproduce it with UIExplorer examples (without this component) and post your issues there:
https://github.com/ericvicenti/navigation-rfc


[Bug] managedLedgerMaxReadsInFlightSizeInMB limit doesn't work properly if managedLedgerReadEntryTimeoutSeconds isn't set

Search before asking

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

Read release policy

[X] I understand that unsupported versions don't get bug fixes. I will attempt to reproduce the issue on a supported version of Pulsar client and Pulsar broker.

Version
all released versions
Minimal reproduce step
Problem description:
When the system is loaded, an exception such as Time-out elapsed while acquiring enough permits on the memory limiter to read from ledger [ledgerid], [topic], estimated read size [read size] bytes for [dispatcherMaxReadBatchSize] entries (check managedLedgerMaxReadsInFlightSizeInMB) will happen when managedLedgerReadEntryTimeoutSeconds isn't set.
The solution expects that managedLedgerReadEntryTimeoutSeconds has been set.
In addition to this, the solution is inefficient since retries happen in a tight loop. It's also possible that ordering of reads gets mixed up since any next call will get the permits for doing the next read.
What did you expect to see?
managedLedgerMaxReadsInFlightSizeInMB limit should work also with setting managedLedgerReadEntryTimeoutSeconds
What did you see instead?
timeouts could happen when managedLedgerReadEntryTimeoutSeconds isn't set. "fairness" is missing for the waiting read requests. This could cause starvation type of issue when the system is overloaded.
Anything else?
InflightReadsLimiter should be refactored to return a CompletableFuture so that logic can be handled asynchronously and reactively. There should be a queue so that the next waiting acquire call will prevent other calls until there are sufficient amount of permits available.
Are you willing to submit a PR?

[X] I'm willing to submit a PR!

I noticed also multiple other issues in InflightReadsLimiter / PendingReadsManager:

PendingReadsManager will acquire permits for partial reads in de-duplication which is wrong
Permits aren't released until the buffer is deallocated

When the entry is cached, it would limit the reads which is not intended by managedLedgerMaxReadsInFlightSizeInMB

Possible issue with PendingReadsManager:

when reads are de-duplicated, the same entries are returned to all callers in case of an exact match. This could be problematic since readerIndex is shared state of the ByteBuffer and that gets mutated in some cases.


Moth cuisine

About the PR
Moth Foods, the three C's: cheese, coleslaw, and cotton.
Ported from TG moth cuisine, minus the whole Moth lore, funky names and some extra steps that just felt too bloaty. The original names and description can be re-added, I just felt like it didn't fit.
To be honest it's not really specifically "moth cuisine" as I renamed everything with their 'proper names' so it can just be a bunch of new normal recipe. If you ignore the cotton for some of them.
This includes a lot of new dishes, some incomplete due to a lack of certain ingredients, some adapted.
All dishes with a "*" means they are incomplete from their ss13 counterpart due to missing/placeholder ingredients. I'll try to keep these updated when ingredients eventually gets added for them.
Currently the main placeholders is Ambrosia for Herbs and Ketchup for the Tomato Sauce.
Currently variously adds:

Three new flavors: cotton, vanilla, seeds
The cake mail has a chance to come with a Mothmallow 'cake'
A new mail "Moffin" which contains Moffins

Would be more fitting if only moth could receive it but eh, just don't get lucky.

Adds the following ingredients with recipe:

Curd Cheese
Cheese Curds
Mozzarella
Pesto
Bechamel
Tomato sauce

Adds the following dishes with recipe:

Base Ingredients

Herby Cheese*
Mothic Salad

Entrees

Squeaking Stir Fry
Toasted Seeds
Sweet Chili Cabbage Wrap*
Baked Cheese Wheel
Baked Cheese Platter
Baked Rice + Portion*

Meals

Green Lasagne + Slice
Oven-Baked Corn
Buttered Baked Corn
Mozzarella Sticks
Mac Balls*

Soup and Stews

Cotton Soup
Cheese Soup
Seed Soup
Moth Eyeball Soup
Bean Stew
Oat Stew*
Heartburn Soup*
Mulan Congee*
Cornmeal Porridge*
Cheesy Porridge
Fried Eggplant and Polenta*
Vegetarian Chili

Salads

Caprese Salad*
Fleet Salad*
Cotton Salad
Kachumbari Salad*

Pizzas

Firecracker Pizza
Quattro Formaggi Pizza
Pesto Pizza
Cotton Pizza

Pastries

Cheesecake Balls*
Mothmallow + Slice*
Moffins

All dishes / ingredients have been added to the guidebook alongside a new Salad page to group all of those at the same place.
Media

[x] Add the other recipes related to moth except pizzas
[x] "Balance" the food as the values are plucked directly from TG
[x] Update PR with all the proper information.
[x] Have Cabbage and Red Onion available.
[x] Have Tofu and Tofu slice available.
[x] Have Soybeans available.
[x] Have Garlic available.
[x] Add all the recipes to the guidebook

Changelog

:cl:

add: Added Mothic Cuisine with 3 new cheese, 3 new sauces and 41 recipes.

Glad to see the culinary Renaissance is in swing this week lol

This is pretty much all good to go, just want to get a second opinion on this @Torun-S since you're pretty much at the helm of the whole cuisine rework.

Yay :D
I'll add this here too:
If the whole condiment bowl trash really becomes an issue it's still possible to convert all of those into a normal beaker reaction to avoid either avoid extra items or to have them be produced similarly to cheese curd.

Another fine addition to cooking collection @Elijahrane !


Gap between track and thumb with disableTrackFollow prop while seeking ends

Hi @alantoa, thanks for this awesome library.
When I use disableTrackFollow there's  a gap between the track and the thumb after seeking is complete on both iOS and Android. No expensive calculations or re-renders are taking place, only the parent witch holds the player controls. I'm passing the progress directly to the slider from parent.
See attached video, I've made the thumb transparent for testing purposes:
https://user-images.githubusercontent.com/717975/174292503-8fe06f5c-082f-4015-a4db-3ece72afe91f.mov
Parent:

  const progress = useSharedValue(0);

const playAudio = useCallback(async () => {
    await startPlayer(currentMessage?.audio?.url, (res: any) => {
      const { status } = res;
      switch (status) {
        case AUDIO_STATUS.begin: {
          setPlaying(true);
          break;
        }
        case AUDIO_STATUS.play: {
          const { currentPosition } = res.data;
          progress.value = currentPosition;  <---- setting progress here
          setPlayTime(msToHMS(currentPosition)); <-- setting current position to display mm:ss
          break;
        }
  .....
}, [])

return (
  <TrackPlayerProgress
              disabled={!playing}
              duration={currentMessage?.audio?.secs}
              messagePosition={position}
              onSeekComplete={seekPlayer}
              progress={progress}
            />
)

and the TrackPlayerProgress:
interface IProps {
  disabled: boolean;
  duration: number | undefined;
  messagePosition: string;
  onSeekComplete: (position: number) => Promise<void>;
  progress: Animated.SharedValue<number>;
  themeContext: any;
}

const TrackPlayerProgress = ({
  disabled,
  duration,
  messagePosition,
  progress,
  themeContext
}: IProps) => {
  const isScrubbing = useSharedValue(false);
  const minValue = useSharedValue(0);

  const maxValue = useDerivedValue(() => {
    return duration;
  }, [duration]);

  const pauseAudio = useCallback(async () => {
    breadcrumb("User Paused Audio Message");
    await pausePlayer();
  }, []);

  const onSlidingStart = useCallback(async () => {
    await pauseAudio();
  }, [pauseAudio]);

  const onSlidingComplete = (slideValue: number) => {
    seekPlayer(slideValue).then(() => {
      isScrubbing.value = false;
    });
  };

  const theme = useMemo(
    () => ({
      minimumTrackTintColor:
        messagePosition === "right"
          ? themeContext.chatScreen.audioPlayer.right.minimumTrack
          : themeContext.chatScreen.audioPlayer.left.minimumTrack,
      maximumTrackTintColor:
        messagePosition === "right"
          ? themeContext.chatScreen.audioPlayer.right.track
          : themeContext.chatScreen.audioPlayer.left.track,
      bubbleBackgroundColor: themeContext.chatScreen.audioPlayer.timeBubble,
      bubbleTextColor: themeContext.chatScreen.audioPlayer.timeBubbleText
    }),
    [messagePosition, themeContext]
  );

  console.count("rendering track component");

  return (
    <View style={styles.container}>
      <View style={styles.sliderInnerContainer}>
        <Slider
          bubble={msToHMS}
          disableTrackFollow
          bubbleTranslateY={Platform.OS === "ios" ? -20 : -30}
          containerStyle={styles.sliderContainer}
          disable={disabled}
          isScrubbing={isScrubbing}
          // @ts-ignore
          maximumValue={maxValue}
          minimumValue={minValue}
          onSlidingComplete={onSlidingComplete}
          onSlidingStart={onSlidingStart}
          progress={progress}
          sliderHeight={5}
          style={styles.slider}
          thumbWidth={20}
          theme={theme}
        />
      </View>
    </View>
  );
};

const styles = StyleSheet.create({
  container: {
    alignItems: "center",
    marginLeft: 5,
    marginRight: 15
  },
  sliderInnerContainer: {
    maxWidth: 500,
    position: "relative",
    width: "100%"
  },
  sliderContainer: {
    borderRadius: 50
  },
  slider: {
    borderRadius: 12,
    marginBottom: 14,
    marginTop: 16
  }
});

export default React.memo(TrackPlayerProgress, isEqual);

I believe there's a miscalculation between the thumbSize and the min track position/width after the seek. Tried to debug it a bit and what fixes it somehow is to remove - thumbWidth from this function:
  const progressToValue = (value: number) => {
    'worklet';
    if (sliderTotalValue() === 0) {
      return 0;
    }
    return (value / sliderTotalValue()) * (width.value - thumbWidth);
  };

After removing the - thumbWidth it works fine but the thumb reaches the end and the audio is still playing.

Just found out that this happens with small audio messages also, not only in seek, see video
https://user-images.githubusercontent.com/717975/174294469-f1c58fb7-e977-489f-83da-d10cc163389d.mov
:

hey @efstathiosntonas!
thanks for looking into this! 🙏
I remember that I have dealt with this issue before, maybe it reappeared in a PR.
I'll find time to look at it over the weekend or next week!
this lib is not complicated, if you have solved this issue, welcome free commit PR, I can review and test it!

Thanks @alantoa, trying to debug it, if I managed to fix it I'll create a PR.

@alantoa found the bug, will create a PR

hi, @efstathiosntonas, thank you!
published in v2.0.8!

Thanks @alantoa, keep it up, this is a great library and trust me, I’ve used every single slider out there, this one handles seeking way better than the rest.

this one handles seeking way better than the rest.
thank you, LFG!
I'm glad to help if you have any issues!


Zip Slip Vulnerability Fix is not present in advertised nuget v 0.21.1

The Zip Slip vuln is fixed by #374 and should be included in v 0.21.0 as described here
However: I have decompiled versions 0.21.0 and 0.21.1 from Nuget.org (the .net 4.5 dll) and the fix is NOT there.
Decompiled Nuget code:

The PR for the fix:

You'll notice the classes you're referencing are two different classes.
The issue isn't that it's missing but incomplete.  The implementation previously provided was for the Archive API and not the Reader API as you want.  This should be fixed.


uploadFile no longer works

After this change https://github.com/xvrh/puppeteer-dart/pull/98 we are seeing a failure in uploadFile
Stack:
Evaluation failed: TypeError: Failed to fetch
      at __puppeteer_evaluation_script__:3:30
  package:puppeteer/src/page/execution_context.dart 171:11  ExecutionContext._evaluateInternal

Pinning puppeteer to 1.14.1 works around the issue in the meantime.

Sorry about that.
I just blindly applied the puppeteer change in https://github.com/puppeteer/puppeteer/pull/5196
May be, I will back-off and revert the change until I figure out why this is needed and what version of Chromium are compatible.

I published 1.15.1 with the revert.
The change will wait until this is clearer what it is about.

The uploadFile change has been submitted again in version 1.16.0.
This is necessary due to the removal on an internal command in the dev tool protocol.
Please open this bug again if this causes any issue.

@xvrh doesn't look like I have perms to reopen but this most definitely does result in the same stack as above.

OK thank. I reopen and I'll investigate. This time I can't just revert the change.

Hi @kendalsickels-wf
Would you mind trying to reproduce the problem in an isolated environment?
Can you modify this kind of script to understand the difference you are seing with the new version?
import 'dart:convert';
import 'dart:io';

import 'package:mime/mime.dart';
import 'package:shelf/shelf_io.dart' as shelf;
import 'package:shelf/shelf.dart' as shelf;
import 'package:puppeteer/puppeteer.dart';

void main() async {
  var httpServer = await shelf.serve((request) async {
    if (request.method.toLowerCase() == 'post') {
      var header =
          HeaderValue.parse(request.headers[HttpHeaders.contentTypeHeader]);
      var boundary = header.parameters['boundary'];
      print(request.headers);
      await for (var part
          in request.read().transform(MimeMultipartTransformer(boundary))) {
        print('Part ${part.headers}');
        var partHeaders =
            HeaderValue.parse(part.headers['content-disposition']);
        var fileName = partHeaders.parameters['filename'];
        if (fileName != null) {
          var fileSink = File('_received_$fileName').openWrite();
          await part.pipe(fileSink);
          await fileSink.close();
        }
      }
    }
    return shelf.Response.ok(utf8.encode('''
<form method="post" enctype="multipart/form-data">
  <input type="file" name="my_file">
  <input type="submit" value="Upload" name="submit">
</form>
'''), headers: {HttpHeaders.contentTypeHeader: 'text/html'});
  }, InternetAddress.anyIPv4, 0);

  var browser = await puppeteer.launch();
  var page = await browser.newPage();
  await page.goto('http://${httpServer.address.host}:${httpServer.port}',
      wait: Until.networkIdle);

  var inputFile = await page.$('input[type=file]');
  await inputFile.uploadFile([File('CHANGELOG.md')]);
  var submitButton = await page.$('input[type=submit]');
  await submitButton.click();

  await browser.close();
  await httpServer.close(force: true);
}

So after some debugging it there were a few issues at play. First, the new uploadFile changes were hitting a CSP issue with our application:
VM171 __puppeteer_evaluation_script__:3 Refused to connect to 'data:application/octet-stream;base64,FQYVBhiTmAHsnfmXJMl90KNqemZqpnt29rS09iLF7nqNMU1PRMY92JZWIy0SSPKiXRv/JsfZk1Zdm5k1s+LSGrC5ZHMfQphLxtwgsLnF9Q/oIS4BNgLEJU4B4jZgXmRm93T1dE1PT09Hxzw69+2rqeo6vp/vFd+I/GbGBhhsgME6WAMAPOX8ZPbR22Vzc7ZoPlpO9LavR+A8AGAwAhcAAAMAroLhBgDgse5z7UcHAIAnXtdm7OEswBuzaeOnTT0ClwH46uMjsA4G7HtGYAOA5+AIXAHgOTgCj3XPrsYHsAGG6+23vBQqvX2dIYK1tRphxSkSzGglrCHcBi2Nl2wIzoMRuAhA+18vEFgH5wAAL3DrOWc4WOEIpYFoHkjgFgdiUcGU+igG+0R//oNl3dQwYsN6EUL5pq+hnjo4r3z75PqDo5jgjCXCKOo91YU0yknqMKNKCqywGR4LhYJ9KM++/J2vfw...HEulSjigYlFFngwaqgEup8Pwj66C047hNuPlejigalrFEsSeYtRBQ8UIAocthrJRTChl/asKJBOaYUqTxeYgk9C8ajU8QYB0oU44axjyoalBUyBsEtZ8yi0d4pLfLSfpQqCpOvWKnbalTRoBI73UGF5J3BCM4Ka50XXmgWiGyZO5w/V6OKBqUMA+E45JcGno6ERuWYVQFETFZvjHNHFQ1KMmVEUE4xLxCNtqBS0EpF0Ap43Hg1jioaVMovXeVAIQDGyIxgIl8hJ8hH4PnWmbqtRhUNChAC995ZJjkKpa1QhEkaqXxiZDfewqOKBuV4DAYJteUR0Tly0iGLSiumY9rwghxWNKjgg/fKQhRSIQNryDDiXplgpSXX+j4OKxpUckmByofiOEPlnPOJh6hJCaUV5BPmTVsNKhqU0CFCEloI5pEHJJAcyet4uv8qbbTVqKJBRYzAozaRSUKNylD0CUErUia3V/vCH1WsqMPh68OXX704HA6Hw/8HAAD//wA=' because it violates the document's Content Security Policy.

I worked around that by adding data: to default-src. For the record if someone wished to not add to their CSP they could use await page.setBypassCSP(true); prior to their page.goto() and that would also avoid the issue.
Upload was still not working. So I changed the dispatchEvent from input to change and now everything works. It appears js puppeteer has an issue opened for this too: https://github.com/puppeteer/puppeteer/issues/5434
Would you like me to put up a PR to make this change in puppeteer-dart?

Push this up: https://github.com/xvrh/puppeteer-dart/pull/105

Thanks for the debugging and all the information!
It seems there is a lot of issue reported in the main puppeteer repository about the uploadFile change.


Include this in the list of things to consider in Outlook and OWA

As mentioned earlier in the article,

Sometimes when a folder is moved, one or more subfolders are automatically created and items from the original folder are distributed to these folders to facilitate the moving process.

If I'm compiling a list of things I need to tell the end user when I enable auto-expanding archiving this should be on the list. Someone will inevitably ask why these folders appeared in their archive.
Thanks!

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

ID: 54a21b69-2f7c-d54d-d8a1-5512b810b4bf
Version Independent ID: 19126a83-c4af-bd0c-6a20-76e27db675c9
Content: Learn about auto-expanding archiving - Microsoft Purview (compliance)
Content Source: microsoft-365/compliance/autoexpanding-archiving.md
Service: o365-seccomp
GitHub Login: @cabailey
Microsoft Alias: cabailey

@cabailey Please help us in resolving this issue. Thanks

Thanks for your feedback.  We're making some updates to address this.


IL - Single Message Resend

Describe the bug
The follow message failed to send to IL.  Please resend: Message ID is 2d06e4ff-226d-42e9-bb3d-7885a25aa257.

@jorg3lopez will work on this today

@Adrian-Brewster @anshulkumar-usds Submitted all messages to IL (05/12/2022)
file name:
covid-19-2d06e4ff-226d-42e9-bb3d-7885a25aa257-20220426181513.hl7

@Adrian-Brewster I can't find the email from IL reporting this issue. Can you please reach out to them and confirm delivery with them?

@anshulkumar-usds Yes. I reached out to Todd to confirm receipt.

@anshulkumar-usds @jorg3lopez did this get resent with a new message ID?


Empty user

Hello, I try to setup webtrees using docker-compose.
Everything works fine database is created, and populated, but no user is created and I can't figure out why.
Could you help me, please ?

.env
APP_NAME="webtrees"
APP_PROJECT=webtrees
APP_DOMAIN=webtrees.mydomain.com

MARIADB_RANDOM_ROOT_PASSWORD=true
MYSQL_DATABASE=webtrees
MYSQL_USER=app_user
MYSQL_PASSWORD=secret
TZ=Europe/Paris

# https://github.com/H2CK/webtrees#parameters
# UPDATE_ON_START=true
GROUP_ID=999
DISABLE_SSL=TRUE
PORT=80
PRETTYURLS="1"
BASE_URL="http://${APP_DOMAIN}"
DB_HOST="${APP_PROJECT}-mariadb"
DB_USER="${MYSQL_USER}"
DB_PASSWORD="${MYSQL_PASSWORD}"
# DB_PORT=
DB_NAME="${MYSQL_DATABASE}"
WT_ADMIN="loranger"
WT_ADMINPW="my_password"
<EMAIL_ADDRESS>

docker-compose.yml
version: '3'

services:

  webtrees:
    container_name: ${APP_PROJECT}-webtrees
    image: dtjs48jkt/webtrees:latest
    # volumes:
      # - ./datas:/var/www/html/data
    env_file:
      - .env
    restart: always
    depends_on:
      - mariadb
    labels:
      - "traefik.http.routers.${APP_PROJECT}.rule=Host(`${APP_DOMAIN}`)"
      - "traefik.http.services.${APP_PROJECT}-service.loadbalancer.server.port=80"

  mariadb:
    container_name: ${APP_PROJECT}-mariadb
    image: mariadb:latest
    env_file:
      - .env
    volumes:
      - ./database:/var/lib/mysql
    labels:
      - "traefik.enable=false"

  adminer:
    container_name: ${APP_PROJECT}-adminer
    image: adminer:latest
    environment:
        ADMINER_DEFAULT_SERVER: ${DB_HOST}
        ADMINER_DESIGN: flat
    profiles:
      - adminer
    labels:
      - "traefik.http.routers.${APP_PROJECT}-adminer.rule=Host(`adminer.${APP_DOMAIN}`)"
      - "traefik.http.services.${APP_PROJECT}-adminer-service.loadbalancer.server.port=8080"

networks:
  default:
      name: web

Bonjour Laurent,
I will try to analyse your problem in the next days.

Merci ! 👍🏻

Hi Laurent,
when I try to setup an environment with single docker commands everything works correct and you can login with the credentials set in WT_ADMIN and WT_ADMINPW.
So, when you execute:
docker run --name mariadb -p 3306:3306 -e MARIADB_ROOT_PASSWORD=rootpw -e MARIADB_USER=example-user -e MARIADB_PASSWORD=my_secret -d mariadb:10

and following
docker run -d -p 80:80 --name webtrees  -e DISABLE_SSL=TRUE -e PORT=80 -e DB_USER=root -e DB_PASSWORD=rootpw -e DB_HOST=<IP_ADDRESS> -e DB_PORT=3306 -e DB_NAME=webtrees_db -e WT_ADMIN=admin -e WT_ADMINPW=admin dtjs48jkt/webtrees:latest

Everything works as expected and I would rule out that the implementation in general does not work.
Since you are using docker-compose I also tried to do a test with docker-compose. But I could not use your provided files directly due to a completely different environment (no Traefik, ..). After some modifications I got it running and had the effect that the database was created but no tables at all were contained the database. Currently it is not yet clear why this happens since the data is created with the single command:
mysql -u root --password=rootpw -h webtrees-mariadb < /mod_webtrees.sql

When you connect to the shell of the container you can execute the command and the database is successfully created. Also a successful login is possible.
Currently I would assume here a timing problem that the database is not ready while the webtrees container yet tries to write to the database. You could try to add the following to your docker-compose.yml:
command:
      - '/bin/sh'
      - '-c'
      - '/bin/sleep 30 && ./start.sh'
depends_on:
      - "mariadb"

I will try to analyze it further and check if there could be some enhancement in the webtrees image itself.

With https://github.com/H2CK/webtrees/commit/893591388c93c9165ebb8d15d4f1150e366bfcf6 a delay was added when initially setting up the database. This gives the database the time to startup before the SQL script is executed.
Please try the latest version for setting up webtrees with the database using docker-compose. Previously described modification is no longer necessary.
My local tests proved that the database was created successful. Hope you could confirm that too.

Hi,
Thanks for your hard work.
I just tried, but I'm afraid it still does not work for me. You could find the log
I did prune all the containers and datas.
I started the project and waited 2 minutes (as you can see on the logs) before opening adminer, but the database was empty

logs
~/Developer/projects/webtrees
❯ la
total 16
-rw-r--r--  1 loranger  staff   602B 10 mai 08:51 .env
-rw-r--r--  1 loranger  staff   1,0K 10 mai 08:51 docker-compose.yml

~/Developer/projects/webtrees
❯ docker-compose pull
[+] Running 2/2
 ⠿ webtrees Pulled                                                         1.4s
 ⠿ mariadb Pulled                                                          1.4s

~/Developer/projects/webtrees
❯ docker-compose rm
No stopped containers

~/Developer/projects/webtrees
❯ docker-compose --profile adminer up
[+] Running 3/2
 ⠿ Container webtrees-adminer   Created                                    0.1s
 ⠿ Container webtrees-mariadb   Created                                    0.1s
 ⠿ Container webtrees-webtrees  Created                                    0.0s
Attaching to webtrees-adminer, webtrees-mariadb, webtrees-webtrees
webtrees-adminer   | [Tue May 10 07:05:52 2022] PHP 7.4.28 Development Server (http://[::]:8080) started
webtrees-mariadb   | 2022-05-10 07:05:52+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.7.3+maria~focal started.
webtrees-mariadb   | 2022-05-10 07:05:52+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
webtrees-mariadb   | 2022-05-10 07:05:52+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.7.3+maria~focal started.
webtrees-mariadb   | 2022-05-10 07:05:52+00:00 [Note] [Entrypoint]: Initializing database files
webtrees-webtrees  | Site webtrees_insecure already disabled
webtrees-webtrees  | Site webtrees already enabled
webtrees-webtrees  | PRETTYURLS not explicitly activated. Nothing to do.
webtrees-webtrees  | Set base_url in /var/www/html/data/config.ini.php
webtrees-webtrees  | ERROR: Configuration file /var/www/html/data/config.ini.php to set base_url not found.
webtrees-webtrees  | 2022-05-10 07:05:52,586 WARN No file matches via include "/etc/supervisor/conf.d/*.conf"
webtrees-webtrees  | 2022-05-10 07:05:52,586 INFO Set uid to user 0 succeeded
webtrees-webtrees  | 2022-05-10 07:05:52,588 INFO RPC interface 'supervisor' initialized
webtrees-webtrees  | 2022-05-10 07:05:52,588 CRIT Server 'unix_http_server' running without any HTTP authentication checking
webtrees-webtrees  | 2022-05-10 07:05:52,588 INFO supervisord started with pid 31
webtrees-webtrees  | 2022-05-10 07:05:53,594 INFO spawned: 'crond' with pid 33
webtrees-webtrees  | 2022-05-10 07:05:53,595 INFO spawned: 'apache2' with pid 34
webtrees-webtrees  | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using <IP_ADDRESS>. Set the 'ServerName' directive globally to suppress this message
webtrees-webtrees  | 2022-05-10 07:05:54,618 INFO success: crond entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
webtrees-webtrees  | 2022-05-10 07:05:54,618 INFO success: apache2 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
webtrees-mariadb   | 2022-05-10  7:05:55 0 [Warning] You need to use --log-bin to make --expire-logs-days or --binlog-expire-logs-seconds work.
webtrees-mariadb   |
webtrees-mariadb   |
webtrees-mariadb   | PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
webtrees-mariadb   | To do so, start the server, then issue the following command:
webtrees-mariadb   |
webtrees-mariadb   | '/usr/bin/mysql_secure_installation'
webtrees-mariadb   |
webtrees-mariadb   | which will also give you the option of removing the test
webtrees-mariadb   | databases and anonymous user created by default.  This is
webtrees-mariadb   | strongly recommended for production servers.
webtrees-mariadb   |
webtrees-mariadb   | See the MariaDB Knowledgebase at https://mariadb.com/kb
webtrees-mariadb   |
webtrees-mariadb   | Please report any problems at https://mariadb.org/jira
webtrees-mariadb   |
webtrees-mariadb   | The latest information about MariaDB is available at https://mariadb.org/.
webtrees-mariadb   |
webtrees-mariadb   | Consider joining MariaDB's strong and vibrant community:
webtrees-mariadb   | https://mariadb.org/get-involved/
webtrees-mariadb   |
webtrees-mariadb   | 2022-05-10 07:05:56+00:00 [Note] [Entrypoint]: Database files initialized
webtrees-mariadb   | 2022-05-10 07:05:56+00:00 [Note] [Entrypoint]: Starting temporary server
webtrees-mariadb   | 2022-05-10 07:05:56+00:00 [Note] [Entrypoint]: Waiting for server startup
webtrees-mariadb   | 2022-05-10  7:05:56 0 [Note] mariadbd (server 10.7.3-MariaDB-1:10.7.3+maria~focal) starting as process 98 ...
webtrees-mariadb   | 2022-05-10  7:05:56 0 [Warning] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive
webtrees-mariadb   | 2022-05-10  7:05:56 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
webtrees-mariadb   | 2022-05-10  7:05:56 0 [Note] InnoDB: Number of transaction pools: 1
webtrees-mariadb   | 2022-05-10  7:05:56 0 [Note] InnoDB: Using ARMv8 crc32 + pmull instructions
webtrees-mariadb   | 2022-05-10  7:05:56 0 [Note] mariadbd: O_TMPFILE is not supported on /tmp (disabling future attempts)
webtrees-mariadb   | 2022-05-10  7:05:56 0 [Note] InnoDB: Using Linux native AIO
webtrees-mariadb   | 2022-05-10  7:05:56 0 [Note] InnoDB: Initializing buffer pool, total size = 134217728, chunk size = 134217728
webtrees-mariadb   | 2022-05-10  7:05:56 0 [Note] InnoDB: Completed initialization of buffer pool
webtrees-mariadb   | 2022-05-10  7:05:56 0 [Note] InnoDB: 128 rollback segments are active.
webtrees-mariadb   | 2022-05-10  7:05:56 0 [Note] InnoDB: Creating shared tablespace for temporary tables
webtrees-mariadb   | 2022-05-10  7:05:56 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
webtrees-mariadb   | 2022-05-10  7:05:57 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
webtrees-mariadb   | 2022-05-10  7:05:57 0 [Note] InnoDB: 10.7.3 started; log sequence number 41361; transaction id 14
webtrees-mariadb   | 2022-05-10  7:05:57 0 [Note] Plugin 'FEEDBACK' is disabled.
webtrees-mariadb   | 2022-05-10  7:05:57 0 [Warning] You need to use --log-bin to make --expire-logs-days or --binlog-expire-logs-seconds work.
webtrees-mariadb   | 2022-05-10  7:05:57 0 [Warning] 'user' entry 'root@226fd5d45356' ignored in --skip-name-resolve mode.
webtrees-mariadb   | 2022-05-10  7:05:57 0 [Warning] 'proxies_priv' entry '@% root@226fd5d45356' ignored in --skip-name-resolve mode.
webtrees-mariadb   | 2022-05-10  7:05:57 0 [Note] mariadbd: ready for connections.
webtrees-mariadb   | Version: '10.7.3-MariaDB-1:10.7.3+maria~focal'  socket: '/run/mysqld/mysqld.sock'  port: 0  mariadb.org binary distribution
webtrees-mariadb   | 2022-05-10 07:05:57+00:00 [Note] [Entrypoint]: Temporary server started.
webtrees-mariadb   | Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it.
webtrees-mariadb   | Warning: Unable to load '/usr/share/zoneinfo/leapseconds' as time zone. Skipping it.
webtrees-mariadb   | Warning: Unable to load '/usr/share/zoneinfo/tzdata.zi' as time zone. Skipping it.
webtrees-mariadb   | 2022-05-10 07:05:59+00:00 [Note] [Entrypoint]: Securing system users (equivalent to running mysql_secure_installation)
webtrees-mariadb   | 2022-05-10 07:05:59+00:00 [Note] [Entrypoint]: Creating database webtrees
webtrees-mariadb   | 2022-05-10 07:05:59+00:00 [Note] [Entrypoint]: Creating user webtrees
webtrees-mariadb   | 2022-05-10 07:05:59+00:00 [Note] [Entrypoint]: Giving user webtrees access to schema webtrees
webtrees-mariadb   |
webtrees-mariadb   | 2022-05-10 07:05:59+00:00 [Note] [Entrypoint]: Stopping temporary server
webtrees-mariadb   | 2022-05-10  7:05:59 0 [Note] mariadbd (initiated by: root[root] @ localhost []): Normal shutdown
webtrees-mariadb   | 2022-05-10  7:05:59 0 [Note] InnoDB: FTS optimize thread exiting.
webtrees-mariadb   | 2022-05-10  7:05:59 0 [Note] InnoDB: Starting shutdown...
webtrees-mariadb   | 2022-05-10  7:05:59 0 [Note] InnoDB: Dumping buffer pool(s) to /var/lib/mysql/ib_buffer_pool
webtrees-mariadb   | 2022-05-10  7:05:59 0 [Note] InnoDB: Buffer pool(s) dump completed at 220510  7:05:59
webtrees-mariadb   | 2022-05-10  7:05:59 0 [Note] InnoDB: Removed temporary tablespace data file: "./ibtmp1"
webtrees-mariadb   | 2022-05-10  7:05:59 0 [Note] InnoDB: Shutdown completed; log sequence number 42335; transaction id 15
webtrees-mariadb   | 2022-05-10  7:05:59 0 [Note] mariadbd: Shutdown complete
webtrees-mariadb   |
webtrees-mariadb   | 2022-05-10 07:06:00+00:00 [Note] [Entrypoint]: Temporary server stopped
webtrees-mariadb   |
webtrees-mariadb   | 2022-05-10 07:06:00+00:00 [Note] [Entrypoint]: MariaDB init process done. Ready for start up.
webtrees-mariadb   |
webtrees-mariadb   | 2022-05-10  7:06:00 0 [Note] mariadbd (server 10.7.3-MariaDB-1:10.7.3+maria~focal) starting as process 1 ...
webtrees-mariadb   | 2022-05-10  7:06:00 0 [Warning] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive
webtrees-mariadb   | 2022-05-10  7:06:00 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
webtrees-mariadb   | 2022-05-10  7:06:00 0 [Note] InnoDB: Number of transaction pools: 1
webtrees-mariadb   | 2022-05-10  7:06:00 0 [Note] InnoDB: Using ARMv8 crc32 + pmull instructions
webtrees-mariadb   | 2022-05-10  7:06:00 0 [Note] mariadbd: O_TMPFILE is not supported on /tmp (disabling future attempts)
webtrees-mariadb   | 2022-05-10  7:06:00 0 [Note] InnoDB: Using Linux native AIO
webtrees-mariadb   | 2022-05-10  7:06:00 0 [Note] InnoDB: Initializing buffer pool, total size = 134217728, chunk size = 134217728
webtrees-mariadb   | 2022-05-10  7:06:00 0 [Note] InnoDB: Completed initialization of buffer pool
webtrees-mariadb   | 2022-05-10  7:06:00 0 [Note] InnoDB: 128 rollback segments are active.
webtrees-mariadb   | 2022-05-10  7:06:00 0 [Note] InnoDB: Creating shared tablespace for temporary tables
webtrees-mariadb   | 2022-05-10  7:06:00 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
webtrees-mariadb   | 2022-05-10  7:06:00 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
webtrees-mariadb   | 2022-05-10  7:06:00 0 [Note] InnoDB: 10.7.3 started; log sequence number 42335; transaction id 14
webtrees-mariadb   | 2022-05-10  7:06:00 0 [Note] Plugin 'FEEDBACK' is disabled.
webtrees-mariadb   | 2022-05-10  7:06:00 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
webtrees-mariadb   | 2022-05-10  7:06:00 0 [Note] InnoDB: Buffer pool(s) load completed at 220510  7:06:00
webtrees-mariadb   | 2022-05-10  7:06:00 0 [Warning] You need to use --log-bin to make --expire-logs-days or --binlog-expire-logs-seconds work.
webtrees-mariadb   | 2022-05-10  7:06:00 0 [Note] Server socket created on IP: '<IP_ADDRESS>'.
webtrees-mariadb   | 2022-05-10  7:06:00 0 [Note] Server socket created on IP: '::'.
webtrees-mariadb   | 2022-05-10  7:06:00 0 [Note] mariadbd: ready for connections.
webtrees-mariadb   | Version: '10.7.3-MariaDB-1:10.7.3+maria~focal'  socket: '/run/mysqld/mysqld.sock'  port: 3306  mariadb.org binary distribution
webtrees-adminer   | [Tue May 10 07:08:33 2022] [::ffff:<IP_ADDRESS>]:58582 Accepted
webtrees-adminer   | [Tue May 10 07:08:33 2022] [::ffff:<IP_ADDRESS>]:58582 [403]: GET /?server=webtrees-mariadb&username=webtrees
webtrees-adminer   | [Tue May 10 07:08:33 2022] [::ffff:<IP_ADDRESS>]:58582 Closing
webtrees-adminer   | [Tue May 10 07:08:33 2022] [::ffff:<IP_ADDRESS>]:58586 Accepted
webtrees-adminer   | [Tue May 10 07:08:33 2022] [::ffff:<IP_ADDRESS>]:58586 [200]: GET /adminer.css?v=1882297936
webtrees-adminer   | [Tue May 10 07:08:33 2022] [::ffff:<IP_ADDRESS>]:58586 Closing
webtrees-adminer   | [Tue May 10 07:08:38 2022] [::ffff:<IP_ADDRESS>]:58588 Accepted
webtrees-adminer   | [Tue May 10 07:08:38 2022] [::ffff:<IP_ADDRESS>]:58588 [302]: POST /?server=webtrees-mariadb&username=webtrees
webtrees-adminer   | [Tue May 10 07:08:38 2022] [::ffff:<IP_ADDRESS>]:58588 Closing
webtrees-adminer   | [Tue May 10 07:08:38 2022] [::ffff:<IP_ADDRESS>]:58590 Accepted
webtrees-adminer   | [Tue May 10 07:08:38 2022] [::ffff:<IP_ADDRESS>]:58590 [200]: GET /?server=webtrees-mariadb&username=webtrees
webtrees-adminer   | [Tue May 10 07:08:38 2022] [::ffff:<IP_ADDRESS>]:58590 Closing
webtrees-adminer   | [Tue May 10 07:08:38 2022] [::ffff:<IP_ADDRESS>]:58594 Accepted
webtrees-adminer   | [Tue May 10 07:08:38 2022] [::ffff:<IP_ADDRESS>]:58594 [200]: GET /adminer.css?v=1882297936
webtrees-adminer   | [Tue May 10 07:08:38 2022] [::ffff:<IP_ADDRESS>]:58594 Closing
webtrees-adminer   | [Tue May 10 07:08:41 2022] [::ffff:<IP_ADDRESS>]:58598 Accepted
webtrees-adminer   | [Tue May 10 07:08:41 2022] [::ffff:<IP_ADDRESS>]:58598 [200]: GET /?server=webtrees-mariadb&username=webtrees&db=webtrees
webtrees-adminer   | [Tue May 10 07:08:41 2022] [::ffff:<IP_ADDRESS>]:58598 Closing
webtrees-adminer   | [Tue May 10 07:08:41 2022] [::ffff:<IP_ADDRESS>]:58602 Accepted
webtrees-adminer   | [Tue May 10 07:08:41 2022] [::ffff:<IP_ADDRESS>]:58602 [200]: GET /adminer.css?v=1882297936
webtrees-adminer   | [Tue May 10 07:08:41 2022] [::ffff:<IP_ADDRESS>]:58602 Closing

Maybe I forgot a step ?

You didn't do anything wrong. From the logs it seems that the added static delay of 30 seconds is not sufficient for your database to fully start up.
I will have to modify the routine to check periodically if the database is already up an running.
I will inform you when the implementation is changed.

With commit https://github.com/H2CK/webtrees/commit/e8226371a0cbfb094dc9556347ce0bc1df49815f now a dynamic delay is added before writing to the database. In a loop the readiness of the database is checked and only if it is available the data is written.
It should be soon available in the latest docker image for version 2.1.x
Please try if this solves the problem on your side.

Hi,
Thanks for your support.
 Nothing to do.
webtrees-webtrees  | Set base_url in /var/www/html/data/config.ini.php
webtrees-webtrees  | ERROR: Configuration file /var/www/html/data/config.ini.php to set base_url not found.
webtrees-mariadb   | 2022-05-13 08:07:45+00:00 [Note] [Entrypoint]: Initializing database files
webtrees-webtrees  | 2022-05-13 08:07:46,021 WARN No file matches via include "/etc/supervisor/conf.d/*.conf"
webtrees-webtrees  | 2022-05-13 08:07:46,021 INFO Set uid to user 0 succeeded
webtrees-webtrees  | 2022-05-13 08:07:46,023 INFO RPC interface 'supervisor' initialized
webtrees-webtrees  | 2022-05-13 08:07:46,023 CRIT Server 'unix_http_server' running without any HTTP authentication checking
webtrees-webtrees  | 2022-05-13 08:07:46,023 INFO supervisord started with pid 30
webtrees-webtrees  | 2022-05-13 08:07:47,026 INFO spawned: 'crond' with pid 32
webtrees-webtrees  | 2022-05-13 08:07:47,027 INFO spawned: 'apache2' with pid 33
webtrees-webtrees  | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using <IP_ADDRESS>. Set the 'ServerName' directive globally to suppress this message
webtrees-webtrees  | 2022-05-13 08:07:48,053 INFO success: crond entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
webtrees-webtrees  | 2022-05-13 08:07:48,053 INFO success: apache2 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
webtrees-mariadb   | 2022-05-13  8:07:49 0 [Warning] You need to use --log-bin to make --expire-logs-days or --binlog-expire-logs-seconds work.
webtrees-mariadb   |
webtrees-mariadb   |
webtrees-mariadb   | PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
webtrees-mariadb   | To do so, start the server, then issue the following command:
webtrees-mariadb   |
webtrees-mariadb   | '/usr/bin/mysql_secure_installation'
webtrees-mariadb   |
webtrees-mariadb   | which will also give you the option of removing the test
webtrees-mariadb   | databases and anonymous user created by default.  This is
webtrees-mariadb   | strongly recommended for production servers.
webtrees-mariadb   |
webtrees-mariadb   | See the MariaDB Knowledgebase at https://mariadb.com/kb
webtrees-mariadb   |
webtrees-mariadb   | Please report any problems at https://mariadb.org/jira
webtrees-mariadb   |
webtrees-mariadb   | The latest information about MariaDB is available at https://mariadb.org/.
webtrees-mariadb   |
webtrees-mariadb   | Consider joining MariaDB's strong and vibrant community:
webtrees-mariadb   | https://mariadb.org/get-involved/
webtrees-mariadb   |
webtrees-mariadb   | 2022-05-13 08:07:50+00:00 [Note] [Entrypoint]: Database files initialized
webtrees-mariadb   | 2022-05-13 08:07:50+00:00 [Note] [Entrypoint]: Starting temporary server
webtrees-mariadb   | 2022-05-13 08:07:50+00:00 [Note] [Entrypoint]: Waiting for server startup
webtrees-mariadb   | 2022-05-13  8:07:50 0 [Note] mariadbd (server 10.7.3-MariaDB-1:10.7.3+maria~focal) starting as process 96 ...
webtrees-mariadb   | 2022-05-13  8:07:50 0 [Warning] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive
webtrees-mariadb   | 2022-05-13  8:07:50 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
webtrees-mariadb   | 2022-05-13  8:07:50 0 [Note] InnoDB: Number of transaction pools: 1
webtrees-mariadb   | 2022-05-13  8:07:50 0 [Note] InnoDB: Using ARMv8 crc32 + pmull instructions
webtrees-mariadb   | 2022-05-13  8:07:50 0 [Note] mariadbd: O_TMPFILE is not supported on /tmp (disabling future attempts)
webtrees-mariadb   | 2022-05-13  8:07:50 0 [Note] InnoDB: Using Linux native AIO
webtrees-mariadb   | 2022-05-13  8:07:50 0 [Note] InnoDB: Initializing buffer pool, total size = 134217728, chunk size = 134217728
webtrees-mariadb   | 2022-05-13  8:07:50 0 [Note] InnoDB: Completed initialization of buffer pool
webtrees-mariadb   | 2022-05-13  8:07:50 0 [Note] InnoDB: 128 rollback segments are active.
webtrees-mariadb   | 2022-05-13  8:07:50 0 [Note] InnoDB: Creating shared tablespace for temporary tables
webtrees-mariadb   | 2022-05-13  8:07:50 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
webtrees-mariadb   | 2022-05-13  8:07:50 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
webtrees-mariadb   | 2022-05-13  8:07:50 0 [Note] InnoDB: 10.7.3 started; log sequence number 41361; transaction id 14
webtrees-mariadb   | 2022-05-13  8:07:50 0 [Note] Plugin 'FEEDBACK' is disabled.
webtrees-mariadb   | 2022-05-13  8:07:50 0 [Warning] You need to use --log-bin to make --expire-logs-days or --binlog-expire-logs-seconds work.
webtrees-mariadb   | 2022-05-13  8:07:50 0 [Warning] 'user' entry 'root@0a3510bcb48b' ignored in --skip-name-resolve mode.
webtrees-mariadb   | 2022-05-13  8:07:50 0 [Warning] 'proxies_priv' entry '@% root@0a3510bcb48b' ignored in --skip-name-resolve mode.
webtrees-mariadb   | 2022-05-13  8:07:50 0 [Note] mariadbd: ready for connections.
webtrees-mariadb   | Version: '10.7.3-MariaDB-1:10.7.3+maria~focal'  socket: '/run/mysqld/mysqld.sock'  port: 0  mariadb.org binary distribution
webtrees-mariadb   | 2022-05-13 08:07:51+00:00 [Note] [Entrypoint]: Temporary server started.
webtrees-mariadb   | Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it.
webtrees-mariadb   | Warning: Unable to load '/usr/share/zoneinfo/leapseconds' as time zone. Skipping it.
webtrees-mariadb   | Warning: Unable to load '/usr/share/zoneinfo/tzdata.zi' as time zone. Skipping it.
webtrees-mariadb   | 2022-05-13 08:07:52+00:00 [Note] [Entrypoint]: Securing system users (equivalent to running mysql_secure_installation)
webtrees-mariadb   | 2022-05-13 08:07:52+00:00 [Note] [Entrypoint]: Creating database webtrees
webtrees-mariadb   | 2022-05-13 08:07:52+00:00 [Note] [Entrypoint]: Creating user webtrees
webtrees-mariadb   | 2022-05-13 08:07:52+00:00 [Note] [Entrypoint]: Giving user webtrees access to schema webtrees
webtrees-mariadb   |
webtrees-mariadb   | 2022-05-13 08:07:52+00:00 [Note] [Entrypoint]: Stopping temporary server
webtrees-mariadb   | 2022-05-13  8:07:52 0 [Note] mariadbd (initiated by: root[root] @ localhost []): Normal shutdown
webtrees-mariadb   | 2022-05-13  8:07:52 0 [Note] InnoDB: FTS optimize thread exiting.
webtrees-mariadb   | 2022-05-13  8:07:52 0 [Note] InnoDB: Starting shutdown...
webtrees-mariadb   | 2022-05-13  8:07:52 0 [Note] InnoDB: Dumping buffer pool(s) to /var/lib/mysql/ib_buffer_pool
webtrees-mariadb   | 2022-05-13  8:07:52 0 [Note] InnoDB: Buffer pool(s) dump completed at 220513  8:07:52
webtrees-mariadb   | 2022-05-13  8:07:52 0 [Note] InnoDB: Removed temporary tablespace data file: "./ibtmp1"
webtrees-mariadb   | 2022-05-13  8:07:52 0 [Note] InnoDB: Shutdown completed; log sequence number 42335; transaction id 15
webtrees-mariadb   | 2022-05-13  8:07:52 0 [Note] mariadbd: Shutdown complete
webtrees-mariadb   |
webtrees-mariadb   | 2022-05-13 08:07:53+00:00 [Note] [Entrypoint]: Temporary server stopped
webtrees-mariadb   |
webtrees-mariadb   | 2022-05-13 08:07:53+00:00 [Note] [Entrypoint]: MariaDB init process done. Ready for start up.
webtrees-mariadb   |
webtrees-mariadb   | 2022-05-13  8:07:53 0 [Note] mariadbd (server 10.7.3-MariaDB-1:10.7.3+maria~focal) starting as process 1 ...
webtrees-mariadb   | 2022-05-13  8:07:53 0 [Warning] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive
webtrees-mariadb   | 2022-05-13  8:07:53 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
webtrees-mariadb   | 2022-05-13  8:07:53 0 [Note] InnoDB: Number of transaction pools: 1
webtrees-mariadb   | 2022-05-13  8:07:53 0 [Note] InnoDB: Using ARMv8 crc32 + pmull instructions
webtrees-mariadb   | 2022-05-13  8:07:53 0 [Note] mariadbd: O_TMPFILE is not supported on /tmp (disabling future attempts)
webtrees-mariadb   | 2022-05-13  8:07:53 0 [Note] InnoDB: Using Linux native AIO
webtrees-mariadb   | 2022-05-13  8:07:53 0 [Note] InnoDB: Initializing buffer pool, total size = 134217728, chunk size = 134217728
webtrees-mariadb   | 2022-05-13  8:07:53 0 [Note] InnoDB: Completed initialization of buffer pool
webtrees-mariadb   | 2022-05-13  8:07:53 0 [Note] InnoDB: 128 rollback segments are active.
webtrees-mariadb   | 2022-05-13  8:07:53 0 [Note] InnoDB: Creating shared tablespace for temporary tables
webtrees-mariadb   | 2022-05-13  8:07:53 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
webtrees-mariadb   | 2022-05-13  8:07:53 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
webtrees-mariadb   | 2022-05-13  8:07:53 0 [Note] InnoDB: 10.7.3 started; log sequence number 42335; transaction id 14
webtrees-mariadb   | 2022-05-13  8:07:53 0 [Note] Plugin 'FEEDBACK' is disabled.
webtrees-mariadb   | 2022-05-13  8:07:53 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
webtrees-mariadb   | 2022-05-13  8:07:53 0 [Note] InnoDB: Buffer pool(s) load completed at 220513  8:07:53
webtrees-mariadb   | 2022-05-13  8:07:53 0 [Warning] You need to use --log-bin to make --expire-logs-days or --binlog-expire-logs-seconds work.
webtrees-mariadb   | 2022-05-13  8:07:53 0 [Note] Server socket created on IP: '<IP_ADDRESS>'.
webtrees-mariadb   | 2022-05-13  8:07:53 0 [Note] Server socket created on IP: '::'.
webtrees-mariadb   | 2022-05-13  8:07:53 0 [Note] mariadbd: ready for connections.
webtrees-mariadb   | Version: '10.7.3-MariaDB-1:10.7.3+maria~focal'  socket: '/run/mysqld/mysqld.sock'  port: 3306  mariadb.org binary distribution
webtrees-adminer   | [Fri May 13 08:10:58 2022] [::ffff:<IP_ADDRESS>]:56368 Accepted
webtrees-adminer   | [Fri May 13 08:10:58 2022] [::ffff:<IP_ADDRESS>]:56368 [403]: GET /?server=webtrees-mariadb&username=webtrees
webtrees-adminer   | [Fri May 13 08:10:58 2022] [::ffff:<IP_ADDRESS>]:56368 Closing
webtrees-adminer   | [Fri May 13 08:10:58 2022] [::ffff:<IP_ADDRESS>]:56372 Accepted
webtrees-adminer   | [Fri May 13 08:10:59 2022] [::ffff:<IP_ADDRESS>]:56372 [200]: GET /?file=default.css&version=4.8.1
webtrees-adminer   | [Fri May 13 08:10:59 2022] [::ffff:<IP_ADDRESS>]:56372 Closing
webtrees-adminer   | [Fri May 13 08:10:59 2022] [::ffff:<IP_ADDRESS>]:56378 Accepted
webtrees-adminer   | [Fri May 13 08:10:59 2022] [::ffff:<IP_ADDRESS>]:56380 Accepted
webtrees-adminer   | [Fri May 13 08:10:59 2022] [::ffff:<IP_ADDRESS>]:56378 [200]: GET /adminer.css?v=1882297936
webtrees-adminer   | [Fri May 13 08:10:59 2022] [::ffff:<IP_ADDRESS>]:56380 [200]: GET /?file=functions.js&version=4.8.1
webtrees-adminer   | [Fri May 13 08:10:59 2022] [::ffff:<IP_ADDRESS>]:56380 Closing
webtrees-adminer   | [Fri May 13 08:10:59 2022] [::ffff:<IP_ADDRESS>]:56378 Closing
webtrees-adminer   | [Fri May 13 08:10:59 2022] [::ffff:<IP_ADDRESS>]:56382 Accepted
webtrees-adminer   | [Fri May 13 08:10:59 2022] [::ffff:<IP_ADDRESS>]:56382 [200]: POST /?server=webtrees-mariadb&username=webtrees&script=version
webtrees-adminer   | [Fri May 13 08:10:59 2022] [::ffff:<IP_ADDRESS>]:56382 Closing
webtrees-adminer   | [Fri May 13 08:11:10 2022] [::ffff:<IP_ADDRESS>]:56390 Accepted
webtrees-adminer   | [Fri May 13 08:11:10 2022] [::ffff:<IP_ADDRESS>]:56390 [302]: POST /?server=webtrees-mariadb&username=webtrees
webtrees-adminer   | [Fri May 13 08:11:10 2022] [::ffff:<IP_ADDRESS>]:56390 Closing
webtrees-adminer   | [Fri May 13 08:11:10 2022] [::ffff:<IP_ADDRESS>]:56392 Accepted
webtrees-adminer   | [Fri May 13 08:11:10 2022] [::ffff:<IP_ADDRESS>]:56392 [200]: GET /?server=webtrees-mariadb&username=webtrees
webtrees-adminer   | [Fri May 13 08:11:10 2022] [::ffff:<IP_ADDRESS>]:56392 Closing
webtrees-adminer   | [Fri May 13 08:11:10 2022] [::ffff:<IP_ADDRESS>]:56396 Accepted
webtrees-adminer   | [Fri May 13 08:11:10 2022] [::ffff:<IP_ADDRESS>]:56398 Accepted
webtrees-adminer   | [Fri May 13 08:11:10 2022] [::ffff:<IP_ADDRESS>]:56398 [200]: GET /adminer.css?v=1882297936
webtrees-adminer   | [Fri May 13 08:11:10 2022] [::ffff:<IP_ADDRESS>]:56396 [200]: GET /?file=jush.js&version=4.8.1
webtrees-adminer   | [Fri May 13 08:11:10 2022] [::ffff:<IP_ADDRESS>]:56396 Closing
webtrees-adminer   | [Fri May 13 08:11:10 2022] [::ffff:<IP_ADDRESS>]:56398 Closing
webtrees-adminer   | [Fri May 13 08:11:13 2022] [::ffff:<IP_ADDRESS>]:56400 Accepted
webtrees-adminer   | [Fri May 13 08:11:13 2022] [::ffff:<IP_ADDRESS>]:56400 [200]: GET /?server=webtrees-mariadb&username=webtrees&db=webtrees
webtrees-adminer   | [Fri May 13 08:11:13 2022] [::ffff:<IP_ADDRESS>]:56400 Closing
webtrees-adminer   | [Fri May 13 08:11:13 2022] [::ffff:<IP_ADDRESS>]:56404 Accepted
webtrees-adminer   | [Fri May 13 08:11:13 2022] [::ffff:<IP_ADDRESS>]:56404 [200]: GET /adminer.css?v=1882297936
webtrees-adminer   | [Fri May 13 08:11:13 2022] [::ffff:<IP_ADDRESS>]:56404 Closing

Please don't be offended, but I think I'm going to use this docker image instead which seems to work out of the box…

In the log file it is possible to find the entry:
ERROR: Configuration file /var/www/html/data/config.ini.php to set base_url not found.
This is caused by the situation that there is no environment variable DB_PASSWORD set.
If this variable is not set the database initialization is not started and even the config.ini.php is not generated.
But anyhow please feel free to used whatever webtrees docker image you want.


Vertex AI: Context in Chat Completion

There's no option for adding context in vertex AI API

should be solved in this PR #299.
see how to implement:

	//systemChatMessage should be the 1st one in the list
	prompt := schema.SystemChatMessage{
		Content: "Hello, I am a bot and my name is Usher. I am here to help you with your business. What would you like to do today?",
	}
	question := schema.HumanChatMessage{
		Content: "What is your name?",
	}

	fmt.Println("---ASK---")
	fmt.Println(question.GetContent())

	messages := []schema.ChatMessage{prompt, question}
	//messages = append(messages, question)

	start := time.Now()
	completion, err := llm.Call(ctx, messages)

Yes this can be considered solved now.


Investigate external datastore for cluster

https://docs.k3s.io/datastore
https://planetscale.com/

Abandoning the idea for now as etcd is good enough for a home cluster. If switching to a hybrid cluster, I`ll reopen.


Method listing supported "foreign" extensions

This is a feature request.
Would it be possible to add class method to Vips that would return an array of supported file formats akin to $ vips -l foreign does? Having such introspection would allow to programmatically decide if for example Vips supports any given format for transformation operation.
If there already exists a way how to get list of Vips' supported extensions, I'm all ears.

Hello @aleksandrs-ledovskis,
You can do this now, though it's a little painful. Have a look at:
https://github.com/libvips/ruby-vips/blob/master/lib/vips/image.rb#L1341
The generate_yard method that makes the ruby-vips docs.
You would use GObject::g_type_from_name("VipsForeign") to get the GType for the base class of the file load/save operations (it's just an int), then walk all the subclasses recursively with Vips::vips_type_map looking for non-abstract types. You can instantiate an object of that type and get the text description, a list of the arguments, and the properties of each argument.
You can get things like supported suffixes too, though you'd need to add a little more ffi for that.

Spent some time digging in ruby-vips/libvips and managed to get some PoC code
require "vips"
require "set"

module Vips
  attach_function :vips_class_find, [:string, :string], :pointer
  attach_function :vips_object_summary_class, [:pointer, :pointer], :void

  class BufStruct < FFI::Struct
    layout :base, :pointer,
           :mx, :int,
           :i, :int,
           :full, :bool,
           :lasti, :int,
           :dynamic, :bool
  end
end

nicknames = []

generate_class = lambda do |gtype, _|
  nickname = Vips.nickname_find(gtype)
  nicknames << nickname if nickname

  Vips.vips_type_map(gtype, generate_class, nil)
end

generate_class.call(
  GObject.g_type_from_name("VipsForeign"),
  nil
)

extensions = Set.new

nicknames.each do |nickname|
  foreign_class = Vips.vips_class_find("VipsForeignLoad", nickname)
  next if foreign_class.null?

  buf_struct = Vips::BufStruct.new
  buf_struct_string = FFI::MemoryPointer.new(:char, 2048)
  buf_struct[:base] = buf_struct_string
  buf_struct[:mx] = 2048

  Vips.vips_object_summary_class(foreign_class, buf_struct.pointer)

  class_summary = buf_struct_string.read_string
  extensions.merge(class_summary.scan(/\.\w+\.?\w+/))
end

puts extensions

On my machine/libvips configuration outputs:
#<Set: {".csv", ".mat", ".vips", ".img", ".hdr", ".ppm", ".pgm", ".pbm", ".pfm", ".pdf", ".svg", ".svgz", ".svg.gz", ".gif", ".png", ".jpg", ".jpeg", ".jpe", ".webp", ".tif", ".tiff"}>

I couldn't make access to foreign_class->suffs work via FFI. There isn't existing ForeignClass mapping in ruby-vips and making a simplistic pointer-to-struct didn't work.
  class ForeignClassStruct < FFI::Struct
    layout :parent, GObject::GObject::Struct,
       :constructed, :int,
       :static_object, :int,
       :argument_table, :pointer,
       :nickname, :string,
       :description, :string,
       :preclose, :int,
       :close, :int,
       :postclose, :int,
       :local_memory, :size_t,
       :priority, :int,
       :chars, :pointer
  end

  # Junk
  ForeignClassStruct.new(Vips.vips_class_find("VipsForeignLoad", "pngload"))[:nickname]
  ForeignClassStruct.new(Vips.vips_class_find("VipsForeignLoad", "pngload"))[:priority]

@aleksandrs-ledovskis I am using this method here through command-line:
https://github.com/tomasc/dragonfly_libvips/blob/master/lib/dragonfly_libvips.rb#L19
But indeed, would be great to have a method of ruby-vips that outputs such list.

I had a quick hack and added get_suffixes:
$ irb
irb(main):001:0> require 'vips'
=> true
irb(main):002:0> Vips::get_suffixes
=> [".csv", ".mat", ".v", ".vips", ".ppm", ".pgm", ".pbm", ".pfm", ".hdr", ".dz", ".png", ".jpg", ".jpeg", ".jpe", ".webp", ".tif", ".tiff", ".fits", ".fit", ".fts", ".nii", ".nii.gz", ".hdr.gz", ".img", ".img.gz", ".nia", ".nia.gz", ".heic", ".gif", ".bmp"]
irb(main):003:0>

Does that look reasonable? I'll add some tests as well.

Fabulous!

@jcupitt I see that you are basing the output on VipsForeignSave. If I compare "save" vs. "load" class extensions, there are some differences (e.g. SVG/PDFs are only supported as input and BMP as output).
As I use Vips for image processing I would be (more) interested in seeing a way to determine what extensions can be processed by Vips at the intake for purpose of populating texts visible to end-user ("Please upload image in  ".jpg", ".jpeg" or ".png" formats)/doing pre-emptive validations based on file name.
@tomasc's case also seems to require both "load" and "save" extensions.

Hi @aleksandrs-ledovskis, yes, that's true. libvips uses the suffix to pick savers, so there's a simple relationship between filetype and extension. But loaders are picked by sniffing the first few bytes of the file, so a list of extensions won't always be complete.
I tried swapping it for VipsForeignLoad and I see:
irb(main):004:0> Vips::get_suffixes
=> [".v", ".vips", ".ppm", ".pgm", ".pbm", ".pfm", ".png", ".exr", ".svs", ".vms",
".vmu", ".ndpi", ".scn", ".mrxs", ".svslide", ".tif", ".bif", ".jpg", ".jpeg", ".jpe",
".tiff", ".csv", ".pdf", ".svg", ".svgz", ".svg.gz", ".gif", ".mat", ".webp", ".img",
".hdr", ".fits", ".fit", ".fts", ".nii", ".nii.gz", ".hdr.gz", ".img.gz", ".nia", ".nia.gz"]

I don't know how useful that is. It's missing .ico and .bmp; .jpg is there three times, etc.
If you want a list of the available loaders, just walking the types below VipsForeignLoad might be simpler.
(libvips will load BMP, btw)


tour: not clear why fmt.Println(Big) fails?

Context: /basics/16
Describe your feedback here, including code if necessary
Why does fmt.Println(Big) fail?  It would be interesting to explain that in this exercise.

The error message explains why it fails:
fmt.Println(needInt(Big))
// prog.go:19: constant<PHONE_NUMBER>228229401496703205376 overflows int

Is the concept of overflow unclear?

Maybe we could add a parenthetical stating the range of integers an int can represent?

That would work. I'll take this one.

Can we do this without mentioning that int size is implementation-specific? Or should we just write it as though the int is an int64 (if we do the former, people with less programming experience might have that eyes glazed over this is hard response, but if we do the latter, invariably someone will submit an issue pointing out that we're wrong.

The size of int is discussed on the basic types slide so we don't need to get fully into detail here. Maybe just mention that int can store at maximum a 64-bit integer?

Oh, good idea.

I forgot to reference the issue in the patch. This can be closed.

Closed via https://github.com/golang/tour/commit/459d92e21d28a6d9189af4ce917c4e92803ca357.


Add emacs key bindings

[ ] C-u
[x] C-a
[x] C-e
[ ] C-y
[x] M-b
[x] M-f
[x] C-b
[x] C-f
[ ] C-d

C-p   previous command
C-n   next command

@lampui those already work.

C-d works for deleting the next character, but doesn't send an eof on an empty line to close the current terminal window. Any current plans to support sending an eof on an empty line?

@grubernaut if there are more complains. Please use cmd+w for closing a session.


Release 4.0.0

I"m seeing a 4.0.0 staged version:
https://jakarta.oss.sonatype.org/content/repositories/staging/com/sun/xml/bind/jaxb-ri/4.0.0/
but this has not been released. Can that be done please?

it's there


DevAPIKey

Can you explain why this module need to input another key in Dev mode? Because when i work on localhost, all my projects will always be in dev mode, and i can't see any benefit in this setting.

Hi @tungdt-90,
If we relied solely on the MailChimp API key stored in the database in both live and dev modes, then there is a very high chance of developers accidentally polluting/overwriting the live MailChimp accounts data.
I.E. you checkout your codebase locally, take a copy of your (or your clients) live database for local development, and start making changes to the Member or Subscriber records locally, you will be pushing this data to the live MC account.
This is easy to do by mistake in your own projects and even more likely to occur if you are taking on someone else project or vica versa.
We have therefore separated the API keys in to two sections 1) in the CMS the live MC accounts API Key can be entered. This can be done by the end user and no developer input is required. 2) The Dev API key in the config file, this can be inserted by a developer (or left as blank, the default, meaning no MC account is updated)
Personally we tend to use the same test/dev MC account for all our testing (we just reset the lists under that account each time we change site/client) so it made sense for us to set a default development MC account API Key in a config file. It also prevents any accidental pollution of the live MC account as mentioned above and means the developer is required to actually get involved in the module code and see how things are working.

@HARVS1789UK
I see !
I really never think about this before, but you just point out a nice thing for me here. But now i totally get it.
Thank you for explaining this to me.
Have a nice working day !


Job File Loader

API that will load the job files from their default locations (including the local directory!).

Not sure what this is...


inference error

I use the pretrained weight to infer,but got the following error:
Traceback (most recent call last):
File "inference_demo.py", line 15, in
show_result(img, result, model.CLASSES, score_thr=0.25, out_file="demo_out.jpg")
File "/home/work/deep_learning/instance_segmentation/SOLOv2/mmdet/apis/inference.py", line 154, in show_result
for i, bbox in enumerate(bbox_result)
File "/home/work/deep_learning/instance_segmentation/SOLOv2/mmdet/apis/inference.py", line 154, in
for i, bbox in enumerate(bbox_result)
AttributeError: 'tuple' object has no attribute 'shape'
the inference code I use is modified from  inference_demo.ipynb
pls,I can train normally.

@deep-practice The code of demo is copied from the SOLO v1 code and I haven't used the code, you could run the test code to see if it is correct.

Test is ok.


helm init error

I am running helm init and getting the following error. Have tried running with sudo as well but no luck.
Error: could not get kubernetes client: could not get Kubernetes config for context "": invalid configuration: unable to read client-key ~/.minikube/client.key for minikube due to open ~/.minikube/client.key: permission denied
Anything specific that I need to do in order to fix this?

This indicates that when helm init is run, it is reading the $HOME/.kube/config file, and that is directing it to load a TLS certificate from the path $HOME/.minikube/client.key. However, that file is either not there, or has permissions restrictive enough that helm cannot read it.

I have this exact issue, with everything latest.

I have this exact issue, with everything latest.


Result always undefined

result is  always get undefined
Template.body.onCreated( function() {
   Fetcher.retrieve("taco", "checkIP");
    var res = Fetcher.get("taco");
    console.log(res);
});

my methods
checkIP: function() {
  return " the boy champ"
}

What am I missing?

Fetcher.get() is being ran while Fetcher.retrieve() is still executing, so the data is not ready by the time console.log() is ran. A better way to get its value is to run Fetcher.get("taco") in the console.


irmin-pack: add Int63.Syntax module

This PR centralizes operator definitions for Optint.Int63 into a Syntax module and updates call sites to use module and operators.
The operators are only used in irmin-pack.unix, but I added them to irmin-pack as well for consistency.

Codecov Report

Merging #1930 (9e3cc8a) into blocking-dummy-gc (60ca59b) will increase coverage by 0.00%.
The diff coverage is 81.81%.

@@                Coverage Diff                 @@
##           blocking-dummy-gc    #1930   +/-   ##
==================================================
  Coverage              64.85%   64.86%
==================================================
  Files                    126      126
  Lines                  14903    14907    +4
==================================================
+ Hits                    9666     9669    +3
- Misses                  5237     5238    +1

Impacted Files
Coverage Δ

src/irmin-pack/import.ml
28.57% <0.00%> (-38.10%)
:arrow_down:

src/irmin-pack/unix/io.ml
61.05% <50.00%> (ø)

src/irmin-pack/unix/pack_store.ml
78.83% <87.50%> (-1.06%)
:arrow_down:

src/irmin-pack/unix/io_legacy.ml
71.11% <88.88%> (+0.14%)
:arrow_up:

src/irmin-pack/unix/append_only_file.ml
84.78% <100.00%> (-0.64%)
:arrow_down:

src/irmin-pack/unix/atomic_write.ml
86.02% <100.00%> (ø)

src/irmin-pack/unix/dict.ml
94.44% <100.00%> (ø)

src/irmin-pack/unix/gc.ml
83.00% <100.00%> (-0.50%)
:arrow_down:

src/irmin-pack/unix/import.ml
88.88% <100.00%> (+8.88%)
:arrow_up:

src/irmin-pack/unix/traverse_pack_file.ml
56.61% <100.00%> (-0.32%)
:arrow_down:

... and 9 more

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more

@Ngoguey42 I just pushed some changes that occurred to me while reviewing my code a second time, but that also happily address your comments. :raised_hands:

The CI fails because of code formatting

@Ngoguey42 CI is green now


[fix][broker] Fix enableReplicatedSubscriptions

Motivation
https://github.com/apache/pulsar/pull/23757 breaks enableReplicatedSubscriptions config.
Modifications
When enableReplicatedSubscriptions=false, disable the subscription replication.
Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

/pulsarbot rerun-failure-checks

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

Project coverage is 73.95%. Comparing base (bbc6224) to head (67ffaa8).
Report is 815 commits behind head on master.

Additional details and impacted files

@@             Coverage Diff              @@
##             master   #23781      +/-   ##
============================================
+ Coverage     73.57%   73.95%   +0.38%
+ Complexity    32624    32141     -483
============================================
  Files          1877     1826      -51
  Lines        139502   142936    +3434
  Branches      15299    16230     +931
============================================
+ Hits         102638   105713    +3075
+ Misses        28908    28876      -32
- Partials       7956     8347     +391

Flag
Coverage Δ

inttests
26.81% <33.33%> (+2.23%)
:arrow_up:

systests
?

unittests
73.70% <100.00%> (+0.85%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines
Coverage Δ

...sar/broker/service/persistent/PersistentTopic.java
79.93% <100.00%> (+1.47%)
:arrow_up:

... and 1042 files with indirect coverage changes


Fix eosio.token contract

Enforce max-supply
Enforce same symbol (symbole_code+precision) when transfer/issuing
Fix ABI
Allow precision greater than 15 decimals
Add tests

I saw the PR for this (#2300) is already verified by @dhaneshvb, I'm going to put the needs testing pass label here too


[Feature Request]: Add Multilingual Support

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
I would like to propose the integration of multilingual support into the project. This feature would allow users to switch between different languages, enhancing accessibility and improving the user experience for non-English speaking users.
Use Case
Language Options: Add support for multiple languages (e.g., Spanish, French, German, etc.).
Language Switcher: Provide a simple interface (e.g., a dropdown or toggle) for users to switch languages easily.
Dynamic Content Translation: Ensure that all user-facing text (buttons, labels, messages, etc.) is translated dynamically based on the selected language.
Fallback Mechanism: Implement a fallback mechanism for untranslated text, defaulting to English when needed.
Localization: Use industry-standard localization libraries to manage translations efficiently (e.g., i18n, or a similar package).
Benefits
Increased accessibility for a global audience.
Improved user engagement by offering content in users' preferred language.
Potential for expanding the user base to non-English speaking regions.

Priority
High
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC contributor
[X] I want to work on this issue
[X] I'm willing to provide further clarification or assistance if needed.

@mansiruhil13 please assign me this issue


add support for alternative database backends (e.g. mysql/mariasql)

What would you like to be added:
Support for MySQL/MariaSQL database storage (as well as PostgreSQL)
Why is this needed:
I have an existing MySQL database which I use for Kodi, Icinga, Nextcloud, Traccar, etc, so would prefer not to spin up a new PostgreSQL instance just for teslamate.
Additional context:

Is this as simple as switching to https://hexdocs.pm/ecto_sql/Ecto.Adapters.MyXQL.html?

I doubt this will happen unless someone does a PR. It would need new grafana connectors, updated queries etc...

Thanks @Dulanic, yes it would be a bit of work and more than I can take on currently. Shall I leave this feature request open or close it?

That's up to you, and it's not my choice. I just have done some PRs and stuff but that's it. BTW, I might recommend moving your stuff to postgres anyways... its better than mysql. I moved my nextcloud and stuff over recently and haven't looked back.
I don't have the time to do it myself. Since I consider postgres superior to mysql, I don't see a big need for it. On a unrelated note.... I hadn't heard of Icinga... I might have to check that out.

I doubt this will happen unless someone does a PR. It would need new grafana connectors, updated queries etc...

Yeah, and we also use posture-specific modules that cannot simply be replaced by mysql. Furthermore, the effort required to support multiple database backends would simply not be feasible in the long run.


Batch deletion of Insitutional Access links returns error

Actions performed:

Went to Insitutional Access links dashboard https://geo.btaa.org/admin/access
Clicked -Delete CSV
Uploaded a CSV of links to be deleted.
sanborn-delete.csv
Application returned:

500 Internal Server Error If you are the administrator of this website, then please read this web application's log file and/or the web server's log file to find out what went wrong.

Spot checked several records and the links have been deleted from GBL Admin. (ex: https://geo.btaa.org/admin/documents/999-0011-kentucky/access).   Both the U. of Illinois and Maryland links are gone
Checked the front end: https://geo.btaa.org/catalog/999-0011-kentucky. The deleted links are still present in Solr.

Related AppSignal error:
undefined local variable or method "document_accesses_path" for an instance of Admin::DocumentAccessesController

Employed a workaround:

deleted the primary records affected, which removed the access links.
did a fresh import of the same records
did a new upload of all the access links.
This produced : We're sorry, but something went wrong. If you are the application owner check the logs for more information.. However, like this issue #41 , the links did import

Updated collection here: https://geo.btaa.org/?f[b1g_geom_import_id_ssi][]=189&page=1&per_page=10&publication_state=published

I tested this locally and it just worked for me. I also fixed the document_accesses_path routing error. Next time you encounter any issues like this, ping me so we can troubleshoot before going down the work around route.

Closing for now as I cannot replicate locally. Reopen if another issue comes forth.


Disable Transfer button while waiting for fee estimation

Submitting transfer before mint returns fee estimate causes that unsufficient amount of proofs is sent from the wallet to settle the lightning payment.

Fix available in 0.1.4-beta.6


Add ability to have a collection of UDT types

At the moment, declaring a CollectionList with a specified $_valueType of Base::UDT causes issues.
This is because when packing the List, line 29 is called:
$itemPacked = Base::getTypeObject($this->_valueType, $value)->getBinary();

Because _valueType is not an array (rather, Int 48), and $value is already a UDT instance -- Base::getTypeObject($this->_valueType, $value) needs to return $value (otherwise a Unknown Type. error is triggered).
Not sure if this logic should be added in Base.php or CollectionList.php. But this fix works for me for now.

You haven't realize the right way to use CollectionList.
You can write like this:
$udtType = [
'type' => Cassandra\Type\UDT,
'typeMap'=> [....],
];
new CollectionList($values, $udtType);

Thanks, this is great and should be on the docs.
For anyone else, this means you can't pass an array of UDT's as $values, but rather an array of array values (because they will be declared as UDT's when packing the list).

If you can implement the docs, I will merge it. ^_^

I have added an example in my fork here 52a5b3ea1910a73e3c3fb3f1ec18fcaa85746db4, but it is very complex so not sure if you wan't :)


Responsiveness issue

When resizing the window below 1024px in width the "Home" and "Get Credits" buttons disappear. I tried to target this issue but I couldn't solve it, also in developer tools I can see the particular snippet of Tailwind code that causes this issue but I don't know which property to change in the code to not trigger it.

Hello @MateuszLenczewski, I'm interested in addressing the issue you mentioned. Could you please guide me on the specific route where you're encountering this problem ?

Hi @anayatkhan1, it was an issue in all of the routes but I have solved it by removing "hidden" in className of the Navbar

It's great to hear that you were able to resolve the issue with the routes by removing hidden from the className of the Navbar. 🙂


[new: feature] modify shenyu agent

// Describe your PR here; eg. Fixes #issueNo

Make sure that:

[ ] You have read the contribution guidelines.
[ ] You submit test cases (unit or integration tests) that back your changes.
[ ] Your local test passed mvn clean install -Dmaven.javadoc.skip=true.

Codecov Report

Merging #2670 (5b53f88) into master (adefaeb) will decrease coverage by 0.66%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master    #2670      +/-   ##
============================================
- Coverage     61.21%   60.55%   -0.67%
+ Complexity     4345     4312      -33
============================================
  Files           660      660
  Lines         19043    19040       -3
  Branches       1695     1694       -1
============================================
- Hits          11657    11529     -128
- Misses         6424     6558     +134
+ Partials        962      953       -9

Impacted Files
Coverage Δ

...in/java/org/apache/shenyu/spi/ExtensionLoader.java
86.61% <0.00%> (-0.79%)
:arrow_down:

...ache/shenyu/plugin/grpc/cache/GrpcClientCache.java
68.75% <0.00%> (-31.25%)
:arrow_down:

...n/alibaba/dubbo/cache/AlibabaDubboConfigCache.java
43.75% <0.00%> (-31.25%)
:arrow_down:

...gin/apache/dubbo/cache/ApacheDubboConfigCache.java
43.03% <0.00%> (-29.12%)
:arrow_down:

...che/shenyu/sync/data/http/HttpSyncDataService.java
61.38% <0.00%> (-19.81%)
:arrow_down:

...henyu/plugin/grpc/resolver/ShenyuNameResolver.java
44.68% <0.00%> (-19.15%)
:arrow_down:

...a/org/apache/shenyu/common/utils/VersionUtils.java
67.85% <0.00%> (-10.72%)
:arrow_down:

...apache/shenyu/admin/utils/ShenyuDictH2Trigger.java
63.63% <0.00%> (-9.10%)
:arrow_down:

...ache/shenyu/admin/utils/PluginHandleH2Trigger.java
63.63% <0.00%> (-9.10%)
:arrow_down:

.../apache/shenyu/admin/model/dto/BatchCommonDTO.java
50.00% <0.00%> (-7.15%)
:arrow_down:

... and 29 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 adefaeb...5b53f88. Read the comment docs.


Update example/website_loader for Cursive 0.3.0

Hi!
Cursive recently received a small update that broke backward compatibility ; here is a patch that makes it work again. It should make some of the most painful parts a bit cleaner.
I apologise for the inconvenience!

Hi, sorry for my delayed response. I didn't get a notification... I just wanted to make you aware of the reason, and will take an actual look at this a bit later.

I have finally had the time to take a look at this, and I bumped into this problem while trying to run the example:
error[E0308]: mismatched types
  --> /home/ogeon/.cargo/registry/src/github.com-1ecc6299db9ec823/cursive-0.3.1/src/backend/curses.rs:15:34
   |
15 |         ncurses::keypad(unsafe { ncurses::stdscr }, true);
   |                                  ^^^^^^^^^^^^^^^ expected *-ptr, found fn item
   |
   = note: expected type `*mut i8`
   = note:    found type `fn() -> *mut i8 {ncurses::stdscr}`

Also, I should probably add Travis tests...

Hmm... this seems to be a problem in cursive 0.2.6, as well.

Indeed, ncurses was recently updated, breaking compatibility. It's fixed in the cursive master, I'll publish a version soon.

Alright, cool! I'll get those Travis tests going, to make life a bit easier on this end.

There we go. Rebasing this PR on top of master should enable the tests for it.

The tests appear to be hanging?

Yeah, I have no idea what's going on. It seems like they are stuck in the queue, somehow. I have to sleep, anyway, so let's wait and see if they have unstuck them selves tomorrow.

Seems like they have noticed the problem and are trying to fix it. I restarted the build, just in case.

There are still problems with the OS X builds, but it seems like it's fine, anyway. I tried it, as well, and it runs great (except for the usual empty list crash). I'll just merge it. Thanks for your patience, and for doing this!

Empty list crash? I'd be happy to look into it. What's the issue exactly?

It's really an effect of how I'm abusing it to be able to remove items, but still something that's good to fix. I was eventually going to report it, but forgot...
Anyway, try to run the example, add a URL, then remove it. The application crashes (for me, at least, on Ubuntu).

Indeed, it should be fixed on cursive master. Thanks!

Nice!


typeError: forward() got an unexpected keyword argument 'means2D_densify'

Hi, thanks for your interest.
You should re-clone this repo like this: git clone https://github.com/ingra14m/Spec-Gaussian --recursive


add image credit

Hello @maiamcc,
Please review the following commits I made in branch nicks/cc:
a00ce5fb00f4141c6463dc1c7448219f4be8939c (2019-10-17 16:03:15 -0400)
add image credit

oh whoops TY


Nice Project! Could you add BitYep Price?

Price API:
https://bityep.com/api/1/ticker
Thanks!

Hey! I could do that but I cannot find documentation for API. Is it for registered users only?
I need second endpoint for getting historic data about price to be able to draw a chart.


Make sure we can create a query with no OuptutWriter

This pull request is now managed with CodeReviewHub. Refresh.


Drop root privileges inside docker container

Until now the binary inside the container was executed with root permissions. By adding an
unprivileged user, and switching to it on execution we can decrease the attack surface.
However, I'm not completely sure this will not cause any problems for existing users with already created data directories, as they will probably have been created with root permissions. As the user Account now has less privileges, it might not be able to read/write the existing files.
A fix for this is to run chown -R 65534:65534 data/ to grant ownership to the unprivileged user.

This should be added to the docs for upgrades.

Is there already a upgrade section in the docs, that I am missing?

No, there is no upgrade section. It would be great if you could add the info in the https://github.com/ubirch/ubirch-client-go#run-client-in-docker-container section or create an upgrade section.

If we move from root to unprivileged the state file storage may be unreadable by the docker client, is that taken into account?

If we move from root to unprivileged the state file storage may be unreadable by the docker client, is that taken into account?