text:
Suspense support in Storage APIs

This PR is a minimal proof of concept to add Suspense support to our Storage APIs:

useStorage()
useMap()
useList()
useObject()

Each of these now have an overload on this branch that will allow you to pass in a useMap('mykey', { suspense: true }) config option to use the function overload that will never return null. Instead, these hooks suspend instead of returning null.
A quick refresher on how Suspense works with custom hooks. Such hooks will throw a promise (instead of an error) up the call stack. Then the <Suspense> boundary component will catch that thrown promise and render the fallback instead. Then, much later, once the thrown promise resolves, Suspense will rerender the component tree, by which time it should be able to resolve synchronously without suspending.
Ultimately, we add this in preparation for better/simpler Storage hooks. I'm not proposing per se to include these APIs as such in the useMap & friends hooks. Perhaps we'll decide that only a new useSelector() API will have support for Suspense. All the existing useMap & friends overloads are already pretty overwhelming to maintain. I just added them in here for now, because these are the ones we have today.

Closing this one, will re-open this PR later to target for merging into 0.18. It's way easier to add this against 0.18, after we've cleaned up all the deprecated APIs.

repo: liveblocks/liveblocks


text:
fix worker report load

Fix issue https://github.com/livekit/agents/issues/884

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

self._opts.load_threshold is the % threshold that the worker should stop accepting jobs. it should not be used as a denominator for normalization

source: gharchive/pull-request

authors: CLAassistant Max-Thuc davidzhao

repo: livekit/agents

license_type: permissive

license_source: github-api


text:
USB camera not listing

How we can read the External camera now it only reads the front and back camera
see an app that reads all external cameras
https://play.google.com/store/apps/details?id=com.shenyaocn.android.usbcamera

can u revert an example
var videoTrackCaptureDefaults: LocalVideoTrackOptions = LocalVideoTrackOptions()

var videoTrackCaptureDefaults: LocalVideoTrackOptions = LocalVideoTrackOptions(deviceId = "/dev/video63")

Again, get the device name through the process I mentioned in the previous comment.

Camera1Enumerator
Camera2Enumerator
are basically throw front camera and back cameras it won't list USB / external

https://github.com/libuvc/libuvc
this library will be able to throw all connected USB  video devices

Hmm I think this may be out of scope currently, if the phone doesn't support discovering the USB camera through Camera2.
You can use libuvc/other 3rd party libraries to create your own org.webrtc.VideoCapturer and VideoTrack to support this feature.

Closing as not planned.

source: gharchive/issue

authors: anishmenon davidliu

repo: livekit/client-sdk-android


text:
iOS: Video stream does not resume when app is brought back into the foreground

Describe the bug
When a video call is in progress, the video stream for a participant on iOS will freeze for other participants if the app is backgrounded. When the iOS user brings the app back into the foreground, the video stream does not resume and remains frozen for the all other participants. The local monitor stream for the user on iOS will continue to work as expected and audio is not interrupted at any time. There are also no track/participant/room events indicating that anything is interrupted nor are there any relevant log entries at the debug level.
To Reproduce
Steps to reproduce the behavior:

Connect to a room in the Example app
Wait for another user to connect
Put the app into the background on a device running iOS
Bring the app back into the foreground
The other participants will still see frozen video from the iOS user

Expected behavior
For the video stream to show as unavailable when the app is backgrounded (if it is not possible to remain streaming on iOS) and to resume streaming when the app is placed back into the foreground.
Screenshots
N/A
Device Info:

Device: iPhone 6s Plus, iPhone 14 Pro
OS: iOS 15.7.4, iOS 16.4.1

Dependencies Info (please reference your package-lock.json or yarn.lock file):

@livekit/react-native: 1.0.0
livekit-client: 1.8.0
react-native-webrtc: 111.0.0

This issue is NOT present with the following older dependencies:

@livekit/react-native: github:livekit/client-sdk-react-native#5ccd65b01e4ea591e10dac6cd2334d2ff6b60e34
livekit-client: 1.6.0
react-native-webrtc: 106.0.0

Hmm, looks like something on the react-native-webrtc side when upgrading to m111, will investigate further.

Unfortunately, seems like it might be a while before we can get this working properly. For now, I think you should be able to handle this manually listening to the AppState and disabling the camera when it goes into the background.

@davidliu Any update on this? Looks like that workaround is not working as expected in testing with @livekit/react-native 1.0.1 and react-native-webrtc 111.0.1. After toggling the camera back on, the video goes to black instead of resuming for both iOS and Android participants.

Hmm, how are you handling this? This is what I have and seems to work for me:
const appState = React.useRef(AppState.currentState);
const [appStateVisible, setAppStateVisible] = useState(appState.current);

useEffect(() => {
  const subscription = AppState.addEventListener('change', nextAppState => {
    if (
      appState.current.match(/inactive|background/) &&
      nextAppState === 'active'
    ) {
      console.log('App has come to the foreground!');
    }

    appState.current = nextAppState;
    setAppStateVisible(appState.current);
    console.log('AppState', appState.current);
  });

  return () => {
    subscription.remove();
  };
}, []);

useEffect(() => {
  if(room && isConnected){
    if(appStateVisible === 'active') {
      room.localParticipant.setCameraEnabled(true)
    } else {
      room.localParticipant.setCameraEnabled(false)
    }
  }
}, [room, isConnected, appStateVisible]);

@davidliu Thanks for the suggestion. I've done some more testing and found that this is not directly related to employing that workaround. Previously, when video did not resume after an iOS participant brought the app back into the foreground, toggling video off/on would resume the video stream so that is what I was planning on automating. Now, this action results in black screen for the other participants instead of the video coming back.
This is occurring on the RN example app as well as our own so I'm suspecting that there was a backend change that affected this.
I've tested on the following library versions and all behave the same:

@livekit/react-native: 1.0.0 & 1.0.1
react-native-webrtc: 111.0.0 & 111.0.1

I am on the LiveKit Community Slack if you'd like to continue the conversation there.

We'll be releasing a forked version of react-native-webrtc soon that shouldn't have the original bug, so that'll remove the need for a workaround.

Hey @jbrowning, try the latest 1.1.2 release. Note that there are few new setup steps involved that can be found in our README here:
https://github.com/livekit/client-sdk-react-native#installation

authors: davidliu jbrowning

repo: livekit/client-sdk-react-native


text:
add api for updating room metadata

I - very naively - copied the updateParticipant functions and adapted them for an updateRoom api.
Right now this is untested and I'm marking the PR as a draft. Just wanted to give space for feedback early in case I'm going about it entirely wrong.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.lukasio seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

I think you should put the metadata variable as byte array so we can serialize whatever we want in it and define it in the protocol buffer messages.
You should also create a permission to allow users to edit the metadata.
I think you should also create a UpdateRoom we hook

Thanks for your feedback!

metadata variable as byte array
I thought it might be useful to follow the same approach for the room metadata as for the participants. Me personally, as a user of livekit, would expect both kinds of metadata to behave similarily also in terms of payload. But I'm of course happy to change that if people see that differently.

You should also create a permission to allow users to edit the metadata.
similar to before. updateParticipant is a server only api and I expected that the maintainers want to keep it that way for updateRoom

You should also create a UpdateRoom webhook
nice idea! I will try to see if I can find out how to do that.

Hey @lukasIO, thanks for your contributions.
Do you have a particular use case in mind with this feature? That may give me a bit more context on how the feature should be structured.
We use protocol buffers to generate most of these definitions, so you'd first have to modify the members in the protocol repo, before the correct types will be generated: https://github.com/livekit/protocol. I'm happy to propose an API design with a bit more information about various use cases folks have. I'll post in issue too.

closing in favor of https://github.com/livekit/livekit-server/pull/126

authors: CLAassistant FeepsDev davidzhao lukasIO

repo: livekit/livekit-server


text:
Please add a LICENSE file to the repo as mentioned in the README

First of all, thank you for building this project and sharing it with us!
The README says:
https://github.com/livetrails/targetj/blob/33bea6266fe2a211d3e8424369dd2563520f9bb4/README.md?plain=1#L184-L185
However, it refers to a LICENSE file which does not exist. Could you please add it?
You can find a copy of the MIT license here for easy copy-pasting: https://choosealicense.com/licenses/mit/
Thanks!

Thank you for your feedback and for bringing this and I apologize for the oversight.
I have added the LICENSE file to the repository. You can find it at License
Thank you for for your help improving the project.

Thanks!

authors: livetrails mbrukman

repo: livetrails/targetj

license: MIT


text:
fix: apipath fix on windows platform

A Windows path problem.
#L3
It should be apiPath.replace(/\\/ig,'\\\\').Otherwise,the program will transform E:\code\app.js into E:codeapp.js at  line 11 because of the template code.
Just make a judgement it'll runs ok!

I have the same problem. Is this repo still maintained? Or we should fork?

How is it going now?

It is not going.
I think Webpack 5 has this out of the box anyway, doesn't it?

I had fixed it，by this pr after fork the project.

I had fixed it，by this pr after fork the project.

@liximomo Can you merge this pr and release a new version? My project is not going to migrate to webpack 5 in the near future.

authors: Clarkkkk liximomo lmiller1990 zhazhaxia

repo: liximomo/lazy-compile-webpack-plugin


text:
Access to OS Environment Variables to Spiders

Hi @ljanyst ,
First of all thanks for creating this awesome daemon It has some awesome scheduling capabilities which official scrapyd is misisng.
Recently I started using scrapy-do and found out that spiders running in scrapy-do daemon don't have access to os environment variables.
My Usecase is like this: I have a scrapy project which has an scrapy extension that manages the db connection. Now db credentials to that extension are provided by scrapy settings module. Scrapy settings module gets those credentials from environment variables.
This setup works fine when I directly run scrapy using scrapy crawl ... command. But face issues while running with scrapy-do daemon.
I saw this issue: https://github.com/ljanyst/scrapy-do/issues/19 and corresponding PR: https://github.com/ljanyst/scrapy-do/pull/20. I don't agree with the statement that "The server environment really should not spill to the spiders". There are valid use cases to support that. Mine is an example. Infact, scrapyd also has support for passing OS environment variables to spiders. See:
https://github.com/scrapy/scrapyd/blob/master/scrapyd/environ.py#L12
https://github.com/scrapy/scrapyd/blob/master/scrapyd/environ.py#L25
https://github.com/scrapy/scrapyd/blob/master/scrapyd/launcher.py#L41
So can we have this feature anytime soon? Optionally, we can have some feature flags to prevent accidental exposure of os env variables to spiders.

Thanks for the compliment @sushilsingh95
Is there a reason you need to get the credentials from the environment? I can think of some, but they are pretty far fetched.
Scrapyd is not exactly a marvel of engineering, so I don't accept the fact that they do something as an argument that carries any weight whatsoever.

Closing for now. Please feel free to re-open if you feel this issue needs further discussion.

@ljanyst  thanks for providing this awesome project!
Accessing environment variables is highly needed (I would say critical) to ensure code does not contain private stuff.
A use case is to deploy this project through Docker and use Docker-compose to provide variables for Scrapy  through settings.py:
import os
[....]
MONGO_URI = os.environ.get("MONGO_URI", "mongodb://localhost:27017")
MONGO_DATABASE = os.environ.get("MONGO_DATABASE", "database")
MONGO_COLLECTION = os.environ.get("MONGO_COLLECTION", "collection")
MONGO_USER = os.environ.get("MONGO_USER", "")
MONGO_PW = os.environ.get("MONGO_PW", "")

