new: dev: Adding new files for sflowtool

Add library and parser functions.
Modified some files for pep8 compliance
Signed-off-by: Vasanth Viswanathan<EMAIL_ADDRESS>

Will merge once I have permissions.


Bridge fees

Motivation for changes is simple: there was no way to get Cardano bridge fees previously. Motivation for how is that an ideal solution mimics how fees are currently implemented for Eth + BSC

All the concerns you mentioned should be addressed now. Btw I know we might be scrapping this with moving to Haskell <3 but I figured either way it's a good chance to learn.

All the concerns you mentioned should be addressed now. Btw I know we might be scrapping this with moving to Haskell <3 but I figured either way it's a good chance to learn.


raise warning if geometry is out of bounds

@pckroon this PR exploded little, but you were asking for it (sort of). 😄 I had to make a proper copy method for meta-molecule, because I realised that one of the tests of the build-file parser was compromised as the copy method of graph doesn't actually set attributes of the subclass. I think this is a network problem. Now that is fixed and the build file tests are stricter.
But it appears the whole testing of Logging also needs an overhaul.


Refactoring CI configuration to make it simpler and similar to promscale

As in title.
Main changes:

setting default working directory per job
moving management of common env variables to env file
joining workflows together to reduce code duplication and simplify management
splitting long commands into multiple tasks so logs are easier to read
using golangci-lint action instead of manual steps
removing limiting from daily scheduled job (since code changes can be done only via PRs and manipulating default branch there is no reason to run those tasks daily. Daily job should be only running for components which depend on 3rd party that is out of our control)
added a grouping job for e2e tests

This would allow us to set up branch restriction rules.

CI won't start as the workflow is completely rewritten and does not exist on master branch.

@paulfantom
I see Invalid workflow file : .github/workflows/cli.yml#L124 The workflow is not valid. .github/workflows/cli.yml (Line: 124, Col: 9): Job 'tests-result' depends on unknown job 'test-end-to-end'. in the action run

Rebased and addressed code review comments.


confirmModal inside other modal; broken ESC functionality if  is added at the end of main App.vue

Using the library with HeadlessUI, and adding the main <DialogsWrapper /> at the end of the main App.vue file breaks the ESC functionality. This happens when the confirm modal is opened with a button inside another modal.
This is the codesandbox for reference: https://codesandbox.io/s/vuejs-confirm-dialog-esc-example-luxigt
A reference from HeadlessUI repo: https://github.com/tailwindlabs/headlessui/issues/426#issuecomment-824747388
Thank you!

As Robin noticed in the HeadlessUI repo issue, there are 2 options to solve it:

Only have 1 open Dialog at the same time. So you just need to modify your openConfirm method like this:

    openConfirm: function () {
      this.closeModal()
      const dialog = createConfirmDialog(ConfirmModal)

      dialog.onConfirm(() => {
        alert("confirmed");
      })

      dialog.onCancel(() => {
        this.openModal()
      })

      dialog.reveal()
    },

Use nested dialogs. I don't think that way works the same for Vue as for React. I tried to implement this with Teleport but I didn't succeed.

If you still need two dialogs to be open, try to look for an API option that allows you to block the esc functionality on the first modal when the second one is open, and unblock on close.

Thanks for the detailed answers.
I'm currently going with the second solution; adding <DialogsWrapper /> inside modals. Not ideal, but it's the best option for our project.
Third solution would be good to, but the Headless UI doesn't have any API to disable the escape functionality.

@erip2 can you provide your solution?


extras=geometry does not work

This issue is related to #16.
I need local names (e.g. name:jpn_x_preferred) and geometry of a point so that I can render the place using geometry coordinates in a map. How do I get both?
./bin/wof-pip-server -allow-extras -allow-geojson -mode sqlite -port 8300 ~/whosonfirst-data-sqlite/whosonfirst-data-latest.db

format=geojson&extras=name:jpn_x_preferred returns geometry but not name:.
curl 'http://localhost:8300?format=geojson&latitude=36.1&longitude=140.08&extras=name:jpn_x_preferred' | python -mjson.tool

format=json&extras=name:jpn_x_preferred,geometry returns name: but not geometry.
curl 'http://localhost:8300?format=json&latitude=36.1&longitude=140.08&extras=name:jpn_x_preferred,geometry' | python -mjson.tool

format=geojson&extras=wof:name:jpn_x_preferred returns geometry but not wof:name:jpn_x_preferred.
curl 'http://localhost:8300?format=geojson&latitude=36.1&longitude=140.08&extras=wof:name:jpn_x_preferred' | python -mjson.tool

I think returning geometry data for the getByLatLon method is not a very good idea because the method is called often from a client and the geometry data is relatively large.
The geometry data could be cached and reused in the client. So, ideally, the pip-server could have a method that returns geoJSON data with geometry for a given id.


[Bug]: Cannot open Today's note

Bug Description
I typed in Alfred the keyword to open Today's note in Obsidian. But it cannot find the vault. Everything else works fine.
Relevant Screenshot

To Reproduce
Type the keyword in Alfred to open Today's note in Obsidian.
Debugging Log
[22:38:20.333] Shimmering Obsidian[Keyword] Processing complete
[22:38:20.334] Shimmering Obsidian[Keyword] Passing output '' to Arg and Vars
[22:38:20.335] Shimmering Obsidian[Arg and Vars] Processing complete
[22:38:20.336] Shimmering Obsidian[Arg and Vars] Passing output '2022-07-21' to Open URL
[22:38:20.362] Shimmering Obsidian[Open URL] Processing complete
[22:38:20.363] Shimmering Obsidian[Open URL] Passing output '(
    "obsidian:///Users/missionary/Library/Mobile%2520Documents/iCloud~md~obsidian/Documents/Missionary/%F0%9F%97%93%2520Calendar/2022-07-21.md"
)' to Call External Trigger
[22:38:20.364] Shimmering Obsidian[External] Processing complete
[22:38:20.365] Shimmering Obsidian[External] Passing output '(
    "obsidian:///Users/missionary/Library/Mobile%2520Documents/iCloud~md~obsidian/Documents/Missionary/%F0%9F%97%93%2520Calendar/2022-07-21.md"
)' to Conditional

Workflow Configuration

Version & System Information
-------------------------------
Metadata JSONs: 3/3
-------------------------------
INSTALLED VERSION
macOS: 12.4
Alfred: 5.0

Obsidian: 0.15.7
This Workflow: 2.26.4
Advanced URI Plugin: 1.24.0
Metadata Extractor: 1.0.2
-------------------------------
LATEST VERSION
Obsidian: 0.15.6 (Insider: 0.15.7)
This Workflow: 2.26.8
Advanced URI Plugin: 1.24.0
Metadata Extractor: 1.0.2
-------------------------------

Make sure you have done the following

[X] I have updated to the latest version of this workflow.
[X] I have read the Troubleshooting Documentation.
[X] If the o... main search does not work, I have tried rerunning osetup and it still does not work.

Same here. After osetup, it tries to open the Daily Note file without specifying what Vault to use.

Same issue.

Same issue, change od URL to "obsidian://open?vault={var:valut_name_ENC}&file={var:daily_note_path}/{query}.md" works for me

And change od append to daily note {query}.md to "open?vault={var:valut_name_ENC}&file={var:daily_note_path}/{query}.md"

Just like this? obsidian://open?vault={Md%20%E6%96%87%E6%A1%A3}&file={3-%E6%97%A5%E8%AE%B0%2F}/{query}.md
But it doesn't work for me. @TimS-ml

I change obsidian URL in

Hi everyone, sorry for the late response, had to work on other repos I maintain.
Since I do not use daily notes myself and cannot properly maintain the feature, I unfortunately have to remove the daily notes functionality (it has been deprecated for a while now). I simply don't find the time maintaining features that I do not use myself, but are time-intensive to work on. Especially since I am the sole maintainer of multiple repos.
I encourage you to check out the Alfred workflow for Obsidian by hauselin, which focuses on daily notes and complements this workflow well.

As a sidenote, I fixed an issue caused by users migrating their Alfred 4 workflow settings, in case you did:

I encourage you to check out the Alfred workflow for Obsidian by hauselin, which focuses on daily notes and complements this workflow well.

@chrisgrieser I was hoping to find support for daily notes over at the extension you referenced, however it appears that repo hasn't had any updates in over three years and according to recent issues in the repo, it looks like there are some problems with working with daily notes in that workflow. I'm wondering if you're aware of any other workflows out there that are still maintained which support daily notes as this is a hugely useful feature to many.
I understand it is not one that you use, and thus does not make sense to implement it, but I do feel that if there was at least a basic level of functionality that could be added to Shimmering Obsidian, even something as basic as opening the most recently created file in a given folder(which is how most people have daily notes configured, with a dedicated folder for the daily notes which new notes are created in as days go by), it would open the door to many people who are relying on the now unmaintained obsidian-alfred workflow.


Backwards compatibility of AlphaFold 2.3.0 database with prevous versions of the software

I am currently working with researchers at my university to update the version and database of AlphaFold on our university's computing cluster. From discussions we had prior to the release of 2.3.0, I had been told that updating the UniProt and PDB databases shouldn't affect the reproducibility of results or functionality of prior versions, given the common file structure and the ability to control the age of models used with input arguments. However, in the 2.3.0 update I noticed that the uniref30 database uses a slightly different folder structure and no longer contains *_db links and *_db.index files.
As such, I was hoping you could tell me if previous versions of AlphaFold depend on these files or are the *ffdata and *ffindex files sufficient? Ideally, I would like to avoid maintaining multiple databases and/or update scripts running on our system, so it would be ideal if I could simply make a directory in the format of the previous uniprot30 directory and soft link the necessary contents of uniref30 there so that we can maintain a single directory which support all versions of AlphaFold on our cluster. If the *db/db.index file are necessary for prior versions or there is some other conflict I am missing, I would appreciate any additional information you could give me.
I understand this is more an issue with the community need of our computing cluster than your software, but any information you could provide about the significance or lack their of regarding this change would save me a lot time and possibly errors trying to test it myself. Thank you for you time and consideration.

