Better error handling, use better practices.

This node app is currently doing a lot of weird/bad practices for being an example app, which you almost certainly would never want in any real app:

It's potentially initializing the database connection multiple times. (It now would use a single Promise to ensure the database is initialized once and only once.)
When connecting to the database, the callback is ONLY called if there's an error
If you're missing required Mongo env vars, the app will just silently never initialize the database, which is super confusing. (Yes I know the readme has the required env vars documented, but typos happen, and the code to build the mongoUrl is quite dense.)
If a request is made and the db has not yet initialized, the user sees incorrect responses
When requesting the home page, it does not wait for the insert call to Mongo to finish before querying for the count, potentially yielding inconsistent results. (Maybe this behavior was intentional? In any case, it was swallowing any errors the DB might have thrown.)
Dependencies used only for testing are listed in dependencies rather than devDependencies in package.json
Though the readme says Node 4+ is supported, and Node 4 has Object.assign natively, the object-assign polyfill was still being used. (Though it wasn't actually being used in the code?)
var was being used all over the place, though it's usage has been largely replaced by const and scope in ES6 code
The tests file had different formatting than service.js, and had semicolons only in about half the file

I did NOT fix the tests yet, and they currently fail, so DO NOT MERGE until they have been resolved. Had the tests done anything more substantial than just expect a 200 response from the server, they would have previously failed anyways, as the database would just silently never initialize. (The code branches where db != null were never being reached.)
I didn't fix the tests because I'm not certain which way things should go:

Should we mock up MongoClient using proxyquire? (This will look a bit convoluted, as Mongo is not pleasant to correctly mock.)
Require the user to spin up an actual instance of Mongo before running the tests, and make these integration tests?
Go the more verbose (and more realistic) route, and split out the mongo calls into their own dao module, which can then be mocked up nicely with proxyquire?

If you're missing required Mongo env vars, the app will just silently never initialize the database, which is super confusing.

i haven't looked at all your changes but this behavior is intentional.  it should be possible to run the application with no database configured, and still get the welcome page w/ no page view count displayed.
once a DB is added, the pageview count should appear when the page is reloaded.

That seems kind of... odd? You'd have to restart the app in order for the env vars to be populated, so why let the app even start up with no indication of why the database isn't working? Even if you wanted the app to be able to start up in an erroneous state, I would think you'd still want to let the dev know what is wrong.

That seems kind of... odd? You'd have to restart the app in order for the env vars to be populated, so why let the app even start up with no indication of why the database isn't working? Even if you wanted the app to be able to start up in an erroneous state, I would think you'd still want to let the dev know what is wrong.

the page does report that no db connection is configured under those conditions.  logging something would be nice, sure.

And the reason it's designed this way is this sample app is intended to be deployed both with, and without, a database.  For many users trying to get a hello world app running on openshift, they aren't even going to have the DB, so it's important that it "just work" even if you haven't configured a DB.
The DB is an optional feature, not a requirement (which is always why no errors are reported if the DB is not available).

Looks to me like @MikeyBurkman has made a very solid contribution.  Seems like we should at the very least log that the db was not found, not just put an error on a page served by the app.  If we want to show people best practices on using mongodb, this PR does just that.

Seems like we should at the very least log that the db was not found, not just put an error on a page served by the app.

sure, I am just trying to provide some context for why the app behaves as it does.

If we want to show people best practices on using mongodb, this PR does just that.

Not really the intent of the repo, but sure, i'm not against improving it, again I just want the context and goals understood.  We have a significant test infrastructure that in part dependent on the behavior of this repo, so changing it needs to be considered carefully.

Alright, will change it to make mongo optional for the homepage to display, and will log warnings to the console and fill in the dynamic fields in the homepage appropriately. (I'll see if I can go one further, and if mongo env vars ARE provided, I won't display the page until it's been initialized.)
What about the /pageCount route though? Surely that entire route depends upon the DB being initialized, and we should return a 500 with an appropriate message? Or do other things actually expect to see a -1 returned for the page count?

What about the /pageCount route though? Surely that entire route depends upon the DB being initialized, and we should return a 500 with an appropriate message? Or do other things actually expect to see a -1 returned for the page count?

Yeah i think returning a 500 on that should be ok.

Closing this issue. The database were switched from MOngoDB -> Postgresql. Feel free to update it against postgresql.


⚠ GitLab Server has degraded performance

In 53577f2, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 7085 ms

Resolved: GitLab Server performance has improved in 934b7b6.


[Bug]: The 'Evaluate' button in models and test cases should lead to Evaluate issue template.

Is there an existing issue for this?

[X] There are no existing issues

Priority of this issue

[ ] high
[ ] medium
[X] low

What browsers are you seeing the problem on?
No response
Contact Details
No response
Describe the current behaviour
Currently if we click on Evaluate button, it will lead to GitHub issues and not to Evaluate issue template.
Describe the expected behaviour
The link to Evaluate issue template should be updated.
Steps to Reproduce

Go to any model
Click on Evaluate at the end of the page

Screenshot:

Issue is fixed and closed


Renamed File to Game (integrating file logic into game)

looks good!

LFG!

great! file loading now works in main branch


CI: translation update as cron task

as title

What exactly is the benefit of updating the translations not on a push, but (what even is the interval? It's never specified anywhere) hourly?
Normally I'd say that updating on a push should be enough as no other changes can be performed.
Or is the mechanism notifying of a push buggy?

@delvh sometimes we get many translation commits even in a day, and they also occasionally slow down merges as PRs need to be tested against the latest commits in master before merging and translation commits sometimes sneak in.

@daily cronjob created


Update tools required version

Signed contributions? https://bcit-ci.github.io/CodeIgniter4/contributing/signing.html


PromptProductPurchaseFinished is depreciated, but PromptPurchaseFinished does not fire for Developer products

The event PromptProductPurchaseFinished is depreciated, but PromptPurchaseFinished does not fire for Developer products. This means that PromptProductPurchaseFinished must be used to detect products finishing purchase, forcing depreciated code use.
The code causing it:
https://github.com/Roblox/Core-Scripts/blob/0376349c8547c027de58a4e1dd1ffd12051292cf/CoreScriptsRoot/CoreScripts/PurchasePromptScript3.lua#L945

http://wiki.roblox.com/index.php?title=API:Class/MarketplaceService/PromptProductPurchaseFinished
http://wiki.roblox.com/index.php?title=API:Class/MarketplaceService/PromptPurchaseFinished

MarketplaceService.ProcessReceipt is the replacement for detecting purchase completion, so your issue should be covered. However, this is a major issue for a properly constructed UI that wants to disable it's "Buy" buttons until the server returns something. If a player presses "Cancel", the ONLY event to listen for is PromptProductPurchaseFinished, so it being deprecated is not a good thing until there is a fitting replacement for capturing the cancel button event.

Yes. To clarify:MarketplaceService.ProcessReceipt only is called when a purchase is made (i.e. the user has bought the product). I need to know when a purchase is not made too.
The solution is to make PromptPurchaseFinished fire on DeveloperProducts when cancelled.

Hey ME Cum IN UR Aasrse.

Feel the same way as @blujagu. I have a whole comment somewhere in my code cursing Roblox for deprecating something it when there's no other function to detect if a user cancels.


Sending tx: wallet may be locked or fees may not be sufficient

I've sent 0.0005 BTC to the address which I'm sending the tx from, but I'm still getting the error: wallet may be locked or fees may not be sufficient
Is there any way to know how much in fees will be required to send a tx?

Sorry for the late reply :(
That should be a suitable amount using defaults.  What response do you get from the call estimatefee 6?

Hey @got3nks, could you please post the address you're trying to send from?

estimatefee 6 returned 0.00149700, which is more BTC than is currently sitting on the address. But it's quite expensive!

1AFcEEDqDSCr8JNhPibwWMrRbAG49sotsn has 0.0065 BTC yet failing to send assets.
Request:
    [fromaddress] => 1AFcEEDqDSCr8JNhPibwWMrRbAG49sotsn
    [toaddress] => 12GpUEMshoBD5sGagRgzKyFA9h2ohcYefF
    [propertyid] => 31
    [amount] => 99.5

Error -211
Error creating transaction (wallet may be locked or fees may not be sufficient)

estimatefee 6 returned 0.00149700, which is more BTC than is currently sitting on the address. But it's quite expensive!

You could try to restart Omni Core with the command line option -txconfirmtarget=n, where n equals the estimated number of blocks a transaction should take to confirm. As per default Omni Core uses 6 confirmations, which appearingly results in an estimated fee of 0.00149700 BTC/kB at the very moment. You could try a number like 10´ or 15`, so it becomes cheaper.

1AFcEEDqDSCr8JNhPibwWMrRbAG49sotsn has 0.0065 BTC yet failing to send assets.

To me it looks like the address actually only has 0.00065 BTC.
Please try either to use a lower -txconfirmtarget, or send some additional BTC to that address.

I restarted the wallet with -txconfirmtarget=12
root@cryptos:/# ps aux | grep omni
omni  15602 31.2  4.4 2687140 542344 ?      SLl  15:51   1:02 /home/omni/omnicore/omnicored -datadir=/home/omni/.omnicore -listen=0 -txconfirmtarget=12
But the transaction still didn't get through: Error creating transaction (wallet may be locked or fees may not be sufficient)
Is there any way to know how many kB the transaction size will be, to make sure the balance will be enough to process it?

Awesome, glad it worked out!

Is there any way to know how many kB the transaction size will be, to make sure the balance is enough to process it?

You can use the RPC estimatefee n to get an idea about the fee/kB going to be used, but there is no handy way to determine the size of the transaction. If you have many small value inputs, then it's going to be larger, but a very rough estimate is 300-600 byte for a regular Omni transaction.

Thanks a lot for the help. Why does Omnilayer's estimatefee differ so much from Bitcoin Core's?
Core 120100
estimatefee 6 0.00043786
estimatefee 15 0.00024177
Omnilayer 100400
estimatefee 6 0.00149700
estimatefee 15 0.00059880
Considering current Bitcoin price level, this can make a huge difference.

This is indeed a huge difference! What Core version was this?

Bitcoin version v0.12.1 (2016-04-11 13:01:43 +0200)

Thanks for the information!
The fee estimation has indeed changed a bit, and I wasn't aware it makes such a big difference.
In this case I recommend to use a slightly lower number for txconfirmtarget to get a similar behavior.
As a side note, after this release we are going to rebase Omni Core on top of Bitcoin Core 0.12, or potentially 0.13.

Did you mean an higher number for txconfirmtarget?

My bad, sorry! Yes, a higher number for txconfirmtarget.

We updated the default confirm target to 15, which should result in cheaper transactions.
Thanks again for providing numbers on this. :)

Just send to node 0.00001 BTC

Yes, that should work @rio-coffe, thanks!


Get into the code and write a report about URSA

URSA is a very interesting C# library that implements HYDRA:

code
documentation

Having somebody that can get into the repository and documentation and write a brief report about the interesting features we can use in hydrus would be really helpful.

Should be moved to https://github.com/HTTP-APIs/hydra-ecosystem-wiki/issues


initial changes

PR Title/Tagline
What does this PR change and why?
How to Test

Please add or build upon a testing card to the Notion page and link it here

Important Changes

Database change / migration to run
Environment config change
Breaking API change

Related Github Issues

#[Number of Issue]
Or, remember to link to an issue on the sidebar

Related PRs

#PRNUMBER

Checklist

[ ]  Database schema docs have been updated or are not necessary
[ ]  Code follows design and style guidelines
[ ]  Code is commented with doc blocks
[ ]  Tests have been written and executed or are not necessary
[ ]  Latest code has been rebased from base branch (usually develop)
[ ]  Commits follow guidelines (concise, squashed, etc)
[ ]  Github issues have been linked in relevant commits
[ ]  Relevant reviewers (Senior Dev/EM/Designers) have been assigned to this PR

The following diff changes should fix the unhandled runtime error discussed in Slack :
diff --git a/src/pages/api/users/[id].js b/src/pages/api/users/[id].js
index 190877d..592a43d 100644
--- a/src/pages/api/users/[id].js
+++ b/src/pages/api/users/[id].js
@@ -1,5 +1,5 @@
 const { check, oneOf, validationResult, matchedData } = require("express-validator");
-const { getUserFromId, updateUserId, deleteUserId } = require("../../../../server/actions/users");
+const { getUserFromId, updateUserId, updateUser, deleteUserId } = require("../../../../server/actions/users");
 const { USER_DATA_VALIDATOR } = require("../../../../server/validators");
 const { SendEmailError } = require("../../../../server/errors");

@@ -33,10 +33,10 @@ export default async function handler(req, res, next) {
             return res.status(400).json({ errors: errors.mapped() });
         }

-        const userDataReq = matchedData(req);
-        const events = req.body.events;
+        const userDataReq = req.body.bio;
+
+        let result = await updateUser(userDataReq.email, userDataReq.phone_number, userDataReq.first_name, userDataReq.last_name, userDataReq.date_of_birth, userDataReq.zip_code, userDataReq.total_hours, userDataReq.address, userDataReq.city, userDataReq.state);

-        let result = updateUserId(userDataReq, events, req.params.id, req.query.action)
         res.status(result.status).json(result.message);


GO subsets on geneontology.org

We have links to each of the current GO slims on geneontology.org:
http://geneontology.org/page/download-ontology#Subsets
It'd be nice to also include the AGR slim, so curators can always see the latest version.
There is a folder for GO subsets in ontology/src:
https://github.com/geneontology/go-ontology/tree/master/src/ontology/subsets
but it looks like maybe it isn't being populated yet?
What is the preferred pipeline for getting the AGR subset included on the website?

We avoid checking derived products into github
Subsets can be found at URLs like:
http://purl.obolibrary.org/obo/go/subsets/goslim_virus.obo
After the PR I am about to make is merged, we will have id-pair tsvs at
http://purl.obolibrary.org/obo/go/subsets/goslim_virus.tsv
These will look ugly until we implement this:
https://github.com/ontodev/robot/issues/176

Done for new website


Fix and improve cull mode description in material

The cull mode description is confusing and was brought up here https://github.com/godotengine/godot-docs/issues/5060. In addition the description for cull front was wrong.

Fixed.

Thanks!


[try-runtime] Offchain worker support

This pr adds support for testing offchain workers against runtime state to the try-runtime CLI command.
TODO

[ ] Test for making sure externalities are correctly extended to support offchain worker (not sure if this is necessary or how to do this)
[ ] Add State::Offline support (Check to see if block header can be extracted from state)

Further example, this is the block that could only be imported in native. https://polkascan.io/polkadot/block/5202216
If you run any of the blocks prior to this, it should technically trigger a massive OCW that will run OOM with defauly settings.

I have successfully tested the tool against polkadot blocks #5202216, #5320190, #5315510; two of which finalize an election. (I can test against more blocks when I am back thursday (and will have better wifi))
Current open questions I have so far:

Should we override the runtime code with that from the chain spec?
Is it necessary to register any other externalities extensions? (Maybe useful for other off-chain workers that I haven't implicitly tested?)
Is it fine to leave in the offline hack for getting the header from localhost (and potentially do a follow up pr to fix)?

@kianenigma I think things are ready now. Needed to update a few tests after pulling out the heap pages set to 8 on the test ext.
I tested out in polkadot and it worked locally. The only changed that was necessary was bumping minor on a secondary dependency, rustls, which was pinned to an exact version but needed to be bumped for jsonrpsee v0.2.0. Companion PR here: https://github.com/paritytech/polkadot/pull/3186

Did they tests assert that the heap pages is 8 internally? or assume they go OOM?

I think the test modified in this commit: https://github.com/paritytech/substrate/pull/8966/commits/83586b26ee8e27c060e34995f699faacb3fb49a9,  implicitly assumed OOM because they where tests that asserted errors. (My understanding is use_native param is false so it tries to execute w/ WASM, but the block is too big so it gets OOM)
I did find one test though where it did not assert an error, and for that one I reverted adding the heap pages and instead changed the storage root. see: https://github.com/paritytech/substrate/pull/8966/commits/f57f9ae271cfa6bff82789db8748d45bdbd1e035

bot merge

bot merge


Fake timers are not detected at jest@28

Hi! 👋
Firstly, thanks for your work on this project! 🙂
Today I used patch-package to patch<EMAIL_ADDRESS>for the project I'm working on.

Here is the diff that solved my problem:
diff --git a/node_modules/wait-for-expect/lib/helpers.js b/node_modules/wait-for-expect/lib/helpers.js
index 27d63b7..aee6aa4 100644
--- a/node_modules/wait-for-expect/lib/helpers.js
+++ b/node_modules/wait-for-expect/lib/helpers.js
@@ -15,7 +15,9 @@ var globalObj = typeof window === "undefined" ? global : window; // Currently th

 function runWithRealTimers(callback) {
   var usingJestFakeTimers = // eslint-disable-next-line no-underscore-dangle
-  globalObj.setTimeout._isMockFunction && typeof jest !== "undefined";
+    typeof jest !== 'undefined' &&
+    setTimeout.clock != null &&
+    typeof setTimeout.clock.Date === 'function';

   if (usingJestFakeTimers) {
     jest.useRealTimers();

This issue body was partially generated by patch-package.

+1
I am also having this issue

Any updates on this item? It's been over a year :(


scrollbarSize util function not documented in README

The utility function scrollbarSize is not documented in the README, yet it is as usable as the rest of the exposed functions. Is there a reason behind this?
I haven't checked thoroughly, but there might be other functions that could be exposed as wellthat aren't documented either.

Care to send a PR?

Definitely! Just wanted to make sure there wasn't a reason I was not aware of!


Redesign Join the Podcast card

When I click on Join the Podcast button, I see that a long-stretched card is present in it. with white background and gray text which makes it a bit hard to read and also the form link is also not visible. I can redesign it, provided I get the form link.

@dev129 the changes have been done already for the same, similar PR was raised already. so closing this issue!


Getting gaze cursor working

I'm trying to use SteamVR-OpenHMD with just an Oculus DK1 headset and a gamepad, on Ubuntu.
I want to be able to operate the menus in SteamVR Home.
I am able to get everything hooked up, and look around in SteamVR home, and even jump around by hitting one of the right shoulder buttons and looking at where I want to go. Head rotation tracking is fine, and the rendering/distortion seems fine as well.
My problem is that I can't hit any of the buttons. When I load in, the wall in front of me says to press Y to open the menu. When I do that, a floating menu comes up in front of me, with a button on it that it says I am supposed to activate with "Trigger". I can't do anything to get the button to click.
I've also tried SteamVR-OSVR with the same hardware. When I do that, I seem to have some sort of gaze control/pointer that I don't have with SteamVR-OpenHMD. When I get the same menu, I can look at the button it wants me to click and hit the A-button-equivalent on my controller to click the button. I also get little extra menus coming up when I hover my gaze at the side of that floating menu, and when I bring up the teleport/jump overlay with that shoulder button, I have a green cursor that moves wherever I look on the floor, to show me where I am going to teleport to. Unfortunately, SteamVR-OSVR can't handle rendering correctly; the images for the two eyes that I get don't come to a coherent 3D view, and everything weirdly changes size in the vertical and horizontal dimensions as I tilt my head. Plus, the whole OSVR ecosystem is both much more complex than OpenHMD and also apparently abandoned, so I would much rather use this project.
Does anyone have any insight into what SteamVR-OSVR might be sending in to SteamVR to make its gaze cursor work? And how SteamVR-OpenHMD could be modified to do the same thing?
My config file looks like this:
hmddisplay 0
hmdtracker 0
leftcontroller -1
rightcontroller -1

I haven't tried telling it that my head is one of the controllers. Perhaps that would work?

Interesting.
Perhaps the plugin needs to tell SteamVR that it does not support controllers at all for it to be activated or some other special code is needed.

Here's a bunch of stuff that doesn't help:

Using leftcontroller 0 in the config file.
Changing the reported interface set from IVRSettings_002 ITrackedDeviceServerDriver_005 IVRDisplayComponent_002 IVRDriverDirectModeComponent_005 IVRCameraComponent_002 IServerTrackedDeviceProvider_004 IVRWatchdogProvider_001 IVRVirtualDisplay_002 IVRDriverManager_001 IVRResources_001 to IVRSettings_002 ITrackedDeviceServerDriver_005 IVRDisplayComponent_002 IVRDriverDirectModeComponent_002 IVRControllerComponent_001 IVRCameraComponent_002 IServerTrackedDeviceProvider_004 IVRWatchdogProvider_001 IVRVirtualDisplay_001 like OSVR reports.
Adding a vr::TrackedDeviceClass_TrackingReference device that just sits there, like OSVR does.
Setting a nonzero poseTimeOffset in the HMD pose.
Setting willDriftInYaw and shouldApplyHeadModel in the pose.
Normalizing the pose head rotation quaternion.
Moving HMD tracking and calling TrackedDevicePoseUpdated into a thread.
Adding ITrackedDeviceServerDriver as a supported component in the HMD driver's GetComponent.

Copying all the properties that OSVR sets over seems like it may have gotten it working. I'm currently trying to prune that down to just whatever is actually required.

Thanks for looking into this, this will be quite useful.
And yes, SteamVR-OpenHMD is not very complete, I didn't do a lot of work on it after it started working, partly because it's quite painful to work with such little documentation...

Thanks for investigating, I added an environment variable to override the manufacturer string and tried with my Vive and OpenHMD and SteamVR Home kind of works.


Wrong paragraph ordering in tutorial

URL(s) with the issue:
https://www.tensorflow.org/tutorials/keras/classification
Description of issue (what needs changing):
When you open the above tutorial, the description of the dataset (Fashion MNIST) is placed at the bottom of the page.
However, in the original .ipynb file, it is in the first section "Import the Fashion MNIST dataset".
It seems that the order of the paragraph is wrongly rearranged when building the web page.

This is now fixed.

Thanks!


exposed searchMethod to allow for customization

As described in #265, this makes it possible for the caller to add debouncing:
list.searchMethod = debounce(100, list.searchMethod);

Interesting feature!
But if you have a so big list that his is interesting you could write your own search method that debounces and then uses the core search.
...and please do not include the dist-files when making pull requests :heart:
Read guidelines for contributing here: http://www.listjs.com/overview/contribute


Make the web page responsive

Current Behaviour:

I'd like to work on this one, could you assign me please? :)

Great!
Just a reminder, you will have to keep your fork in sync.
Just read it under Steps to Follow.

Closed via #14


[cmake] Add support for building the swift stdlib with LTO.

This is controlled with the option SWIFT_STDLIB_ENABLE_LTO=thin|full.

@swift-ci test

NOTE: This just handles the cmake part. There is a bunch of issues still with how we are doing this and in fact this will not work without some patches I have out of tree. But the right flags get to the right places with this one.

Build failed
Swift Test Linux Platform
Git Sha - 24f6c799b6102c44608194bbf64e0a587bdca3af

@swift-ci test linux platform


Permission sets

closing/reopening to trigger automation--labels, author to review, etc.

This PR was created accidentally. It is not needed anymore.

@ArvindHarinder1 : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Unapproved surau is searchable via search tab

Surau belum approve(3rd item), tapi dah boleh search dekat search tab/bar.

Add filtering

I think we can close this, since its merged.
Thanks for contributing!


Support for multilingual course pages

An enhancement idea: supporting multilingual pages. Perhaps via a _posts.en and _posts.fr system or via encoding it in the post name somehow.

Here is an example of a multi-lingual course: https://github.com/p2pu/exploerer. There might be better ways to do it, but I find that being able to deviate from a 1-to-1 translation is better


Can we add support to ._<file_name>.jpg files?

Is your feature request related to a problem? Please describe.
Thanks for the great gallary application! One issue I'm running into with the application is that it doesn't work well with folders that contain ._<file_name>.jpg files which contains resource fork info. The current behavior seems to be that they will be treated as image files and the application fails to render them. See screenshot below as an example:

Describe the solution you'd like
Ideally, we want to be able to read the file metadata from the corresponding ._<file_name>.jpg files. If not, at minimum, we should be able to have a regex config or something so that PiGallary can ignore those.

Hi,
There is a plan to support xmp files: #156, which has similar use-case.
For the hiding part:
related to #192.
This should be added to the somewhere this file: https://github.com/bpatrik/pigallery2/blob/d64670751cfd5f601c126cf69df89859cf08d4a0/src/backend/model/threading/DiskMangerWorker.ts#L49
It should not be that hard to implement. I accept PRs :)


Fix error about monitoring_infos closure.

I'm seeing this on other PRs.

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

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

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

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

What is the behavior change here and/or errors? You could perhaps add this to the description.


Window resize (sometimes) triggers setScissorRect:]:2565: failed assertion

Hello,
our Application sometimes crashes due to a Metal Validation error when we resize our window. The issue does not show up all the time just randomly. We get something like the following:
-[MTLDebugRenderCommandEncoder setScissorRect:]:2565: failed assertion (rect.x(0) + rect.width(2214))(2214) must be <= render pass width(2176)
`
While debugging this issue it seems that when the NSWindow receives the window resize notification NSWindowWillStartLiveResizeNotification the rendering code is still active in the Display Link Callback function.
We think it is something we are not doing right, so the question is, what is the proper way to handle a window resize with a DisplayLink callback and MoltenVK?
Is there any way to delay the actual resize until the frame rendering has completed?

I don't know if it's standard practice, but I noticed that vkAcquireNextImageKHR will return VK_OUT_OF_DATE_KHR, so in my loop I catch that, vkDeviceWaitIdle, then rebuild the swapchain with the new size. This has worked great not only on macOS for live window resizing and going into and out of fullscreen, but on iOS for device rotation and changing split view on iPad.

@aerofly
As @mbarriault indicates, both vkAcquireNextImageKHR() and vkQueuePresentKHR() return VK_ERROR_OUT_OF_DATE_KHR when the swap chain image size is different than the view size. The app can use this result to rebuild the swap chain.
The MoltenVK Cube demo sample (Demos->cube.c) includes a sizeable window...and you can see how it handles rebuilding the swap chain after receiving the VK_ERROR_OUT_OF_DATE_KHR  result.

@aerofly
As @mbarriault indicates, both vkAcquireNextImageKHR() and vkQueuePresentKHR() return VK_ERROR_OUT_OF_DATE_KHR when the swap chain image size is different than the view size. The app can use this result to rebuild the swap chain.
The MoltenVK Cube demo sample (Demos->cube.c) includes a sizeable window...and you can see how it handles rebuilding the swap chain after receiving the VK_ERROR_OUT_OF_DATE_KHR  result.

@aerofly
As @mbarriault indicates, both vkAcquireNextImageKHR() and vkQueuePresentKHR() return VK_ERROR_OUT_OF_DATE_KHR when the swap chain image size is different than the view size. The app can use this result to rebuild the swap chain.
The MoltenVK Cube demo sample (Demos->cube.c) includes a sizeable window...and you can see how it handles rebuilding the swap chain after receiving the VK_ERROR_OUT_OF_DATE_KHR  result.

Thank you both for the reply. Well, I already check the result of vkAcquireNextImageKHR and vkQueuePresentKHR. And if one of the functions return VK_ERROR_OUT_OF_DATE I indeed resize the swap chain.
But the issue still shows up. When debugging my project, it is as follows:

I receive a VK_ERROR_OUT_OF_DATE result from vkQueuePresentKHR
But right after that call, before any other Vulkan functions is called, I do get a validation error in
void MVKScissorCommandEncoderState::encodeImpl() {   [_cmdEncoder->_mtlRenderEncoder setScissorRect: _cmdEncoder->clipToRenderArea(_mtlScissor)]; }
When looking at the call trace, I can see that the above function was actually called through a call to vkQueueSubmit that I issued, right before I called vkQueuePresentKHR.

When looking at it, it seems like vkQueuePresentKHR actually detected a resize and returns the result properly, but the call to vkQueueSubmit when used in conjunction with synchronousQueueSubmits flag, causes the issue. E.g. I can't actually resize my swap chain since vkQueueSubmit already receives those changed sizes.
Please note: If I set synchronousQueueSubmits to true, I do NOT see the issue and everything runs fine.

@aerofly Fixed in PR #213. Please retest and close if successful.

I can confirm it's now working. Thank you for the quick fix!


Issues with theming

When a custom CSS file is added after the theme 'hacker' was applied the font and colours in the custom CSS are ignored and the one from the hacker theme are used.
Workaround: After the custom CSS file pasted and saved, apply the default theme.

Thanks for mentioning this. This will be addressed in the upcoming overhaul, where profile theming will be completely re-done!

:0 nice! can't wait for the overhaul.

This item is being tracked in the new omg.lol Feedback Forum. To follow its status, visit: https://feedback.omg.lol/16605846989018

I believe this has been addressed in the theming overhaul, but there will be some further adjustments to themes to make things even more straightforward at some point. Until then, any situations like these might need some extra declarations and/or !importants to get things behaving as intended.


Auto PyPI deploy when merge to master

We need to configure a GitHub action to auto deploy the tool right version, when a PR is merged to master branch.

Solved by #12.


gitee.com support maybe?

It's popular chinese GitHub analogue

Does it use the same URL format as GitHub? i.e. does the GitHub host generate the expected URLs for gitee? If so, then this should be easy to support.

On the assumption that is correct, this has been added in 4.0.9


Maybe apply 3D transforms to particles to achieve better effects?

Is your feature request related to a problem? Please describe.
I really like the confetti effect in iMessage. It would be nice if SPConfetti could do something similar.
Describe the solution you'd like
👍 Checkout this repo: bryce-co/RecreatingiMessageConfetti
Describe alternatives you've considered
n/a
Additional context
n/a

Thanks for idea, I will check how can add it.

Sorry for delay
Added in 1.4.0 version


Feature not working as expected - engineering reporting the feature is not available.

Hey team. I have been supporting a client on the implementation of the consent management based on this article.
After discovering it's not working, we raised a ticket. One of the engineers stating:
"Unfortunately this is not something technically possible at the moment".
I assume the process described in the article has been tested before documenting it.
Could you please confirm the consent management is working as expected and documented?
Thanks!!
Issue in ./help/landing/governance-privacy-security/consent/adobe/overview.md

Thank you for submitting this issue. We will review the documentation and make the necessary updates as quickly as possible. Tracking internally in PLAT-135353.

Closing this issue due to lack of information. We'll revisit it if needed.


New: Dev: Makefile checks for compiler rather than the OS to determine the compiler

Resolves #11

I refused this pull request in favor of d307f9a4c3d38c2ac9ec5efe9a0813e9cf29b27c. Sorry it took your time. This solution could be useful in the future nonetheless.


[WIP] SoftButtonObject enhancements

Fixes #1126 & #1127
This PR is [not ready] for review.
Risk
This PR makes no API changes.
Testing Plan
[Describe how you plan to unit test the changes in this PR]
Summary
[Summary of PR changes]
CLA

[x] I have signed the CLA

Codecov Report

Merging #1131 into develop will increase coverage by 0.05%.
The diff coverage is 48.88%.

@@              Coverage Diff              @@
##             develop    #1131      +/-   ##
=============================================
+ Coverage      46.89%   46.94%   +0.05%
- Complexity      4048     4066      +18
=============================================
  Files            457      457
  Lines          22286    22350      +64
  Branches        2522     2531       +9
=============================================
+ Hits           10450    10492      +42
- Misses         11223    11239      +16
- Partials         613      619       +6

Impacted Files
Coverage Δ
Complexity Δ

...artdevicelink/managers/screen/SoftButtonState.java
44.82% <14.28%> (-11.7%)
6 <0> (ø)

...icelink/managers/screen/BaseSoftButtonManager.java
56.48% <54.83%> (-0.72%)
44 <3> (+3)

...rtdevicelink/managers/screen/SoftButtonObject.java
60.75% <57.14%> (-0.89%)
20 <2> (+1)

...martdevicelink/proxy/rpc/enums/ImageFieldName.java
100% <0%> (ø)
3% <0%> (+1%)
:arrow_up:

...main/java/com/smartdevicelink/proxy/rpc/Alert.java
100% <0%> (ø)
33% <0%> (+13%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 30b3ba4...b6d9b3d. Read the comment docs.


flaky CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects.Tests.AppHostTests.ResourceStartsAndRespondsOk

build : https://github.com/CommunityToolkit/Aspire/actions/runs/11777837131/job/32803012099
trx: test-results-ubuntu-latest.zip
Logs:
CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects.Tests.AppHostTests.ResourceStartsAndRespondsOk [FAIL]
  Failed CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects.Tests.AppHostTests.ResourceStartsAndRespondsOk [5 m]
  Error Message:
   System.TimeoutException : The operation has timed out.
  Stack Trace:
     at CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects.Tests.AppHostTests.ResourceStartsAndRespondsOk() in /_/tests/CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects.Tests/AppHostTests.cs:line 14
--- End of stack trace from previous location ---

@ErikEJ @jmezach can you have a look into this test please.
I had a look into the trx and I see this towards the bottom:
fail: Aspire.Hosting.Dcp.start-apiserver.api-server.container-logstreamer.ContainerOrchestrator[0]
      capturing container logs failed	{"ContainerRuntime": "", "Container": "f2d7c2713bfda429905551c75620c4c368787434b02ad638019fc3e9db1db8dc"}
info: CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects.AppHost.Resources.sql[0]
      444: 2024-11-11T11:46:16.0168280Z
info: CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects.AppHost.Resources.sql[0]
      445: 2024-11-11 11:46:16.01 spid20s     Error: 17053, Severity: 16, State: 1.

Admittedly, I'm not sure if this is the actual problem or something unrelated (I'm not familiar with what the logging should look like in the Aspire logs), but the fail step seems to suggest something went wrong.

I think it could be an OS disk issue, like out of disk space or similar. Looks like some details about the error from SQL Server is missing

@aaronpowell Maybe your recent PR will fix this: https://github.com/CommunityToolkit/Aspire/pull/222 ?

If anyone wants to review it to see if the changes are ok we can merge and push forward 😉

Thanks for the fix @aaronpowell  :)


xcode-select error

when I type xcode-select --install on terminal
it appeared xcode-select: error: command line tools are already installed, use "Software Update" to install updates

but in third step I try both two steps, it appeared"command not found: brew" when I type:/opt/homebrew/bin/brew shellenv
brew install openjdk@17
export HOMEBREW_PREFIX="/opt/homebrew";
export HOMEBREW_CELLAR="/opt/homebrew/Cellar";
export HOMEBREW_REPOSITORY="/opt/homebrew";
export PATH="/opt/homebrew/bin:/opt/homebrew/sbin${PATH+:$PATH}";
export MANPATH="/opt/homebrew/share/man${MANPATH+:$MANPATH}:";
export INFOPATH="/opt/homebrew/share/info:${INFOPATH:-}";
zsh: command not found: brew


Watcher makes original object reactive

Version
2.4.4
Reproduction link
https://jsfiddle.net/cckLd9te/198/
Steps to reproduce
This may be related: https://github.com/vuejs/vue/issues/6616
  data () {
    return {
      someData: [{
        id: 1
      }, {
      	id: 2
      }, {
      	id: 3
      }],

      emptyData: [],

      trigger: false
    }
  },

  watch: {
    trigger () {
      this.$set(this, 'emptyData', this.someData)
    }
  },

  methods: {
    setEmptyData (parameter) {
      this.$set(this.emptyData[2], 'id', parameter)
    }
  }

Set data from an existing data source through a watcher with Vues $set method
Mutate the set data
The original data used inside the watcher get's mutated, too

What is expected?
Only the set data should be mutated.
What is actually happening?
The originally and the newly set data are mutated.

Cloning at the watcher helps to prevent this. But I thought I'm on the safe side when I use Vue.set. I know that Vue can't detect property/array index changes/additions but I don't add/change the property/array index from the original data.

This is expected because it's just how JavaScript works. You are sharing the same object by reference. Vue.set has nothing to do with that. Cloning is the correct solution.

Thanks!


Use changes in upstream seastar to access client address

This PR will revert changes made in https://github.com/redpanda-data/seastar/pull/76 and applies changes made in https://github.com/scylladb/seastar/pull/1851

@mmaslankaprv I know you're busy, but I wanted to make sure you saw the changes since it effects your upstream PR

LGTM, i will have to do the same with the "tls per endopoint feature"


refactor(frontend): split create_source into smaller mods

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?

Checklist

[ ] I have written necessary rustdoc comments.
[ ]  I have added necessary unit tests and integration tests.
[ ]  I have added test labels as necessary.
[ ]  I have added fuzzing tests or opened an issue to track them.
[ ]  My PR contains breaking changes.
[ ]  My PR changes performance-critical code, so I will run (micro) benchmarks and present the results.
[ ]  My PR contains critical fixes that are necessary to be merged into the latest release.

Documentation

[ ]  My PR needs documentation updates.

Release note

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#19803  👈 (View in Graphite)
#19802
main

This stack of pull requests is managed by Graphite. Learn more about stacking.


ca.pem not generated?????

Can anyone kindly help me with this error? After I type "cd ./downloads/pokemon-go-mitm-node" and then "coffee example.logTraffic.coffee"
This shows up. "[+++] PokemonGo MITM Proxy listening on 8081 [!] Make sure to have the CA cert .http-mitm-proxy/certs/ca.pem installed on your device""
After this, I went into "http-mitm-proxy" folder, there is no ca.pem.
Would anyone like to advise on this?

LMAO, checked closed issue.
Solved it.
Closed.


Fix cloudinary asset fluid limit presentation size

The properties presentationHeight and presentationWidth were incorrectly added to CloudinaryAssetFixed instead of CloudinaryAssetFluid in #32.
This PR fixes that and adds documentation for how to use the CloudinaryAssetFluidLimitPresentationSize fragment.

Thanks for the fix @kurttomlinson  👍

Thanks for the fix @kurttomlinson 👍

Thanks for the review and the merge @Chuloo !!


Breaks indentation if used with vim-jsx-pretty

This plugin breaks (disables) indentation for jsx code if vim-jsx-pretty is used. To reproduce please use following ~/.vimrc.test:
call plug#begin()

set sw=2 ts=2

Plug 'pangloss/vim-javascript'
Plug 'MaxMEllon/vim-jsx-pretty'
Plug 'jparise/vim-graphql'

call plug#end()

And then open .js file with jsx with vim -N -u ~/.vimrc.test component.js

Please see how vim-styled-components solved this: https://github.com/styled-components/vim-styled-components/blob/main/after/indent/javascript.vim#L138-L166

Thanks for the pointer! It looks like supporting the full "stack" of JS-adjacent plugins will be pretty involved so it will take me some time to put together a good test suite. Please add any important examples and test cases to this issue so I can include them.
I'll try to pick this up over the weekend.

 let l:result = cindent(v:lnum) + recursion safeguard should be enough, no need to support stack of them


Complete cri grpc plugin config migration

It seems CRI GRPC plugin config cannot be migrated (other than disable_tcp_service). This PR make sure all fields in v3 plugins."io.containerd.grpc.v1.cri" are migrated from v2 plugins."io.containerd.grpc.v1.cri".
Running sudo ./bin/containerd -c test.toml config migrate on this v2 cri grpc config:
version = 2

[plugins]
[plugins."io.containerd.grpc.v1.cri"]
disable_tcp_service = true
stream_server_address = '<IP_ADDRESS>'
stream_server_port = '15000'
stream_idle_timeout = '5h0m0s'
enable_tls_streaming = true

[plugins.'io.containerd.grpc.v1.cri'.x509_key_pair_streaming]
tls_cert_file = '/path/to/cert.pem'
tls_key_file = '/path/to/key.pem'

The migrated plugins."io.containerd.grpc.v1.cri" in main branch (only default values):
  [plugins.'io.containerd.grpc.v1.cri']
    disable_tcp_service = true
    stream_server_address = '<IP_ADDRESS>'
    stream_server_port = '0'
    stream_idle_timeout = '4h0m0s'
    enable_tls_streaming = false

    [plugins.'io.containerd.grpc.v1.cri'.x509_key_pair_streaming]
      tls_cert_file = ''
      tls_key_file = ''

After this change:
  [plugins.'io.containerd.grpc.v1.cri']
    disable_tcp_service = true
    stream_server_address = '<IP_ADDRESS>'
    stream_server_port = '15000'
    stream_idle_timeout = '5h0m0s'
    enable_tls_streaming = true

    [plugins.'io.containerd.grpc.v1.cri'.x509_key_pair_streaming]
      tls_cert_file = '/path/to/cert.pem'
      tls_key_file = '/path/to/key.pem'

/test pull-containerd-k8s-e2e-ec2

We should get this into the first patch release for 2.0

SG, will create a backport.

It is worth looking into whether we should have a non default config migration test, seems this is missed is the migration test since we only test the default case. We might be missing cases where a value gets overrode with a default.

Agreed, since with default only it's hard to tell if a value comes from migration or just the default in new config. I will create a migration integration test for non-default values.

Added an integration test to show it fixes the migration case against a custom config

/cherrypick release/2.0


[BUG] The top title bar is covered by browser bookmark bar

On the dashboard page, the top title bar is covered by browser bookmark, as shown below:
With chrome bookmark bar:

Without chrome bookmark bar:

Chrome version: 96.0.4664.110 (x86_64)
System version: MacOS 12.1, 16-inch

Thank you for your report. It is a known issue that we will fix later.
Currently we use "px" as CSS unit and this unit works perfect under resolution of 1920*1080. However, MacOS and Windows will autimatically enlarge pixels in high resolution monitors, which leads to this problem.
There is a trick. You can zoom in the page to get a "just OK" layout.
We will fix this ASAP.

Thank you for your report. It is a known issue #29 that we will fix later.
Currently we use "px" as CSS unit and this unit works perfect under resolution of 1920*1080. However, MacOS and Windows will autimatically enlarge pixels in high resolution monitors, which leads to this problem.
There is a trick. You can zoom in the page to get a "just OK" layout.
We will fix this ASAP.

Cool

SODA components were removed from the codebase, so this issue will be closed :)


Scalability

Requirement
The website should be scalable to accommodate increasing traffic and data.
Tasks

[ ] Use a scalable infrastructure such as cloud hosting
[ ] Optimize website code and database queries for scalability
[ ] Monitor website traffic and resource usage to ensure scalability

From Use Cases: REA-001, REA-002
https://github.com/RequirementsProject/RealtorWebsiteProject/blob/main/Use Cases.pdf


Last passing PDF build offered even when out of date

Our build logs correctly show PDF builds as failing. However, a PDF version is offered for download in the docs. Turns out that is the last successfully produced PDF -- from around July 2014. :(
My expectation would be that either:

the user is notified that the non-html docs are out of date as part of download, or
out of date alternate formats (PDF & ePub) are not downloadable if they aren't current.

-1 to halting downloads when builds are failing. If the builds are out of date, that is the authors problem, not the user. This would definitely be a bad user experience for users that want to download documentation.
We're doing a poor job of letting the authors know when PDFs fail, so maybe a better avenue is to increase messaging on pdf failures. Both to authors in email, but also on the project page or download page. On site messaging g might not mean much to anyone as downloads are hotlinked usually.

I would suggest that downloading ancient PDF thinking it's current with displayed HTML is a worse user experience.
Keeping the user informed lets them make the choice, and decouples this from issue 1121

Again, that's an authorship problem, not a user problem. We wouldn't 404 on access to docs when builds are failing in another other scenario, so I don't see this being different. We prefer access to documentation remains intact for readers, even if that means an out of date, archived pdf.
However, your point is still valid. The real issue is that we are failing at making sure authors know their builds are failing.

We agree what's happening now is bad for users. Good.
I would vote for transparency to the user. I can badge my doc status on a website -- why shouldn't each artifact (html, epub, pdf) be "auto badged" on the rtd site if that build type has failed? (I.e. 404 is one response, having a dimmed icon or missing icon is another.)
Right now, the experience for both authors and users is surprising. What's your recommendation on the quickest way to restore "principle of least surprise"?

I think that the first stop gap should be adding a PDF build error email. This should be relatively easy and would put some pressure on project maintainers to fix the issue.
I generally like the idea of a "stale" badge display concept as well, something I'm not 100% sure we're tracking at the moment. +1 on more transparency to end users, not to mention social pressure :). Though the secondary badge is a slippery slope due to the way the builds were architected.
PDF builds were architected in a strange way, they were added as second class build objects. Ideally, we would have treated builds as an encompassing object that included child html and pdf builds. So, right now, an HTML build can pass and the PDF can fail, but RTD equates the build with the HTML build, so it will seem to pass. This happens across the site in many places and could be addressed instead of furthering the split between html builds and pdf builds.
We have plans to tackle some of this in a larger build refactor, so don't want to send anyone down the wrong path with this. I'd like to get this resolved soon, so if no one else can get to this, I'll likely jump in sometime this week or next.

The build refactor is in production and accomplishes part of what was discussed above. The builds for HTML and PDF are now a single build, which if it fails, will notify the author of failure and trigger the standard build failure badge. I believe this addresses the original scenario.
I still like the idea of tracking build output objects, so that we can give an idea of freshness to the user for those objects on the downloads page. We have plans for this already as a broader concept, but it's sitting on our roadmap at the moment.

Closing this issue, as the original issue is mostly solved. Still no plans to overhaul our downloads on our roadmap at this point either.


feat: add CD Workflow runner

Please describe the changes this PR makes:

Adds workflow runner for PRs
-> Only runs with comment: @ijsblokjeee[bot] npm release-dev

@ijsblokjeee[bot] npm release-dev


Theme colors look wrong on custom st build

This is gruvbox theme

I do have true color support in my terminal, idk why the colors show wrong :thinking:

I don't see anything wrong.
Or are you saying that the color is not like gruvbox?

Do you mean background color?
Can you try changing the theme to something else?

nord looks like that

It looks like only the background color is wrong.
Can you try using different terminals?
Thank you so much for the test!

it works on all other terminals, and even other ST builds but not mine :((

It seems to be a terminal issue. :(
What is your terminal?

https://github.com/siduck/st

idk how your   programs sets colors, but my terminal does support true colors , i use it all the time in neovim.
@bakkeby I tried your build and it doesnt have this issue,   have you added any patch for it?

Hi @siduck,
in the context of st yes the alpha patch is too bright.
I added these changes which makes the colours look the same as in other terminals:
https://github.com/bakkeby/st-flexipatch/commit/f7730166807252159475a77976b63545f970d55f

Hi @siduck,
in the context of st yes the alpha patch is too bright.
I added these changes which makes the colours look the same as in other terminals: bakkeby/st-flexipatch@f773016

i added those, didnt work

@siduck trying your build I see that it spits out this when superfile is started:
erresc: invalid color j=258, p=?
erresc: invalid color j=259, p=?
erresc: invalid color j=258, p=?

In st.c color reset section this is what is in your build.
		case 104: /* color reset, here p = NULL */
			if (par == 10)
				j = defaultfg;
			else if (par == 11)
				j = defaultbg;
			else if (par == 12)
				j = defaultcs;
			else
				j = (narg > 1) ? atoi(strescseq.args[1]) : -1;

			if (xsetcolorname(j, p)) {
				if (par == 104 && narg <= 1)
					return; /* color reset without parameter */
				fprintf(stderr, "erresc: invalid color j=%d, p=%s\n",
					j, p ? p : "(null)");
			} else {
				/*
				 * TODO if defaultbg color is changed, borders
				 * are dirty
				 */
				if (j == defaultbg)
					xclearwin();
				redraw();
			}
			return;

whereas in a bare st we have:
		case 104: /* color reset */
			j = (narg > 1) ? atoi(strescseq.args[1]) : -1;

			if (p && !strcmp(p, "?")) {
				osc_color_response(j, 0, 1);
			} else if (xsetcolorname(j, p)) {
				if (par == 104 && narg <= 1) {
					xloadcols();
					return; /* color reset without parameter */
				}
				fprintf(stderr, "erresc: invalid color j=%d, p=%s\n",
				        j, p ? p : "(null)");
			} else {
				/*
				 * TODO if defaultbg color is changed, borders
				 * are dirty
				 */
				tfulldirt();
			}
			return;

Looks to come from changes that NRK introduced:
https://git.suckless.org/st/commit/8629d9a1da72cc18568a8f146307b0e939b77ebf.html
https://git.suckless.org/st/commit/8629d9a1da72cc18568a8f146307b0e939b77ebf.html
https://git.suckless.org/st/commit/7e8050cc621f27002eaf1be8114dee2497beff91.html
Not sure if that is related though as I don't know how to reproduce your issue.

Just wanted to add some more testing data/info. I am also running into this on windows using WSL (Ubuntu 22.04). So far the colors only seem to be correct in WezTerm and Extraterm and all the other terminals that I've tried (Windows Terminal, Alacritty, Rio, Hyper, Tabby, Contour, WindTerm) have shown the wrong colors exactly as siduck is experiencing.
I'll try out the dozen or so terminal emulators I have on my mac tomorrow and update this comment with the results.


Support  Preview hovercard API (#875)

Add support for new preview Hovercard API as described in:
https://developer.github.com/changes/2018-03-21-hovercard-api-preview/
This PR adds:

A new method to support the new Hovercard API.

Fixes:  #875

I signed it!

Thanks for the suggestions @shurcooL .
PR has been updated to address the suggested changes.

To use Hovercard api, authentication needs to be in place.
Should a comment describing this be added in the new method?

Should a comment describing this be added in the new method?

Good call, let's do that.
GitHub API v3 already documents that requirement at https://developer.github.com/v3/users/#get-contextual-information-about-a-user, but it will be nice if we mention it here too.
UsersService.GetGPGKey method serves as a good template for how to do it:
https://github.com/google/go-github/blob/89a446efe88e1636068183a91ca8845683683477/github/users_gpg_keys.go#L77-L81
Also, given we already renamed UserContextualInfoResponse to Hovercard and the endpoint is GET /users/:username/hovercard, I think we should apply the same change to the method name. It can be renamed to GetHovercard. What do you think?
So, it can look something like this:
// GetHovercard gets hovercard information for specified user. It requires authentication
// via Basic Auth or via OAuth with the repo scope.
//
// GitHub API docs: https://developer.github.com/v3/users/#get-contextual-information-about-a-user
func (s *UsersService) GetHovercard(ctx context.Context, user string, opt *HovercardOptions) (*Hovercard, *Response, error)

Note that you should return the entire *Hovercard from that method, not just []*UserContext. That way, if the hovercard gets extra fields in the future, they'll be a part of the response.

I have made the suggested changes.
Apologies for taking so long.

Hey @shurcooL , any views on this changes ? Let me know if this looks good to you


Fixing bootup inconsistencies due to invalid cluster-store config

In scenarios where the cluster-store configuration is invalid or the store is down during daemon bootup, the Get APIs in libnetwork were aggressively failing resulting in failing even the local networks and endpoints. There is no reason to be aggressive when the cluster-store is unreachable especially on the Get All Apis. Hence it also helps in solving a bunch of inconsistency issues for the docker0 bridge as well as tracked in https://github.com/docker/libnetwork/issues/651 also solves a part of https://github.com/docker/docker/issues/17007 .

LGTM

LGTM


is compatibe with version 4 of ios?

I have trouble ios version 4 and I wonder if this version works or not to use another version as 10.2; Thanks for your answers

I tested only with iOS 8+.
It should work with iOS 4 but I am not able test. It is a 6 year old version.

thanks pbakondy, if the Gillen know how to fix this and other plugins in version 4 of ios please tell me;


Debugger: Collapse multiline values in variable pane preview

In the debugger variable pane, VSCode shows a truncated, single line preview of the value returned in the DAP Variable type. It would often be more useful to show more than just the first line, and it is further confusing that when the first line is shorter than the width provided, no ellipsis is shown, so that it is unclear that there is actually a second line.
For example, if the DAP value is something like:
{
  "name":"city",
  "value":"criterion_id: 1\ncountry_code: \"DE\"\ncity_name: \"chicago\"\n"
  ...
}

Currently we show this:

I think it would be more useful to not use white-space: pre, so that instead we show:

First, if there is more space, it is used. Second, there is always an ellipsis symbol when something was cut off, not just if there is something cut off in the first line.
Happy to send a PR deleting the white-space: ellipsis if you agree this is an improvement.

I'd like this, but we should show the newlines in the collapsed value

Good idea, we could use the ⏎ for that. But I don't think that can be done in CSS only. I won't get to it this week, but could send a PR next week.

Sorry for not getting back here. I was not able to prioritize this in the end. Our immediate pain point is addressed with a CSS only patch on our fork. I agree it would be nicer to have the newline signs but I cannot make time for it at the moment to build and upstream that.


Problem with dependency injection in version 1.7

There is a problem with the latest release 1.7. After updating form 1.6 to 1.7 and starting the symfony console I get the following error:
[Symfony\Component\DependencyInjection\Exception\InvalidArgumentException]
"'Nzo\\UrlEncryptorBundle\\Annotations\\AnnotationResolver
        '" is not a valid class name for the "nzo.annotation_resolver" service.

The problem is an invalid line break before the closing </parameter> in Resources/config/services.xml:
 <parameters>
    <parameter key="nzo_url_encryptor.class">Nzo\UrlEncryptorBundle\UrlEncryptor\UrlEncryptor</parameter>
    <parameter key="encryptor_extension.class">Nzo\UrlEncryptorBundle\Twig\UrlEncryptorExtension</parameter>
    <parameter key="encryptor_annotation_resolver.class">Nzo\UrlEncryptorBundle\Annotations\AnnotationResolver
    </parameter>
</parameters>

Introduced in this commit

:+1:
Fixed: https://github.com/NAYZO/NzoUrlEncryptorBundle/pull/11
It's weird though, this bug is introduced by my IDE code formatting !!


srtp: 1.5.4 -> 2.1.0

Semi-automatic update generated by https://github.com/ryantm/nix-update tools. These checks were done:

built on NixOS
Warning: no binary found that responded to help or version flags. (This warning appears even if the package isn't expected to have binaries.)
found 2.1.0 with grep in /nix/store/rgqp3xyxn4m88whigf4msz3kj07hhgkf-libsrtp-2.1.0
directory tree listing: https://gist.github.com/d1a145c8a1c6845fe2715b901b9f99b2

Success on x86_64-darwin (full log)
Attempted: srtp
Partial log (click to expand)
                ln -sfn libsrtp2.1.dylib /nix/store/zbpqr0h59vypap8c2xpbj0whzk73qsyj-libsrtp-2.1.0/lib/libsrtp2.dylib; \
        fi; \
fi
/nix/store/s28xb9v7xf6axvf4a3av2mnczws2hsdg-coreutils-8.29/bin/install -c -d /nix/store/zbpqr0h59vypap8c2xpbj0whzk73qsyj-libsrtp-2.1.0/lib/pkgconfig
cp ./libsrtp2.pc /nix/store/zbpqr0h59vypap8c2xpbj0whzk73qsyj-libsrtp-2.1.0/lib/pkgconfig/
post-installation fixup
strip is /nix/store/vb6mgjqgd9h11nbv60fvrp1ls9nxck2y-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/zbpqr0h59vypap8c2xpbj0whzk73qsyj-libsrtp-2.1.0/lib
patching script interpreter paths in /nix/store/zbpqr0h59vypap8c2xpbj0whzk73qsyj-libsrtp-2.1.0
/nix/store/zbpqr0h59vypap8c2xpbj0whzk73qsyj-libsrtp-2.1.0

Success on x86_64-linux (full log)
Attempted: srtp
Partial log (click to expand)
/nix/store/qrxs7sabhqcr3j9ai0j0cp58zfnny0jz-coreutils-8.29/bin/install -c -d /nix/store/rgqp3xyxn4m88whigf4msz3kj07hhgkf-libsrtp-2.1.0/lib/pkgconfig
cp ./libsrtp2.pc /nix/store/rgqp3xyxn4m88whigf4msz3kj07hhgkf-libsrtp-2.1.0/lib/pkgconfig/
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/rgqp3xyxn4m88whigf4msz3kj07hhgkf-libsrtp-2.1.0
shrinking /nix/store/rgqp3xyxn4m88whigf4msz3kj07hhgkf-libsrtp-2.1.0/lib/libsrtp2.so.1
strip is /nix/store/fzcs0fn6bb04m82frhlb78nc03ny3w55-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/rgqp3xyxn4m88whigf4msz3kj07hhgkf-libsrtp-2.1.0/lib
patching script interpreter paths in /nix/store/rgqp3xyxn4m88whigf4msz3kj07hhgkf-libsrtp-2.1.0
checking for references to /tmp/nix-build-libsrtp-2.1.0.drv-0 in /nix/store/rgqp3xyxn4m88whigf4msz3kj07hhgkf-libsrtp-2.1.0...
/nix/store/rgqp3xyxn4m88whigf4msz3kj07hhgkf-libsrtp-2.1.0

Success on aarch64-linux (full log)
Attempted: srtp
Partial log (click to expand)
/nix/store/c8bwnx988ckbw2igggv41s1mbd0v743m-coreutils-8.29/bin/install -c -d /nix/store/1jighxx4pbd7f09m0s1jmpknn8vz6k4r-libsrtp-2.1.0/lib/pkgconfig
cp ./libsrtp2.pc /nix/store/1jighxx4pbd7f09m0s1jmpknn8vz6k4r-libsrtp-2.1.0/lib/pkgconfig/
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/1jighxx4pbd7f09m0s1jmpknn8vz6k4r-libsrtp-2.1.0
shrinking /nix/store/1jighxx4pbd7f09m0s1jmpknn8vz6k4r-libsrtp-2.1.0/lib/libsrtp2.so.1
strip is /nix/store/3zq400fri5dv7d30lpxlqm2v9y1iis6j-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/1jighxx4pbd7f09m0s1jmpknn8vz6k4r-libsrtp-2.1.0/lib
patching script interpreter paths in /nix/store/1jighxx4pbd7f09m0s1jmpknn8vz6k4r-libsrtp-2.1.0
checking for references to /build in /nix/store/1jighxx4pbd7f09m0s1jmpknn8vz6k4r-libsrtp-2.1.0...
/nix/store/1jighxx4pbd7f09m0s1jmpknn8vz6k4r-libsrtp-2.1.0

Success on x86_64-linux (full log)
Attempted: srtp
Partial log (click to expand)
/nix/store/g7vw6knq0d8zczj4z4w2s7wc0j4kg8cv-coreutils-8.29/bin/install -c -d /nix/store/2jyamn09n5pm50f3fv7zhksrg09wphmr-libsrtp-2.1.0/lib/pkgconfig
cp ./libsrtp2.pc /nix/store/2jyamn09n5pm50f3fv7zhksrg09wphmr-libsrtp-2.1.0/lib/pkgconfig/
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/2jyamn09n5pm50f3fv7zhksrg09wphmr-libsrtp-2.1.0
shrinking /nix/store/2jyamn09n5pm50f3fv7zhksrg09wphmr-libsrtp-2.1.0/lib/libsrtp2.so.1
strip is /nix/store/5x9nfqa9sxj1dr9z8ln8sy9q6mhkkcqs-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/2jyamn09n5pm50f3fv7zhksrg09wphmr-libsrtp-2.1.0/lib
patching script interpreter paths in /nix/store/2jyamn09n5pm50f3fv7zhksrg09wphmr-libsrtp-2.1.0
checking for references to /tmp/nix-build-libsrtp-2.1.0.drv-0 in /nix/store/2jyamn09n5pm50f3fv7zhksrg09wphmr-libsrtp-2.1.0...
/nix/store/2jyamn09n5pm50f3fv7zhksrg09wphmr-libsrtp-2.1.0

Success on aarch64-linux (full log)
Attempted: srtp
Partial log (click to expand)
/nix/store/5jgz64sjgr8cvlccczc8vfb0dyyj3cka-coreutils-8.29/bin/install -c -d /nix/store/c1yni13qn9d3kncv8ci4i28k9nn43w6i-libsrtp-2.1.0/lib/pkgconfig
cp ./libsrtp2.pc /nix/store/c1yni13qn9d3kncv8ci4i28k9nn43w6i-libsrtp-2.1.0/lib/pkgconfig/
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/c1yni13qn9d3kncv8ci4i28k9nn43w6i-libsrtp-2.1.0
shrinking /nix/store/c1yni13qn9d3kncv8ci4i28k9nn43w6i-libsrtp-2.1.0/lib/libsrtp2.so.1
strip is /nix/store/ijmisi52n5wbwybg5ldysa6af01zy5dl-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/c1yni13qn9d3kncv8ci4i28k9nn43w6i-libsrtp-2.1.0/lib
patching script interpreter paths in /nix/store/c1yni13qn9d3kncv8ci4i28k9nn43w6i-libsrtp-2.1.0
checking for references to /build in /nix/store/c1yni13qn9d3kncv8ci4i28k9nn43w6i-libsrtp-2.1.0...
/nix/store/c1yni13qn9d3kncv8ci4i28k9nn43w6i-libsrtp-2.1.0

Failure on x86_64-darwin (full log)
Attempted: srtp
Partial log (click to expand)
cannot build derivation '/nix/store/x83wlfn7bxw9q4g7m90ba94bf2wv2h9x-CF-osx-10.10.5.drv': 7 dependencies couldn't be built
cannot build derivation '/nix/store/5mhh4s23f6arc7h0c2mrv5wb7h5qghbv-cctools-binutils-darwin-wrapper.drv': 7 dependencies couldn't be built
cannot build derivation '/nix/store/gdv274pga2k4lgchk9ss7y1apkb0pp55-clang-wrapper-5.0.1.drv': 9 dependencies couldn't be built
cannot build derivation '/nix/store/qzgpwd8i0vxnnvg420hh7hdx5dg29yc8-stdenv-darwin.drv': 35 dependencies couldn't be built
cannot build derivation '/nix/store/861m9vplfr774mmq5z5h1v3zcpnwxdn1-libiconv-osx-10.11.6.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/fxdhnkr3f8sqi9whli5rwg3vp9w4bg1v-perl-5.24.3.drv': 4 dependencies couldn't be built
cannot build derivation '/nix/store/74kx9njc7galv1j3gad587n7ls8dra4v-openssl-1.0.2n.drv': 3 dependencies couldn't be built
cannot build derivation '/nix/store/hyi8dawqlf475xn5fg8wy047jd5y3013-pkg-config-0.29.2.drv': 3 dependencies couldn't be built
cannot build derivation '/nix/store/hiyq8z3yisrxbb9ikd3sq25g9apxxhbj-libsrtp-2.1.0.drv': 4 dependencies couldn't be built
error: build of '/nix/store/hiyq8z3yisrxbb9ikd3sq25g9apxxhbj-libsrtp-2.1.0.drv' failed


Adding social media links in footer section

What is your issue or question?
There is no social media link in footer section and it must require for reaching out to connect with site.
Checklist

[X] I have checked the existing issues.
[X] I have read the Contribution Guidelines.
[X] I have read the Code Of Conduct.
[X] The changes don't break the code.

Please assign me this issue so that I can do task under GSSOC'24.

pls, assign me the issue. I will make sure the task is done.

Can you please assign me this issue for gssoc'24

Duplicate


Add whitepages pro APIs

add phone and address validation
add phone reputation to detect spammy numbers.
add fraud prevention api section

Hi @sakulich , thanks for the PR. It appears that none of these APIs are free from WhitePages. This list is a collection of free-to-use services, all of which offer at least some form of a free tier. Can you confirm?

Hi @davemachado i think there is a way to get up to 2000 free request for something like phone validation, but I doubt there is a free plan.

Thanks for the clarification @sakulich . If you can share something that shows the 2000 free requests for some service, we can definitely take a look at adding that service to the list. However, since this list's purpose is for free-to-use tools for developers to use, we can't add any services that are explicitly paid solutions. In any case, thanks for the contribution and I encourage you to open more in the future!

Aboslutely, @davemachado, here is the link to sign up for a free trial, not if that is enough.
https://pro.whitepages.com/developer/lp/start-api-trial/?plan_param=reverse_phone&utm_campaign=pro-api-trial-reversephone

Good news! I did a bit of digging and according to this page, developers can get a free API key with a rate limit of 4 queries per second, so it looks like Whitepages will work after all. @sakulich , can you please create one entry for the collective WhitePages APIs, instead of creating separate entries per endpoint? The schema for this project keeps similar services offered by the same company in one listing. Also, if you'd like to create a Fraud Protection section, please make sure to add it in alphabetical order. Thanks!

Great! thank you @davemachado, updated my PR.

Thanks!

thanks @davemachado !


Tweak - Reflective vest and Energy Katana should reflect only in correct slots

About the PR

Added new case for reflect component to take into account - positioning, because:
Equippable items, like swords, that reflect bullets and lasers should do it only in your hands.
Equippable items, like armor, that reflect bullets and lasers should do it only while you wearing them.
Why / Balance

Reflective vest should not work as a OP riot laser shield.
Energy katana should give you a feeling like you are cool ninja deflecting bullets and stuff, slicing them in mid air. Not a lucky frying pan from PUBG.
Technical details

Added a bool value InRightPlace and value Placement to ReflectComponent.
Placement denotes where should reflective item reflect.
Added method IsInRightPlace() that's returns true if item is in right place and false otherwise.
It's placed in OnReflectEquipped and OnReflectHandEquipped.
Added check to TryReflectProjectile and TryReflectHitscan methods for new logic.
Media

Current work of reflective properties on Energy Katana and Reflective Vest:
https://github.com/user-attachments/assets/7fc0848b-a579-4fea-8de4-4d4fd7409b68
New work of reflective properties on Energy Katana and Reflective Vest:
https://github.com/user-attachments/assets/51ac35ea-21a7-4ca0-9d78-7ad8992d3c87
Requirements

[x] I have read and I am following the Pull Request Guidelines. I understand that not doing so may get my pr closed at maintainer’s discretion
[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

:cl:

tweak: Reflective vest now reflects lasers only while equipped.
tweak: Energy katana now reflects lasers and projectiles only while in hands.

Making this custom logic for the Reflection component isn't the way to go, we already have ways to do this with Inventory slot flags

Making this custom logic for the Reflection component isn't the way to go, we already have ways to do this with Inventory slot flags

That's a valid opinion, however:
SlotFlags only take into account equipment slots (duh) and the way to make reflective item work in hands only is to use SlotFlags.NONE, which is not very intuitive. Also hypothetically if you wanted for item to work in certain inventory slots and in hands - you'll fail. Also also hypothetically if you wanted for item to not work anywhere at all - you'll fail.
And these problems could be solved with new enum which inherited from SlotFlags with addition of hands flag. *
Anyway my implementation is a new enum, which is reduced for a minimum of:

None - doesn't work anywhere
Hands - works in hands only
Body - works anywhere, excluding hands
And technically 4th Hands and Body (default) - works anywhere.

Flaw in my shitcode - it's doesn't take into account possible hypothetical items that should reflect while equipped in certain slots and not while in others.
Proposal to use SlotFlags is not ideal.
My implementation is also not ideal.
The * solution is kinda massive in all places, but could be ideal solution for all hypothetical future problems.
P.S.

I just had some free time in my disposal and I like this version more.

Still in work?

No work currently being made due to lack of stuff needed to be done.
Jokes aside, I did some digging and most likely this PR will remain in "open" forever.

Still in work?

We definitely need this!


fix DCI bug

If existing duplicate task is not failed and still validating, consider the input as a bug
Use Enum rather than hardcoded String to indicate status.
Existing problem : If existing task is not validating(e.g. downloading), if user press ctrl + c too long, confirmation dialog will pop a lot.

Existing problem : If existing task is not validating(e.g. downloading), if user press ctrl + c too long, confirmation dialog will pop a lot.

This one is fixed is the pull request.


change backend from bookstore to echo

Use echo samples for consistency with demos on gce/mvm.                                                                         |
echo samples is already available in github.                                                                                |
bookstore samples are not ported to github yet.                                                                                |
Also add test cert and test key for https demo.

this is a test key. Otherwise, we would ask user to generate it themselves. I am fine if policy doesn't allow any private key even for testing purpose.

Gotcha. That's fine, I suppose, but it's not really unusual to request the user to run an openssl command to generate those.

do you happen to know how to run this openssl command to generate the key/cert?
I am following this doc, which requires a certain setup effort (like install go, build binary):
https://github.com/kubernetes/kubernetes/tree/master/examples/https-nginx

I'd rather leave out the cert and key, and include the instructions for the key and cert instead. I think the reduction in steps isn't really worth the off chance that someone will forget to replace the cert and key in developing their own API, and then have someone able to spoof their backend.

done, ptal

LGTM. As a follow up, it sounds like there was a decision to recommend docker on GCE? Do we want to update gce/startup.sh to use docker rather than directly running the python backend?

Dan briefly mentioned this to me, but I am not sure about if the decision has been made.
Thanks for merging this change :) does that happened automatically after you lgtm? or do you need to click "merge" manually?

I clicked merge manually.


Cause traffic_server to die fast if a plugin is loaded that was not built with the correct core version.

The TSPluginInit function name will now have a suffix that specifies the major and minor core version number.  This is transparent to the plugin author, who uses the preprocessor symbol TS_PLUGIN_INIT in place of the name TSPluginInit.

Please review @bryancall @zwoop @SolidWallOfCode @dragon512 .

I will need to make documentation changes before we can merge this.

Example failure message in diags.log:
[Oct 31 19:40:31.217] {0x7f2382a2a740} NOTE: loading plugin '/Users/wkaras/REPOS/TS/tests/_sandbox/tls_hooks8/ts/plugin/ssl_hook_test.so'
[Oct 31 19:40:31.218] {0x7f2382a2a740} FATAL: unable to find TSPluginInit function in '/Users/wkaras/REPOS/TS/tests/_sandbox/tls_hooks8/ts/plugin/ssl_hook_test.so': (null)
make sure plugin was built with include files and libraries exported by major version 9 of Traffic Server

Changes per bcall's and zwoop's comments.

Why not support both? That is, a plugin can use TSPluginInit_8 if it wants to do the extra check, but TSPluginInit if not. It's being found by dlsym, therefore it's entirely possible to look for the tagged symbol first, and the untagged symbol if that's not found.

This also harkens back to the style back in ATS 5, where an SDK version indicator was passed as part of the TSPluginInit. We dropped that because we thought it wasn't useful. Perhaps we should bring that back.

I was under the impression we wasted a lot of time with defect tickets that were caused by plugins being run with new core releases without rebuilding the plugin.  The idea is to force plugin rebuilds.

The old system was unmanageable, in that there was too much manual code changes / checks to put in. If we're going to do this, it should be simple, and automatic.

@zwoop I'm not understanding.  The issue I thought existed was that ATS users don't rebuild plugins when they should.  I guess they assume ATS or their plugin would not come up at all if it really needed to be rebuilt.  But then the lack of a rebuild causes "bugs" which they report without realizing it could just indicate a need for a plugin rebuild.  If they are asked to version their plugin dynamic libraries, they may not remember or realize the need for that just as they don't with rebuilding for major releases.  Apparently there are cases when people forget even how to build their plugins, so "encouraging" them to do it more often may help prevent this.

So I guess the idea of plugin versioning is that tsxs would append the .a.b.c version of the core to the .so output?  Or just the major version?

Doubling down on this, we could also decorate the name of TSPluginInit with the name and version of the compiler to use on both core and plugings:  https://github.com/ywkaras/trafficserver/pull/9 .
But I have a weird problem with this, I keep getting this error on some of the core plugin builds:
/opt/rh/devtoolset-8/root/usr/libexec/gcc/x86_64-redhat-linux/8/ld:healthchecks/.libs/healthchecks.ver:2: syntax error in VERSION script

That's (also) weird, it seems my last comment triggered the Ubuntu CI job to re-execute.

[approve ci CentOS]

[approve ci]

This has a hard fail for the FreeBSD CI check, re-running it does no good.  I don't have access to a FreeBSD machine to investigate the problem.  It's low priority since we have not decided we want to do this.


Is there a TODO list in ogg repo?

New feature or function impovement in TODO List. I think it's a good way to attract more developer.

Thanks for your interest!
ogg is a small and mature library. I don't think we want new features. The work is just to maintain support for building in various environments and of course fix any bugs which are reported.
If you want to help with the new release, you can go through the issues and pull requests here and on gitlab and see if any can be resolved. That is, determine what this issue is, and if it should be fixed, develop a patch for review or test and comment on any patch which is already submitted.


DiceLoss is unknown object type

🐛 Describe the bug
Getting this error if loss is DiceLoss
    result = train(exp_name, params)
  File "/home/ubuntu/super-gradients/train_segm_opt.py", line 163, in train
    trainer.train(model=model, training_params=default_params, train_loader=train_dataloader, valid_loader=val_dataloader)
  File "/opt/conda/envs/nas/lib/python3.9/site-packages/super_gradients/training/sg_trainer/sg_trainer.py", line 1270, in train
    self.criterion = LossesFactory().get({self.training_params.loss: self.training_params.criterion_params})
  File "/opt/conda/envs/nas/lib/python3.9/site-packages/super_gradients/common/factories/base_factory.py", line 70, in get
    raise UnknownTypeException(_type, list(self.type_dict.keys()))
super_gradients.common.exceptions.factory_exceptions.UnknownTypeException: Unknown object type: DiceLoss in configuration. valid types are: ['MSE', 'mse', '_deprecated_objects', 'KDLogitsLoss', 'kd_loss', 'CrossEntropyLoss', 'cross_entropy', 'RSquaredLoss', 'r_squared_loss', 'ShelfNetOHEMLoss', 'shelfnet_ohem_loss', 'ShelfNetSemanticEncodingLoss', 'shelfnet_se_loss', 'YoloXDetectionLoss', 'yolox_loss', 'YoloXFastDetectionLoss', 'yolox_fast_loss', 'SSDLoss', 'ssd_loss', 'BCEDiceLoss', 'bce_dice_loss', 'DiceCEEdgeLoss', 'dice_ce_edge_loss', 'PPYoloELoss', 'ppyoloe_loss', 'DEKRLoss', 'dekr_loss', 'STDCLoss', 'stdc_loss', 'RescoringLoss', 'rescoring_loss', 'YoloNASPoseLoss']

Versions
latest

It seems DiceLoss is missing register decorator for some reason. Thanks for reporting about that.
May I ask - are you using some colab notebook with this loss or something else? Trying to understand how did you came up with with loss.

just my own notebook. also, by looking at your code. the Losses does not have DiceLoss in there


Create per-entry permalinks for RSS

The single-page style doesn't play nicely with RSS: https://twitter.com/tante/status/1477351675081936897

I see that some work has been done here, e.g. https://web3isgoinggreat.com/single/2022-01-02-0.
One suggestion - it would be great if the unfurl included the details about the single page, rather than the site as a whole, like seen here:

Then people could get the gist in Slack/etc. without having to click the link.
Thanks for all the work on this project btw!

Closing this and moving the unfurl idea to a new issue just so I don't keep forgetting it buried in this thread 😄


Show HTML file as a page

I'm considering to migrate my site built with static html files to picocms based web site. Then, I want to keep old file link. I tried make directory like here.
-content/sub/
    ├─ old.html // invisible
    └─ new.md // visible

I cannot see the html file with "Error 404".
Can I see the html like markdown file, if possible, without changing the html.

Hi there. 👋🏻
By default, Pico's included .htaccess blocks access to anything inside of the content folder so that users can't snoop on your plain markdown files.  This is why you're seeing a 404. 😉
First of all, if you were trying to make a hybrid site like this, you wouldn't necessarily want your .html files to be in the content folder due to the way Pico handles URLs.  Pico doesn't expose the content folder in its URL.  So when you visit the page sub/new.md the URL will be example.com/sub/new, not example.com/content/sub/new.  So even if you could access your .html page without it 404-ing, the URL would be different since one is processed through Pico and one isn't.  The .html page would have /content/ in its URL, while the .md wouldn't.
Unfortunately, this does mean that you'd likely have to keep your .md and .html files in separate folders.
  I'm not 100% sure though.
Try laying them out like this:
-content/sub/
    └─ new.md
-sub/
    └─ old.html

It's not ideal, but I think it'll behave the way you're hoping.  Let me know if it helps or not and we'll take it from there. 😁

@PhrozenByte, since we're talking about a modified directory structure here, this feels like it also boarders a little on a security question.  Do you have any input on whether this would be a good idea or not?  Did I sum this up okay or am I missing something?
Also, I swear these questions come in pairs or groups.  This is the second issue in the last few days involving .htaccess, and I'm suddenly finding myself having to brush up on how it all works. 😂

Thanks to your post, I'm starting to understand what pico is doing.
Then I tried this directory layout.
├──content/sub/
│  ├─ index.md
│  └─ new.md
└─sub/
    └─ old.html

I can access these urls.

example.com/sub/new
example.com/sub/old
example.com/sub/index
But I cannot use this
example.com/sub/ (for index.md)

I re-check around .htaccess settings.

Hmm, I didn't think of that. 🤔
What I think is happening here is that Pico's RewriteRules prioritize real files (for loading assets/images/etc) before falling back on index.php (aka Pico itself) if a URL doesn't exist.
But since /sub/ does exist, it's looking for an index.html there instead of running Pico.
You could try using /content/sub.md (not in the /content/sub/ folder) and see if that makes a difference (Pico will use either file as the sub-folder index). I doubt it will matter, since I think the issue is web server related, before it loads (or in this case doesn't load) Pico.
@PhrozenByte, what would your recommended solution be?
If it's only a small number of pages you're looking to integrate, you could always do something hacky, like store those pages as separate Templates in your Pico Theme, then load them through Pico using some stub markdown files. 🤔
I could walk you through that if you wanted. It wouldn't be a very scalable solution, but if it's just a handful of pages, it might be the simplest way to integrate them without things getting weird.
I'll check in tomorrow and see what your thoughts are and/or if PhrozenByte has been by.  It's really really late for me right now, but I saw this in my inbox right before bed and apparently couldn't leave it for tomorrow. (I tried... but then I got stuck thinking about it anyway. 😂)

Alright, so the hacky solution if you wanted to try it.

Place old.html in the folder of your chosen Pico Theme (so, for the Default theme it would be in /themes/default/)
Rename it old.twig, since these days Pico prefers templates to be .twig.  Don't worry, we won't actually be adding any Twig syntax to it.
Make a new markdown file at /content/sub/old.md (or at /content/sub/old.html.md if it's important to you to maintain the .html in the URL).
In the metadata of that file, add a line that says Template: old, matching the name of the .twig file we created earlier (minus the .twig extension).
Add any other metadata you might need for navigation / sorting purposes, like Title: or Date:.  Since there's no Twig in our new "template", they won't be used for anything on that page, but they will be used by other pages when making things like your navigation.  For example, Title would be used for the link text, and Date would only really be needed if you're sorting your pages by date. Etc.

Now, when you navigate to this new page (example.com/sub/old), Pico will attempt to load your old HTML page as a Twig template.  And, since there's nothing in the rules that says your template actually has to be dynamic, we cheated and just had it load your old static HTML. 😉
(Also, I didn't put it in the instructions, but make sure to get rid of or move that /sub/ folder that wasn't working somewhere else.  We don't want it interfering anymore.)
Anyway, there you go.  I see no reason why this method wouldn't work for you.  It's just not very scalable.  If you've got a handful of pages, give it a shot.  If you've got a couple hundred pages... maybe wait and see if PhrozenByte has a better solution for integrating them. 😅
If you do use this method, and you end up changing your Theme in the future, all you should have to do is copy/move those extra .twig files you created into the new Theme folder.

I don't really see a reason why one would want to mix complete static HTML pages (i.e. with menu, header, footer, etc.) with dynamically rendered pages :confused:
Anyway, if you create a /var/www/html/sub/old.html you can naturally access it on https://example.com/sub/old.html; you could fiddle around with rewriting and stuff to support things like dropping .html in the URL, but this is a matter of your webserver config, not of Pico. In theory you could also use Maya's "rename everything to .twig approach"... But still, I don't see a reason why one would want to do that.
If this is just about the contents of a old website (i.e. without menu, header, footer, etc.), you can simply copy the HTML snippet of the old page to the matching .md file. Markdown won't interfere, Markdown supports arbitrary HTML contents.

I don't really see a reason why one would want to mix complete static HTML pages (i.e. with menu, header, footer, etc.) with dynamically rendered pages 😕

I mean, neither do I, but I try not to question things. 😉
Everyone's got their own use case after all. 😂
The real issue was just that there wasn't a great way to combine the two reliably without the web server getting confused (for example, on where to find the correct index, mentioned above).
I'll file this as "PhrozenByte doesn't have a good solution" either. 😂
@motty-mio2, if you want to give me a little more detail about your setup and your end goal, I can try to walk you through things as you go.
Also, PhrozenByte does mention a good point that I should have brought up:

If this is just about the contents of a old website (i.e. without menu, header, footer, etc.), you can simply copy the HTML snippet of the old page to the matching .md file. Markdown won't interfere, Markdown supports arbitrary HTML contents.

Pico is perfectly capable of reading HTML tags in your Markdown files.  If that makes some of your migration easier (being able to copy-and-paste the content of your older pages while leaving the rest behind), it might be a valid solution too.  Just depends on what your end goal is. 😉
Let me know how I can help more.  Feel free to ask any questions you have. ❤

Thank you @mayamcdougall, @PhrozenByte.
I also currently think that using other folder (like sub) is a best.

The real issue was just that there wasn't a great way to combine the two reliably without the web server getting confused (for example, on where to find the correct index, mentioned above).

I fully agree this. My use-case is odd one... I rethink what is needed or not.
Thank you for yout generous support.

You were still having issues with /sub/ not resolving to /sub/index though, right?
I've been working with RewriteRules for another Issue today.  I wonder if I could write you a quick RewriteRule that would correct that? 🤔

Oh... I forgot it.
With new RewriteRules. sub/index.md could works well?

Hopefully. 😉
Let me mess around with it for a bit. 🤔

Alright, so I think I have a solution.
I'm not an expert on this, so I can't say for sure that it's correct, but it seems to be working in my testing.  I modified this from an existing example I found somewhere.
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteCond %{REQUEST_FILENAME} /$
    RewriteCond %{REQUEST_FILENAME}index.html !-f
    RewriteRule ^ index.php [L]

To my understanding, this reads:

If the requested directory exists.
If the requested url ends in /
If the requested filename ends in index.html but doesn't exist.
Rewrite internally to index.php (Pico).

You might not need the first condition, I'm not sure.  The other two were definitely required though, to prevent redirecting to Pico when we don't want it to.
Add this block to your .htaccess, and it should hopefully take care of the "Missing Index" problem.
Again though... I'm not an expert.  I'm just fumbling through this, trying to be helpful. 😅
Definitely do some testing on your own to make sure it behaves correctly.

Thank you!!
It works well on my env.
├──content/sub/
│  └─ new.md
└─sub/
    └─ index.html

Yay! 🙌🏻
Glad that worked for you. 😁
Hope you're enjoying Pico.
Let me know if there's anything else I can help with. 😉
You can either open a new issue when the time comes, or continue chatting here.
Don't be afraid to ask questions. Take Care. ❤


Move localization builder APIs into an extension methods

After revising the localization builder APIs that we introduce in 2.1, it would be nice to move those into an extensions methods, because they rely on the existing members

This is add possibility to add other extension methods like what I suggest in #3336

@rynowak is this fine to send a PR for it?

@hishamco, what are you trying to do? Is this only to support the other issue?

Also, please add more details regarding which specific APIs you're referring to and from where to where you suggest them to be moved.

I mention it in the title, all the builder APIs, including:

AddSupportedCultures(params string[] cultures)
AddSupportedUICultures(params string[] uiCultures)
SetDefaultCulture

All these APIs that we added in 2.2 are simplify the building of RequestLocalizationOptions, nothing but mainly they rely on original properties of that class, so it would be nice to move those to an extensions methods, so no breaking-changes required here

If the proposal is fine, I can send a PR for it

Why it's be a breaking change while these will be moved to the same assembly?!! if there's a guidelines about what binary changes mean in ASP.NET Core, please refer it to me.
BTW if it's breaking changes as you said, we can suggest this for 3.0.0

@hishamco, it's still unclear what the value of the proposed change is, other than code organization.

@mkArtakMSFT Even if it's code organization, what's block us to add this in 3.0.0?

Well, the rule of thumb is to avoid breaking changes unless it's really required. This is not the case.
Sorry @hishamco, I'm going to close this now. I understand it would be nice, but there is not enough value to afford a breaking change.

No problem @mkArtakMSFT but still it's not clear to me, 3.0.0 it will contain many breaking change, why we will not consider any changes for code organization, there's some places in localization repo that need to be organized


Can't download a notebook as PDF

In a notebook, File > Download as > PDF via LaTeX does not work.  It gives a 500 internal server error with the message, nbconvert failed: pdflatex not found on PATH.
According to this question on Stack Overflow, the only LaTeX package on Alpine at the moment is texlive.  Tracing through the links shows that it's broken and that they're aiming to get it working for Alpine v3.5.

Installing texlive in a container running the latest jupyter-docker image gives a different 500 error message:
nbconvert failed: PDF creating failed, captured latex output:
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Alpine Linux) (preloaded format=pdflatex)
 restricted \write18 enabled.

kpathsea: Running mktexfmt pdflatex.fmt
Can't locate mktexlsr.pl in @INC (@INC contains: /usr/share/tlpkg /usr/share/texmf-dist/scripts/texlive /usr/local/lib/perl5/site_perl /usr/local/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at /usr/bin/mktexfmt line 23.
BEGIN failed--compilation aborted at /usr/bin/mktexfmt line 25.
I can't find the format file `pdflatex.fmt'!

Latest news from Alpine bug 4969 is that it needs a texlive-texmf package.  The new milestone is Alpine 3.7.  There are some hints at directions at Alpine bug 4514, but nobody has built texlive-texmf yet.


feat(p2p): Federation and AI swarms

This is a WIP branch, my goal here is to have a very minimal dashboard + general enhancements direction is:

dashboard should allow to have a look at which workers are active and let monitor the status
give indication on how to add new workers by using the script or docker images
detection of dead workers to turn down tunnels

This is a continuation of #2343
Also adds a fix for https://github.com/mudler/LocalAI/issues/2733

ok I pushed a bit more =) this is actually adding LocalAI federation too. Let me wrap this up and update the description.
UI is kinda messy at the moment, needs improvement:

now llama.cpp workers can be tracked easily, and from the p2p page instructions are given to add new workers
beside llama.cpp workers, federation works completely differently from the distributed worker mechanism (which distributes weights between all nodes) - here we will go by distributing per-request to each node, so it applies to all backends.
There is no logic to syncronize models in the federation, you have to start localai with the same models if you want to have a consistent behavior across your AI swarm

I'm kinda satisfied for now:


Going forward, I think we can reduce this to two approvals instead of 3.


FM demodulation with sample type float

Hi,
I want to perform FM demodulation using the provided code with samples of type float (I and Q) using SoapyRTLSDR library.
I tried this but not able to demodulate, since playing through port audio results in noise,
complex<float> buf[4096];
float out[4096];
int index=0;
while(1)
{
 while(1)
 {    getSamples(buf); // From SoapyRTLSDR
float i2,q2;
float i1=0,q1=0;
                              //i2=((unsigned char)getchar()-127); q2=((unsigned char)getchar()-127);
                  i2=creal(buff[index]);  q2=cimag(buf[index]);

		//Formula 1: http://www.dsprelated.com/showmessage/142012/1.php
		//s=70*((i2*(q2-q1)) - (q2*(i2-i1)))/(i2*i2+q2*q2);
		out[index]=70*((i2*(q2-q1)) - (q2*(i2-i1)))/(i2*i2+q2*q2);
		//Formula 2: freq. deviation is actually the time derivative of phase (more precise way in minidemod-wfm-atan.c)
		//s=100*(atan(i2/q2)-atan(i1/q1));

		//putchar((unsigned char)(s+127));
		i1=i2; q1=q2;
 }
playAudio(out,index);
index=0;
}

In play audio i am also preforming filtration.

Hi!
You should use crealf instead of creal for floats. Could you try this change please?
Adam

or use the real and imag member function as c++ stands: https://en.cppreference.com/w/cpp/numeric/complex

Hi!
In your previous code, you mix C++ and C, i do not think it is a good idea, please fix either your variable definition or your member function calls.
You can also check the histogram of the inpiped signal, the gain setting, the presence of other FM stations (in this case, a further filter could be mandatory)
Adam