@ljanyst  thanks for providing this awesome project!
Accessing environment variables is highly needed (I would say critical) to ensure code does not contain private stuff.
A use case is to deploy this project through Docker and use Docker-compose to provide variables for Scrapy  through settings.py:
import os
[....]
MONGO_URI = os.environ.get("MONGO_URI", "mongodb://localhost:27017")
MONGO_DATABASE = os.environ.get("MONGO_DATABASE", "database")
MONGO_COLLECTION = os.environ.get("MONGO_COLLECTION", "collection")
MONGO_USER = os.environ.get("MONGO_USER", "")
MONGO_PW = os.environ.get("MONGO_PW", "")

repo: ljanyst/scrapy-do


text:
🛑 Goodmd total.good-md.com:5280 is down

In 5c9aec5, Goodmd total.good-md.com:5280 (https://total.good-md.com:5280) was down:

HTTP code: 503
Response time: 1097 ms

Resolved: Goodmd total.good-md.com:5280 is back up in ff230ae after 2 hours, 41 minutes.

repo: lksjames/monitoring


text:
🛑 Goodmd total.good-md.com:5280 is down

In d4b5bec, Goodmd total.good-md.com:5280 (https://total.good-md.com:5280) was down:

HTTP code: 503
Response time: 1444 ms

Resolved: Goodmd total.good-md.com:5280 is back up in c78cab9 after 514 days, 15 hours, 9 minutes.


text:
[Feature Request] Local models

Please allow for local model use? Says the 1.5 in painting can only be used non-locally is this correct? Also why only local models with Docker?

https://github.com/lkwq007/stablediffusion-infinity/blob/master/docs/usage.md


text:
Animations don't work in the simulator

First — thanks for this awesome library! It'll make so many tasks so much easier.
Apologies if this a known issue, or something that can't be fixed, but I just wanted to point out that animations aren't working for me in the simulator (though they work fine on the device).
Here is a video of it working on my iPhone 6s Plus.
Here is a video of how it behaves in the simulator (iPhone 7).

Checkout #2 😁

Ayyyy, thanks! I thought I was smart and looked first, but didn't check the closed issues 🙃

No problem! We all make that mistake.

authors: kylebshr lkzhao

repo: lkzhao/Hero

license: mit

license_source: bigquery


text:
[WIP] Easier access for other devs

Started to refactor methods that are really difficult to understand and I would like to dive deeper in this topic and the current setup is really hard to read. So many short hands and not a clear code style is not an easy option to come into this magic.

Haha thanks, this project was done in a rush for a proof of concept.
I understand that there are a lot more works involved in refactoring and updating the docs.
Anyway, thanks for doing this. Welcome on board.

Will do more refactoring for this because when I'm reading code I'm doing this in my head anyway :)

When i read code its really strange some of the conclusions i come to. Is this normal*

@mRs- Can I merge what you have currently? It will be hard to merge once I made more changes to the framework.

Yeah just do it. I will create new ones with more refactoring later then.
Von meinem iPhone gesendet

Am 06.01.2017 um 01:26 schrieb Luke Zhao notifications@github.com:
@mRs- Can I merge what you have currently? It will be hard to merge once I made more changes to the framework.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

authors: NawMeStay lkzhao mRs-


text:
希望取得联系

尊敬的 llmapp 开发者您好，我是 InternLM 社区开发者&志愿者 尖米, 看到您的项目支持了 InternLM，我的微信是mzm312，希望能够取得联系，进行深度的交流和探讨，让 InternLM 更好的支持贵项目的发展。

谢谢您！已加您微信。


text:
Mods that install translation yml files can conflict due to the symbolic link hierarchy of /config/bepinex/ to /opt/data/bepinex/BepInEx/

The symbolic link that the game uses for runtime to link back to the config folder is catching the plugins folder and yml files that were already loaded once, I'm assuming.
Repro:
Add these mods to a clean install:
OdinPlus-CrystalLights
OdinPlus-OdinsKingdom
OdinPlus-OdinsSteelworks
Smoothbrain-Jewelcrafting
The OdinPlus mods each have a [modname].English.yml file in their respective directories:
CrystalLights.English.yml
OdinsKingdom.English.yml
OdinsSteelworks.English.yml
It appears that because the way this docker has a symbolic link to the config folder which has the plugins folder used for pre-deployment to /opt/data, there is a circular issue happening where the yml files for the mods get read twice. This cause multiple errors, and in this case, a strange null reference exception, too.
[Warning: Unity Log] Duplicate key English found for OdinsKingdom. The duplicate file found at /opt/valheim/bepinex/BepInEx/plugins/OdinPlus-OdinsKingdom/OdinsKingdom.English.yml will be skipped.
[Info   : Unity Log] 04/02/2023 10:36:50: Loaded localization file #0 - 'localization' language: 'English'
[Warning: Unity Log] Duplicate key English found for OdinsKingdom. The duplicate file found at /opt/valheim/bepinex/BepInEx/plugins/OdinPlus-OdinsKingdom/OdinsKingdom.English.yml will be skipped.
[Info   : Unity Log] 04/02/2023 10:36:51: Loaded localization file #1 - 'localization_extra' language: 'English'
[Info   :   BepInEx] Loading [CrystalLights 1.0.7]
[Error  : Unity Log] ArgumentException: An item with the same key has already been added. Key: English
Stack trace:
System.Collections.Generic.Dictionary2[TKey,TValue].TryInsert (TKey key, TValue value, System.Collections.Generic.InsertionBehavior behavior) (at <695d1cc93cca45069c528c15c9fdd749>:0) System.Collections.Generic.Dictionary2[TKey,TValue].Add (TKey key, TValue value) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement] (System.Collections.Generic.IEnumerable1[T] source, System.Func2[T,TResult] keySelector, System.Func2[T,TResult] elementSelector, System.Collections.Generic.IEqualityComparer1[T] comparer) (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement] (System.Collections.Generic.IEnumerable1[T] source, System.Func2[T,TResult] keySelector, System.Func`2[T,TResult] elementSelector) (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
LocalizationManager.Localizer.LoadLocalization (Localization __instance, System.String language) (at <9f80e7b068584aef864ca3f29a29214a>:0)
LocalizationManager.Localizer.Load () (at <9f80e7b068584aef864ca3f29a29214a>:0)
CrystalLights.CrystalLights.Awake () (at <9f80e7b068584aef864ca3f29a29214a>:0)
UnityEngine.GameObject:AddComponent(Type)
BepInEx.Bootstrap.Chainloader:Start()
UnityEngine.UI.Image:OnCanvasHierarchyChanged()
[Info   :   BepInEx] Loading [OdinsSteelworks 0.1.12]
[Error  : Unity Log] ArgumentException: An item with the same key has already been added. Key: English
Stack trace:
System.Collections.Generic.Dictionary2[TKey,TValue].TryInsert (TKey key, TValue value, System.Collections.Generic.InsertionBehavior behavior) (at <695d1cc93cca45069c528c15c9fdd749>:0) System.Collections.Generic.Dictionary2[TKey,TValue].Add (TKey key, TValue value) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement] (System.Collections.Generic.IEnumerable1[T] source, System.Func2[T,TResult] keySelector, System.Func2[T,TResult] elementSelector, System.Collections.Generic.IEqualityComparer1[T] comparer) (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement] (System.Collections.Generic.IEnumerable1[T] source, System.Func2[T,TResult] keySelector, System.Func`2[T,TResult] elementSelector) (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
LocalizationManager.Localizer.LoadLocalization (Localization __instance, System.String language) (at :0)
LocalizationManager.Localizer.Load () (at :0)
OdinsSteelworks.OdinsSteelworks.Awake () (at :0)
UnityEngine.GameObject:AddComponent(Type)
BepInEx.Bootstrap.Chainloader:Start()
UnityEngine.UI.Image:OnCanvasHierarchyChanged()
Eventually it causes [Error  : Unity Log] The WorldGenerator instance was null
which then leads to a massive spam of
[Error  : Unity Log] NullReferenceException: Object reference not set to an instance of an object
Stack trace:
ZInput.GetButtonDown (System.String name) (at <19a546e6f6564ae49c59d4e69bf4c6f6>:0)
UIGamePad.ButtonPressed () (at <835a3a371c5a46df97eae1200aa13dbc>:0)
UIGamePad.Update () (at <835a3a371c5a46df97eae1200aa13dbc>:0)
Other mods that may encounter this problem in this docker because of their use of translation files in the same naming format are:
AzuAntiCheat (AzuAnticheat.English.yml) and  blacks7ar.TeleportationMeads (TeleportationMeads.English.yml)
The OdinPlus team suggest deleting the translation yml for their mods on the dedicated server as a workaround. However, they could not guarantee that a server side mod might not need a translation yml for other purposes, so I wanted to raise this issue to you, @lloesche .
Full log here
LogOutput.log
https://justpaste.it/byp2t

What's the reason of having the configuration files in /config/ one level down from the plugins folder? Instead at the same level of the plugins, so when the symbolic link happens in /opt/bepenix, it doesn't have this issue in the future, or others like it where the plugins folder gets read again after already having been copied.

repo: lloesche/valheim-server-docker


text:
Network Instance Questions

Hello, I am a student who is using laikaboss
I have a question about network instances and distributed processing.
As far as I'm concerned,
According to the white paper, laikaboss has brokers and walkers, which makes it faster.
If what I understand is correct, the more walkers, the faster the file scanning should be.
However, the more walkers there are, the slower it seems.
Do you happen to know the solution?

The composition of my experiment is as follows.
broker: ./laikad.py --broker-frontend=tcp://:5558 --broker-backend=tcp://:5559 --worker-connect=tcp://localhost:5559 -p 8
Client: ./cloudscan.py ~/FILE PATH/ -R -r -a tcp://"brokerIP:5559"
worker1: ./laikad.py --no-broker --worker-connect=tcp://brokerIP:5559 -a -p 8
worker2: ./laikad.py --no-broker --worker-connect=tcp://brokerIP:5559 -a -p 8
worker3: ./laikad.py --no-broker --worker-connect=tcp://brokerIP:5559 -a -p 8

Thank you.

There really isn't enough context here about the underlying systems you're running this on.
Also, LaikaBOSS is basically abandonware now 😢 . Try out Target/Strelka, which is ostensibly a fork.

@agrajag9
thank you

repo: lmco/laikaboss


text:
Improved support for Progressive Web Apps (PWA)

This PR aims to improve PWA support in LNBits.
Changes made:

modify webmanifest to use LNBITS_SITE_TITLE and LNBITS_CUSTOM_LOGO env vars
modify webmanifest to have a more accurate description, start_url and set theme_color to match default lnbits theme
add service worker to cache requests (chrome requires a registered service worker to activate some pwa functionality)
move webmanifest to  (chrome acts weird with it in the body)
add offline badge to header if app is in an offline state

Now passing checks.

repo: lnbits/lnbits-legend


text:
BUG: Dockerfile does not support backup funcionality

remove build.py -> not needed
create the right datadir
add postgres-client for pg_dump backup functionality

Codecov Report

Merging #1573 (161cb9c) into main (f2849a6) will decrease coverage by 0.15%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main    #1573      +/-   ##
==========================================
- Coverage   47.08%   46.93%   -0.15%
==========================================
  Files          47       47
  Lines        6779     6779
==========================================
- Hits         3192     3182      -10
- Misses       3587     3597      +10

Impacted Files
Coverage Δ

lnbits/db.py
76.51% <0.00%> (-6.05%)
:arrow_down:

lnbits/commands.py
57.89% <0.00%> (-1.76%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

authors: codecov-commenter dni

repo: lnbits/lnbits


text:
Add a banner header (props to JoshuaM)

Prepare stall page to show a banner image based on a config file
Draft as it needs a way to pull in a config from another repo, which is not created yet! @arcbtc can you clarify on this?
I see the repo json as :
[
    {
        "pubkey": <String: Merchant pubkey>,
        "banner": <String: URL to a banner image (250px height)>,
        "theme": <String: name of the default theme>
    }
]

Should be more
[
  {
    "pubkeys": [
      "<String: Merchant pubkey>",
      "<String: Merchant pubkey>"
    ],
    "banner": "<String: URL to a banner image (250px height)>",
    "primary_color": "<String: hex of color>",
    "secondary_color": "<String: hex of color>"
  }
]

Should be more,
[
  {
    "pubkeys": [
      "<String: Merchant pubkey>",
      "<String: Merchant pubkey>"
    ],
    "banner": "<String: URL to a banner image (250px height)>",
    "primary_color": "<String: hex of color>",
    "secondary_color": "<String: hex of color>"
  }
]

As the most useful feature is people being able to pr their pubkeys to be added to the store.

Cool.
How does this information gets passed to the market client? a query param? /?config=<URL to config repo>?
And where should it live?

Query param is nice, could also be in here under Merchant, as "Add merchant manifest"

Under Merchant config I think, if multiple manifests are added it could randomly pick header/theme

Suggestion:

use nostr events for storage and not GitHub or other centralised services
use the kind:0 or add a new kind:3019 for marketplace profile
the content of the event is everything that a marketplace client needs for it content and look&feel

eg:
{
    "name": <username>,
    "merchants": <string list: of merchant public keys>,
    "relays": <list of recommended relays>,
    "about": <string>,
    "picture": <url, string: the logo of the marketplace>,
    "banner": <string: URL to a banner image (250px height)>,
    "theme": <string: name of the default theme>,
   ...
}

then the marketplace npub can be used as a query param and/or entered on the client UI

We should probably use naddr, as described in NIP19 for the config event.
https://github.com/nostr-protocol/nips/blob/master/19.md#shareable-identifiers-with-extra-metadata
On Wed, Apr 19, 2023, 3:59 PM Vlad Stan @.***> wrote:

Suggestion:

use nostr events for storage and not GitHub or other centralised
services
use the kind:0 or add a new kind:3019 for marketplace profile
the content of the event is everything that a marketplace client
needs for it content and look&feel

eg:
{
"name": ,
"merchants": ,
"relays": ,
"about": ,
"picture": <url, string: the logo of the marketplace>,
"banner": <string: URL to a banner image (250px height)>,
"theme": <string: name of the default theme>,
...
}

then the marketplace npub can be used as a query param and/or
entered on the client UI

—
Reply to this email directly, view it on GitHub
https://github.com/lnbits/nostrmarket/pull/41#issuecomment-1514892259,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AC4F74TS2BJOMKIR2SE5763XB74V7ANCNFSM6AAAAAAWWWAMX4
.
You are receiving this because you authored the thread.Message ID:
@.***>

LGTM
In order to complete this PR please:

add description of how it can be used
open a PR against NIP15 for documenting the event type

authors: arcbtc motorina0 talvasconcelos

repo: lnbits/nostrmarket


text:
Opening PyRPL in Vivado 2015.4

Hello,
(this is all using branch pyrpl-developer-0.9.3)
I am currently trying to open PyRPL in Vivado 2015.4 in order to view the block diagrams and eventually make FPGA changes for what I am working on. However, I am running into some difficulty when doing this. The steps I have taken are:

Download Vivado 2015.4 and generate licences
2)At the start screen, open tools --> run TCL script --> select red_pitaya_vivado_project.tcl

a project is generated but no block diagrams are shown (Open block design button is grayed out)

I then navigated to the proper directory in the Tcl console  (.../pyrpl/fpga) and and ran red_pitaya_vivado_project.tcl (running red_pitaya_vivado.tcl appears to do the same thing) which opened up a block diagram that looked like attached(see attached picture) in another window. I am wondering if this is the entire project, or what I need to do to view the entire project (block diagrams etc.).

Lastly, if I wanted to begin to edit the FPGA code, can you give advice on what is the top level module file from where I should begin.
Thank you for your help.

Everything is explained here and the links therein: https://pyrpl.readthedocs.io/en/latest/developer_guide/fpga_compilation.html
I only use the command-line mode, never open the Vivado GUI. But I think that is possle too, just cannot support you with this.
The top-level fpga module is contained in pyrpl/fpga/rtl/red_pitaya_top.v.

@anyone who uses the Vivado GUI, anything to help getting that up would be appreciated here.

authors: ener-mic lneuhaus

repo: lneuhaus/pyrpl


text:
Quick Compilation Verification fails

After compile OpenFPGA as what is shown in the website, I am trying to verify if the tool is well compiled by run the command "python3 openfpga_flow/scripts/run_fpga_task.py compilation_verification", there is an error to execute openfpga flow. This is the running result:
sun@sun-virtual-machine:~/OpenFPGA$ python3 openfpga_flow/scripts/run_fpga_task.py compilation_verification
INFO (     MainThread) - Set up to run 2 Parallel threads
INFO (     MainThread) - Currently running task compilation_verification
INFO (     MainThread) - Created "run002" directory for current task run
INFO (     MainThread) - Running "yosys_vpr" flow
INFO (     MainThread) - Found 1 Architectures 1 Benchmarks & 1 Script Parameters
INFO (     MainThread) - Created total 1 jobs
ERROR (00_blinking_MIN_ROUTE_CHAN_WIDTH) - Failed to execute openfpga flow - 00_blinking_MIN_ROUTE_CHAN_WIDTH
Traceback (most recent call last):
File "openfpga_flow/scripts/run_fpga_task.py", line 479, in run_single_script
subprocess.CalledProcessError: Command 'python3 /home/sun/OpenFPGA/openfpga_flow/scripts/run_fpga_flow.py /home/sun/OpenFPGA/openfpga_flow/vpr_arch/k4_N4_tileable_40nm.xml /home/sun/OpenFPGA/openfpga_flow/benchmarks/micro_benchmark/blinking/blinking.v --top_module blinking --run_dir /home/sun/OpenFPGA/openfpga_flow/tasks/compilation_verification/run002/k4_N4_tileable_40nm/blinking/MIN_ROUTE_CHAN_WIDTH --fpga_flow yosys_vpr --openfpga_shell_template /home/sun/OpenFPGA/openfpga_flow/openfpga_shell_scripts/example_script.openfpga --openfpga_arch_file /home/sun/OpenFPGA/openfpga_flow/openfpga_arch/k4_N4_40nm_frame_openfpga.xml --openfpga_sim_setting_file /home/sun/OpenFPGA/openfpga_flow/openfpga_simulation_settings/auto_sim_openfpga.xml --power --power_tech /home/sun/OpenFPGA/openfpga_flow/tech/PTM_45nm/45nm.xml --vpr_fpga_verilog --vpr_fpga_verilog_dir /home/sun/OpenFPGA/openfpga_flow/tasks/compilation_verification/run002/k4_N4_tileable_40nm/blinking/MIN_ROUTE_CHAN_WIDTH --vpr_fpga_x2p_rename_illegal_port --end_flow_with_test --vpr_fpga_verilog_formal_verification_top_netlist --TOP blinking' returned non-zero exit status 0.
It will be grateful for me if you can give some help. Thanks for your reading.

Can you run the task with the following flags and share the log file?
https://github.com/lnis-uofu/OpenFPGA/blob/1603c9b40413a4256c7718b72d0cb40183bfb88b/openfpga_flow/regression_test_scripts/basic_reg_test.sh#L12

Thanks for your reply.
Sorry I am not familiar with Linux system and command, but do you mean this?
I tried to run the task again, with "python3 openfpga_flow/scripts/run_fpga_task.py basic_tests/full_testbench/configuration_chain", got the same result.
INFO (     MainThread) - Set up to run 2 Parallel threads
INFO (     MainThread) - Currently running task basic_tests/full_testbench/configuration_chain
INFO (     MainThread) - Created "run004" directory for current task run
INFO (     MainThread) - Running "yosys_vpr" flow
INFO (     MainThread) - Found 1 Architectures 3 Benchmarks & 1 Script Parameters
INFO (     MainThread) - Created total 3 jobs
ERROR (00_or2_MIN_ROUTE_CHAN_WIDTH) - Failed to execute openfpga flow - 00_or2_MIN_ROUTE_CHAN_WIDTH
Traceback (most recent call last):
File "openfpga_flow/scripts/run_fpga_task.py", line 479, in run_single_script
subprocess.CalledProcessError: Command 'python3 /home/sun/OpenFPGA/openfpga_flow/scripts/run_fpga_flow.py /home/sun/OpenFPGA/openfpga_flow/vpr_arch/k4_N4_tileable_40nm.xml /home/sun/OpenFPGA/openfpga_flow/benchmarks/micro_benchmark/or2/or2.v --top_module or2 --run_dir /home/sun/OpenFPGA/openfpga_flow/tasks/basic_tests/full_testbench/configuration_chain/run004/k4_N4_tileable_40nm/or2/MIN_ROUTE_CHAN_WIDTH --fpga_flow yosys_vpr --openfpga_shell_template /home/sun/OpenFPGA/openfpga_flow/openfpga_shell_scripts/write_full_testbench_example_script.openfpga --openfpga_arch_file /home/sun/OpenFPGA/openfpga_flow/openfpga_arch/k4_N4_40nm_cc_openfpga.xml --openfpga_sim_setting_file /home/sun/OpenFPGA/openfpga_flow/openfpga_simulation_settings/auto_sim_openfpga.xml --openfpga_vpr_device_layout  --openfpga_fast_configuration  --power --power_tech /home/sun/OpenFPGA/openfpga_flow/tech/PTM_45nm/45nm.xml --vpr_fpga_verilog --vpr_fpga_verilog_dir /home/sun/OpenFPGA/openfpga_flow/tasks/basic_tests/full_testbench/configuration_chain/run004/k4_N4_tileable_40nm/or2/MIN_ROUTE_CHAN_WIDTH --vpr_fpga_x2p_rename_illegal_port --end_flow_with_test --TOP or2 --CHAN_WIDTH 300' returned non-zero exit status 0.

@Sun1927 What @ganeshgore suggests is to add --debug and --show_thread_logs options so that you will see detailed error messages.

@tangxifan thanks for your help. The problem has been solved by install envyaml.

authors: Sun1927 ganeshgore tangxifan

repo: lnis-uofu/OpenFPGA


text:
preparation for UHH SS24 workshop

in general: let's try to focus on hands-on implementation as possible. this is hard, since we also need to introduce quite a few new concepts. alternatively, we can provide / describe hands-on examples, that people can pick and choose from.

[x] turn all points in #5,  into a task list so we can tick them off more easily
[ ] review and address the points raised in issues #5, #4, #2, #1. we don't have to implement all of them. let's discuss in the issues directly
[ ] review the materials of this quarto workshop: https://florianpargent.github.io/Quarto_LMU_OSC/ and let's see if we can pick something useful from them. don't forget to credit them properly.
[ ] if we have time, I think it would be useful to great to create a course website that then hosts the slides from previous workshops, similar to what we do here: https://lennartwittkuhn.com/version-control-course-uhh-ss24/

goals (for this session):

goal: "render a clean recipes.qmd file to HTML"
take your recipes folder
create a neat recipes.qmd file with at least one recipes
work on a branchc called quarto

goals (at the end of the semester):

option 1: have a quarto repo that can be turned into a website later
option 2: create a PR with one recipe in lennart's recipes repository

options:

rename recipes.txt to recipes.qmd
use quarto render or Render on Save in RStudio to render the qmd file to HTML
add markdown syntax
create a nice recipes.qmd file
YAML header
give recommendations on how to write the recipes.qmd file

todo:

email: install quarto
have your recipes folder ready

repo: lnnrtwttkhn/quarto-workshop


text:
Add potato salad recipe

Fixes #37

Looks great, thanks for the additional changes @mareikelwagner! Ready to merge :rocket:

@allcontributors please add @mareikelwagner for bug, content, code

authors: lnnrtwttkhn mareikelwagner

repo: lnnrtwttkhn/recipes


text:
Add index reader

Now that we have the ability to write and produce index segments, we want to create a reader which can open a segment, and handle the deletes and query execution.

Partially completed by #123

repo: lnx-search/lnx


text:
Mouse picking example

The original version of Oimo contained several demo's which included mouse picking (the ability to click, drag, and throw items) check here for an example.
Is there such an example available for this port of Oimo?

I'm also interested in this

authors: baronwatts nickmcmillan


text:
🛑 Løbner.dk is down

In 568f909, Løbner.dk (https://www.løbner.dk) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Løbner.dk is back up in a4cf297.

repo: lobner/status


text:
Question: Any limitations?

Hi, this is a great demo. I'm curious as to whether you would recommend it for production use? Are there any caveats or issues that come to mind?
I'll be looking to port a large app from Flex to the JS api and I was hoping to use React instead of dojo. Thanks

That's actually the exact scenario that prompted this work--we were working to port a big Flex app, and settled on React + Redux + TypeScript as a stack.
We've not shipped yet, but are a only a few weeks out at this point; to the best of my knowledge, we haven't run into any real issues. @ryanewtaylor might be willing to chime in here, but I'm pretty confident in it.
I also put together a yeoman generator that uses a similar setup with React, that we've used to build a few components.
Thanks for the message, and if you have any questions, let me know!

Sure, I can chime in.
Caveat: I am fairly new to modern JavaScript (i.e., post ES3-ish), TypeScript, React and Redux. The last few years have been spent deep in Flex development on the previously mentioned "big Flex app" (with a .NET back end). My opinions are still forming and they may change.
tl;dr; I love TypeScript, React, and Redux.
Like @lobsteropteryx I am very confident in this stack. Our major hurdles have been learning curve with a team that has varied skills sets and bringing everyone (myself included) up to speed. A proper metaphor might be trying flying a plane while reading the instruction manual for how to fly it.
We have yet to pin the libs we are using to specific versions as we are in very active development. Some of the tooling is changing at a rapid pace and that can cause issues (we had to pin TypeScript at 1.8.7 for example due to an issue in 1.8.10). That has bit us a little, but there are no showstoppers and the rapid pace is a refreshing change from the complete standstill in the Flex world. Once we get just a little closer to the deadline we'll pin the versions down to their minor versions.
Otherwise, I do feel the stack is production ready.
@dcworldwide hope that helps.

I know it's early, but I hope you guys are thinking about putting together a proposal for a user presentation for DevSummit

Thanks @lobsteropteryx @ryanewtaylor for the candid responses. Much appreciated. I definitely appreciate that it hasn't been a simple transition from Flex :)
I've spent the day trying to extend this project https://github.com/dcworldwide/esri-webpack to include the following:

React
HMR

Later I'll include React Router and Redux into my fork.
React
With React, I've been able to successfully create a React app that wraps an Esri js map and have validated that drawing / editing work.  My initial solution is to essentially wrap the Esri component in a React component, and mount it to the DOM onComponentDidMount. You can see the source here. Is this the best approach that you guys found?
HMR
Getting HMR with webpack has been less fruitful. Did you manage to get it working? Here is what I've found:
When creating a single bundle in UMD format, If I switch from
    <script>
        require(["/bundle.js"], function (bundle) {
            console.log("bundle.js loaded")
        });
    </script>

to
<script src="/bundle.js"></script>

HMR works in this case when rendering only React components with no Esri dependencies. However I couldn't get HMR working when loading the Esri JS API.
I'd really like to get your thoughts on this. I'm completely out of ideas atm.

@dcworldwide:  I think your map creation is pretty similar to what we're doing; componentDidMount is definitely what you want.
As far as hot module reloading:  We aren't using it.  I looked at it early on, and had enough trouble that I just put it aside.  Browsersync has been doing everything I want for now.

Good to know. FYI my fork now has HMR working, but it's a little imperfect. I need to add react hot loader to preserve component state. Then I'm confident it will provide a solid user experience.
One thing to note, is that I seem to be able to load all esri js amd modules except for dijit namespace  ones.

authors: dcworldwide lobsteropteryx ryanewtaylor tomwayson

repo: lobsteropteryx/esri-webpack


text:
Bump to 1.6.0

Update spec, remove updater, cleanup some C

Coverage remained the same at 100.0% when pulling 5abaea98cffd0de41b9c62cdbf935a4be45dd114 on 1.6.0 into 7cdd355627a831e3aaa5e456bca7a7bc0272a385 on master.

authors: coveralls kddeisz

repo: localytics/humidifier


text:
Updates to blobstore REST api to accomodate the newer Spring version …

…introduced by geoserver 2.9

@Afterglow375 I think I've fixed this in a pending PR: https://github.com/locationtech/geomesa/pull/1252

@elahrvivaz ah, yeah looks like it. Gonna close this PR.

repo: locationtech/geomesa


text:
Segmentation fault when importing crocoddyl

Bug description
Short description:
when doing 'import crocoddyl' in python, it throws a segmentation fault.
Long description:

Ubuntu version: 22
pinocchio: installed via apt, version 2.7.0
eigenpy: installed via apt, version 3.3.0
crocoddyl: branch devel, compiled from source (commit: 4dc442d663b33c2b370d013d5aa5bba8ce356266)

If I debug the segfault with gdb, I get the following text:
Program received signal SIGSEGV, Segmentation fault.
0x00005555556745d4 in _Py_Dealloc ()
(gdb) where
#0  0x00005555556745d4 in _Py_Dealloc ()
#1  0x00007ffff0d8beaf in void eigenpy::internal::ExposeStdMethodToStdVector<std::vector<Eigen::Matrix<double, -1, 1, 0, -1, 1>, std::allocator<Eigen::Matrix<double, -1, 1, 0, -1, 1> > >, true, boost::python::def_visitor<eigenpy::EmptyPythonVisitor> >::visit<boost::python::class_<std::vector<Eigen::Matrix<double, -1, 1, 0, -1, 1>, std::allocator<Eigen::Matrix<double, -1, 1, 0, -1, 1> > >, boost::python::detail::not_specified, boost::python::detail::not_specified, boost::python::detail::not_specified> >(boost::python::class_<std::vector<Eigen::Matrix<double, -1, 1, 0, -1, 1>, std::allocator<Eigen::Matrix<double, -1, 1, 0, -1, 1> > >, boost::python::detail::not_specified, boost::python::detail::not_specified, boost::python::detail::not_specified>&) const ()
   from /usr/local/lib/python3.10/dist-packages/crocoddyl/libcrocoddyl_pywrap.cpython-310-x86_64-linux-gnu.so
#2  0x00007ffff0d829c8 in void eigenpy::StdVectorPythonVisitor<std::vector<Eigen::Matrix<double, -1, 1, 0, -1, 1>, std::allocator<Eigen::Matrix<double, -1, 1, 0, -1, 1> > >, true, true, true>::expose<eigenpy::EmptyPythonVisitor>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::python::def_visitor<eigenpy::EmptyPythonVisitor> const&) ()
   from /usr/local/lib/python3.10/dist-packages/crocoddyl/libcrocoddyl_pywrap.cpython-310-x86_64-linux-gnu.so
#3  0x00007ffff0d6c0f9 in crocoddyl::python::init_module_libcrocoddyl_pywrap() ()
   from /usr/local/lib/python3.10/dist-packages/crocoddyl/libcrocoddyl_pywrap.cpython-310-x86_64-linux-gnu.so
#4  0x00007ffff5463a83 in boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const () from /lib/x86_64-linux-gnu/libboost_python310.so.1.74.0
#5  0x00007ffff373dbac in boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<eigenpy::Exception, void (*)(eigenpy::Exception const&)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(eigenpy::Exception const&)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) () from /opt/openrobots/lib/libeigenpy.so
#6  0x00007ffff54626b1 in boost::python::handle_exception_impl(boost::function0<void>) ()
   from /lib/x86_64-linux-gnu/libboost_python310.so.1.74.0
#7  0x00007ffff5463c69 in boost::python::detail::init_module(PyModuleDef&, void (*)()) ()
   from /lib/x86_64-linux-gnu/libboost_python310.so.1.74.0
#8  0x00005555557b3a7a in ?? ()
#9  0x00005555556aec59 in ?? ()
#10 0x00005555556995d7 in _PyEval_EvalFrameDefault ()
#11 0x00005555556ae9fc in _PyFunction_Vectorcall ()
#12 0x000055555569ccfa in _PyEval_EvalFrameDefault ()
#13 0x00005555556ae9fc in _PyFunction_Vectorcall ()
#14 0x000055555569745c in _PyEval_EvalFrameDefault ()
#15 0x00005555556ae9fc in _PyFunction_Vectorcall ()
#16 0x000055555569726d in _PyEval_EvalFrameDefault ()
#17 0x00005555556ae9fc in _PyFunction_Vectorcall ()
#18 0x000055555569726d in _PyEval_EvalFrameDefault ()
#19 0x00005555556ae9fc in _PyFunction_Vectorcall ()
#20 0x000055555569726d in _PyEval_EvalFrameDefault ()
#21 0x00005555556ae9fc in _PyFunction_Vectorcall ()
#22 0x00005555556addc9 in ?? ()
#23 0x000055555578e7cf in _PyObject_CallMethodIdObjArgs ()
#24 0x00005555556c27e3 in PyImport_ImportModuleLevelObject ()
#25 0x0000555555699ea3 in _PyEval_EvalFrameDefault ()
--Type <RET> for more, q to quit, c to continue without paging--
#26 0x00005555556939c6 in ?? ()
#27 0x0000555555789256 in PyEval_EvalCode ()
#28 0x000055555578ee2d in ?? ()
#29 0x00005555556aec59 in ?? ()
#30 0x00005555556995d7 in _PyEval_EvalFrameDefault ()
#31 0x00005555556ae9fc in _PyFunction_Vectorcall ()
#32 0x000055555569ccfa in _PyEval_EvalFrameDefault ()
#33 0x00005555556ae9fc in _PyFunction_Vectorcall ()
#34 0x000055555569745c in _PyEval_EvalFrameDefault ()
#35 0x00005555556ae9fc in _PyFunction_Vectorcall ()
#36 0x000055555569726d in _PyEval_EvalFrameDefault ()
#37 0x00005555556ae9fc in _PyFunction_Vectorcall ()
#38 0x000055555569726d in _PyEval_EvalFrameDefault ()
#39 0x00005555556ae9fc in _PyFunction_Vectorcall ()
#40 0x00005555556addc9 in ?? ()
#41 0x000055555578e7cf in _PyObject_CallMethodIdObjArgs ()
#42 0x00005555556c27e3 in PyImport_ImportModuleLevelObject ()
#43 0x0000555555699ea3 in _PyEval_EvalFrameDefault ()
#44 0x00005555556939c6 in ?? ()
#45 0x0000555555789256 in PyEval_EvalCode ()
#46 0x00005555557b4108 in ?? ()
#47 0x00005555557ad9cb in ?? ()
#48 0x00005555557b3e55 in ?? ()
#49 0x00005555557b3338 in _PyRun_SimpleFileObject ()
#50 0x00005555557b2f83 in _PyRun_AnyFileObject ()
#51 0x00005555557a5a5e in Py_RunMain ()
#52 0x000055555577c02d in Py_BytesMain ()
#53 0x00007ffff7c29d90 in __libc_start_call_main (main=main@entry=0x55555577bff0, argc=argc@entry=2,
    argv=argv@entry=0x7fffffffdda8) at ../sysdeps/nptl/libc_start_call_main.h:58
#54 0x00007ffff7c29e40 in __libc_start_main_impl (main=0x55555577bff0, argc=2, argv=0x7fffffffdda8,
    init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdd98)
    at ../csu/libc-start.c:392