Hi @panchyni. Yes the *.ffdata and *.ffindex are sufficient to run this step of the msa pipeline. Changing the MSA databases will indeed effect reproducibility of results. In terms of functionality, if you wish to use the code on newer or older versions of the data then in most instances the program will still run, albeit with different results. In the case where the code doesn't work on older data because of breaking changes that have since been introduced, I would recommend using a tagged version of the code from around the same time (or to update the datasets, as this will likely improve performance)

Thanks for the reply @Htomlinson14, this is very useful to know. I am in the process of updating our code and database for 2.3 for exactly the reasons you have described, but its very help that the database should be backwards compatible as this sort of changeover is never clean or quick.


Bug: playlist size can become much larger then desired.

The current playlist is significantly longer than should be possible.

looking at GCP the job isn't running at all. Time to migration to GHA

I have written one mitigation which is to delete the old songs before adding the new ones.


Refactor cirq.Circuit to use cirq.circuit_diagram_info

Change fallback representation from (gate:0, gate:1, ...) to (gate, #1, #2, ...)
Fix qubit-symbol mismatch error saying the wrong number.
Drop ext argument.
Had to update contrib/qcircuit_diagram because it uses the ext argument.
Fixed qcircuit_diagram not aligning its output to column boundaries. Looks much better now.
Updaded GateOperation and ControlledGate to delegate to cirq.circuit_diagram_info
Start forcing keywords for cirq.to_text_diagram

Part of https://github.com/quantumlib/Cirq/issues/946

Automerge: started

Automerge cancelled: A status check is failing.

Automerge: started

Automerge cancelled: I think I'm stuck in a loop.

Automerge: started

Automerge cancelled: I think I'm stuck in a loop.

Interesting. For some reason it's trying to submit despite the checks not failing, noticing that the submit failed, trying again, then noticing the repetition and aborting (good bot!).

Automerge: started

Oh that is strange, the github API is actually saying this PR has status checks that have succeeded.

Automerge: started

Automerge cancelled: A required status check is not present.
'continuous-integration/travis-ci'

It had to do with a status check being absent. All fixed now, and will submit the updates to cirqbot in another PR.


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target/pull/549 is merged into live branch.
Auto archive content to https://github.com/VSC-Service-Account/docs-archive-test-target.git

Docs Build status updates of commit 86b8a7f:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error-GitBranchDeletedOrForcePushed]

Cannot sync git repo to specified commit because branch Release_Archive_master_2020-08-18-06-35-56 has been deleted or has been force pushed: fatal: couldn't find remote ref refs/heads/Release_Archive_master_2020-08-18-06-35-56

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Talk search bar problems

Describe the bug, optionally with screenshots
When searching by user or ship name in Talk and selecting the ship, then hitting enter if there is a multiparty DM with the ship the multiparty DM is loaded.
To Reproduce
https://user-images.githubusercontent.com/1903610/225679237-afb3d5ae-6250-4795-949a-8a20a331e4fa.mov
Expected behavior
I'd expect to be given the choice to select from available DMs with the 1:1 as the top choice, or to just go directly to the 1:1 DM
Additional context:

self-hosted DO planet, Chrome on MacOS

Here is more bad behavior in the same area.
https://user-images.githubusercontent.com/1903610/225683601-2c633d55-7b24-4a9b-9f85-042536bcb24c.mov


Add examples for how to use features

[ ] creating a DID using AwsKeyManger
[ ] Creating a VC
[ ] signing a VC
[ ] Verifying a VC

Should all be covered in https://github.com/TBD54566975/web5-kt/pull/117


Server commands not working?

Are server commands in the form rss.add <feed> already phased out? My locally hosted instance doesn't read any commands - no response in the logs.
I think I've added everything about this bot correctly to my locally hosted instance. I was even able to add a feed using a locally hosted web interface. I have enableCommands: true and prefix: "rss", so I know that's not the issue. Would appreciate any help!

same with me

Apologies for the late reply, please be sure message content intent is enabled for the bot in the Discord developer center. This is required

For more information, please see https://support-dev.discord.com/hc/en-us/articles/4404772028055-Message-Content-Privileged-Intent-FAQ


'Compressor' object has no attribute 'process'

I'm trying to integrate your package and getting 'Compressor' object has no attribute 'process' errors. Specifically here:
https://github.com/fullonic/brotli-asgi/blob/708e57ae4d0cd5101361de500dc642119d2d1890/brotli_asgi/__init__.py#L122
For me in a REPL, this doesn't exist:
import brotli
br_file = brotli.Compressor()
br_file.process()

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-8-c812ff5613f7> in <module>
----> 1 br_file.process()

AttributeError: 'Compressor' object has no attribute 'process'

Brotli version: 1.0.7.

FYI: I get the same errors when running your tests locally

Hey @kylebarron do you have brotlipy installed?

See the linked PR.
I didn't even think to check at first if I had brotlipy installed; it's really annoying when packages export a different name...

I just red you PR. Yep, I spent a lot of time trying to figure out how to fix the naming conflict. Thanks for the PR.


Implement application layer tasks that run in response to something

[x] turnOFFScreen
[x] playMusic
[x] adjustVolume
[x] notifyStessLevels
[x] updateLog
[x] cueBreathing
[x] changeScreenView

Moving to reciew

############### tasks that run in response to stress level ##############

# sends email warning stress levels are high
def notifyStessLevels():
    stressHigh.wait()
    message = """\
    Subject: Stress Level Elevated!

    BPM above 110 and SPO2 below 95%."""
    # sendEmail(message)

# updates encouriging messages
def updateDisplay():
    enableMessages.wait()
    while True:
        if state:
            timeDisplay()
        else:
            messageDisplay()

# updates breathing
def updateBreathing():
    enableBreathing.wait()
    while True:
        with spiL:
            lBar.turnOnLBar()
            lBar.breathe_in()
            lBar.breathe_out()

# turns on soothing music
def playMusic():
    enableMusic.wait()
    sd.play()

# stops music, breathing exercise, and ecouraging messages
def haltStressRelief():
    disableAll.wait()
    sd.stop()
    with spiL:
        lBar.turnOffLBar()
    with i2cL:
        oled.turnDisplayOff()

############### tasks that run in response to baby wakeup ##############

# adds to log and sends email when wakeup event occurs
def wakeupEvent():
    global log
    wakeup.wait()
    wakeupTime = datetime.now().strftime("%B %d, %Y %H:%M:%S %p")
    log.append(wakeupTime)
    message = """\
    Subject: Your baby is Awake!

    Your baby woke up at approximately """ + wakeupTime + "."
    # sendEmail(message)
    wakeup.clear()

############### tasks that run in response to stress browser UI ##############

# toggles message and time for display
def changeScreenView():
    global state
    if state:
        state = 0
    else:
        state = 1

# pauses messages
def pauseMessages():
    with i2cL:
        oled.turnDisplayOff()

# resumes messages
def resumeMessages():
    with i2cL:
        oled.turnDisplayOn()

# pauses breathing
def pauseBreathing():
    with spiL:
        lBar.turnOffLBar()

# resumes breathing
def resumeBreathing():
    with spiL:
        lBar.turnOnLBar()

# pauses music
def pauseMusic():
    sd.pause()

# resumes music
def resumeMusic():
    sd.unpause()

# adjusts volume
def adjustVolume(volLevel):
    with spiL:
        sd.setVol(volLevel)

############### tasks that run in response to physical UI ##############

# updates brightness
def updateBrightness():
    with spiL:
        phyUI.toggleBrightness()

# updates volume
def updateVolume():
    with spiL:
        phyUI.toggleVolume()

# send SOS message to parent
def sendSOS():
    if phyUI.triggerSOS():
        # send email
        message = """\
        Subject: SOS

        In dire need of assistance! Please come help!"""
        #sendEmail(message)

        # show confirmation on display
        confirmMes = "Email sent successfully!"
        with i2cL:
            oled.clearDisplay()
            oled.printMessage(confirmMes)
            time.sleep(3) # let it appear on