#55 0x000055555577bf25 in _start ()

The library worked, but at some point, it stopped working, and this seg fault appeared. I couldn't identify the instant at which this started happening.
I've tried reinstalling Pinocchio and the related packages and recompiling from scratch, but I got the same result. Also, the segfault does not appear when importing Pioncchio or Eigenpy.
I really don't have a clue where to look right now, and I'd appreciate some help.
Thanks!

I've debugged a little bit more. I've confirmed two things:

The error is related to eigenpy::StdVectorPythonVisitor. By removing the lines with this visitor, the error disappears.
The error only appears when compiling in Release mode. In Debug, this error does not appear.

The error might be related to eigenpy, since I replicated this error with another persona library that uses this visitor. Again, in Debug I get no error, while in Release I get a segfault.
I am using the clang compiler

I tried compiling with gcc and the error disappeared. I'm closing this issue, since I probably have something wrong with my clang installation.


text:
Support for TLS authentication when using FastHttpUser

Is your feature request related to a problem? Please describe.

The FastHTTPUser does not support TLS client authentication (using a private key/certificate).
Describe the solution you'd like

It should be possible to set client TLS session authentication when using the FastHttpUser. Ideally, it should be possible to access the underlying SSL context object, or supply it when creating the user.
Describe alternatives you've considered

HttpUser supports this feature but is obviously slower.
Additional context

With HttpUser, when targeting a HTTPS server that makes use of TLS client authentication, the following works OK, but does not work (401 response code) when switching to FastHttpUser:
from locust import FastHttpUser, task,

class Submitter(HttpUser):

    @task()
    def submit(self):
        opts = self.environment.parsed_options
        self.client.get(
            "endpoint",
            cert=(opts.cert, opts.key),
            verify=opts.ca,
        )

Hey @jumaffre,
I know this is not straightforward but you try something like that (worked for me):
import gevent
from locust import task
from locust.contrib.fasthttp import FastHttpUser

def _create_default_context():
    context = gevent.ssl.create_default_context()
    context.check_hostname = True
    context.verify_mode = gevent.ssl.CERT_REQUIRED
    context.load_cert_chain(certfile="yourpempath", keyfile="yourkeypath")
    context.load_verify_locations(cafile="yourcapath")
    return context

class ApiLocust(FastHttpUser):
    def __init__(self, environment):
        super().__init__(environment=environment)
        self.client.client.clientpool.client_args['ssl_context_factory'] = _create_default_context

    @task()
    def submit(self):
        self.client.get('endpoint')

authors: jumaffre renato-farias

repo: locustio/locust


text:
look into yapf failing in tests on appveyor