```screen for 3 seconds


Click event cancelled on [data-editable] elements

Why is the click event propagation cancelled/stopped on [data-editable] elements?
I'm trying know when a DOM element is being clicked (so when it is about to be "edited"...) and figured out that the click propagation is being cancelled when the Editor is active.
I'm sure there is a good reason, but how can I be notified when a [data-editable] DOM element is being clicked?
Is there a custom event for that? (Didn't find any in API doc)
Thanks a lot.

Hi @eightyfive,
The mouseDown event is suppressed against empty elements that already have focus as a resolution to the following issue:  https://github.com/GetmeUK/ContentTools/issues/117
Other than that specific case I don't believe the click event is cancelled against elements, however given the behaviour you describe wanting to capture (when the element is about yo be edited) binding to the focus event for  might well work?
Having said that there's no click event for editable elements, you'd have to be capturing the event against the DOM element the editable element is managing, this is typically done by capturing the mount event and adding an event listenter to the the editable elements .domElement().addEventListener('click', ...)

I'm closing this one as you gave me hints in #358.
For reference, I wanted to update the toolbox state based on the type of the editable element being edited.
The key is to listen to the focus event on ContentEdit. This is what I was missing here (was trying to listen to the click event on the editable element, hence this issue...).
My specific problem was that I wanted to prevent the use of the toolbox when editing a data-fixture element. Here is my solution:
ContentEdit.Root.get().bind('focus', function (element) {
  var isFixture = element.domElement().hasAttribute('data-fixture')

  if (isFixture) {
    editor.toolbox().hide()
  } else {
    editor.toolbox().show()
  }
})

[ This solution is totally based on #173 ]


[docs]: rewrite ux-dot CSS

If you'd ask me, I'd say we're overdue to refactor the UX-DOT CSS:

remove SCSS
remove BEM-style selectors
tokens everywhere
maybe adopt Declarative Shadow DOM on ux-dot

Mozilla's support for the feature is now positive
WebKit shipped it
we'd apply the polyfill and use an 11ty transform to stamp custom elements with DSD templates
we'd show other teams it's possible

The advantages we stand to gain are:

smaller node_modules
fewer dependencies
faster builds
easier to grok CSS
more dogfooding
provide an examplary use of RHDS tech

Originally posted by @bennypowers in https://github.com/RedHat-UX/red-hat-design-system/issues/638#issuecomment-1467407021

cc @dcaryll @markcaron @zeroedin @coreyvickery @marionnegp

@bennypowers Sounds cool. I am prepared for things to break a bit temporarily, but if that means sleeker code in the end, so be it.

ideally we could do this bit by bit, focusing on specific items, so that review wouldn't be too onerous

@bennypowers, yes please! I'd be up for helping where I can too.

We should pair this with moving reusable parts to .webc as well, further scoping the styles to components for reuse and overall less clutter in the base styles.


Missing project.xml file when importing in Acumatica

Hi,
I'm on Acumatica 2021 R2 and download the integration zip file.  When trying to Import the file to the customization projects I get the error "Missing project.xml file" and I can't proceed.
Any alternatives?

@GFCJGABRYS can you confirm if you are still presenting this issue?


Chain output as parameter

Hi,
It looks like it's not possible to use the output of an action as a parameter (ex: a key) in another action. Am I right? If yes, that could be an interesting feature so one could chain operations like using a key derivation function to generate the key used to encrypt an input).
Thanks.

Hi @spifd,
This has been on my mind for a while. It would make a good Flow Control operation. There are a few issues to iron out, but I will hopefully address this in the coming months.


Create sample files for the json/jsonnet configs

This way we don't touch the main repo's files when adding incidents, which makes merges easier.
Add all json and jsonnet files inside the incidents dir to gitignore.

That's great! Thank you @tampakrap! 👍🏻 🎉


Indent sample code in README

Thanks @Ivan-Perez
Have a look at the new Beta also! https://github.com/pablojim/highcharts-ng/pull/529


Registration Failure

Cannot register .eth domain w/ Android Cipher, Status, Coinbase Wallet.  Support tix sent to wallet providers.
When clicking "Register", ZERO tx amount w/ correct gas is calculated. (see screenshots).  Have you tried this?

The user reports that they submit the first transaction, but the UI never updates when the transaction is mined.


TEST electron v33

Test:
electron v33.x and electron rebuild

Link to nan - Support Node 23
test with node23 branch


Adds back the script to request a playground build

My reasoning for why it wasn't working before: @typescript-bot did not have access to send the post request to orta/make-monaco-builds, now the bot is a collaborator.

@typescript-bot test this

@typescript-bot pack this

@typescript-bot pack this

Looks like this triggered: https://github.com/orta/make-monaco-builds/commit/ecf882564008b75984e7fed07103eb4d59dfcecc/checks?check_suite_id=316467755


Permission problem to show list of speakers (404 error)

To reproduce with normal (delegate/registered) user:

reload on motion detail view
try to open list of speakers link -> 404 error
open agenda list
go back to motion detail
open list of speakers -> ok

Works now for me in current master.


Optional resource specification

On some K8s clusters like IBM ICP we must explicitly specify resource for each pod. It is ICP requirement. Also, performance wise some Egeria components work much better with more resources available. On ICP, Atlas pod, for example, wouldn't even start without at least 2 cpus, but significant improvement is visible when cpu = 4, while igcproxy requires 2 cpus.
It should be possible to optionally specify resources  for each pod in values.yaml E.g. (suggested def values)
resources:
limits:
cpu: 1
memory: 2Gi
requests:
cpu: 10m
memory: .01Gi

The helm chart templates generally try and include a reasonable number of labels to help in identifying egeria related pods, though it's possible they are incomplete - so if you do find missing feel free to raise.
For example one of the egeria platform pods is defined in https://github.com/odpi/egeria-charts/blob/main/charts/odpi-egeria-lab/templates/egeria-dev.yaml . The same pattern is adopted in the egeria-base chart
Here the pods are labelled with:
        app.kubernetes.io/name: {{ include "myapp.name" . }} >> this is the name of the chart
        app.kubernetes.io/instance: {{ .Release.Name }} >> this is the helm release
        app.kubernetes.io/component: dev >> We use different labels for each component (ie each platform, the ui etc)

Looking at one of my recent deployments of the lab chart I see these labels in practice:
              app.kubernetes.io/component=dev
              app.kubernetes.io/instance=lab
              app.kubernetes.io/name=odpi-egeria-lab

This is as expected.
I'll close for now as this has been open for long - apologies for the late reply.
As above if you want to suggest doc improvements, or alternate labels please do.
The next focus is going to be around the k8s operator, so the point about use of useful labels to aid in deployment-specific requirements is a good one.


add builtin function left

Refer to #193, this PR supports the builtin string function left().
Both MySQL and PostgreSQL support this function, but their behavior on NULL inputs are different: MySQL returns NULL while PostgreSQL returns an empty result.
I'm not sure which behavior is preferred. This PR follows the behavior of PostgreSQL temporarily. Please let me know if it's better to be compatible with MySQL, I'll change the behavior if necessary.

Thanks for the PR! I looked at the code and it looks good, but I think it might not work properly with unicode characters. For example, what does this return?
select LEFT('🦆aabb', 1);

As far as I understand it, LEFT(str, len) is equivalent to SUBSTRING(str, 0, len) (i.e. substring but with the offset set to 0). Is that correct? If so, perhaps it would be easier to implement the LEFT function using the substring function (found in src/function/scalar/string/substring.cpp)?

As far as I understand it, LEFT(str, len) is equivalent to SUBSTRING(str, 0, len) (i.e. substring but with the offset set to 0). Is that correct?

There is a little difference, left() accepts negative length while substr() does not, here is a simple test on PostgreSQL 12.2:
PG(<IP_ADDRESS>:test) > select substr('abc', 0, -1);
ERROR:  negative substring length not allowed

PG(<IP_ADDRESS>:test) > select left('abc', -1);
 left
------
 ab
(1 row)

PG(<IP_ADDRESS>:test) > select version();
                                                      version
-------------------------------------------------------------------------------------------------------------------
 PostgreSQL 12.2 on x86_64-apple-darwin19.4.0, compiled by Apple clang version 11.0.3 (clang-1<IP_ADDRESS>), 64-bit
(1 row)

This is the definition of left() on PostgreSQL:

Return first n characters in the string. When n is negative, return all but last |n| characters.

but I think it might not work properly with unicode characters

Exactly. select LEFT('🦆aabb', 1) fails to execute, trying to fix.

So if I get it correctly, LEFT(X, -1) is equivalent to LEFT(X, LENGTH(X)-1), right? Perhaps it is then possible to implement it using a mix of the existing substring and length functions?

If the parameter is negative, you can first call LENGTH to figure out the amount of characters of that string, and then call substring.
If LENGTH is positive, you can just call substring directly.

That way we can re-use the existing code that is there for proper unicode handling.

got it.

except for moving code around, I added the following code in substring_scalar_function() to fixed the bug discovered by querying select substring('🦆abc', 1, 0):
	if (length == 0) {
		auto result_string = StringVector::EmptyString(result, 0);
		result_string.Finalize();
		return result_string;
	}

also, a unit test is added in test/sql/function/test_substring.cpp

Thanks! Everything looks good now. I will merge it once the tests pass.

Nice to here that! Thank you for the reviewing.


Add a MusicPlayer app

Develop a Javascript {MusicPlayer} app.
Description 📜
The MusicPlayer app should be able to play musics located in assets.
Requirements 🛠
*Play musics.

Change musics by prev and next button.
good background and overall UI.
showing song Duration.

Bonuses ✨

To be able to skip to specific part of the music.

Any number of people can work on a single issue 👨💻👨💻
This issue is open to all.🌍

Project location 👉🏻 {AppName}/Username/
👨🏻💻 Happy Coding 👩🏻💻

@thinkswell  can you please merge my pr

CAN U ASSIGN IT TO ME

can you assign this issue to me

can you assign this issue to me

Yes.


Developer Tooling

Provides tools and features for developers most notably launch.json for debugging the project.
Features:

VSCode Debugging tools

Launch Profile
Flame graph visualiser
Easy access to enable sourcemaps

Git attributes
Nuxt development extensions

Nuxtr extension pack
Nuxt markdown MDC

Tailwind development extensions
Pretty TS errors

Thank you for your PR adding VSCode configuration files!
This is a good addition that will help VSCode users get started more easily with the project.
Before merging, could you add a small section in the README.md under a "Development" or "Editor Support" section? Something like:
### Editor Support

This project includes VSCode configuration files to enhance the development experience:
- Recommended extensions for Nuxt, TailwindCSS, and TypeScript development
- Debug configurations for client and server
- Launch configurations for a better debugging experience

These configurations are optional and maintained by the VSCode users community. Contributions to keep them up to date are welcome!

Thank you for your PR adding VSCode configuration files! This is a good addition that will help VSCode users get started more easily with the project.
Before merging, could you add a small section in the README.md under a "Development" or "Editor Support" section? Something like:
### Editor Support

This project includes VSCode configuration files to enhance the development experience:
- Recommended extensions for Nuxt, TailwindCSS, and TypeScript development
- Debug configurations for client and server
- Launch configurations for a better debugging experience

These configurations are optional and maintained by the VSCode users community. Contributions to keep them up to date are welcome!

Great suggestion, updated the README.md


support for rasberry pi 3?

When I attempt to read a pin on my pi 3, I'm getting:
[Error: Pin has not been exported]

Dupe of #41


MNT: Re-render the feedstock

Hi! This is the friendly conda-forge-admin automated user.
I've re-rendered this feedstock with the latest version of conda-smithy (0.7.2) and noticed some changes.
If the changes look good, then please go ahead and merge this PR.
If you have any questions about the changes though, please feel free to ping the 'conda-forge/core' team (using the @ notation in a comment).
Remember, for any changes to the recipe you would normally need to increment the version or the build number of the package.
Since this is an infrastructural change, we don't actually need/want a new version to be uploaded to anaconda.org/conda-forge, so the version and build/number are left unchanged and the CI has been skipped.
Thanks!

Hi! This is the friendly conda-forge-admin automated user.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

I guess the default channel does not have scipy with np111 yet.
Solving package specifications: ....
Error: The following specifications were found to be in conflict:
  - cartopy 0.14.0 np111py27_1 -> scipy

I guess the default channel does not have scipy with np111 yet.

A time for some conda-forge glory? :smile:


Added Directory.packages.props file for DUI3-DX dir

I was hoping that we could get away with mixing centrally managed versions, and ones hardcoded in a csproj file
It looks like this isn't the case (see errors in CI, although, locally the build is successful)
Things like RhinoCommon cannot be a centrally managed version, so I'm not sure how we can navigate this.
Perhaps, if we moved some of the shared code into a common connector project, we'll find we avoid referencing the same dependency in multiple places. (And therefore have no need for central package management)


Cisco shipping tracking number

Can you elaborate?

If you'd like this format added, you should file an issue (or open a PR!) on https://github.com/jkeen/tracking_number_data


fix(ui): make display of fees in summary pages consistent

Description:
Currently, we have some inconsistencies in how we display fees and accompanying info in pay on-chain summary and create channel summary.

How Has This Been Tested?
Manually

Types of changes:
Bugfix

Checklist:

[x] My code follows the code style of this project.
[x] I have reviewed and updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes where needed.
[ ] All new and existing tests passed.
[x] My commits have been squashed into a concise set of changes.

Coverage increased (+0.009%) to 20.102% when pulling 90eece69291c61def2ef98acfc72434135a23a6a on korhaliv:fix/onchain-summary-fee into 70b15526239ced59867807e1acf07506a2d8d8c3 on LN-Zap:master.


add "connect automatically" feature

Fixed by:

https://github.com/oVirt/ovirt-web-ui/pull/171
https://github.com/oVirt/ovirt-ui-components/pull/38


Add extensions for OffsetArrays and DataFrames

This PR accounts for the new extension architecture in Julia 1.9, which replaces Requires.jl
Due to errors in using Revise together with Requires in Julia 1.8.5 I have added two different extension files for 1.9 and pre-1.9:
1.9:

StippleOffsetArraysExt.jl
StippleDataFramesExt.jl

pre-1.9 (no modules):

StippleOffsetArraysjl
StippleDataFrames.jl

This PR also covers https://github.com/GenieFramework/StippleUI.jl/issues/84 together with https://github.com/GenieFramework/StippleUI.jl/pull/99


CASSANDRA-18722 Support Dynamic Port Allocation for in-jvm dtest fram…

…ework (4.1 patch)
Currently, INodeProvisionStrategy supports two strategies OneNetworkInterface and MultipleNetworkInterfaces. However the seedPort, storagePorts, nativeTransportPorts, and jmxPorts are always fixed or a function of the node number.
In order to better support parallel test runs, this commit introduces support for dynamic port allocation for the seedPort, storagePorts, nativeTransportPorts, and jmxPorts.
When enabled, the port allocation will be dynamic, an available port for the given bind address will be used instead of the previously statically allocated port number. This would allow us to run multiple clusters within the same test, or it will enable us to run in-jvm dtests in parallel given that the tests do not have other inter-test dependencies.
A new option in the cluster builder is introduced .withDynamicPortAllocation(boolean). To enable the new feature one must request dynamic port allocation while building the cluster.
CASSANDRA-18722

Closed via 6ffa43f68b8d10ca84d4a00bf81269527b4e14df


Bumping travis to 1.13

Finally we get rid of the ugly make get-dep.

Codecov Report

Merging #45 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #45   +/-   ##
=======================================
  Coverage   64.65%   64.65%
=======================================
  Files           5        5
  Lines         365      365
=======================================
  Hits          236      236
  Misses         90       90
  Partials       39       39

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 2ccb9e9...2341d4d. Read the comment docs.


Improve Readme

Added Gradle installation example
Added missing color(String) and font(String) methods

@Andre601 if you don't mind, i'm gonna merge this really quick so I can make final changes on master with the reflection optimizations and release 1.2.1 (to address #8)

Sure, go ahead.


Passing argument while calling a UDF

Search before asking

[X] I have searched the EvaDB issues and found no similar feature requests.

Description
Currently, we are unable to send named arguments while calling a function, unlike in python:
SELECT Forecast(SUGGESTION=TRUE);

doesn't work. However,
SELECT Forecast(TRUE);

works
Use case
Like in python, we might want users to be able to access certain features while specifically calling a function.
Are you willing to submit a PR?

[ ] Yes I'd like to help by submitting a PR!

@xzdandy, I am picking this up


Can't get custom modules to build

What happened?
I can't get FrankenPHP to compile with HTTP cache module: https://github.com/caddyserver/cache-handler (or other popular caddy modules)
I'm building a WordPress Docker image where I'm hoping to beat benchmarks and stress tests of the standard WordPress Docker image. I've been using loader.io and FrankenPHP starts to get significantly slower than the standard Apache Docker Image. I believe it is due to some caching. Apache response times for Apache stay consistent no matter the load I throw at it.
I've updated to match the WordPress image defaults as much as possible. I've included & optimized Opcache, but it still gets up to 7-8 seconds when I send 1800 requests to my WordPress image in 1 minute. Comparably, the standard WordPress Apache version takes 450ms consistently.
So I believe it must be something with additional HTTP caching.
--
I'm trying to build FrankenPHP with this module: github.com/caddyserver/cache-handler , but its throwing back C errors that I just can't understand. I've tried other modules but still have similar issues.
I'm attaching the build errors  in the log output below.
Thanks! I'm really enjoying this project.
Build Type
Docker (Debian Bookworm)
Worker Mode
No
Operating System
GNU/Linux
CPU Architecture
x86_64
Relevant log output
#11 38.58 go: downloading google.golang.org/appengine v1.6.7
#11 39.04 2024/02/23 15:49:06 [INFO] exec (timeout=0s): /usr/local/go/bin/go build -o /usr/local/bin/frankenphp -ldflags -w -s
#11 60.97 # caddy
#11 60.97 /usr/local/go/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
#11 60.97 /usr/bin/ld: /tmp/go-link-3153015539/000017.o: warning: relocation against `stderr@@GLIBC_2.2.5' in read-only section `.text'
#11 60.97 /usr/bin/ld: /tmp/go-link-3153015539/000009.o: relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a PDE object; recompile with -fPIE
#11 60.97 /usr/bin/ld: final link failed: bad value
#11 60.97 collect2: error: ld returned 1 exit status

It's hard to say anything without actual details of what you are doing.
IRT WordPress:
WordPress probably can't work in worker mode since it relies on global state. There are ways around that, at least for core, though it's unlikely plugins will work correctly. That basically limits you to cgi-mode, which is still pretty darn fast. I'd have to see your actual setup to get any idea as to what is going on.

I've updated to match the WordPress image defaults as much as possible.

I'd recommend not using those :) they're pretty good though. When I worked at Automattic, I spent quite a bit of time building out an actual "official" image instead of a community one, specifically for Jetpack. We ended up contracting with Bitnami (IIRC). I highly recommend those images as a good starting point. Beyond that, I'd recommend taking a look at vip-go's skeleton repo for some crazy stuff.
IRT load testing:
I've spotted a bug with Go's handling of FIN and FIN_WAIT packets (they can be delayed up to 600ms in my experience, which won't cause any issues for humans or actual traffic, but means most load testing software simply won't fire another request until the previous one closes which makes it seem as though it isn't as fast as it "really" is), but I haven't spent enough time trying to work out what is going on to properly report it. All I can say is that some load-testing tools show really bad performance depending on how they report the throughput. K6 seems to do pretty well in our experience. (IOW, do you measure the time to get all the data, or do you measure the time until the connection is actually closed? Both are useful metrics, one for humans and one for non-humans).
IRT to modules:

I'm trying to build FrankenPHP with this module: github.com/caddyserver/cache-handler , but its throwing back C errors that I just can't understand. I've tried other modules but still have similar issues.

How are you building them? From the looks of that error, some linker flags aren't set properly but should be set in the builder container described in the docs.

Thanks for the feedback. Here's a link to the Dockerfile.
https://github.com/wpeverywhere/wordpress-docker-frankenphp/blob/main/Dockerfile
I did some testing, and I think it is an issue of using "cgo" . I can get FrankenPHP to build without the additional modules and I can get the modules to build without cgo. But, using cgo even breaks when not including FrankenPHP with these modules.
If FrankenPHP continues to need cgo, then it may be good to add a disclaimer in that "custom Cadddy build" section of the site that additional modules need to be compatible with cgo. I'm assuming it has to be used for the C-Thread-Pool package in order to avoid php-fpm.
--
Honestly, is there a big benefit of using FrankenPHP with WordPress than a Caddy server with php-fpm? I can include php-fpm with Caddy inside a single Dockerfile which is a big win. And since WordPress isn't suitable for Workers, then I'm not seeing the benefit... I do think FrankenPHP is likely really great for a sizeable amount of modern PHP projects, but WP may not be a good fit.

In the dockerfile, where you set:
XCADDY_GO_BUILD_FLAGS="-ldflags '-w -s'"

Try per the error message you got:
XCADDY_GO_BUILD_FLAGS="-ldflags '-w -s -fPIE'"

I did some testing, and I think it is an issue of using "cgo"

Cgo is the glue between caddy and PHP, PHP is running natively in caddy (similar to apache) and some caddy modules might also be using cgo. Sometimes those modules will have custom compiler/linker flags that need to be set manually in order to compile.

Honestly, is there a big benefit of using FrankenPHP with WordPress than a Caddy server with php-fpm?

Hmm. Maybe. You could literally create a self-executable of your Wordpress installation (that would be possible with the bitnami layout mentioned earlier).
Basically, you just drop "FrankenWP" into a folder with a plugins & content directory and run it. Done. Especially if you used something like https://wordpress.org/plugins/sqlite-database-integration/ (which is maintained by WP btw -- all unit tests run with that so, it is guaranteed to work and be maintained) so you don't even need MySQL.
A docker container wouldn't even be needed.
So, yeah, I think there is some serious potential there if you wanted to do something bleeding edge.

I gave it a few more tries to no success with the commands. I did several variations of XCADDY_GO_BUILD_FLAGS="-ldflags '-w -s'"  . It couldn't build.
@dunglas , have you been able to compile FrankenPHP with additional caddy modules? It could be helpful to have a list of known modules that work well and require more effort with FrankenPHP. I'd be willing to provide some help with it as well .
--
I ended up just pushing up what I could for now. I'll reconsider working on a self-executable version in  upcoming iterations. Its a cool idea.
Thanks again for the feedback.

@StephenMiracle this looks like a duplicate of #374. Can you try if https://github.com/dunglas/frankenphp/issues/374#issuecomment-1853389427 fixes your issue?

Nice! That it is. And that did it :)
Here's the full line in my Dockerfile that made it work:
ENV CGO_ENABLED=1 CGO_LDFLAGS=-no-pie XCADDY_SETCAP=1 CGO_LDFLAGS=-pie XCADDY_GO_BUILD_FLAGS='-buildmode=pie -ldflags="-w -s" -trimpath'