look into yapf failing in tests on appveyor
https://ci.appveyor.com/project/joachimmetz/plasoscaffolder/build/4

no need for appveyor, removed it, and thus this is no longer needed

authors: joachimmetz kiddinn


text:
Change colour scheme of the date/time picker

How is it possible to change the colour scheme?

check #102

authors: hexadecy sterichards


text:
Add Soundclound "non-expiring" scope

https://github.com/Lusitanian/PHPoAuthLib/issues/253

Added in 819c708af37f42d8d0a9d84d988624f199c3af20

repo: logical-and/php-oauth


text:
Parallel node init

Initialize nodes using par_iter.

Just out of curiosity. Did you "measure" the improvement?

I didn't when developing, just wanted all cores be utilized because it was obvious this part takes some time.
But for sake of science here are the results before and after for only node initialization:

nodes
iter
par_iter

100
80ms
18ms

1K
3.5s
766ms

5K
89s
18s

Just out of curiosity. Did you "measure" the improvement?

I didn't when developing, just wanted all cores be utilized because it was obvious this part takes some time. But for sake of science here are the results before and after for only node initialization:
nodes	iter	par_iter
100	80ms	18ms
1K	3.5s	766ms
5K	89s	18s

A+ man, thanks!

authors: bacv danielSanchezQ

repo: logos-co/nomos-node


text:
Error: 'gbk' codec can't decode byte 0xa6 in position 4: illegal multibyte sequence

Describe the bug
Im trying to install LangFlow with pip but i get an error
Browser and Version

Win 10

VS Code - most recent version

pip 23.1 from C:\Python310\lib\site-packages\pip (python 3.10)

Python 3.10

Steps to reproduce the behavior:

pip install langflow

installation fails

error :
Getting requirements to build wheel ... error
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [17 lines of output]
Traceback (most recent call last):
File "C:\Users\test\anaconda3\envs\langflow\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 353, in
main()
File "C:\Users\test\anaconda3\envs\langflow\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "C:\Users\test\anaconda3\envs\langflow\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 118, in get_requires_for_build_wheel
return hook(config_settings)
File "C:\Users\test\AppData\Local\Temp\pip-build-env-6sipyj6r\overlay\Lib\site-packages\setuptools\build_meta.py", line 341, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=['wheel'])
File "C:\Users\test\AppData\Local\Temp\pip-build-env-6sipyj6r\overlay\Lib\site-packages\setuptools\build_meta.py", line 323, in _get_build_requires
self.run_setup()
File "C:\Users\test\AppData\Local\Temp\pip-build-env-6sipyj6r\overlay\Lib\site-packages\setuptools\build_meta.py", line 338, in run_setup
exec(code, locals())
File "", line 6, in
File "C:\Users\test\anaconda3\envs\langflow\lib\pathlib.py", line 1135, in read_text
return f.read()
UnicodeDecodeError: 'gbk' codec can't decode byte 0xa6 in position 4: illegal multibyte sequence
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.

You can try setting the system variable PYTHONUTF8=1, it might help @paladinlp

@lxl876 Thank you for your help. The problem has been solved.

authors: RuthlessXdream lxl876 paladinlp

repo: logspace-ai/langflow


text:
[Doc] add http proxy example

Document HTTP proxy usage for GeoIP service endpoint
This feature has been backported to Logstash 7.17.2, 8.1.0
Fixed: #200
Related: https://github.com/elastic/logstash/pull/13410

CI red due to https://github.com/elastic/logstash/issues/13890

repo: logstash-plugins/logstash-filter-geoip


text:
logstash is not reconnecting

I am using this plugin to connect to a Sybase ASE 15.7 database. I am executing a stored procedure and in that procedure I have a "kill-if-already-running". If this is executed, the jdbc connection is killed by the database-server. Logstash never reconnects and I have to restart logstash to get things running again.

thanks for reporting this. This is an important feature that will be worked on

PR: https://github.com/logstash-plugins/logstash-input-jdbc/pull/92

authors: scaarup suyograo talevy

repo: logstash-plugins/logstash-input-jdbc


text:
[BUG] "Expected value to be a 32-bit integer, but it was a java.lang.Long"

The Kafka input plugin looks to have a bug - numeric properties (I tracked around 3 properties before I gave up on «numeric» properties) do not work with, apparently, the number converted to Long then tried to downgrade-cast into Int.
I tried uninstalling the plugin and force-install version 7.1.1, but that version didn't work any better.
These are the 3 properties I tracked for sure to be suffering from this:
fetch_max_wait_ms
heartbeat_interval_ms
max_poll_interval_ms

Version: Logstash 6.4.2 downloaded this morning;

Operating System: Window 10

Error output: "Invalid value 200 for configuration heartbeat.interval.ms: Expected value to be a 32-bit integer, but it was a java.lang.Long"

Config File:

  # stdin { }
  kafka
  {
    #auto_commit_interval_ms => 5000
    #auto_offset_reset => earliest
    auto_offset_reset => latest
    enable_auto_commit => true

    bootstrap_servers => "localhost:9092"
    check_crcs => false
    client_id => "logstash-42"
    group_id => "logstash2"
    consumer_threads => 1
    decorate_events => true
    #exclude_internal_topics => false
    #fetch_max_bytes => 123
    #fetch_min_bytes => 1
    #fetch_max_wait_ms => 10000 #Expected value to be a 32-bit integer, but it was a java.lang.Long
    #poll_timeout_ms => 10001
    #request_timeout_ms => 25000
    #retry_backoff_ms => 500
    #heartbeat_interval_ms => 200 #Invalid value 200 for configuration heartbeat.interval.ms: Expected value to be a 32-bit integer, but it was a java.lang.Long
    #jaas_path => ""
    #max_partition_fetch_bytes => 4096
    #max_poll_interval_ms => 250 #Expected value to be a 32-bit integer, but it was a java.lang.Long
    #max_poll_records => 100
    #partition_assignment_strategy => "qwerty"
    #security_protocol => "PLAINTEXT"
    #session_timeout_ms =>
    topics => [ "test" ]
    #topics_pattern => ""
    #value_deserializer_class => "org.apache.kafka.common.serialization.StringDeserializer"
  }
}

@PauloTemenos Did you try specifying the numeric properties as strings, like this?
request_timeout_ms => "25000"

This looks suspiciously similar to #199.

authors: AlessandroMenti PauloTemenos

repo: logstash-plugins/logstash-input-kafka


text:
スマホの場合はヘッダの下からページが表示されるように

スマホの場合はヘッダの下からページが表示されるようにしたい。
ヘッダとページが重なると変になってしまうケースが散見されるため。

スマホの場合は、さらにページをスクロールした時にはヘッダが消えるような仕組みにすると、ページ領域が広くなって、より嬉しいかも。

repo: long-live-net/iine-frontend


text:
🛑 Help - 社区协议 is down