That would be nice to add this to the docs! PR welcome 🤗

Hey, I wanted to circle back to this one as it came up a bit ago when someone was trying to run the WP image on Rocky Linux arch .
The attached screenshot is what occurs when I try to run the dockerfile with the custom build and pie values.
I was trying to avoid going this route with the Dockerfile by trying to simulate the arm, but it doesn't appear to work in this case.
Anyway, I am unsure what to do with the attached screenshot at this point.

IIRC, this happens when you try to use something incompatible or needs custom build parameters. I could be wrong, it's hard to say without some way to reproduce it.

Hi!
I'm also trying to build frankenphp with souin, the build pass but I have a crash immedately after the first request.

Caddy running logs
php-1  | frankenphp: Symbol `spl_ce_RuntimeException' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `stderr' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `stderr' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `stderr' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `stderr' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `stderr' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `stderr' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `stderr' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `stderr' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `stderr' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `stderr' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `stderr' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `stderr' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `executor_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `core_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `core_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `core_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `core_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `core_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `core_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `core_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `core_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `core_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `core_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `core_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `core_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `core_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `zend_known_strings' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `module_registry' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `module_registry' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_module' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_module' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_module' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_module' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_module' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_module' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_module' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_module' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `sapi_module' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `php_import_environment_variables' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `php_import_environment_variables' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `php_embed_module' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `php_embed_module' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `zend_string_init_interned' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `zend_string_init_interned' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `zend_string_init_interned' causes overflow in R_X86_64_PC32 relocation
php-1  | frankenphp: Symbol `compiler_globals_offset' causes overflow in R_X86_64_PC32 relocation
php-1  | {"level":"info","ts":1712353188.2304914,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":""}
php-1  | {"level":"warn","ts":1712353188.2317178,"msg":"Caddyfile input is not formatted; run 'caddy fmt --overwrite' to fix inconsistencies","adapter":"caddyfile","file":"/etc/caddy/Caddyfile","line":4}
php-1  | {"level":"info","ts":1712353188.2329445,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//<IP_ADDRESS>:2019"]}
php-1  | {"level":"info","ts":1712353188.2330763,"logger":"http.auto_https","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv0","https_port":443}
php-1  | {"level":"info","ts":1712353188.2330844,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
php-1  | {"level":"warn","ts":1712353188.2330916,"logger":"http.auto_https","msg":"server is listening only on the HTTP port, so no automatic HTTPS will be applied to this server","server_name":"srv1","http_port":80}
php-1  | {"level":"info","ts":1712353188.2331293,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0xc000817f00"}
php-1  | {"level":"info","ts":1712353188.235161,"msg":"FrankenPHP started 🐘","php_version":"8.3.4"}
php-1  | {"level":"info","ts":1712353188.2356842,"logger":"tls","msg":"cleaning storage unit","storage":"FileStorage:/data/caddy"}
php-1  | {"level":"info","ts":1712353188.2358146,"logger":"tls","msg":"finished cleaning storage units"}
php-1  | {"level":"warn","ts":1712353188.246113,"logger":"pki.ca.local","msg":"installing root certificate (you might be prompted for password)","path":"storage:pki/authorities/local/root.crt"}
php-1  | {"level":"info","ts":1712353188.2464762,"msg":"warning: \"certutil\" is not available, install \"certutil\" with \"apt install libnss3-tools\" or \"yum install nss-tools\" and try again"}
php-1  | {"level":"info","ts":1712353188.2464828,"msg":"define JAVA_HOME environment variable to use the Java trust"}
php-1  | {"level":"error","ts":1712353188.2472742,"logger":"pki.ca.local","msg":"failed to install root certificate","error":"failed to execute tee: exit status 1","certificate_file":"storage:pki/authorities/local/root.crt"}
php-1  | {"level":"info","ts":1712353188.2474,"logger":"http.log","msg":"server running","name":"srv1","protocols":["h1","h2","h3"]}
php-1  | {"level":"info","ts":1712353188.247423,"logger":"http.log","msg":"server running","name":"srv2","protocols":["h1","h2","h3"]}
php-1  | {"level":"info","ts":1712353188.24744,"logger":"http","msg":"enabling HTTP/3 listener","addr":":443"}
php-1  | {"level":"info","ts":1712353188.2475502,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
php-1  | {"level":"info","ts":1712353188.2475538,"logger":"http","msg":"enabling automatic TLS certificate management","domains":["localhost"]}
php-1  | {"level":"info","ts":1712353188.247624,"msg":"autosaved config (load with --resume flag)","file":"/config/caddy/autosave.json"}
php-1  | {"level":"info","ts":1712353188.2476285,"msg":"serving initial configuration"}
php-1  | {"level":"info","ts":1712353188.2477212,"logger":"tls.obtain","msg":"acquiring lock","identifier":"localhost"}
php-1  | {"level":"info","ts":1712353188.2477555,"logger":"tls.obtain","msg":"lock acquired","identifier":"localhost"}
php-1  | {"level":"info","ts":1712353188.2477825,"logger":"tls.obtain","msg":"obtaining certificate","identifier":"localhost"}
php-1  | {"level":"info","ts":1712353188.2483377,"logger":"tls.obtain","msg":"certificate obtained successfully","identifier":"localhost"}
php-1  | {"level":"info","ts":1712353188.2483623,"logger":"tls.obtain","msg":"releasing lock","identifier":"localhost"}
php-1  | {"level":"warn","ts":1712353188.248529,"logger":"tls","msg":"stapling OCSP","error":"no OCSP stapling for [localhost]: no OCSP server specified in certificate","identifiers":["localhost"]}
php-1  | SIGSEGV: segmentation violation
php-1 exited with code 0

Dockerfile
ARG DOCKER_HUB_PROXY="registry.hub.docker.com"
FROM $DOCKER_HUB_PROXY/dunglas/frankenphp:latest AS frankenphp_upstream
FROM $DOCKER_HUB_PROXY/dunglas/frankenphp:latest-builder AS frankenphp_builder_upstream
FROM $DOCKER_HUB_PROXY/library/caddy:builder AS caddy_builder_upstream
FROM $DOCKER_HUB_PROXY/composer/composer:2-bin AS composer_upstream

FROM frankenphp_builder_upstream as frankenphp_builder
COPY --from=caddy_builder_upstream /usr/bin/xcaddy /usr/bin/xcaddy

ENV CGO_ENABLED=1 XCADDY_SETCAP=1 CGO_LDFLAGS=-pie XCADDY_GO_BUILD_FLAGS='-buildmode=pie -ldflags="-w -s" -trimpath'
RUN xcaddy build \
    --output /usr/local/bin/frankenphp \
    --with github.com/dunglas/frankenphp=./ \
    --with github.com/dunglas/frankenphp/caddy=./caddy/ \
    --with github.com/dunglas/mercure/caddy \
    --with github.com/dunglas/vulcain/caddy \
    --with github.com/caddyserver/cache-handler

FROM frankenphp_upstream AS frankenphp_base
COPY --from=frankenphp_builder --link /usr/local/bin/frankenphp /usr/local/bin/frankenphp

RUN set -eux; \
    apt-get update; \
    apt-get install -y \
        acl \
        curl \
        file \
        gettext \
        git \
    ; \
    rm -rf /var/lib/apt/lists/*

RUN set -eux; \
    install-php-extensions \
        @composer \
    	amqp \
    	apcu \
    	intl \
	igbinary \
	opcache \
    	openssl \
    	pdo_pgsql \
	redis \
    	zip

RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
COPY --link docker/frankenphp/Caddyfile /etc/caddy/Caddyfile

ARG UID=1000
ARG GID=1000

RUN set -eux; \
    groupadd -g $GID web; \
    useradd -u $UID -d /home/web -m -g web web; \
    mkdir -p /srv/app; chown $UID:$GID /srv/app; \
    mkdir -p /var/run/php; chown $UID:$GID /var/run/php

USER web
WORKDIR /srv/app

HEALTHCHECK --start-period=60s CMD curl -f http://localhost:2019/metrics || exit 1
CMD [ "frankenphp", "run", "--config", "/etc/caddy/Caddyfile" ]

Hello, I'm also encountering the same crash after following the https://api-platform.com/docs/core/performance/ tutorial (with fixes from this PR for building the Docker image)

Hey I'm getting the same issue. I've tried to reduce my build as much as possible, but can't really get it down beyond this:
Dockerfile

FROM caddy:2.8-builder-alpine AS builder

RUN apk add build-base

ENV CGO_ENABLED=1
ENV XCADDY_SETCAP=1
ENV XCADDY_GO_BUILD_FLAGS="-ldflags '-w -s'"
RUN xcaddy build \
    --output /bin/frankenphp \
    --with github.com/dunglas/frankenphp \
    --with github.com/darkweak/souin/plugins/caddy@c159776e17fdbbf952b8fb4eb9d997918916360e \
    --with github.com/darkweak/souin@c159776e17fdbbf952b8fb4eb9d997918916360e

FROM alpine:latest AS base

COPY --from=fphp /bin/frankenphp /usr/bin/frankenphp

RUN mkdir /download

WORKDIR /download
ADD "https://github.com/mlocati/docker-php-extension-installer/releases/download/2.2.14/install-php-extensions" /usr/bin/install-php-extensions
RUN chmod +x /usr/bin/install-php-extensions

WORKDIR /download
ADD "https://download.nextcloud.com/server/releases/latest.zip" /download/source.zip
RUN unzip source.zip -d /download
RUN mv /download/nextcloud /app
RUN chmod +x /app/occ

ENV XDG_CONFIG_HOME /config
ENV XDG_DATA_HOME /data

VOLUME /config
VOLUME /data

EXPOSE 80
EXPOSE 443
EXPOSE 443/udp
EXPOSE 1920

RUN apk add --no-cache \
        nextcloud-pgsql \
        nextcloud-user_ldap \
        openssl

ENTRYPOINT ["/usr/bin/frankenphp", "run", "--config", "/etc/caddy/Caddyfile"]

Which fails with
--- snip ---
98.03 go: downloading cloud.google.com/go/compute v1.24.0
98.71 2024/05/26 20:36:26 [INFO] exec (timeout=0s): /usr/local/go/bin/go build -o /bin/frankenphp -ldflags -w -s
103.4 # github.com/dunglas/frankenphp
103.4 In file included from /go/pkg/mod/github.com/dunglas/frankenphp@v1.1.5/cgi.go:3:
103.4 ./frankenphp.h:4:10: fatal error: Zend/zend_types.h: No such file or directory
103.4     4 | #include <Zend/zend_types.h>
103.4       |          ^~~~~~~~~~~~~~~~~~~
103.4 compilation terminated.
105.8 2024/05/26 20:36:33 [INFO] Skipping cleanup as requested; leaving folder intact: /tmp/buildenv_2024-05-26-2034.500546453
105.8 2024/05/26 20:36:33 [FATAL] exit status 1
--- snip ---

@J-Cake you should use FrankenPHP "builder" images as base. If you start from Caddy, you have to install PHP by yourself.
https://frankenphp.dev/docs/docker/#how-to-install-more-caddy-modules

@J-Cake you should use FrankenPHP "builder" images as base. If you start from Caddy, you have to install PHP by yourself.
https://frankenphp.dev/docs/docker/#how-to-install-more-caddy-modules

Hi thanks for the quick reply!
I've actually been playing with both. Unfortunately, I get different but similar errors regardless of which image I use.
Anyway, for the sake of this project, I've decided to just use a dedicated cache in a different container, but it would be nice to have them all working together.
Cheers and thanks for your help 🚀

The error message you get is just because PHP C file are missing. They are required to compile FrankenPHP.
What is the other error message you get?

Hi apologies for the non-reply again. Here's the error message when building with the frankenphp image:
194.9 go: downloading cloud.google.com/go/compute v1.23.0
196.5 2024/05/27 15:41:09 [INFO] exec (timeout=0s): /usr/local/go/bin/go build -o /bin/frankenphp -ldflags -w -s
203.5 # caddy
203.5 /usr/local/go/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
203.5 /usr/bin/ld: /tmp/go-link-375663006/000005.o: warning: relocation against `sapi_module' in read-only section `.text'
203.5 /usr/bin/ld: /tmp/go-link-375663006/000005.o: relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a PDE object; recompile with -fPIE
203.5 /usr/bin/ld: final link failed: bad value
203.5 collect2: error: ld returned 1 exit status
203.5
203.6 2024/05/27 15:41:16 [INFO] Cleaning up temporary folder: /tmp/buildenv_2024-05-27-1537.638876492
203.6 2024/05/27 15:41:16 [FATAL] exit status 1

Dockerfile

```Dockerfile
FROM dunglas/frankenphp:latest-builder AS builder
Copy xcaddy in the builder image
COPY --from=caddy:builder /usr/bin/xcaddy /usr/bin/xcaddy
CGO must be enabled to build FrankenPHP
ENV CGO_ENABLED=1 XCADDY_SETCAP=1 XCADDY_GO_BUILD_FLAGS="-ldflags '-w -s'"
ENV CGO_ENABLED=1
ENV XCADDY_SETCAP=1
ENV XCADDY_GO_BUILD_FLAGS="-ldflags '-w -s'"
RUN xcaddy build
--output /bin/frankenphp
--with github.com/caddyserver/cache-handler
--with github.com/dunglas/frankenphp
</p>
</details>

i have same issue https://github.com/dunglas/frankenphp/issues/676

i have same issue #944 with apiplatform

Could you please stop to reference your issue in all frankenphp issues?


Pinot batch ingestion duplicate row issue

We are using pinot batch ingestion where we are receiving duplicate data in multiple files. Eg file1 has 5 record and few of them we Received in next file along with new data
We have tried primaryKeyColumns but it is inserting duplicate

Trying to understand the problem. Is the record duplicated in the input files? Do you want Pinot to help deduplicate the records?
cc @swaminathanmanish

Yes we have duplicate  record  in the file.
And other  use case is, we already persisted the record And Same record  we received in the file along with new Data , here expectations is to only persist new one


macos/zsh: switching default version still keeps system

Operating system and version:
OS version: Mac 10.14.6 18G5033
nvm debug output:

nvm --version: v0.35.3
$TERM_PROGRAM: iTerm.app
$SHELL: /bin/zsh
$SHLVL: 1
${HOME}: /Users/[name-removed]
${NVM_DIR}: '${HOME}/.nvm'
${PATH}: ${HOME}/.rvm/gems/ruby-2.5.1/bin:${HOME}/.rvm/gems/ruby-2.5.1@global/bin:${HOME}/.rvm/rubies/ruby-2.5.1/bin:/usr/local/opt/node@12/bin:/usr/local/opt/node@10/bin:/usr/local/opt/icu4c/sbin:/usr/local/opt/icu4c/bin:/usr/local/opt/curl/bin:/usr/local/sbin:/usr/local/sbin:${NVM_DIR}/versions/node/v14.4.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin/python:${HOME}/Library/python/3.7/bin:${HOME}/.rvm/bin
$PREFIX: ''
${NPM_CONFIG_PREFIX}: ''
$NVM_NODEJS_ORG_MIRROR: ''
$NVM_IOJS_ORG_MIRROR: ''
shell version: 'zsh 5.3 (x86_64-apple-darwin18.0)'
uname -a: 'Darwin 18.7.0 Darwin Kernel Version 18.7.0: Mon Apr 27 20:09:39 PDT 2020; root:xnu-4903.278.35~1/RELEASE_X86_64 x86_64'
OS version: Mac 10.14.6 18G5033
curl: /usr/local/opt/curl/bin/curl, curl 7.68.0 (x86_64-apple-darwin18.7.0) libcurl/7.68.0 SecureTransport zlib/1.2.11
wget: /usr/local/bin/wget, GNU Wget 1.20.3 built on darwin18.7.0.
sed: /usr/bin/sed
cut: /usr/bin/cut
basename: /usr/bin/basename
rm: /bin/rm
mkdir: /bin/mkdir
xargs: /usr/bin/xargs
git: /usr/bin/git, git version 2.21.1 (Apple Git-122.3)
ls: grep:: No such file or directory
grep: grep: aliased to grep  --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn} (grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn}), grep (BSD grep) 2.5.1-FreeBSD
awk: /usr/bin/awk, awk version 20070501
nvm current: system
which node: /usr/local/opt/node@12/bin/node
which iojs: iojs not found
which npm: /usr/local/opt/node@12/bin/npm
npm config get prefix: /usr/local
npm root -g: /usr/local/lib/node_modules

nvm ls output:

        v8.17.0
       v13.12.0
        v14.4.0
->       system
default -> v14.4.0
node -> stable (-> v14.4.0) (default)
stable -> 14.4 (-> v14.4.0) (default)
iojs -> N/A (default)
unstable -> N/A (default)
lts/* -> lts/erbium (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0
lts/dubnium -> v10.21.0 (-> N/A)
lts/erbium -> v12.18.1 (-> N/A)

How did you install nvm?

install script in readme
What steps did you perform?
$ nvm alias default v14.4.0

What happened?
outputed
default -> v14.4.0

opening a new shell
$ node -v
v12.15.0

What did you expect to happen?
opening a new shell
$ node -v
v14.4.0

Is there anything in any of your profile files that modifies the PATH?

from .bashrc

# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

from .bash_profile

PATH=/usr/local/php5/bin:$PATH
export PATH
export PATH="/usr/local/sbin:$PATH"

from .zshrc

....
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# ....
plugins=(
  git nvm
)

...
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"
export PATH="/usr/local/sbin:$PATH"
export PATH="/usr/local/opt/curl/bin:$PATH"
export PATH="/usr/local/opt/icu4c/bin:$PATH"
export PATH="/usr/local/opt/icu4c/sbin:$PATH"
export PATH="/usr/local/opt/node@10/bin:$PATH"
export PATH="/usr/local/opt/node@12/bin:$PATH"

PATH=/usr/local/php5/bin:$PATH
export PATH
export PATH="/usr/local/sbin:$PATH"

this will cripple nvm if you have node installed there. nvm must run after this.

Thanks for getting back @ljharb
This is the whole file
PATH=/usr/local/php5/bin:$PATH
export PATH
export PATH="/usr/local/sbin:$PATH"

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

what does "nvm must run after this" mean?

That's what it means; the nvm lines need to run "last" (or at least, after all PATH modifications).
If that doesn't solve the issue, what's the output of nvm debug after running nvm use node?

I think I just had a RTFM-moment.

nvm is [...] designed to be  [...] invoked per-shell

I expected nvm alias default vXYZ to switch node for the whole system, so when I open a new shell I still get vXYZ when node -v.
Anyway, opening a new shell and running nvm use node outputs
Now using node v14.4.0 (npm v6.14.5)

nvm debug
[0] % nvm debug
nvm --version: v0.35.3
$TERM_PROGRAM: iTerm.app
$SHELL: /bin/zsh
$SHLVL: 1
${HOME}: /Users/albertscheiner
${NVM_DIR}: '${HOME}/.nvm'
${PATH}: ${NVM_DIR}/versions/node/v14.4.0/bin:${HOME}/.rvm/gems/ruby-2.5.1/bin:${HOME}/.rvm/gems/ruby-2.5.1@global/bin:${HOME}/.rvm/rubies/ruby-2.5.1/bin:/usr/local/opt/node@12/bin:/usr/local/opt/node@10/bin:/usr/local/opt/icu4c/sbin:/usr/local/opt/icu4c/bin:/usr/local/opt/curl/bin:/usr/local/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin/python:${HOME}/Library/python/3.7/bin:${HOME}/.rvm/bin
$PREFIX: ''
${NPM_CONFIG_PREFIX}: ''
$NVM_NODEJS_ORG_MIRROR: ''
$NVM_IOJS_ORG_MIRROR: ''
shell version: 'zsh 5.7.1 (x86_64-apple-darwin19.0)'
uname -a: 'Darwin 19.5.0 Darwin Kernel Version 19.5.0: Tue May 26 20:41:44 PDT 2020; root:xnu-6153.121.2~2/RELEASE_X86_64 x86_64'
OS version: Mac 10.15.5 19F101
curl: /usr/local/opt/curl/bin/curl, curl 7.68.0 (x86_64-apple-darwin18.7.0) libcurl/7.68.0 SecureTransport zlib/1.2.11
wget: /usr/local/bin/wget, GNU Wget 1.20.3 built on darwin18.7.0.
sed: /usr/bin/sed
cut: /usr/bin/cut
basename: /usr/bin/basename
rm: /bin/rm
mkdir: /bin/mkdir
xargs: /usr/bin/xargs
git: /usr/bin/git, git version 2.24.3 (Apple Git-128)
ls: grep:: No such file or directory
grep: grep: aliased to grep  --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn} (grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn}), grep (BSD grep) 2.5.1-FreeBSD
awk: /usr/bin/awk, awk version 20070501
nvm current: v14.4.0
which node: ${NVM_DIR}/versions/node/v14.4.0/bin/node
which iojs: iojs not found
which npm: ${NVM_DIR}/versions/node/v14.4.0/bin/npm
npm config get prefix: ${NVM_DIR}/versions/node/v14.4.0
npm root -g: ${NVM_DIR}/versions/node/v14.4.0/lib/node_modules

@scheinercc when your profile files source nvm.sh, then "the default" should indeed be available on every shell.
Are oyu sure that "sourcing nvm.sh" is the last thing that happens in your profile files, and that you have only one copy of nvm?

Are oyu sure that "sourcing nvm.sh" is the last thing that happens in your profile files

I could only copy the content of those files again, but for now

and that you have only one copy of nvm?

not 100%, so I will try to uninstall it and restart. Will update this ticket after

un- and reinstalled; now $ nvm use node returns Now using node v14.4.0 (npm v6.14.5), but checking nvm current
return system instead of v14.4.0 (or stable)
The ~/.bashrc after reinstalling:
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

Specifically, /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin: appears in your $PATH after the nvm entry, and that's what's breaking it.
Your nvm debug says you're using zsh; what's in ~/.zshrc or ~/.zprofile?

It seems to kind of work now.
After installing the latest stable version and setting nvm alias default node I get v14.5.0 in the current shell.
Opening a new shell I first get the warning:
nvm is not compatible with the npm config "prefix" option: currently set to "/usr/local"
Run `npm config delete prefix` or `nvm use --delete-prefix v14.5.0 --silent` to unset it.

I ran npm config delete prefix, which deleted ~/.npmrc. After still getting the warning in a new shell I also ran nvm use --delete-prefix v14.5.0 --silent which then sets node -v to v14.5.0.
Testing in a third shell, I get the warning again, running node -v returns v12.15.0 (system). Running nvm use --delete-prefix v14.5.0 --silent again sets it to v14.5.0 (node).
Once switching, the ~/.nvm entry indeed always gets prepended - $PATH after nvm use node:
/Users/albertscheiner/.nvm/versions/node/v14.5.0/bin:/Users/albertscheiner/.rvm/gems/ruby-2.5.1/bin:/Users/albertscheiner/.rvm/gems/ruby-2.5.1@global/bin:/Users/albertscheiner/.rvm/rubies/ruby-2.5.1/bin:/usr/local/opt/node@12/bin:/usr/local/opt/node@10/bin:/usr/local/opt/icu4c/sbin:/usr/local/opt/icu4c/bin:/usr/local/opt/curl/bin:/usr/local/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin/python:/Users/albertscheiner/Library/python/3.7/bin:/Users/albertscheiner/.rvm/bin

$PATH after nvm use system
/Users/albertscheiner/.rvm/gems/ruby-2.5.1/bin:/Users/albertscheiner/.rvm/gems/ruby-2.5.1@global/bin:/Users/albertscheiner/.rvm/rubies/ruby-2.5.1/bin:/usr/local/opt/node@12/bin:/usr/local/opt/node@10/bin:/usr/local/opt/icu4c/sbin:/usr/local/opt/icu4c/bin:/usr/local/opt/curl/bin:/usr/local/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin/python:/Users/albertscheiner/Library/python/3.7/bin:/Users/albertscheiner/.rvm/bin

I don't have a ~/.zprofile, but here is the ~/.zshrc:

```
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
Path to your oh-my-zsh installation.
export ZSH=/Users/albertscheiner/.oh-my-zsh
Set name of the theme to load. Optionally, if you set this to "random"
it'll load a random theme each time that oh-my-zsh is loaded.
See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
ZSH_THEME="mortalscumbag"
Set list of themes to load
Setting this variable when ZSH_THEME=random
cause zsh load theme from this variable instead of
looking in ~/.oh-my-zsh/themes/
An empty array have no effect
ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
Uncomment the following line to use case-sensitive completion.
CASE_SENSITIVE="true"
Uncomment the following line to use hyphen-insensitive completion. Case
sensitive completion must be off. _ and - will be interchangeable.
HYPHEN_INSENSITIVE="true"
Uncomment the following line to disable bi-weekly auto-update checks.
DISABLE_AUTO_UPDATE="true"
Uncomment the following line to change how often to auto-update (in days).
export UPDATE_ZSH_DAYS=13
Uncomment the following line to disable colors in ls.
DISABLE_LS_COLORS="true"
Uncomment the following line to disable auto-setting terminal title.
DISABLE_AUTO_TITLE="true"
Uncomment the following line to enable command auto-correction.
ENABLE_CORRECTION="true"
Uncomment the following line to display red dots whilst waiting for completion.
COMPLETION_WAITING_DOTS="true"
Uncomment the following line if you want to disable marking untracked files
under VCS as dirty. This makes repository status check for large repositories
much, much faster.
DISABLE_UNTRACKED_FILES_DIRTY="true"
Uncomment the following line if you want to change the command execution time
stamp shown in the history command output.
The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
HIST_STAMPS="mm/dd/yyyy"
Would you like to use another custom folder than $ZSH/custom?
ZSH_CUSTOM=/path/to/new-custom-folder
Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
Example format: plugins=(rails git textmate ruby lighthouse)
Add wisely, as too many plugins slow down shell startup.
plugins=(
git nvm
)
source $ZSH/oh-my-zsh.sh
User configuration
export MANPATH="/usr/local/man:$MANPATH"
You may need to manually set your language environment
export LANG=en_US.UTF-8
Preferred editor for local and remote sessions
if [[ -n $SSH_CONNECTION ]]; then
export EDITOR='vim'
else
export EDITOR='mvim'
fi
Compilation flags
export ARCHFLAGS="-arch x86_64"
ssh
export SSH_KEY_PATH="~/.ssh/rsa_id"
Set personal aliases, overriding those provided by oh-my-zsh libs,
plugins, and themes. Aliases can be placed here, though oh-my-zsh
users are encouraged to define aliases within the ZSH_CUSTOM folder.
For a full list of active aliases, run alias.