In 35c945f, Help - 社区协议 (https://support.longbridgeapp.com/topics/misc/cr7cva) was down:

HTTP code: 404
Response time: 1141 ms

Resolved: Help - 行情使用免责声明 is back up in 4383607 after .

repo: longbridgeapp/uptime


text:
🛑 Posie is down

In 0ed0742, Posie (https://posie.jau.co.jp) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Posie is back up in 6e00717.

repo: longforme/longforme-uptime-monitor


text:
🛑 MAHO is down

In c4149f8, MAHO (https://maho.jau.co.jp) was down:

HTTP code: 0
Response time: 0 ms

Resolved: MAHO is back up in 852c1be.


text:
fix(fstrim): executing in wrong namespace

longhorn-7768
Which issue(s) this PR fixes:

Issue longhorn/longhorn#7768
What this PR does / why we need it:
RWX volume is executing fstrim in the wrong namespace.
Special notes for your reviewer:
None
Additional documentation or context
None

@mergify backport v1.6.x

@mergify backport v1.5.x

repo: longhorn/longhorn-share-manager


text:
Automatic recovery (salvage) from faulted volume due to the engine in the isolated network

If a network split happens, the engine might declare all the replicas error thus volume faulted. In this case, we require user to perform salvage operation to repair the volume.
But once the network connection restored, we might able to help the user to recover the volume automatically.

Validation: PASSED
Test case 1:

A pod is running and using Longhorn volume.
Stop all the replicas of the longhorn volume at the SAME time.

Expect result:

Volume recovers by itself.  (PASS)
Pod recovers by itself. (PASS)

Test case 2:

A pod is running and using Longhorn volume.
Stop one replica.
Wait for 30 seconds.
Stop all the other replicas

Expect result: Same as test case 1  (PASS)

Test case 3:

A pod is running and using Longhorn volume.
Stop one replica.
Wait for 2 minutes.
Stop all the other replicas

Expect result: Same as test case 1: The first stopped replica should remain in the Error state.  (PASS)

Test case 4

A pod is running and using Longhorn volume.
Stop the node network connection to other nodes to simulate a network outage.
Resume network connection after 1 minute

Expect result: Same as test case 1.  (PASS)

@yasker I have recently installed 0.8.0 and noted that a fault seems to have been recovered well from the longhorn side however on the pod side i see that where the volume is mounted when i try to do an "ls" i get "ls: reading directory .: Input/output error".
This leads me to think that either something must be made on the pod to reattach the volume properly or the pod restarted. Is this known or a bug ?

@gittygoo you're right, pod needs to be restarted to use the reattached volume. You can setup liveness probe on pod for that. See https://longhorn.io/docs/users-guide/recover-volume/

authors: gittygoo meldafrawi yasker

repo: longhorn/longhorn


text:
[FEATURE] Unable to write to RWX Volume if user is not root

Hey folks,
I have longhorn 1.1.0 installed but the problem is that if I use the natively RWX integration im not able to write to a volume if the container runs as a other user than root uid/gid != 1000 it seems.
Is this Issue already known?
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: datastore-pv-claim
  namespace: echo
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: longhorn
  resources:
    requests:
      storage: 50Gi

Kind regards

This is because in the current share-manager (nfs) server we don't squash and the share manager is running as root.
https://github.com/longhorn/longhorn-share-manager/blob/master/pkg/server/nfs/export.go#L159
squashing comes with it's own problems, I want to make this behavior user defined in a future release.
@venomone as a workaround are you able to chmod -R +777 or chown the nfs mount dir from a root init container?

This is because in the current share-manager (nfs) server we don't squash and the share manager is running as root.
https://github.com/longhorn/longhorn-share-manager/blob/master/pkg/server/nfs/export.go#L159
squashing comes with it's own problems, I want to make this behavior user defined in a future release.
@venomone as a workaround are you able to chmod -R +777 or chown the nfs mount dir from a root init container?

@joshimoo. Thanks for your advice
Unfortunately , the workaround is not an option on secured Kubernetes distributions like OKD (rootless containers)  or activated PodSecurityPolicies.
Longhorn RWX-pvs are mounted in OKD as uid=99,gid=99 with 755 permission, so the pod has no write-permissons
solution might be to to support g+rwx mounts as default, then
      securityContext:
        supplementalGroups: [99]

could be used?
sorry.. I am too far away of understanding the chain between longhorn-volumes-> mananger-> nfs->OKD->pod....

@joshimoo. Thanks for your advice
Unfortunately , the workaround is not an option on secured Kubernetes distributions like OKD (rootless containers)  or activated PodSecurityPolicies.
Longhorn RWX-pvs are mounted in OKD as uid=99,gid=99 with 755 permission, so the pod has no write-permissons
solution might be to to support g+rwx mounts as default, then
      securityContext:
        supplementalGroups: [99]

could be used?
sorry.. I am too far away of understanding the chain between longhorn-volumes-> mananger-> nfs->OKD->pod....

Well for the moment I will stay with the old-style of deploying NFS shares manually.

Hello, @yasker we are facing the same issue with the new Longhorn 1.1.0 and nfs. The volumes are mounted as uid=99,gid=99, Is there a possible automated work-around for this?
Thanks in advance

Hello,
well as already explained you can create the share manually, like in version < 1.1
Please check the following example for the NFS:
apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
  name: longhorn-nfs-provisioner-datastore
spec:
  fsGroup:
    rule: RunAsAny
  allowedCapabilities:
    - DAC_READ_SEARCH
    - SYS_RESOURCE
  runAsUser:
    rule: RunAsAny
  seLinux:
    rule: RunAsAny
  supplementalGroups:
    rule: RunAsAny
  volumes:
    - configMap
    - downwardAPI
    - emptyDir
    - persistentVolumeClaim
    - secret
    - hostPath
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: longhorn-nfs-provisioner-datastore
rules:
  - apiGroups: [""]
    resources: ["persistentvolumes"]
    verbs: ["get", "list", "watch", "create", "delete"]
  - apiGroups: [""]
    resources: ["persistentvolumeclaims"]
    verbs: ["get", "list", "watch", "update"]
  - apiGroups: ["storage.k8s.io"]
    resources: ["storageclasses"]
    verbs: ["get", "list", "watch"]
  - apiGroups: [""]
    resources: ["events"]
    verbs: ["create", "update", "patch"]
  - apiGroups: [""]
    resources: ["services", "endpoints"]
    verbs: ["get"]
  - apiGroups: ["extensions"]
    resources: ["podsecuritypolicies"]
    resourceNames: ["datastore-nfs"]
    verbs: ["use"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: longhorn-nfs-provisioner-datastore
subjects:
  - kind: ServiceAccount
    name: longhorn-nfs-provisioner-datastore
    namespace: longhorn-system
roleRef:
  kind: ClusterRole
  name: longhorn-nfs-provisioner-datastore
  apiGroup: rbac.authorization.k8s.io
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: leader-locking-longhorn-nfs-provisioner-datastore
  namespace: longhorn-system
rules:
  - apiGroups: [""]
    resources: ["endpoints"]
    verbs: ["get", "list", "watch", "create", "update", "patch"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: leader-locking-longhorn-nfs-provisioner-datastore
  namespace: longhorn-system
subjects:
  - kind: ServiceAccount
    name: longhorn-nfs-provisioner-datastore
    namespace: longhorn-system
roleRef:
  kind: Role
  name: leader-locking-longhorn-nfs-provisioner-datastore
  apiGroup: rbac.authorization.k8s.io
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: longhorn-nfs-provisioner-datastore
  namespace: longhorn-system
---
kind: Service
apiVersion: v1
metadata:
  name: longhorn-nfs-provisioner-datastore
  namespace: longhorn-system
  labels:
    app: longhorn-nfs-provisioner-datastore
spec:
  # hardcode a cluster ip for the service
  # so that on delete & recreate of the service the previous pv's still point
  # to this nfs-provisioner, pick a new ip for each new nfs provisioner
  clusterIP: 10.43.99.2
  ports:
    - name: nfs
      port: 2049
    - name: nfs-udp
      port: 2049
      protocol: UDP
    - name: nlockmgr
      port: 32803
    - name: nlockmgr-udp
      port: 32803
      protocol: UDP
    - name: mountd
      port: 20048
    - name: mountd-udp
      port: 20048
      protocol: UDP
    - name: rquotad
      port: 875
    - name: rquotad-udp
      port: 875
      protocol: UDP
    - name: rpcbind
      port: 111
    - name: rpcbind-udp
      port: 111
      protocol: UDP
    - name: statd
      port: 662
    - name: statd-udp
      port: 662
      protocol: UDP
  selector:
    app: longhorn-nfs-provisioner-datastore
---
kind: Deployment
apiVersion: apps/v1
metadata:
  name: longhorn-nfs-provisioner-datastore
  namespace: longhorn-system
spec:
  selector:
    matchLabels:
      app: longhorn-nfs-provisioner-datastore
  replicas: 1
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: longhorn-nfs-provisioner-datastore
    spec:
      serviceAccount: longhorn-nfs-provisioner-datastore
      containers:
        - name: longhorn-nfs-provisioner-datastore
          image: quay.io/kubernetes_incubator/nfs-provisioner:latest
          ports:
            - name: nfs
              containerPort: 2049
            - name: nfs-udp
              containerPort: 2049
              protocol: UDP
            - name: nlockmgr
              containerPort: 32803
            - name: nlockmgr-udp
              containerPort: 32803
              protocol: UDP
            - name: mountd
              containerPort: 20048
            - name: mountd-udp
              containerPort: 20048
              protocol: UDP
            - name: rquotad
              containerPort: 875
            - name: rquotad-udp
              containerPort: 875
              protocol: UDP
            - name: rpcbind
              containerPort: 111
            - name: rpcbind-udp
              containerPort: 111
              protocol: UDP
            - name: statd
              containerPort: 662
            - name: statd-udp
              containerPort: 662
              protocol: UDP
          securityContext:
            capabilities:
              add:
                - DAC_READ_SEARCH
                - SYS_RESOURCE
          args:
            - "-provisioner=nfs.longhorn.io/datastroe-nfs"
            - "-device-based-fsids=false"
          env:
            - name: POD_IP
              valueFrom:
                fieldRef:
                  fieldPath: status.podIP
            - name: SERVICE_NAME
              value: longhorn-nfs-provisioner-datastore
            - name: POD_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
          imagePullPolicy: "IfNotPresent"
          readinessProbe:
            exec:
              command:
                - ls
                - /export
            initialDelaySeconds: 5
            periodSeconds: 5
          livenessProbe:
            exec:
              command:
                - ls
                - /export
            initialDelaySeconds: 5
            periodSeconds: 5
          volumeMounts:
            - name: export-volume
              mountPath: /export
      volumes:
        - name: export-volume
          persistentVolumeClaim:
            claimName: longhorn-nfs-provisioner-datastore
      # we want really quick failover
      terminationGracePeriodSeconds: 30
      tolerations:
        - effect: NoExecute
          key: node.kubernetes.io/not-ready
          operator: Exists
          tolerationSeconds: 60
        - effect: NoExecute
          key: node.kubernetes.io/unreachable
          operator: Exists
          tolerationSeconds: 60
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: longhorn-nfs-provisioner-datastore
  namespace: longhorn-system
spec:
  storageClassName: longhorn
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 55Gi # make this 10% bigger then the workload pvc
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: datastore-nfs # workload storage class
provisioner: nfs.longhorn.io/datastroe-nfs
mountOptions:
  - "vers=4.1"
  - "noresvport"

For the PVC:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: datastore-pv-claim
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: datastore-nfs
  resources:
    requests:
      storage: 50Gi

and at you deployment yaml:
volumeMounts:
        - name: datastore-persistent-storage
          mountPath: /some/path/inside/your/pod
....
volumes:
      - name: datastore-persistent-storage
        persistentVolumeClaim:
          claimName: datastore-pv-claim

And make sure that clusterIP: 10.43.99.2 is not in used somewhere else. You need to attach a dedicated IP here for each share that is deployed like that into longhorn. Looks freaky but works like a charm

The fix is included in v1.1.1.
https://github.com/longhorn/longhorn/issues/2418.


text:
[BUG] Failing to upgrade to longhorn v1.3.0

Describe the bug
We cannot upgrade to longhorn v1.3.0 because the images have not been published to Docker registry.
To Reproduce
Steps to reproduce the behavior:

Install longhorn from Rancher UI

Expected behavior
Longhorn should have been installed
Log or Support bundle
The v1.3.0 images have not been pushed to Docker registry so we're getting  ErrImagePull error.
https://hub.docker.com/r/rancher/mirrored-longhornio-longhorn-ui/tags
docker pull rancher/mirrored-longhornio-longhorn-ui:v1.3.0

Error response from daemon: manifest for rancher/mirrored-longhornio-longhorn-ui:v1.3.0 not found: manifest unknown: manifest unknown

https://github.com/rancher/charts/issues/1978
friendly ping @innobead

@iosifnicolae2 were you able to upgrade the chart from the rancher marketplace? I think it's about to publish.

Closing this issue as it will be solved in https://github.com/rancher/image-mirror/pull/250
Thank you!


text:
[TASK] Release 1.4.1

What's the task? Please describe.
Action items for releasing v1.4.1
Describe the items of the task (DoD, definition of done) you'd like.

Pre-Release

[x] Run e2e regression for pre-GA milestones (install, upgrade) - @yangchiu
[x] Run security testing of container images for pre-GA milestones - @yangchiu
[x] Verify longhorn chart PR to ensure all artifacts are ready for GA (install, upgrade)  @yangchiu

https://github.com/longhorn/longhorn/tree/v1.4.1-rc2 (longhorn/longhorn)
https://github.com/longhorn/charts/tree/v1.4.x (longhorn/charts)

[x] Run core testing (install, upgrade) for GA build from the previous patch and the last patch of the previous feature release (1.4.0 & 1.3.2). - @roger-ryao

Release

[x] Release longhorn/chart from the release branch to publish to ArtifactHub
[x] Release note

[x] Deprecation note
[x] Upgrade notes including highlighted notes, deprecation, compatible changes, and others impacting the current users

Post-Release

[ ] ~Create a new release branch of manager/ui/tests/engine/longhorn instance-manager/share-manager/backing-image-manager when creating the RC1~
[ ] Update https://github.com/longhorn/longhorn/blob/master/deploy/upgrade_responder_server/chart-values.yaml @PhanLe1010
[x] Add another request for the rancher charts for the next release (1.4.2) @rebeccazzzz

Rancher charts: verify the chart is able to install & upgrade - @khushboo-rancher

[x] rancher/image-mirrors update @weizhe0422 (@PhanLe1010 )

https://github.com/rancher/image-mirror/pull/360

[x] rancher/charts dev-2.6 & 2.7 branches for rancher marketplace @weizhe0422 (@PhanLe1010)

dev-2.6: https://github.com/rancher/charts/pull/2478
dev-2.7: https://github.com/rancher/charts/pull/2479

cc @longhorn/qa

Run e2e regression for pre-GA milestones (install, upgrade):
v1.4.1-rc1:
amd64: 5 failures
arm64: 4 failures
amd64 upgrade: 2 failures
arm64 upgrade: 2 failures

Verify longhorn chart PR to ensure all artifacts are ready for GA verified :
For both longhorn/longhorn v1.4.1-rc1/rc2 and longhorn/chart v1.4.1-rc1/rc2:

Fresh install - Pass
Upgrade from v1.3.2 to v1.4.1-rc1/rc2 - Pass
Upgrade from v1.4.0 to v1.4.1-rc1/rc2 - Pass
After install/upgrade to v1.4.1-rc1/rc2, below test items passed

Create a statefulset and write data
Upgrade to v1.4.1-rc1/rc2
Upgrade engine image
Scale down/up workload
Trigger replica rebuilding
Create system backup
Create volume backup and restored
Verify volume data

Uninstall

Run security testing of container images for pre-GA milestones:
v1.4.1-rc1: 82 HIGH, 0 CRITICAL
v1.4.1-rc2: 70 HIGH, 0 CRITICAL

Run core testing for GA build done:
1.4.1 fresh install amd64: 0 failure
1.4.1 fresh install arm64: 0 failure
1.3.2 upgrade to 1.4.1 amd64: 0 failure
1.3.2 upgrade to 1.4.1 arm64: 1 failure

test_basic.py::test_default_storage_class_syncup

1.4.0 upgrade to 1.4.1 amd64: 2 failures

test_basic.py::test_restore_inc
test_basic.py::test_restore_inc_with_offline_expansion[s3]

1.4.0 upgrade to 1.4.1 arm64: 0 failure
After rerunning all the failed cases, the test results showed passed

Please help with the post tasks after the release below. Thanks.

@weizhe0422 Please help with the Rancher chart. @PhanLe1010 will help with review and @rebeccazzzz will coordinate the release.
@PhanLe1010 Please help update upgrade-responder.
@rebeccazzzz Please help with the Rancher chart release request for 1.4.2 and coordinate 1.4.1 in Rancher 2.7.2.

UPDATE: The PR for Rancher Chart has been created as a draft, I will continue to test it myself first and update the results.

After verifying https://github.com/rancher/charts/pull/2479 on v2.7.1 Rancher
Test items:
Set the automatic upgrade of volume to 0

[x] Perform a fresh installation
[x] Perform an uninstallation
[x] Perform an upgrade from v1.2.6 to v1.4.1
[x] Perform an upgrade from v1.3.2 to v1.4.1
[x] Perform an upgrade from v1.4.0 to v1.4.1

What's automatic upgrade volume? Did u mean concurrent engine upgrade instead? @roger-ryao

1.2.6 to 1.4.1 is not required, because the upgrade path is only 1.3.x/1.4.0 to 1.4.1.
However it's good to know it works.

concurrent engine upgrade instead

Hi @innobead :
Yes, I meant concurrent engine upgrade. I copied Set the automatic upgrade of volume to 0 from the Release Testing for v1.4.1 Confluence page. I think I should update it on our Release Testing Confluence page

Ok. Using the precise words/terminology is important for communication 🙂 .

Verified the PR for Rancher chart.
v2.6 - LGTM - https://github.com/rancher/charts/pull/2478#issuecomment-1470809525
v2.7 - Functionality looked fine, however seeing issue in chart versions. - https://github.com/rancher/charts/pull/2479#issuecomment-1470885897

authors: innobead khushboo-rancher roger-ryao weizhe0422 yangchiu


text:
Domain about to expire

Hope you don't want to lose the barecss.com domain. If you're looking for support or a new maintainer, I will be happy to contribute or take over.

@kinduff Seems like the domain expired after all and this project appears to have been abandoned. However, since BareCSS is included in the dropin-minimal-css project, it's still possible to preview the CSS here:
https://dohliam.github.io/dropin-minimal-css/?bare
(You can also use the included bookmarklet to preview Bare CSS on any arbitrary web page.)
Other than that, it may be time to move ahead with a fork -- @twitchett seems to have the most recently updated fork here and there is another one by @ericclemmons here. Not sure if there are enough improvements in either of those to base a new fork on, but it might be worth consolidating any changes before moving forward.

It looks like the domain is really dead now.

authors: COil dohliam kinduff

repo: longsien/BareCSS


text:
Do we want to make an "Agree to terms"

Hey if you want to build a personal server have at it.. But here's how you get support.
Want to submit code, you're amazing here's how..
zenity --checkbox="Agree to terms"

Yes, and a basic license.

Hey @Scurby can you get with the team and figure out the language here?
Also I'd like to make sure people agree that they will use proper IRC channels if they're doing private servers etc.

This VM image is designed and built to enable development and testing of the SWGEmu Project. It is not designed to be used as a server.
What is SWGEmu
We use IRC for communication.

irc.swgemu.com:6667
Please use the #opendev channel for development questions.

Contributors License Agreement

This VM image is designed and built to enable development and testing of the SWGEmu Core3 Project. It is not designed to be used as a player server.
What is SWGEmu?
Development Documentation
We use IRC for communication.

irc.swgemu.com:6667

Please use these channels:
#emuyoda for development environment questions (about ZonamaDev or EmuYoda)
#opendev for development questions.
#openqa for testing questions.
#swgemu for general chat.
#swgemuservers for community server issues.

The Contributors License Agreement is required to submit code patches to Core3. Core3 is open-sourced under the GNU AFFERO GENERAL PUBLIC LICENSE.

Feels like a yoda thing, moving to https://github.com/Zonama/emuyoda/projects/1

authors: Farelli Scurby karlbunch

repo: lordkator/ZonamaDev


text:
如何添加支持其他容器?

为了支持tsl::robin_map, 在ajson.hpp的158行,添加is_template_instant_of<tsl::robin_map, T>::value ||
编译报错:
src/ajson/ajson.hpp:158:47: error: type/value mismatch at argument 1 in template parameter list for ‘template<template<class ...> class U, class T> struct ajson::detail::is_template_instant_of’
  158 |       is_template_instant_of<tsl::robin_map, T>::value ||
      |                                               ^
src/ajson/ajson.hpp:158:47: note:   expected a template of type ‘template<class ...> class U’, got ‘template<class Key, class T, class Hash, class KeyEqual, class Allocator, bool StoreHash, class GrowthPolicy> class tsl::robin_map’

似乎是is_template_instant_of不支持模板里有非类型模板参数, 怎么办?

老哥我也同样的问题

authors: JaydenFish YanjidandangHuangxiaoming

repo: lordoffox/ajson


text:
127hs反馈

1.搜索（长按*）、停止搜索(短按EXIT或短按*) --------短按*并没有用
2.短按0切换模式(AM/FM/SSB)----------切换到ssb后，之前的FM和AM会恢复到默认的100和7.2
3.由AM切换到SSB时，因为等待时间过长，能否加个wait的字样
只是个人的感触，感谢大佬付出！

1.是，短按没用，我忘记该说明了
2和3没办法，没内存了


text:
Update CONTRIBUTING.md

Clarify Pull Request Guidelines
⚠⚠⚠ Since we do not accept all types of pull requests and do not want to waste your time. Please be sure that you have read pull request rules:
https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md#can-i-create-a-pull-request-for-uptime-kuma
Tick the checkbox if you understand [x]:

[x] I have read and understand the pull request rules.

Description
Clarify Pull Request Guidelines
Type of change
Please delete any options that are not relevant.

Other (Documentation Update)

Checklist

[ ] My code follows the style guidelines of this project
[ ] I ran ESLint and other linters for modified files
[ ] I have performed a self-review of my own code and tested it
[ ] I have commented my code, particularly in hard-to-understand areas
(including JSDoc for methods)
[x] My changes generate no new warnings
[ ] My code needed automated testing. I have added them (this is optional task)

Screenshots (if any)

I think the original steps is what I want, because I don't merge all types of pull request. I always want a discussion first.

Ok, fair enough.

authors: louislam stephenpapierski

repo: louislam/uptime-kuma


text:
Create navbar and routing for (1) customer info and (2) orders pages

Issue Goal: 📈 Test routing to eventually lead into lazy loading

[ ] Create a navbar inside a new headers module. This module should be in the features folder
[ ] Ensure routes work

I broke down the feature/users components to simplify the code and set up routes.
The only problem I'm facing is creating child routes for each component. The table, card, and add user components are loaded in but hidden. This will be a problem if I were to scale.

repo: lovanno/learn-customerOrder-AngularFire


text:
Sidebar + Navbar Template

It would be interesting to have the option to change the general template of the application, for example: Template with Sidebar + Navbar and Template with Navbar only

Hello and welcome to SQLPage!
The general template of the application is defined in the shell component, that already has quite a few options available.
However, creating a sidebar is currently not possible. Would you be interested in implementing this feature ? It shouldn't be too hard, because all the pieces are already in place. And I'll be here if you need help !
To get started, here are:

the shell component source code: https://github.com/lovasoa/SQLpage/blob/main/sqlpage/templates/shell.handlebars
an example of how to create a side menu with tabler, the css framework used in sqlpage: https://tabler.io/docs/layout/page-layouts

Wonderful, go ahead, I'll help you create a sidebar in the next few days

That's fantastic! I appreciate your willingness to collaborate. If you have any questions or encounter any challenges while working on it, feel free to reach out. You can open a "draft" pull request as soon as you have something, and I'll be happy to review it and give you pointers if you get stuck.

I managed to create a small sidebar draft #265 .
I had problems with "scrollbar-color", as it has a predefined style and I would like to use transparent, for example:
scrollbar-color: rgba(var(--tblr-scrollbar-color, var(--tblr-body-color-rgb)), .16) transparent;

I'm trying to configure nginx to use the reverse proxy on a VPS which works normally when pointing to "/", but if I try to access any endpoint like "/user.sql" it downloads the .sql file instead of opening the page, what can I do? Here is my vhost:
server {
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
{{ssl_certificate_key}}
{{ssl_certificate}}
server_name www.my-url.com;
return 301 https://my-url.com$request_uri;
}
server {
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
{{ssl_certificate_key}}
{{ssl_certificate}}
server_name my-url.com www1.my-url.com;
{{root}}
{{nginx_access_log}}
{{nginx_error_log}}
if ($scheme != "https") {
rewrite ^ https://$host$uri permanent;
}
location @reverse_proxy {
proxy_pass {{reverse_proxy_url}};
proxy_http_version 1.1;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_pass_request_headers on;
proxy_max_temp_file_size 0;
proxy_connect_timeout 900;
proxy_send_timeout 900;
proxy_read_timeout 900;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
}
{{settings}}
add_header Cache-Control no-transform;
index index.html;
location ^~ /.well-known {
auth_basic off;
allow all;
try_files $uri @reverse_proxy;
}
location / {
try_files $uri @reverse_proxy;
}
}

The try_files directive in Nginx specifies the files to attempt to serve before falling back to a specified URI or passing the request to a proxy server. It's typically used within a location block to define the behavior when a request matches that location.
In the provided configuration, the try_files directive is used within the location blocks to attempt to serve a file based on the specified URI. If the file is not found, it falls back to the @reverse_proxy location block, which proxies the request to another server.
When a request is made for an endpoint like "/user.sql," Nginx interprets it as a file request and attempts to serve the file directly if it exists in the specified root directory. If the file exists, Nginx serves it, which is not the desired behavior.
Therefore, you must ensure that Nginx doesn't serve files directly when handling requests meant for the reverse proxy. Adding a specific location block to handle requests for certain file extensions, like ".sql" in this case, can prevent Nginx from serving them directly and instead passing them to the reverse proxy.

Wonderful, thank you. Is it possible to forward endpoints like "/usar.sql" to "/user" using rewriting in nginx?

location ~ \.sql$ {
    include my/proxy/conf;
}

location / {
        try_files $uri @reverse_proxy;
}

location @reverse_proxy {
    include my/proxy/conf;
}

I sincerely thank you for your help!

Yes, it's possible. See this previous discussion: https://github.com/lovasoa/SQLpage/discussions/231

Incredible! I sincerely thank you for your great help.

I use nginx served through CloudPanel, its vhost comes in this standard that I sent above, but I tried to add these configuration lines:
location ~* ^(.).sql$ {
rewrite ^(.).sql$ $1 permanent;
}
It redirects to the page without the .sql, but gives a 404 error

What you want is the opposite, isn't it? You want nginx to receive requests without .sql, and rewrite then to add .sql before forwarding them to SQLPage.

In fact, I would like to call pages with .sql and nginx remove the .sql, for example /clientes.sql for /clientes

You want your browser to show /clientes, and SQLPage to load the file clientes.sql. So you need nginx to rewrite the request from /clientes ti /clientes.sql before forwarding it to SQLPage. This way, the user sees /clientes and SQLPage sees /clientes.sql.

I added these lines to the vhost, but instead of directing to, for example, /users is directing to /users/ and SQLPage does not recognize these requests:
Reescrever apenas as solicitações para arquivos .sql
rewrite ^/(.*)\.sql$ /$1 break;

# Não reescrever solicitações para arquivos existentes
if (!-e $request_filename) {
    # Reescrever apenas solicitações para arquivos .css e .js
    rewrite ^/(.*\.(css|js))$ /$1 break;
    rewrite ^/(.*)$ /$1.sql break;
}

In fact, discovering that requests, such as /users/ are going to users/.sql/index.sql, I believe it was my error in the rewriting

Here is an example nginx configuration rule:
    location / {

      # When a requests doesn't end with a '/' and doesn't have an extension, add '.sql' at the end
      rewrite ^/((.*/)?[^/.]+)$ /$1.sql last;

      proxy_pass      http://localhost:8080;
    }

try online

Wonder! It worked as expected, thank you again, from the bottom of my heart for your help!

And a detailed explanation of how the ^/((.*/)?[^/.]+)$ regex works, with examples: https://regex101.com/r/edOrEC/1

Thank you very much!

Can I now use SQLPage to create complex applications like a customer manager, for example? Application that communicates with APIs and databases, or is it too early for that? Is it safe for you to use it for this purpose?

Hi ! If you want to get an idea of what can be built with sqlpage, you can have a look at this talk I gave at pgconf last december: https://www.youtube.com/watch?v=mXdgmSdaXkg
A customer manager sounds very possible, of course. Communication with APIs is possible using fetch, and with databases... well... you will write your entire application in sql, so of course !
And if you get stuck, don't hesitate to ask for help here !

Wonderful, thank you from the bottom of my heart for the information and help!

Hello! This seems to be a different topic, maybe you can open a new feature request, where you present your project, and explain why you think a message signing function would be a good idea ?
Postgres already has a hmac function  as part of its crypto module for instance.

Got it, I'll take a look at the PGSQL functions. But my idea of use is that to use a certain API, I need to encrypt my password and pass it as HASH (via HMAC) to the endpoint.

Searching around I found this function for MySQL and MariaDB:
DROP FUNCTION IF EXISTS HMACSHA256;

-- here val is the message generate a HMAC for
DELIMITER //
CREATE FUNCTION HMACSHA256(secret_key VARCHAR(256), val VARCHAR(2048))
  RETURNS CHAR(64) DETERMINISTIC
BEGIN
DECLARE ipad,opad BINARY(64);
DECLARE hexkey CHAR(128);
DECLARE hmac CHAR(64);

SET hexkey = RPAD(HEX(secret_key),128,"0");

IF LENGTH(secret_key) > 64 THEN
   SET hexkey = RPAD(SHA2(secret_key, '256'), 128, "0");
END IF;

SET ipad = UNHEX(CONCAT(
    LPAD(CONV(CONV( MID(hexkey,1  ,16), 16, 10 ) ^ CONV( '3636363636363636', 16, 10 ),10,16),16,"0"),
    LPAD(CONV(CONV( MID(hexkey,17 ,16), 16, 10 ) ^ CONV( '3636363636363636', 16, 10 ),10,16),16,"0"),
    LPAD(CONV(CONV( MID(hexkey,33 ,16), 16, 10 ) ^ CONV( '3636363636363636', 16, 10 ),10,16),16,"0"),
    LPAD(CONV(CONV( MID(hexkey,49 ,16), 16, 10 ) ^ CONV( '3636363636363636', 16, 10 ),10,16),16,"0"),
    LPAD(CONV(CONV( MID(hexkey,65 ,16), 16, 10 ) ^ CONV( '3636363636363636', 16, 10 ),10,16),16,"0"),
    LPAD(CONV(CONV( MID(hexkey,81 ,16), 16, 10 ) ^ CONV( '3636363636363636', 16, 10 ),10,16),16,"0"),
    LPAD(CONV(CONV( MID(hexkey,97 ,16), 16, 10 ) ^ CONV( '3636363636363636', 16, 10 ),10,16),16,"0"),
    LPAD(CONV(CONV( MID(hexkey,113,16), 16, 10 ) ^ CONV( '3636363636363636', 16, 10 ),10,16),16,"0")
));

SET opad = UNHEX(CONCAT(
    LPAD(CONV(CONV( MID(hexkey,1  ,16), 16, 10 ) ^ CONV( '5c5c5c5c5c5c5c5c', 16, 10 ),10,16),16,"0"),
    LPAD(CONV(CONV( MID(hexkey,17 ,16), 16, 10 ) ^ CONV( '5c5c5c5c5c5c5c5c', 16, 10 ),10,16),16,"0"),
    LPAD(CONV(CONV( MID(hexkey,33 ,16), 16, 10 ) ^ CONV( '5c5c5c5c5c5c5c5c', 16, 10 ),10,16),16,"0"),
    LPAD(CONV(CONV( MID(hexkey,49 ,16), 16, 10 ) ^ CONV( '5c5c5c5c5c5c5c5c', 16, 10 ),10,16),16,"0"),
    LPAD(CONV(CONV( MID(hexkey,65 ,16), 16, 10 ) ^ CONV( '5c5c5c5c5c5c5c5c', 16, 10 ),10,16),16,"0"),
    LPAD(CONV(CONV( MID(hexkey,81 ,16), 16, 10 ) ^ CONV( '5c5c5c5c5c5c5c5c', 16, 10 ),10,16),16,"0"),
    LPAD(CONV(CONV( MID(hexkey,97 ,16), 16, 10 ) ^ CONV( '5c5c5c5c5c5c5c5c', 16, 10 ),10,16),16,"0"),
    LPAD(CONV(CONV( MID(hexkey,113,16), 16, 10 ) ^ CONV( '5c5c5c5c5c5c5c5c', 16, 10 ),10,16),16,"0")
));

SET hmac = SHA2(CONCAT(opad,UNHEX(SHA2(CONCAT(ipad,val), '256'))), '256');

RETURN hmac;

END //
DELIMITER ;

I created a separate issue to avoid discussing it in this GitHub issue, which is about having a sidebar in the shell.
Let's move the discussion about hmac to #303

Ok, thanks!

repo: lovasoa/SQLpage


text:
Image getting cropped while resizing

I am trying to simply just resize the image irrespective of it being deformed, it is getting cropped. I am using webp as output format.
I read past issues similar to this, but didn't got any working solution. Any solution to this?

Solution:
Used ignoreAspectRatio()

repo: lovell/sharp


text:
Composite and cloud function

Hello ,
I use sharp in google cloud function , I have a problem with composite , (without my code works)
error: "Error: Input file is missing" , when i create overlay
Can you help me ?
exports.main = (req, res) => {
const filename = req.query.f;
let width = Number(req.query.width);
let height = req.query.height? Number(req.query.height) :null
if(!filename) {
res.sendStatus(500).send("No file specified");;
return;
}
const file = bucket.file(filename);
file.getMetadata().then(function(data) {
const metadata = data[0];
res.set('Cache-Control', 'private,no-transform,max-age=300');
let stream = file.createReadStream();
stream.on('error', function(err) {
console.error(err);
res.sendStatus(err.code).end(err);
});
let warningStream = warning.createReadStream();
warningStream.on('error', function(err) {
  console.error("Watning"+ err);
  res.sendStatus(err.code).end(err);
});

let transform = sharp()
transform = transform.resize(width, height , {
  kernel: sharp.kernel.nearest,
  fit: 'cover',
  background: { r: 255, g: 255, b: 255, alpha: 0.5 }

});
let overlay = transform.composite([{
input: warningStream
}])
stream.pipe(transform).pipe(overlay).pipe(res)
});

Stream-based input is not supported by the composite operation.
https://sharp.pixelplumbing.com/api-composite#composite

I hope this information helped. Please feel free to re-open with more details if further assistance is required.

authors: lovell nseb


text:
Cannot find module '../build/Release/sharp-win32-x64.node'

Hi,
Pretty sure I've followed all the steps provided. I'm using yarn add sharp. I've also tried using npm -i sharp and other variations with me specifying the platform / arch as well.
This is the installed module:

And the actual error:

Specs:

I don't really know where to go from here with this.

What is the complete output of running npm install --verbose sharp?

Oh, the prebuilt tarballs for sharp v0.29.0 win32-x64 appears to be missing a file... let me fix this now.

Please can you remove any cached files from the _prebuilds directory in the npm cache (run npm get cache to show where this is located) any try again.

Please can you remove any cached files from the _prebuilds directory in the npm cache (run npm get cache to show where this is located) any try again.

Perfect - that's fixed it. Thanks so much for your speedy response!

Thanks for reporting this. Glad we got it fixed before the whole (Windows) world came beating at the door with the same problem.

Took me longer to install the module than it did to make it work with my code.
Amazing job - thanks so much for your hard work on this.

Had the same problem and fixed by manually deleting files from the _prebuilds directory. Glad I found this issue. Thanks @webnoob and @lovell.

authors: cduff lovell webnoob