Example aliases
alias zshconfig="mate ~/.zshrc"
alias ohmyzsh="mate ~/.oh-my-zsh"
export PATH="/usr/local/sbin:$PATH"
Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"
export PATH="/usr/local/sbin:$PATH"
export PATH="/usr/local/opt/curl/bin:$PATH"
export PATH="/usr/local/opt/icu4c/bin:$PATH"
export PATH="/usr/local/opt/icu4c/sbin:$PATH"
export PATH="/usr/local/opt/node@10/bin:$PATH"
export PATH="/usr/local/opt/node@12/bin:$PATH"
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
</details>

The only way that shouldn’t work is if your PATH already has nvm in it. You could try removing the node 10 and 12 lines, and you may want to try echo $PATH at the top of that file to see what value it has.

Thanks for all your help!
commenting out
#export PATH="/usr/local/opt/node@10/bin:$PATH"
#export PATH="/usr/local/opt/node@12/bin:$PATH"

in .zshrc fixed it.


Add build instruction link to sprig-hardware

Add build instruction link to sprig-hardware repo (both in original repo and in new sprig location).  This is the only URL given to sprigsters for old packaged sprigs - not having a convenient link to the assembly instructions here adds confusion.

did it w/ https://github.com/hackclub/sprig-hardware/commit/e47d2e0f5940035edbfab065882032190967349a


docs: fix typo in README

Just fixing a typo in the README.md

thank for providing this improvement can you change your commit message to apply to [semantic commit|https://gist.github.com/joshbuchea/6f47e86d2510bce28f8e7f42ae84c716]? e.g. docs: fix typo in readme

done!

please add @patoroco for doc.

@patoroco pls rename the commit message of gith history, the merge request is not that important
git commit --amend

@all-contributors please add @patoroco for doc.

commit message updated, sorry but I thought that you were using squash for PRs, so the message name would be the title of the PR :D

@karlderkaefer you need to approve the PR to leave the auto merge works :D

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


Add Terminal section

Is your feature request related to a problem? Please describe.
Add terminal or cmd icon
Describe the solution you'd like
Cmd icon or terminal symbol like in Linux or windows
Describe alternatives you've considered
No response
Additional context
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

We are not accepting any more icons.


fix(nuxt): useFetch method type infer error

🔗 Linked issue
#19077

❓ Type of change

[ ] 📖 Documentation (updates to the documentation, readme or JSdoc annotations)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
I provided a workaround before, but this issue doesn't get solved.
I find that just change the method type 'get' extends AvailableRouterMethod<ReqT> ? 'get' : AvailableRouterMethod<ReqT> into AvailableRouterMethod<ReqT>, and all works fine as I see

📝 Checklist

[x] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

@danielroe I added one, btw, setting the return type and request method explicitly will easily reproduce.

Thanks! I've gone ahead and pushed a failing test to show why the type is written as is.


Mocking sqlx pkg for testing

Is there a straightforward way to mock sqlx package for unit testing?
I'm thinking of creating a mock wrapper of sqlx functions and call Data-Dog sqlmock pkg from those functions.
Is there a better approach?

It should be trivial to mock sqlx.DB; in fact, internally, a lot of functionality which is shared between Stmt, Tx and DB use interfaces to reduce code duplication.
I'm not sure how how you'd mock other sql functions;  presumably you'd have to resort to DI.

Yes, it was pretty straightforward.
mockDB, mock, err := sqlmock.New()
defer mockDB.Close()
sqlxDB = sqlx.NewDb(mockDB,"sqlmock")

Later on I used the sqlmock function:
mock.ExpectExec("INSERT INTO baskets").WillReturnResult(sqlmock.NewResult(newID, 1))

for the sqlx query:
sqlxDB.Exec("INSERT INTO baskets (user_id, name, created_at, updated_at) VALUES (?, ?, ?, ?)", basket.UserID, basket.Name, timeNow, timeNow)

and I used the sqlmock function:
rows := sqlmock.NewRows([]string{"id", "user_id", "name", "created_at", "updated_at"}).
			AddRow(1, userID, name, timeNow, timeNow)
mock.ExpectPrepare("^SELECT (.+) FROM baskets WHERE").ExpectQuery().WithArgs(userID).WillReturnRows(rows)

for the sqlx query:
sqlxDB.PrepareNamed("SELECT id, user_id , name, created_at, updated_at FROM baskets WHERE user_id = :user_id")

how to prepare insert query?

@sim4life Is sqlmock DataDog's https://github.com/DATA-DOG/go-sqlmock ?

Hi @sim4life @nachogoca Were you guys able to mock with Queryx?
I have the following that I am trying to mock a basic query with where clause:
stmt, err := c.DB.Preparex(query)
if err != nil {
log.Fatalln(err)
}
defer stmt.Close()
rows, err := stmt.Queryx(ID)
if err != nil {
	log.Fatalln(err)
}
defer rows.Close()

but keep on getting query mismatch. Do you have an example for above case? Also I do not see any issues with SELECT (+.) FROM Table.

@sim4life Is sqlmock DataDog's https://github.com/DATA-DOG/go-sqlmock ?

Yes

Hi @sim4life @nachogoca Were you guys able to mock with Queryx?
I have the following that I am trying to mock a basic query with where clause:
stmt, err := c.DB.Preparex(query)
	if err != nil {
		log.Fatalln(err)
	}
	defer stmt.Close()

	rows, err := stmt.Queryx(ID)
	if err != nil {
		log.Fatalln(err)
	}
	defer rows.Close()

but keep on getting query mismatch. Do you have an example for above case? Also I do not see any issues with SELECT (+.) FROM Table.

Yes, I managed to mock SQLMock .. but I'm NOT sure about QueryX.
Can you share your code and error on gitpod.io or something?


Angularjs tutorial - 'npm start' not working

I'm having problems with the "npm command" found at the end of the first step of the tutorial. I've overviewed the other threads on this question but haven't found the answers I'm looking for.
The project is cloned from github, Node is installed. I've confirmed this with
$ node --version
v. 0.10.29
orienting myself to ../GitHub/angular-phonecat in Gitbash, I write
$ npm install
npm WARN optional dep failed, continuing<EMAIL_ADDRESS>|

<EMAIL_ADDRESS>install c:..\Documents\github\angular-phonecat\node_modules\karma\node_modules\socket.io\node_modules\socket.ioclient\node_modules\ws
(node-gyp rebuild 2> builderror.log) || (exit 0)
\

Next step is
$ npm start

<EMAIL_ADDRESS>prestart c:..\Documents\github\angular-phonecat
npm install

Now, browsing to "localhost:8000/app/index.html" explained in the tutorial, i'm getting a 404-error message.
I guess that's not a correct output.. so just wondering if any of you guys have any suggestions where to go next?

Ran into a 'npm start' failure on MacOSX as well.  Unlike the people commenting on Windows, my issue was making sure I ran the 'npm install' as specified in the tutorial as root.
Issue was fixed by doing a 'sudo npm install'.

i had to remove the public folder
just stayed with <IP_ADDRESS> and 8000

@eabdelmoneim I'm on OSX 10.10 and that worked! Thanks!

I had this problem as well. Running the http-server command directly rather then using npm start in terminal helped diagnose the issue. I'm on Ubuntu 14.04 LTS, nvm using node v0.12.2
$ http-server -a <IP_ADDRESS> -p 8000
   events.js:85
         throw er; // Unhandled 'error' event
               ^
Error: listen EADDRINUSE

The error name is fairly straight forward, E(rror) ADDR(ess) IN USE, so I tried the suggestion above and used http-server -a <IP_ADDRESS> -p 8080, and got the same error. So if that happens to you don't get discouraged. I then tried http-server -a <IP_ADDRESS> -p 5000 to no success and finally -p 3000, which turned out to be available and working.
I'm guessing 8080 is tied up because of apache but I don't remember node not being able to listen to 8080 on my last install before using nvm. Either way. Solution works, and If you are having same error code, keep trying until you find an open port. Then, to implement working solution, use @erknrio instruction, change the "start" property under "scripts" in the package.json file from "http-server -a <IP_ADDRESS> -p 8000" to "http-server -a <IP_ADDRESS> -p <the open port>".
...
  },
  "scripts": {
    "postinstall": "bower install",

    "prestart": "npm install",
    "start": "http-server -a <IP_ADDRESS> -p 3000",

    "pretest": "npm install",

Thanks @erknrio

Sometimes the port is tied up if you happen to leave a previous http-server or similar running in the background. You can find out on OS/X what the port is being used by if you run
lsof -iTCP:8080

Your welcome @mrosata :).

guys "npm test" does not work for me although "npm start " is working fine!
it outputs the error describing that it can not find "socket.io-client".
i'm using windows 7 by the way.

Those who have problem with live-server not opening a browser window just do
"start": "live-server --open=src --port=3000 --host=<IP_ADDRESS>"
in the script part of package.json.

How to use these? I am at step 0. how to change the code to step 1 and edit, do the practice. Kindly share if any vedios are there?

@erknrio Thank you very much for this solution :+1:

Thanks @sajedshaikh777, which version of Ubuntu are you using?

For windows 7, change to the Samples/Chapter01/live-server-test folder, and run these commands:
npm install
npm start
On my system the chrome browser (default) launches per the book.

@beacham npm start work for me

npm start, npm install, live-server all not working! have done all the above solutions. i run a windows 10

npm start is not working for me too some time it will work and then I can't stop the server then it will become not responding (git bash) and then I will close the git bash and opens again and some times npm start will not work and it will give errors  can anyone help me

I was facing the same issue that I was unable to run 'npm start' command. Going through above comments, I changed the port from 8000 to 8080 in 'package.json' file and it finally run.
Earlier, it was "start": "http-server ./app -a localhost -p 8000 -c-1",
Now, it is "start": "http-server ./app -a localhost -p 8080 -c-1",.
Server started on 'npm start' and hence problem resolved.

I figured out that if ignore-scripts is set to true in npm config, none of the scripts in package.json would work.
Just run npm config set ignore-scripts false in the command line


Automatically generate documentation based on upstream documented columns

Is your feature request related to a problem? Please describe.
dbt-coves seems to do a lot to help users adopt analytics engineering best practices.
One of the best practices is documentation.
A problem I (and a lot of people) have is that you have to repeat the column descriptions in every downstream model.
This results in either a bunch of time copying and pasting or downstream models not having proper descriptions.
Describe the solution you'd like
What I would like to do is just do column descriptions once at the base model and then have that propagate through the DAG to all downstream models.
Describe alternatives you've considered
Use PyYAML to make my own solution (more of a learning project since this is not my speciality)
dbt-osmosis has a way to "Automatically generate documentation based on upstream documented columns"
dbt-osmosis yaml document --project-dir ... --profiles-dir ...

Absolutely love this idea. It'd be a very useful feature, given that your alternative is to write non-DRY code and try to maintain the same documentation in n places.


What happens if lock wasn't released

Just when the client about to release the lock the computer dropped into the pool, now who's gonna release the lock

Do I run a script on the server to clean up after myself

Merry Christmas!


怎么用freetype显示汉字

你好，Lvgl8.3怎么用freetype显示汉字？我的操作如下：
1、freetype编译：
./configure CC=arm-linux-xxx-gcc --host=arm-linux --prefix=$PWD/library --with-zlib=no --with-png=no
make
make install
2、正确连接到应用代码中、把对应字库拷贝到正确路径
3、lv_example_freetype_1();
汉字显示矩形框，报错打印如下：（试过freetype2.6.1和2.10.4，存在相同的问题；把7.x的lvgl_freetype.c拷贝到8.3中编译也存在相同的问题）
[FTC_MruList_New 272] error=1.
[FTC_Manager_LookupSize 208] error=1.

Hi,
Please write in English. Feel free to use a translator appliction if needed.

How to use freetype to display Chinese characters in Lvgl8.3?
What I did as follows:

Freetype compilation:
./configure CC=arm Linux xxx gcc -- host=arm Linux -- prefix=$PWD/library -- with zlib=no -- with png=no
Make
Make install
2.Link libfreetype. a and copy the font to the correct path
run    lv_ Example_ Freetype_ 1 ();

Chinese characters display as rectangular box, and the error printing is as follows:
[FTC_MouList-New 272] error=1
[FTC_Manageer_LookupSize 208] error=1
By th way:  I have tried freetypes 2.6.1 and 2.10.4, but there is the same problem; copying 7. x's lvgl_freetype. c to 8.3 for compilation also has the same problem.

Hi,
I've just tested and it works for me:
    /*Create a font*/
    static lv_ft_info_t info;
    /*FreeType uses C standard file system, so no driver letter is required.*/
    info.name = "./lvgl/scripts/built_in_font/SimSun.woff";
    info.weight = 24;
    info.style = FT_FONT_STYLE_NORMAL;
    info.mem = NULL;
    if(!lv_ft_font_init(&info)) {
        LV_LOG_ERROR("create failed.");
    }

    /*Create style with the new font*/
    static lv_style_t style;
    lv_style_init(&style);
    lv_style_set_text_font(&style, info.font);
    lv_style_set_text_align(&style, LV_TEXT_ALIGN_CENTER);

    /*Create a label with the new style*/
    lv_obj_t * label = lv_label_create(lv_scr_act());
    lv_obj_add_style(label, &style, 0);
    lv_label_set_text(label, "Hello world 你好");
    lv_obj_center(label);

Although I installed FreeType with
make
sudo make install

Please be sure you IDE has UTF-8 encoding. You can use this to check:
   /*Test if the IDE has UTF-8 encoding*/
    char * txt = "Á";

    uint8_t * txt_u8 = (uint8_t *)txt;
    if(txt_u8[0] != 0xc3 || txt_u8[1] != 0x81 || txt_u8[2] != 0x00) {
        LV_LOG_WARN("The strings have no UTF-8 encoding. Non-ASCII characters won't be displayed.");
    }

Hello! When to Create a font and Create style with the new font? And when to destroy them?

You should create these only once when you initialize the whole UI. Else you need to delete and deinit the fonts and styles to free the resources.