Non-canonical CBOR Serialization (Optional)

Tools like Aiken and Plutarch add an extra underscore _ to items during CBOR serialization.
This inconsistency becomes problematic when serialized data is hashed, as the resulting hash differs between tools.
In Aiken, the below serialization will produce a CBOR value like [ _ <hashed_value>], whereas CML's serialization would produce [ <hashed_value>] without the underscore.
Example:
  let datum_tag =
          out_ref
            |> serialise_data
            |> blake2b_256

Even though CML follows RFC-7049-section3.9 The issue has resulted in some developers discarding CML in favour of other tools that maintain the non-canonical serialization.
CML should offer an option to choose between canonical and non-canonical serialization to allow compatibility across different tools.

We already offer exact round-trip encoding with to_cbor_bytes() (this will be the same bytes as you fed into from_cbor_bytes() to create it if you haven't changed anything, and will try its best to maintain the same type of format when possible even if changes are made)  and also canonical CBOR bytes using to_canonical_cbor_bytes().

This inconsistency becomes problematic when serialized data is hashed, as the resulting hash differs between tools.

This is exactly why we overhauled cddl-codegen and CML to support the round-trip deserialization (old behavior was like CSL is). Is it breaking anywhere? I haven't done a full sweep of all networks in half a year I think (could be wrong) but when I did every block  round-tripped fine.
I'm a little confused what the underscore here is. Why is it added, and what does that have to do with canonical vs non-canonical CBOR? That only impacts:

order of items in a map (must be lex order for canonical)
size used to encode (must that fits e.g. 4 bytes for u32::MAX)
definite vs indefinite length encodings (definite only for canonical)

Maybe I'm just not understanding what the underscore is meant to be.
What tools are they using instead, and how do they handle it? I know CSL just disregards any encoding details from the deserialization and serializes using an arbitrary format (mostly canonical with a couple changes).

Is this about when you're creating something from scratch (not deserialized)? Generally that's not great for hashing and you should always be working with direct deserialization or raw bytes instead of hoping two tools line up when creating both separately. I think that's what all the safe hash/original bytes stuff in cardano node is for.
You can change the FooEncoding struct for each Foo to tweak the serialization to use the exact CBOR format you want (note: this is not exposed to the WASM API - only rust). If there is a common format for something that many users would want we could also provide a method that automatically sets that like maybe PlutusDatum::encode_like_cardano_node() or something along those lines.

AFAIK The underscored is an optional indicator, https://datatracker.ietf.org/doc/html/rfc7049#section-6.1
I have reports that some dapps like vify, muesliswap and wingriders are having issues.
The original lucid which uses a CML internal fork it's working with the non-canonical format and it outputs cbor like this

Is this about when you're creating something from scratch (not deserialized)? Generally that's not great for hashing and you should always be working with direct deserialization or raw bytes instead of hoping two tools line up when creating both separately. I think that's what all the safe hash/original bytes stuff in cardano node is for.
You can change the FooEncoding struct for each Foo to tweak the serialization to use the exact CBOR format you want (note: this is not exposed to the WASM API - only rust). If there is a common format for something that many users would want we could also provide a method that automatically sets that like maybe PlutusDatum::encode_like_cardano_node() or something along those lines.

ideally it would be great to have something like to_cbor_hex_non_canonical() maybe

It says those are for the diagnostic notation, not for the CBOR bytes itself, if I'm understanding this correctly.  The diagnostic notation is a human readable way to write what the underlying bytes there are, since in the notation something like 1 could be written as 1 byte (inlined in type tag), 2 bytes (type tag + 1 byte), 3 bytes, 5 bytes, or 9 bytes (type tag + 8 byte int).
Are you ended up with different bytes? Could you post them along with how you got them (e.g. CML -> other tool or other tool -> CML)?

ideally it would be great to have something like to_cbor_hex_non_canonical() maybe

I think there must be some confusion here.  Something complex like a whole transaction could have millions of ways (maybe billions when you consider strings/bytes in them! indefinite string/bytes serialization options can be pretty wild).
The default to_cbor_hex() already is potentially non-canonical - it will (or should! if there is a bug here please post the CBOR) use whatever encoding you tell it to. If you create the types from scratch that will be canonical, if you deserialized from bytes, it will be precisely the encoding that was used for deserialziation.

this is the ouput from lucid-cardano using the internal cml fork
import * as LucidCardano from "lucid-cardano";
console.log(LucidCardano.Data.to(new LucidCardano.Constr(0, ["deadbeef"])));

d8799f44deadbeefff
this is the ouput from lucid-evolution using dcspark cml
import * as LucidEvolution from "@lucid-evolution/lucid";
console.log(LucidCardano.Data.to(new LucidEvolution.Constr(0, ["deadbeef"])));

d8798144deadbeef

You should not be creating the two separately in two different tools and expecting the hash to line up as there are myriad ways the two could differ for any non-trivial CBOR structure. Hashing CBOR data should always be done on the original bytes.  If you need to use CML you can create it in lucid, then use PlutusData.from_cbor_bytes(serializedBytesFromLucid) to create it using CML which will remember the encoding information that was passed in then round-tripping it will result in those original d8799f44deadbeefff.
try:
import * as LucidCardano from "lucid-cardano";
let datum1 = LucidCardano.Data.to(new LucidCardano.Constr(0, ["deadbeef"]));
let bytes = datum1.to_cbor_bytes(); // not sure what it's called in lucid

import * as LucidEvolution from "@lucid-evolution/lucid";
console.log(LucidCardano.Data.from_cbor_bytes(bytes));

This looks exactly like a case for what I mentioned earlier with PlutusDatum::encode_like_cardano_node().
I can implement this for plutus datums if it is a common issue. It can also be resolved with better general developer understanding about CBOR/hashing, but I guess it can't hurt to have too. I put a CBOR section in the new docs (with 6.0.0) on this but to be honest CBOR + hashing is a bit of a mess. Everything would be so much simpler if IOHK enforced canonical-only.
The way it works is the cardano node defaults to definite for empty and indefinite for plutus datums. In CSL/old CML we had this hard-coded to immitate that since we didn't have proper round-tripping like we do now.

tl;dr: as long as you are creating it using from_cbor_bytes() then everything will work regardless of whatever you put in there, doesn't matter what tool, etc.
relying on a specific cbor encoding without that being documented is not good and is precisely why we spent a lot of time on ensuring that cddl-codegen/CML remember every little encoding option. Just on that simple datum there are (5+55)(10)(5 + (5) + (55) + (5) + (555) + (5)) = 51000 ways to encode it, and that's before you do weird stuff like 0-len chunks in indefinite bytes, in which case there are an infinite amount of ways. CML will gladly take in any of those 51000 ways when using from_cbor_bytes() then when you hash it it will match as will to_cbor_bytes().

I’ve also don’t like fact about having different standards that’s the main reason we decided to build lucid-evolution with CML which follows the right one, but the dev community is having issues with transitioning to our library just because of the serialization discrepancy. It’d nice if you can enable that option

There is no "right one" - that's the problem. You have to handle ANY CBOR variation. You saw how there are over 50000 ways to encode a simple datum of a 4 byte field. The only time there is a "right way" to encode CBOR is when the protocol you're working with explicitly sets one (usually this is canonical CBOR, which is why it was invented). If that hasn't happened then all bets are off - any of those 50000+ encodings is just as "right" as any other one.
There is no such specified encoding for the cardano protocol, there are just some tools that happen to match in some spots (likely just datums too, I'd bet that Lucid doesn't match the node in most other spots). How the cardano node serializes CBOR can and has changed before and is entirely an implementation detail.
You can submit a tx/datum to the network using ANY weird encoding and the cardano-node will accept it, that is the reason why the node itself has to remember the original bytes of everything everywhere so hashes still work.
When working with datums from another tool or on-chain you simply cannot try re-creating it using the construction API - you need to be working on the bytes created from the other tool or on-chain.

It’d nice if you can enable that option .

That said, as mentioned earlier, if you need a specific format for PlutusData that follows a specific format (e.g. CSL/lucid) we can absolutely provide an API to set the encoding format to that. I'll put up a PR later tonight as this is actually something I had thought about before as a potential way to exploit our exact control over CBOR in the new CBOR-format-respecting CML.

btw We don’t want to use lucid-cardano for this data transformation

What exactly is the data transformation that needs being done? I assume it's not on the datums, as changing them in any way would change the hash so you should only care about the hash/cbor format of datums that are already finalized and ready for the chain.

I hope I didn't rant too much earlier, it's just a really, really bad idea to rely on any tools 100% agreeing with all possible CBOR encodings. Always work with raw bytes (and things in CML deserialized from those bytes) whenever possible to avoid sneaky hash mismatches with some specific datums. They might match for most when you're testing, but that doesn't mean it will match always unless both tool makers seriously try to match each other and never change and not accidentally having 1 small thing different in some cases that causes the whole hash to rarely mismatch even if it usually is the same.
I just put up a PR #357 does this work for you?

yes this is perfect, thank you!


Couchbase Lite logo is broken

Just happened to notice this while stopping by; tried to submit a PR but I don't know if the associated repo is public. Happy to submit one if the repo is available for me to do so; otherwise figured I'd drop this here so someone else can make the quick change.
Symptom

Problem
Current URL points to https://raw.githubusercontent.com/couchbase/couchbase-lite-net/master/packaging/component/icons/couchbase-lite_128x128.png
Looks like the logo now exists at https://raw.githubusercontent.com/couchbase/couchbase-lite-net/master/packaging/nuget/logo.png
Trying to Submit a PR
I see in the app settings that the URL for the projects is https://raw.githubusercontent.com/dotnet/home/master/projects/projects.json. This does include JSON with the wrong logo.
However I don't see a home repository under dotnet, so I don't think it's public for me to contribute the PR?

Nevermind; I see the repo is now at dotnet/foundation but GitHub is redirecting.
I'll submit two PRs; one to fix the link and one to update the reference to the current GH repo name.


FooterAdded/Issue 11

Add a responsive footer with hover effects on icons
Icons Used - React Icons

Installation

npm i react-icons

This commit adds a responsive footer to the website, enhancing user experience.

Icons in the footer now move slightly up and change color to blue when hovered over, providing visual feedback and in --Footer Content is added based on "Curious-Connect" Website Theme

-The changes also improve the footer's responsiveness across different screen sizes. Added "Subscribe News Letter" form so that User get Daily News ,Updates in given emails" (only frontend part)
@thecuriousteam could you please review these changes? Once approved, we can merge this pull request.
A video demonstration of the changes is included
Image

Video
https://github.com/Curious-Ecosystem/Curious-Connect/assets/157828240/f306b297-0d7a-4402-8548-11874a5ae7e9

@thecuriousteam  Sure I will make changes according to your design and make sure its responsive!

Any updates @dhyaneshsiddhartha15 ?

@thecuriousteam  Do See the Image and make me sure that it is fulfilling your Design Needs! of Footer


Breath of the Wild - Map Flashing when FPS++ is enabled

Not sure if this is just me.
Constant flashing (think of seizure inducing flashing) in the map (better explained in the center of the picture, the lens flare effect around the pointer), as if it's being opened again and again. ~Only occurs when the 30fps lock pack is applied~ (Proven false after retesting). Fenceskip is on and FPS++ is enabled.

Graphic packs enabled:
-FXAA
-High Res Shadows
-2K Res
-Contrasty
-FPS++
-30fps Lock
-LWZX Crash Workaround
-NVIDIA Explosions
-ReflExtra
-Square Kakariko Torch Fix
~Tried disabling each graphic pack and alternating between them, doesn't seem like 30FPS Lock is clashing with other packs since it causes that even when all packs are disabled, except itself.~
Explained in the latest comment.
Thanks!

I don't have this issue. Of the ones you listed, the bold are the ones I have enabled:
-FXAA
-High Res Shadows
-4K Res
-Contrasty
-FPS++
-30fps Lock
-LWZX Crash Workaround
-NVIDIA Explosions
-ReflExtra
-Square Kakariko Torch Fix

What system config are you running on? Had a reply on Reddit saying it's an NVIDIA issue, I'm on a 1060 but not on the latest driver though it's the previous update.
Also, afaik 30FPS Lock doesn't work unless FPS++ is enabled and the game doesn't go above 30FPS by default (at least, not for me even with fence skip).

I'm on 388.13 (Nvidia driver), GTX1080, Windows 10 FCU. 30fps lock definitely does work without FPS++ - the reason I enabled it was to stop the 60fps / speedy Link in shrines bug caused by fence skip (which it did).

having this same issue but not using the 30fps pack.
-FXAA
-High Res Shadows
-4K Res
-Clarity
-FPS++
-LWZX Crash Workaround
-NVIDIA Explosions
-ReflExtra
-Square Kakariko Torch Fix

Reinstalled CEMU and redumped BOTW files, can confirm FPS++ is causing the flickering instead of the 30FPS Lock.
Seems like the flickering occurs more frequently the longer you have the game up.

probably will be fixed in the same update with fixed stamina and arrows

Do the changes made for it for 1.11.4 help at all or no?

It didn't fix it, from what I've tested.

not fixed yet.

I had major flickering related to a different issue altogether, but this might be related and of significance....
Have you tried switching the GPU Buffer Accuracy Settings ??
If you are Set at High or Medium, try switching to Low....
Hope this helps and is something you might have over-looked trying.....

I'm not sure if the flickering you're experiencing is similar to what I get. But yes, GPU Buffer Accuracy is on Low, barely see any difference when set to the higher settings on BoTW.
Flickering/flashing of that circle in the middle of the map still occurs with FPS++ on but the default Fenceskip disabled.

I think it's safe to say that this issue is pretty much never going to be fixed due to lost interest by it's sole author Xalphenos. It's a hack after-all. It might be revisited once Cemu will have it's own patches variant (probably only on the roadmap for now though, expect something along the lines of 1 year).

It also certainly doesn't help that it doesn't occur on my end.


[match] Fix not respecting git user options when nuking or changing password

Also added comments to not forget it in the future
Also added respecting of clone_branch_directly for other calls too besides runner.rb

Fixes https://github.com/fastlane/fastlane/issues/9097

          1 Error

:no_entry_sign:
Tests have failed, see below for more information.

Tests:

Name
File

Match::CommandsGenerator :decrypt option handling can use the git_url short flag from tool options
commands_generator_spec.rb

Match::CommandsGenerator :decrypt option handling can use the shallow_clone flag from tool options
commands_generator_spec.rb

  Generated by :no_entry_sign: Danger


Alva creates global webserver for preview, not only local

Describe the bug
The preview uses a web server via an iFrame for all the preview stuff. That server does not only serve on localhost, but registers as a webserver in the entire network. That leads to the problem that everybody in the same network can access the preview and highlight or click on elements.
To Reproduce
Steps to reproduce the behavior:

Create or open an Alva project
Take another device that is on the same network
Try [YOUR ALVA DEVICE IP]:1879/preview.html
Do things

Expected behavior
Alva should only create the webserver running on localhost, not on the entire network.
Screenshots
If applicable, add screenshots to help explain your problem.
Device (please complete the following information):

OS & Version: macOS 10.13.4
Version of Alva: master-branch on 42da585

I am not so sure if this is a bug. Being served to other network devices is in its nature. To prevent this, network preferences could be changed on the OS or modem level. We could update server to serve the page only if the remote address is equal to the host address (excluding ports).
I have opened a pull request with the approach I mentioned for this. But I am not eager to merge this time. :)

We now create the http server via
https://github.com/meetalva/alva/blob/2770ba66a1ac82a27e9531def15f0255c1364feb/src/server/server.ts#L87
which binds to server to local access only.


Less vague 'missing argument' messages, Roblox Studio check for commands

The messages which tell a user that an argument is missing are now more descriptive of whats missing and not just "Argument missing or nil"

Example below:

Added a check so commands which do not work in Studio will display an error message to the user instead of these commands just doing nothing which may confuse people

:warn and :kickwarn now take a reason instead of just a message (this is designed to make arguments clearer)

i should stop making commits to this there are too many

For Clown and UFO, there should be something to prevent you from being stuck on a black screen, which has not been done. This could be kicking the player, respawning the player, etc.

There is no way to know if a player has been teleported succesfully. Its not just studio but also games with "Third Party Teleports"to off eill fail. Teleports can also fail randomly.

For Clown and UFO, there should be something to prevent you from being stuck on a black screen, which has not been done. This could be kicking the player, respawning the player, etc.

Or actually we blackscreen could be considered a substitude for teleporting to the place.
The places teleported to are dark so the blackscreen is a good subatitude.

I like the idea but I'm not thrilled on the wording for some of these. I feel most would benefit from a simplification pass to be less wordy and more to the point.
Aside from the extra "name" in the example screenshot, I feel like something like "You need to specify a player name" could be simplified down to "Missing Player Name" or something like that.

I like the idea but I'm not thrilled on the wording for some of these. I feel most would benefit from a simplification pass to be less wordy and more to the point. Aside from the extra "name" in the example screenshot, I feel like something like "You need to specify a player name" could be simplified down to "Missing Player Name" or something like that.

Building on this, another example might be "Must provide message banned players will see" which could be simplified down to just "Missing ban message"

Just made the messages shorter on most of them shorter (or simpler). If there are any more problems please let me know.


files without permission entries are not found on Windows

Steps to reproduce:

create a file deleteMe.txt
glob.sync('deleteMe.txt') returns [ 'deleteMe.txt' ]
remove all permission entries (Windows Explorer)
glob.sync('deleteMe.txt') returns [ ] w/o error

(same with async…)

What do you get when you call fs.statSync('deleteMe.txt')?  Or run the glob with glob.sync('deleteMe.txt', { stat: true })?

fs.statSync('deleteMe.txt')

Error: EPERM: operation not permitted, stat 'C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\deleteMe.txt'
  at Error (native)
  at Object.fs.statSync (fs.js:892:18)
  at Object.<anonymous> (C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\test.js:6:31)
  at Module._compile (module.js:413:34)
  at Object.Module._extensions..js (module.js:422:10)
  at Module.load (module.js:357:32)
  at Function.Module._load (module.js:314:12)
  at Function.Module.runMain (module.js:447:10)
  at startup (node.js:139:18)
  at node.js:999:3

glob.sync('deleteMe.txt', { stat: true }) returns []

But fs.readdirSync('.') returns ['deleteMe.txt', …]

Hm.  Ok, that seems kinda like a bug to me.  It should be handling EPERM from readdir calls as an indication that the thing is either not a directory or not traversable, but an EPERM on a file seems like it should be an error.
I'll have to review the code to be sure there isn't some method to this madness, but I agree that it seems like an oversight somewhere, and I'll try to figure out what bash does.  On Unix, there's no combination of permissions that will prevent you from being able to stat a file, so this is probably just a windows-ism that I didn't think to account for.

I came across the same issue: https://github.com/sindresorhus/del/issues/50. Also @schnittstabil  pointer that this is a glob issue.

Anyone affected by this error, please try the following:
npm install isaacs/node-glob#fix-245

And let me know if the problem goes away.

@schnittstabil Do you think it should return an error if { stat: true } is used?

Do you think it should return an error if { stat: true } is used?

Um, no, I think glob.sync('deleteMe.txt', { stat: true }) should return filenames, not errors!? :wink: – dunno if it should throw an error…
I've only mentioned it for the sake of completeness…

Right, sorry, when I said "return an error", I meant throw from sync or first arg to cb from async.
It's an interesting edge case.  I could see someone thinking that if they do stat: true, then that means that the stat call should be required to succeed.  It'd be easy enough to make it work that way.

@isaacs Thanks a lot, works as expected on my VM.
Btw, executing glob('d/**') on a directory d without permission entries works too, it throws an error – similar to dir d.
--

if they do stat: true, then that means that the stat call should be required to succeed.

IMO it only means that stat is called on all results. However, one may expect appropriate statCache entries, thus glob(… {stat: true}) should set some error entries.

@schnittstabil I can't reproduce that.  What error is thrown?  Can you provide a test program and the output of the crash?  Thanks.

Btw, executing glob('d/**') on a directory d without permission entries works too, it throws an error – similar to dir d.

@isaacs Thus, no crash, works like expected.

@schnittstabil When you say "it throws an error", what does that mean, exactly?  Being a JavaScripter, I'd assume it means something like what happens when you do throw new Error('oops')

Sorry, for the misunderstanding. To be more clear:

I've created a directory d
and removed all permission entries (Windows Explorer) of d

--
As expected:
console.log(glob.sync('d/**'));

C:\Dokumente und Einstellungen\Administrator\Desktop\glob-test>node index.js
Error: EPERM: operation not permitted, scandir 'C:\Dokumente und Einstellungen\Administrator\Desktop\glob-test\d'
    at Error (native)
    at Object.fs.readdirSync (fs.js:808:18)
    at GlobSync._readdir (C:\Dokumente und Einstellungen\Administrator\Desktop\glob-test\node_modules\glob\sync.js:288:41)
    at GlobSync._processGlobStar (C:\Dokumente und Einstellungen\Administrator\Desktop\glob-test\node_modules\glob\sync.js:350:22)
    at GlobSync._process (C:\Dokumente und Einstellungen\Administrator\Desktop\glob-test\node_modules\glob\sync.js:130:10)
    at new GlobSync (C:\Dokumente und Einstellungen\Administrator\Desktop\glob-test\node_modules\glob\sync.js:48:10)
    at Function.globSync [as sync] (C:\Dokumente und Einstellungen\Administrator\Desktop\glob-test\node_modules\glob\sync.js:26:10)
    at Object.<anonymous> (C:\Dokumente und Einstellungen\Administrator\Desktop\glob-test\index.js:3:18)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)

--
However, I don't know if this is intended, but I don't understand why the following error gets printed:
try {
	glob('d/**', function (err, files) {});
} catch (err) {
}

C:\Dokumente und Einstellungen\Administrator\Desktop\glob-test>node index.js
glob error { [Error: EPERM: operation not permitted, scandir 'C:\Dokumente und Einstellungen\Administrator\Desktop\glob-test\d']
  errno: -4048,
  code: 'EPERM',
  syscall: 'scandir',
  path: 'C:\\Dokumente und Einstellungen\\Administrator\\Desktop\\glob-test\\d'
}

@schnittstabil Oh, I see, so if the fs.readdir call gets an error, then that fails.
What it's saying is "this is a very strange error, and probably you want to know about it, but the glob process can continue."  If you pass silent: true in as an option, then it is quiet about it.
I don't know why it's warning in async and throwing in sync, though, that's strange.  It looks like readdir failures need to be cleaned up a little bit as well.  That's definitely a separate issue (though related cause.)

Just for the sake of completeness, errSync and errAsync are essential the same 'EPERM' error:
try {
    glob.sync('d/**');
} catch (errSync) {}

glob('d/**', errAsync => {});

The additional glob error {…}, which only happens in async, has puzzled me a bit…

I don't know why it's warning in async and throwing in sync, though, that's strange.

Found it:
sync.js#L336-L342:
    default: // some unusual error.  Treat as failure.
      this.cache[this._makeAbs(f)] = false
      if (this.strict)
        throw er
      if (!this.silent)
        console.error('glob error', er)
      break

In glob.js#L609-L619:
    default: // some unusual error.  Treat as failure.
      this.cache[this._makeAbs(f)] = false
      if (this.strict) {
        this.emit('error', er)
        // If the error is handled, then we abort
        // if not, we threw out of here
        this.abort()
      }
      if (!this.silent)
        console.error('glob error', er)
      break


Set convars in autoexec if the value starts with a dash

Issue: Setting an extra argument to a value starting with a dash does not work, e.g.:
-e NS_EXTRA_ARGUMENTS="+slide_step_velocity_reduction -1000"

This ends up running the dedicated server like:
NorthstarLauncher.exe "+slide_step_velocity_reduction" "-1000"

The dedicated server is probably interpreting the -1000 as a command-line flag, so it's ignored when parsing the actual args.
Solution: This PR forces convars to be set in the generated autoexec file if the value starts with a dash, ensuring the value is parsed as a number and not a flag.
One possible alternative is wrapping values in an extra pair of quotes, i.e.:
NorthstarLauncher.exe "+slide_step_velocity_reduction" "\"-1000\""

However the launcher doesn't seem to be capable of parsing values likes this.

Thanks!
The config merging is getting messier since I didn't foresee these complications, so I'll probably rewrite it soon.


update .gitignore

Type of change:

[x] Bugfix
[ ] New feature provided
[ ] Improve performance
[ ] Backport patches

What this PR does / why we need it:

Keep files in dir harts/apache-shardingsphere-proxy-charts/charts/governance/
Pre-submission checklist:

[ ] Did you explain what problem does this PR solve? Or what new features have been added?
[ ] Have you added corresponding test cases?
[ ] Have you modified the corresponding document?

lgtm


About a file upload vulnerability

CRMEB vulnerability report.docx
The defect code is in the $filename variable in the videoUpload function in the \crmeb\app\services\system\attachment\SystemAttachmentServices.php file, that is, $filename = $all_dir . '/' . $data['filename'] . '__ ' . $data['chunkNumber'];, it splices $data['chunkNumber'] at the end, which is a controllable parameter transfer on the client side, so that the value of $data['chunkNumber'] can be modified to The suffix is php, which causes the written malicious code to be parsed and executed.
public function videoUpload($data, $file)
{
$public_dir = app()->getRootPath() . 'public';
$dir = '/uploads/attach/' . date('Y') . DIRECTORY_SEPARATOR . date('m') . DIRECTORY_SEPARATOR . date('d');
$all_dir = $public_dir . $dir;
if (!is_dir($all_dir)) mkdir($all_dir, 0777, true);
$filename = $all_dir . '/' . $data['filename'] . '' . $data['chunkNumber'];
move_uploaded_file($file['tmp_name'], $filename);
$res['code'] = 0;
$res['msg'] = 'error';
$res['file_path'] = '';
if ($data['chunkNumber'] == $data['totalChunks']) {
$blob = '';
for ($i = 1; $i <= $data['totalChunks']; $i++) {
$blob .= file_get_contents($all_dir . '/' . $data['filename'] . '' . $i);
}
file_put_contents($all_dir . '/' . $data['filename'], $blob);
for ($i = 1; $i <= $data['totalChunks']; $i++) {
@unlink($all_dir . '/' . $data['filename'] . '' . $i);
}
if (file_exists($all_dir . '/' . $data['filename'])) {
$res['code'] = 2;
$res['msg'] = 'success';
$res['file_path'] = sys_config('site_url') . $dir . '/' . $data['filename'];
}
} else {
if (file_exists($all_dir . '/' . $data['filename'] . '' . $data['chunkNumber'])) {
$res['code'] = 1;
$res['msg'] = 'waiting';
$res['file_path'] = '';
}
}
return $res;
}
}
Vulnerability Exploitation Steps：

Log in to the background

Select  commodity, then select commodity Management, and click Add commodity.

3、 Select any commodity category, enter any commodity name, and enter any commodity unit

4、Open the add video button

Use any packet capture tool to open the interception package.  I am using BurpSuite here.  (As shown below)

6、 Click the plus sign and select the test video you prepared (recommended video length is less than 10 seconds)

7、The package is successfully truncated (as shown in the figure below)

8.、Select the all uploaded video data and delete it. (As shown below)

9、After the deletion is complete, write the malicious code on it

10、Replace the content below the chunkNumber pass parameter with 1.php

11、Click forward Package

Malicious file has been successfully uploaded, how to access it?
An example is as follows：
http://your domain name/uploads/attach/year when you uploaded/month when you uploaded/day when you uploaded/file name__ (note the double underscore here) 1.php
(This is because the program will create some file directories named after your upload time)
So My current time is April 13, 2023, so my access example is as follows：
http://<IP_ADDRESS>/uploads/attach/2023/04/13/68CECACC23AB0161625A5BFFE46C3E7A.mp4__1.php
Access the malicious code file just uploaded and execute it successfully

我遇到了相同的问题，可以提供更多信息帮助我修复吗？

这是来自QQ邮箱的自动回复邮件。

您好，我不在电脑前，无法亲自回复您的邮件。我将尽快给您回复。

这是来自QQ邮箱的假期自动回复邮件。你好，我最近正在休假中，无法亲自回复你的邮件。我将在假期结束后，尽快给你回复。


Ability to upload team logo image for use app-wide

Not going to try to create these from the logos table, just have users add images
Not currently going to include player headshots, as it would be too intensive trying to create these for every player
We have a table for tracking team logos currently, with a full size and icon size

As part of this, deprecate the TeamLogoHistory tables. Instead, add a column to the TeamSeasonHistory table with a pointer to a file on disk. For the user image upload, process the image if desired, then copy it over to the app data dir and set up a directory structure that is something like /base app directory/files/logos/franchise ID/team ID/. Then store all the logos associated with that team in there, and add a pointer to the generated file name in the table column.
Then when we want to associate multiple team seasons with the same logo, just allow adding the same pointer to the single file for each season


DS Bug – Feedback update error when 'text' not included

If we're going to continue using Feedback features, the update endpoint would be more usable if it did not require text to be included in the update dict. I believe a simple fix would suffice, as below, the added if 'text' in data_dict:
This should fix the error noted in the proper_integration_tests notebook in ~21st code cell
async def update_feedback(ticket_id: str, update_data: FeedbackUpdate):
    """Updates feedback

    @param ticket_id: str
    @param update_data: FeedbackUpdate
    @return JSON[Boolean] - indicates success or failure of update
"""
    data_dict = update_data.dict(exclude_none=True)
    if 'text' in data_dict:
        data_dict = apply_sentiment(data_dict)
    return {"result": Router.db.update("Feedback", {"ticket_id": ticket_id}, data_dict)}

Suggested story points: 1

Interesting, please come to office hours to discuss this!


Recipe Confict Centrafuge

Recipe for Entropy Shard Conflicts with Netherack
Entropy Shard uses any 16 stone including cobble
Netherrack uses 1 cobble.

#92


Added check for the return value of the WPACKET_get_total_written()

A check for the return value of the function WPACKET_get_total_written() was added.

This PR is waiting for the creator to make requested changes but it has not been updated for 30 days.  If you have made changes or commented to the reviewer please make sure you re-request a review (see icon in the 'reviewers' section).


Adding CloudEvents output option.

/kind feature
/area outputs
What this PR does / why we need it:
Adding CloudEvents Output support, starting with PoC of only via http binary mode.

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

b9437b4 stage adding cloudevents

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

b9437b4 stage adding cloudevents

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign nibalizer after the PR has been reviewed.
You can assign the PR to them by writing /assign @nibalizer in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign nibalizer after the PR has been reviewed.
You can assign the PR to them by writing /assign @nibalizer in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Welcome @n3wscott! It looks like this is your first PR to falcosecurity/falcosidekick 🎉

Welcome @n3wscott! It looks like this is your first PR to falcosecurity/falcosidekick 🎉

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign issif after the PR has been reviewed.
You can assign the PR to them by writing /assign @issif in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign issif after the PR has been reviewed.
You can assign the PR to them by writing /assign @issif in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/hold
The PR seems ok for me now, but I don't want an auto-merge before 2.20.0 is released. Maybe some fields have to be discussed too.

/hold
The PR seems ok for me now, but I don't want an auto-merge before 2.20.0 is released. Maybe some fields have to be discussed too.

Rebased to HEAD.
I ran the lint tool on the PR and it updated the formatting on the README.md. It uses prettier.io 's rules so let me know if you do not like that.

Rebased to HEAD.
I ran the lint tool on the PR and it updated the formatting on the README.md. It uses prettier.io 's rules so let me know if you do not like that.

@n3wscott I checked the README, the linting seems good for me, I'm not opiniated.

@n3wscott I checked the README, the linting seems good for me, I'm not opiniated.

@n3wscott: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@n3wscott: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@n3wscott: Adding label do-not-merge/contains-merge-commits because PR contains merge commits, which are not allowed in this repository.
Use git rebase to reapply your commits on top of the target branch. Detailed instructions for doing so can be found here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@n3wscott: Adding label do-not-merge/contains-merge-commits because PR contains merge commits, which are not allowed in this repository.
Use git rebase to reapply your commits on top of the target branch. Detailed instructions for doing so can be found here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@n3wscott: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@n3wscott: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@n3wscott can you squash the commits please?

@n3wscott can you squash the commits please?

Can you squash merge instead?

Can you squash merge instead?

Can you squash merge instead?

Merges are automatically made after an approval by poiana bot, it doesn't squash merge as far I know.

Can you squash merge instead?

Merges are automatically made after an approval by poiana bot, it doesn't squash merge as far I know.

@n3wscott: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@n3wscott: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@n3wscott: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@n3wscott: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/unhold

/unhold


feat(table): add disconnect to data source

Disconnects the data source when it is no longer used, either by the table being destroyed or another data source taking its place

Please fix the test

@andrewseguin Please rebase again. Thanks

Rebase


demo.bin

Is there any reason we wouldn't want to rename firmware.bin to demo.bin, stick it in the root of a sdcard, and boot?

Did it work?


Removes the extraneous relations from discussions (#138)

What can I say, everything has been said in the Larachat and ofcourse issue #138

What about the migrations?

I really need to not-drink beer during this stuff, let me update it


Wagtail 4.2 userbar is now sensitive to change in font size in parent DOM

Issue Summary
When a Wagtail site redefines the font-size for the HTML tag, it affects the size of the Wagtail Userbar.
Steps to Reproduce

Run the bakerydemo or your local version of Wagtail 4.2
Visit a page in your site
Inspect the page, edit the CSS for the  tag and set font-size: 9px for example. You will see that the edit bird icon shrinks.

Screenshot
On the left, a site running Wagtail 4.2 with the font size set to 9px on the  tag. On the right, the same configuration but Wagtail 4.1.1:

Any other relevant information. For example, why do you consider this a bug and what did you expect to happen instead?

I have confirmed that this issue can be reproduced as described on a fresh Wagtail project: (no)

Technical details

Python version: Python 3.10.9
Django version: Version: 4.1.6
Wagtail version: 4.2
Browser version: Chrome 109

This was introduced in #9816, more specifically the line that sets the font size to 1rem:
https://github.com/wagtail/wagtail/blob/1ffa497886d6d5de72eac200c9f8dad6cec9af28/client/scss/components/_userbar.scss#L85
Maybe this was intended behaviour, maybe not. But I believe a Wagtail component showing up in the site UI should be as independent from the parent markup and styles as possible.

hi @saevarom I have solved it in my pr

Hi @saevarom, thank you for looking into this.
This is an intentional change. We want the userbar’s size to change based on the browser’s font size settings, and as far as I’m aware there is no other way to do this than have the userbar font size by relative based on the root element.
I’ll close this now, but feel free to re-open if there is a better technique for this we’re not aware of.
@Aadijindal07 to avoid waisting your time, please wait for issues to be confirmed before opening a pull request to make a change.

I see your point, but this does make life harder for developers that actually re-define the base font size to set up font sizes in their websites. I do believe using em units does allow the userbar to change size with a change in the browser zoom settings.
As I mentioned in the first PR that I don't know if you read @thibaudcolas, I think the fundamental issue is that we can't use rem units to style self-contained components. The rem unit is always a function of the font size of the root element, while the em unit is relative to the font size of its own element (which might be inherited).
Frankly, I'm surprised that this issue is closed so fast without any discussion. I know many issues and PR's are received, but this is a real issue that will affect almost all websites that me and my co-workers create due the nature of the design change.

@saevarom We can definitely re-open this if you or anyone else thinks there is a better way! I don’t see how em units would help with this, could you share more information / a prototype / PR?

Just to be clear, since I don't know where this was discussed or decided, the goal is to change the size of the userbar when the user has a preference in their browser for smaller / larger fonts. So you are not referring to the zoom setting?

Yes, here is an example of the corresponding setting in Safari:

Other browsers have equivalent settings that work a bit differently.

OK, thank you. Will dig into that.

I just ran into this myself, and it's a serious problem for us because we set our HTML's base font size to 10px. This makes the rules within .w-userbar force everything to be 37.5% smaller than it's supposed to be, because they all use rem units with an assumed base font-size of 16px.
For instance, the text inside the userbar's popup is given a font-size: .875rem rule. This results in 14px text by default, but but with a 10px base font size, that rule makes the text 8.75px tall, which is nearly illegible.
The same problem occurs with the red circle behind the error count for accessibility. Its height and width are defined in as 1.25rem, which is 20px by default, but only 12.5px with our setup.
I think @saevarom is correct that using em units will solve this, but I don't think his particular solution is the best option. I believe the correct fix is to set the font-size for .w-userbar to whatever base size it was designed for (presumably 16px), then replace all the rem units in the CSS with em units, so that they key off this 16px size, rather than the HTML's base font size. This will make font-size: .875em actually give you 14px text, even on a site with a 10px HTML font-size. Zooming will still resize the button and the text appropriately.
You do have to be careful not to "stack" font size changes when doing this, though. There are currently several rules that define font-size throughout the tree of elements within the userbar, and you'd need to remove several of them to make em units behave as expected. For instance, the .w-a11y-result__count item gets its font from this stack of font-size rules:

If you switch to em units, every level of that list changes what 1em means, so you need to either account for that, or remove the rules that aren't necessary, and move them down the stack to the element they're actually intended to style, rather than their parents.

I’ve had a go at attempting a fix for this and wasn’t able to. There are two complications that mean there’s lots more rem usage than immediately visible:

We use rem units for a lot of the spacing (padding, margins) so it’s relative to the root font size.
With the new accessibility checker, we started using more generic Wagtail admin components within the userbar (our modal dialog).

Switching to em units (and potentially introducing a min in there) would be the neatest if this was only affecting font size, but it seems unlikely to work for spacing (due to the compounding), and will be much harder for us to maintain if we needed to do so across many components.
Another solution would be to introduce CSS variables for our font sizes (and potentially spacing). This would work but would require quite a bit of work for projects needing this, while also making Wagtail’s stylesheets harder to follow for maintainers.
Or try to find a CSS technique (something like variable units perhaps?) that would make this manageable without changing the code too significantly.


Avoid double resource loading when drawing waveform from a video file

I have an application that is displaying the video and the audio waveform. Since WaveSurfer handles video file I load the waveform from it which result in loading the video resource two times.
Is there a way to load the waveform from a video element to avoid this waste of bandwith usage?

@MartinDelille can you show some code that explains this issue, I'm not sure if I understand fully.

If I understand correctly the browser will cache the file at the first request, so no extra bandwidth usage. (Unless you use different URIs or have weird server config) - maybe check the dev tools to see if it is really being downloaded twice.

@constmoon do you have some example code to reproduce this?

no feedback, closing.

I am facing the same issue. I took the demo code from
[https://codesandbox.io/s/wavesurfer-react-20-gqvb6?from-embed=&file=/src/index.js]
The problem is, when I am opening the Demo code it's showing just one WaveForm. But From my local project it's loading twice. My Code below
`
import React, {
useCallback,
useEffect,
useRef,
useState,
useMemo
} from "react";
import { WaveSurfer, WaveForm } from "wavesurfer-react";
import RegionsPlugin from "wavesurfer.js/dist/plugin/wavesurfer.regions.min";
function WaveSurferUI() {
const plugins = useMemo(() => {
  return [
    {
      plugin: RegionsPlugin,
      options: { dragSelection: true }
    }
  ].filter(Boolean);
},[]);

const [regions, setRegions] = useState([]);

// use regions ref to pass it inside useCallback
// so it will use always the most fresh version of regions list
const regionsRef = useRef(regions);

useEffect(() => {
  regionsRef.current = regions;
}, [regions]);

const wavesurferRef = useRef();
const handleWSMount = useCallback(
  (waveSurfer) => {
    if (waveSurfer.markers) {
      waveSurfer.clearMarkers();
    }

    wavesurferRef.current = waveSurfer;

    if (wavesurferRef.current) {
      wavesurferRef.current.load("/Demo.mp3");

      wavesurferRef.current.on("ready", () => {
        console.log("WaveSurfer is ready");
      });

      wavesurferRef.current.on("loading", (data) => {
        console.log("loading --> ", data);
      });

      if (window) {
        window.surferidze = wavesurferRef.current;
      }
    }
  },
  []
);

const removeLastRegion = useCallback(() => {
  let nextRegions = [...regions];

  nextRegions.pop();

  setRegions(nextRegions);
}, [regions]);

const play = useCallback(() => {
  wavesurferRef.current.playPause();
}, []);

var i=0;
return (
  i=i+1,
  console.log(i),

    <WaveSurfer plugins={plugins} onMount={handleWSMount}>
    <WaveForm id="waveform" hideCursor cursorColor="transparent"></WaveForm>

    </WaveSurfer>

      <button onClick={play}>Play / Pause</button>

      <button onClick={removeLastRegion}>Remove last region</button>

);

}
export default WaveSurferUI;`

also seeing each audio file being loaded twice:


Annotated DataFrame

I'm an R user & am new to pandas, so hopefully this question isn't totally out of ignorance.
Are there any plans on creating an object similar to R/Bioconductor's AnnotatedDataFrame ( http://rss.acs.unt.edu/Rdoc/library/Biobase/html/class.AnnotatedDataFrame.html )? It wouldn't seem sensible to carry over the aspects of the class that are based on gene expression data sets, but it would be quite nice to allow annotations of labels to be accessed via a method like varMetadata.

Haven't thought about it before. Can you elaborate on your use case at all? From reading the R doc, looks like it attaches additional information to measured variables, eg if you have a factor HML you can cross-reference this as referring to "High Medium Low". Does it allow, for instance, enriching factor labels like "H" => "greater than 1.0"?  I can see that being very useful.

Yes, it does allow for enriching factor labels.
For a given AnnotatedDataFrame adf, the metadata (say, annot) is itself a data frame where rownames(annot)=colnames(adf). annot can have an arbitrary number of columns, but it must have one called 'labelDescription", containing a textual description of each variable. In your example, this column could have the textual description, say, "H=greater than 1.0//M=1.0//L=less than 1.0", or the description could be spread out over multiple columns.
I don't have a specific use case, but I have found these annotations very useful in R because most data come along with relevant methods-type descriptions of how they were derived.

I admit I would find this useful as well when I don't need the overhead of the Python-R bridge (rpy2).


V3.0

Advantage 360 Pro PR template
What's changed:
Why has this change been implemented:
What (if any) actions must a user take after this change:

Please dont open PRs into the main repository for personal keymap changes


Kotlin Migration: Convert tests to Kotlin part 1

Fixes: https://github.com/thyrlian/AwesomeValidation/issues/74.
Converted test classes AwesomeValidationTest,
ValidationHolderTest, ValidationStyleTest to Kotlin.
Ensured all the tests are running and are passed successfully.
Added Kotlin version 1.3.50 to the project.

@thyrlian please let me know if you need more details on this.


deduplicate_inputs should not try to group inputs

When calling Drive.visualize_execution with the flag deduplicate_inputs=True the resulting graph has got one node for each possible combination of inputs that are connected to the dag.
Current behavior
In the example below, inputs a and b should be indenpent nodes. But there is a is also a node for a and b.  So you run the risk of having as many inputs node as there are combination of inputs in the downstream functions.
Screenshots

Steps to replicate behavior
def a_plus_b(a: int, b: int) -> int:
    return a + b

def a_times_2(a: int) -> int:
    return a * 2

def b_times_2(b: int) -> int:
    return b * 2

def everything(a_plus_b: int, a_times_2: int, b_times_2: int) -> int:
    return a_plus_b + a_times_2 + b_times_2

def test_wrong_inputs():
    driver = Driver(
        {},
        example_module,
        adapter=SimplePythonGraphAdapter(DictResult()),
    )
    inputs = {"a": 1, "b": 2}
    return driver.visualize_execution(
        final_vars=["everything"],
        inputs=inputs,
        output_file_path="./visualize_inputs.dot",
        deduplicate_inputs=True,
    )

Library & System Information
hamilton==1.42.0

Expected behavior
There should be one node of a, one for b and no node for a and b.

(copying my reply from a Slack thread)
What's displayed is the intended behavior of 2 changes compared to the early viz feature, but I overlooked one feature.
Change 1: In a viz, a function node actually has a single "input" node that contains "the set of inputs node" of the function node. Therefore, a_plus_b would always have the box with a and b.
Motivation: this ways, inputs are always locate together to better understand what the node requires (would get very messy otherwise, following lengthy edges)
Change 2: Then, the deduplicate_inputs flag deduplicates "input nodes in the viz" which are actually "the set of inputs node" mentioned in Change 1.
Motivation: If True, you guarantee that inputs are near the function node. If False, you can reduce clutter. It was difficult to pick a default because the best option depends on the specifics of the DAG
Potential solution: The issue raised appears related to Change 1 because there is currently no way to ungroup "the set of inputs node". It shouldn't be difficult to implement an group_inputs flag. Then, the deduplicate_inputs
would work as expected. I now realize that the semantics of deduplicate_inputs are confusing given the grouping feature. If you have suggestions for a better argument name, I'll take it!


Resolved Alignment Issue

Related Issue
Fixes #268
Description
So basically, I was assigned to resolve the issues of Alignment as same it was earlier. Like added flex, made changes in main_img height
So I changed alignment of card and the statistics points from blue to red, also increased the fontWeight of heading "Statistics".
Similarly, I made changes in the Top contributor part by making color of font from blue to red as required.
Overall, main changes were in container.css file of the project.
Type of PR

[X] Feature enhancement

Screenshots / videos (if applicable)
Screen Recording -
https://github.com/SUGAM-ARORA/UniCollab/assets/112338459/15f57da6-be56-4314-b596-e473ad0dc160
Screenshot of changes made in main page

Checklist:

[X] I have performed a self-review of my code
[X] I have read and followed the Contribution Guidelines.
[X] I have tested the changes thoroughly before submitting this pull request.
[X] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[X] I have commented my code, particularly in hard-to-understand areas.

Additional context:
[Include any additional information or context that might be helpful for reviewers.]

All the branches are up-to-date

And the changes are live in deployed website on vercel

@Sneha0019 Firstly go to your cloned github repo and update the branch . Then  use the above commands

I have done the changes as required and update the branch!

Thank you so much for guiding me I have done the changes!
Step 1:-

Step 2:-

Thank you!


[iOS and Android] Large images appear downsampled, and resize mode not working properly.

React Native version:

info
  React Native Environment Info:
    System:
      OS: macOS 10.14.4
      CPU: (8) x64 Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
      Memory: 2.83 GB / 16.00 GB
      Shell: 3.2.57 - /bin/bash
    Binaries:
      Node: 10.15.0 - /usr/local/bin/node
      npm: 6.9.0 - /usr/local/bin/npm
      Watchman: 4.9.0 - /usr/local/bin/watchman
    SDKs:
      iOS SDK:
        Platforms: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2
      Android SDK:
        API Levels: 23, 25, 26, 27, 28
        Build Tools: 23.0.1, 25.0.2, 26.0.1, 26.0.2, 26.0.3, 27.0.3, 28.0.3
        System Images: android-23 | Google APIs Intel x86 Atom
    IDEs:
      Xcode: 10.2.1/10E1001 - /usr/bin/xcodebuild
    npmPackages:
      react: * => 16.6.3
      react-native: * => 0.59.6
    npmGlobalPackages:
      react-native-cli: 2.0.1
      react-native-git-upgrade: 0.2.7

Steps To Reproduce

Add a <Image> component, load a large image. The one I used is a 435 x 7225, 286kb png file.

Problem on Android
Set resizeMode to cover, image appears to be heavily downsampled, becomes unviewable.
Problem on iOS
Set resizeMode to center, image is cropped.
Describe what you expected to happen:
I expect the image to be clear on Android.
I expect the image to be displayed in full on iOS.
Snack, code example, or link to a repository:
https://snack.expo.io/ryp-QWI3V
I also created this SO question with some screenshots: https://stackoverflow.com/questions/56035427/why-large-images-are-blur-or-downsampled-using-react-native-image

Experiencing the same issue here. High resolution png with same filesize being downsampled beyond recognition. Same happens with both a remote URL or a local file.


Updated icons

This includes the non-preview assets, they can still use some work but it's a good start.

@yaichenbaum where do you get this kind of desktop wallpapers from? (as shown in FilesHome.png)

@d2dyno1 I got it from https://wallpaperhub.app/.


Packer build gets stuck on waiting for WinRM to become available when set-edition set to StandardServer instead of Datacenter

Hi
Thanks for the awesome project and for your work
I am trying to build ServerStandard edition instead of Datacenter one so I changed the scripts/bios/gui/autounattend.xml file like below :
<SynchronousCommand wcm:action="add">
                 <CommandLine>%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -Command dism /online /quiet /set-edition:ServerStandard /productkey:N69G4-B89J2-4G8F4-WWYCC-J464C /accepteula</CommandLine>
                 <Order>7</Order>
                 <Description>Switch from EVAL to VL</Description>
  </SynchronousCommand>

When I try to build the image, it gets stuck waiting for WinRM to become available and never proceeds further.
I got the product key from Microsoft's official KSM activation page for Win2k19 StandardServer Edition.
https://docs.microsoft.com/en-us/windows-server/get-started/kmsclientkeys
I am using VMWare Workstation PRO to build the image via below command
packer build -only=vmware-iso win2019-gui.json
Do you have any insights what might be the culprit or what should I change else in the configuration files to make this work?
Thank you

Hi @aydintd,
I've just tried doing the same and it worked on fine for me.
My first guess is that there might be a typo in your 'scripts/bios/gui/autounattend.xml' file. Can you compare it with the one I've attached, and see if there's any difference ? (I had to change the file ext to be able to attach it)
autounattend.txt
To confirm whether you have switched to Server Standard mode or not you can got to:
Settings > Update & Security > Activation
And check if the edition is 'Standard', or 'Standard Evaluation'.
Alternatively you can use the command 'slmgr /dli' and check if it says 'ServerStandard' or 'ServerStandardEval'.
If all of the above is fine, then you should check if you have network connectivity between your VMware host and the VM. (If the build worked before you edited the file, then this is probably not the issue).
Let me know if you manage to find out what was causing the issue.

Hi @eaksel
I managed to workaround this by removing the below stop WinRM service command before the dism /online /set-edition:ServerStandard command and it got through and generated the vmdk image afterwards :
     <SynchronousCommand wcm:action="add">
                    <CommandLine>%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -Command Stop-Service WinRM</CommandLine>
                    <Description>Stop the WinRM service to allow the dism process to finish before packer executes scripts</Description>
                    <Order>6</Order>
                    <RequiresUserInput>true</RequiresUserInput>
                </SynchronousCommand>

I will try out the autounattend.xml file that you've shared and let you know,
Thank you for taking a look onto this, highly appreciated.

Hi Emre,
Thank you for providing the autounattend.xml file again, it got through this time without removing the winrm stop service command from the file. As you've mentioned I probably had a typo invisible to my eyes in my version which was preventing me to complete the image build.
It might be a good idea to mention how people can generate Standard server editions by using your project in the README.md file, just a suggestion! :-)
I will help myself and close out this issue.


Suzi branch 1

Is this the best way to add images back to the pages? Or do I just put these links directly in the appropriate .md file? I've never played around with images on GH, but looks like it's using the png still hosted on geneontology.org, not saved on GH.
(source: https://www.tilcode.com/add-a-screenshot-to-your-github-repo-readme-md/)

Note: https://github.com/geneontology/go-docs/pull/24#issuecomment-425530313
Images should be added to this repo, and linked locally.

I have no idea how to add image in markdown. @lpalbou can you help us ?
Thanks, Pascale

https://guides.github.com/features/mastering-markdown/
See Examples, click images

Yes, the way to include images in markdown is:
![Alt Text](url)
Example:
![part of and has part relations](/assets/pics/diag-allsome-haspart.gif)
The url can refer to either local or external files, but because the Drupal will be retired, they won't exist externally so we are better off integrating them now to the repo and using their local url. It will also help testing true standalone version of the site and see if it works.
However, @kltm , do we follow the old hierarchy for files (e.g. /sites/default/files/u425/diag-allsome-haspart.gif) or can we define a new, simpler and more intuitive hierarchy such as /assets/pics/diag-allsome-haspart.gif ?
I don't think we need more hierarchy than:

/assets/pics/
/assets/docs/

No need to follow the old hierarchy. I'd even make it flatter than your suggestion, but whatever works.

So on https://github.com/geneontology/go-docs/blob/master/docs/_docs/contributing-go.md, due to the (massive) size of the image, the only way I could resize was
[<img src="http://geneontology.org/sites/default/files/u602/ontology-terms-icon.png" width="225" height="256" title="Add New Terms, Synonyms, or Clarify Definitions">](http://geneontology.org/contributing-go-term)
otherwise the icons were completely different sizes.  Is this OK?
I will probably edit this page soon, with more instructions on submitting annotations- but am trying to get these docs in order before Thurs.

@suzialeksander when we have local copies of those images and you only need them in a smaller size, it would be better to resize them and store them to that minimal required size.
It may seem unimportant but you still download the full resolution image, which aside from slowing the site, may cause trouble and costs if generalized: the site will be hosted on GH which has a 100GB data transfer limit / month. For 50k visitors / month, it means only 2MB / visit.. So if your single image is 1MB instead of 50kb, in that context, that's actually a lot.
In that same spirit of speed / lowering data transfer, unless you need transparency, it would be better to use JPEG.
Notes:

after resizing them, you can still set the width & height to ensure they are displayed the way you want.
@kltm we could also run a small prog to automatically resize unreasonably large images. That would be ok if we consider we are not supposed to have very large image to download or display

@lpalbou Run any resizing script in the repo that you want. Large things that we want can always be hosted elsewhere.

@ktlm @lpalbou, you may be vastly overestimating my GitHub/computery skills.  I don’t know where the website images are currently hosted locally, where they need to be (if different), or what different sizes to make them. I can probably resize but not really sure how I’d do that yet so it would probably take me longer than it needs to.
So, this probably isn't happening yet:

The url can refer to either local or external files, but because the Drupal will be retired, they won't exist externally so we are better off integrating them now to the repo and using their local url.


Just a thanks

The more I work with mockery the cooler I find it. I think it's a brilliant piece of software! Thanks for it!

You're more than welcome! :P


Tolerate unexpanded wildcards in items in Razor language service

This was reported as https://developercommunity.visualstudio.com/content/problem/564524/vs-2019-netcore-project-path-too-long-exception-re.html
Describe the bug
microsoft/msbuild#406 means that some wildcard patterns can fail to expand and then be represented as literal * in items. Ideally that would be fixed at the MSBuild level, but a) fully supporting long paths in Visual Studio is under consideration but very difficult and b) the "fix" might be failure to load the project when wildcards fail to expand, which might be worse than the current behavior.
In addition, it would be legal at the MSBuild level for a user to put escaped wildcards into an item include (items aren't necessarily files).
If an item with ** in it is loaded in the Razor language service, it throws
===================
11/26/2019 9:52:04 AM
Recoverable
System.AggregateException: One or more errors occurred. ---> System.ArgumentException: Illegal characters in path.
   at System.Security.Permissions.FileIOPermission.EmulateFileIOPermissionChecks(String fullPath)
   at System.Security.Permissions.FileIOPermission.QuickDemand(FileIOPermissionAccess access, String fullPath, Boolean checkForDuplicates, Boolean needFullPath)
   at System.IO.FileInfo.Init(String fileName, Boolean checkHost)
   at System.IO.FileInfo..ctor(String fileName)
   at Microsoft.AspNetCore.Razor.Language.DefaultRazorProjectFileSystem.GetItem(String path, String fileKind)
   at Microsoft.CodeAnalysis.Razor.ProjectSystem.ProjectState.GetImportDocumentTargetPaths(HostDocument hostDocument)
   at Microsoft.CodeAnalysis.Razor.ProjectSystem.ProjectState.WithAddedHostDocument(HostDocument hostDocument, Func`1 loader)
   at Microsoft.CodeAnalysis.Razor.ProjectSystem.DefaultProjectSnapshotManager.DocumentAdded(HostProject hostProject, HostDocument document, TextLoader textLoader)
   at Microsoft.CodeAnalysis.Razor.ProjectSystem.RazorProjectHostBase.AddDocumentUnsafe(HostDocument document)
   at Microsoft.CodeAnalysis.Razor.ProjectSystem.DefaultRazorProjectHost.<>c__DisplayClass7_1.<OnProjectChanged>b__2()
   at Microsoft.CodeAnalysis.Razor.ProjectSystem.RazorProjectHostBase.<UpdateAsync>d__17.MoveNext()

To Reproduce
Create a very-deeply-nested folder structure with a file or two in it under an ASP.NET project that is not excluded (so not just $(SPARoot)node_modules). Open the project in VS.
Note: this should not happen if the files with long paths are excluded, so the default dotnet new angular experience with its nested node_modules should not experience this.
Further technical details
VS 16.3.10 with .NET Core SDK 3.0.100.

Thanks @rainersigwald.
@NTaylorMullen can you please look into this? Thanks!

@rainersigwald how does anything work in Visual Studio when file paths get too long? I imagine C# or C++ etc. wouldn't understand ** as part of file paths and also end up exploding.
I understand how this issue is on the MSBuild backlog but doing this work on our end would be quite large and potentially throw away given the amount of places we read/look at file paths.

Things generally fall apart if important project files exceed MAX_PATH. In the case in the original bug, the files in question generally weren't important to design-time scenarios, so failing to load the project because they were globbed in was a bigger problem: if the failed-glob files just failed to expand, the project would be mostly usable, but instead it just blew up.
The ideal thing here would be to manifest devenv.exe as supporting long paths--that's what we did for MSBuild.exe. That's tracked by a feedback item I linked but is a fairly scary change since it affects all VS extensions and workloads and it requires a Windows-level opt-in. If Razor uses any external helper processes that are running on full .NET Framework (.NET Core already does reasonable things) it might be worth considering manifesting them.
Since NPM no longer creates super-deeply-nested folders by default (they moved to flattening the dependency tree years ago) I wouldn't object to won't fixing this or duplicating this against https://developercommunity.visualstudio.com/idea/351628/allow-building-running-and-debugging-a-net-applica.html.

Since NPM no longer creates super-deeply-nested folders by default (they moved to flattening the dependency tree years ago) I wouldn't object to won't fixing this or duplicating this against https://developercommunity.visualstudio.com/idea/351628/allow-building-running-and-debugging-a-net-applica.html.

Love it!

Closing as external: https://developercommunity.visualstudio.com/idea/351628/allow-building-running-and-debugging-a-net-applica.html


Output type of SV_Target is wrong in HLSL page "Semantics"

Link to article:
https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/dx-graphics-hlsl-semantics
Problem:
The type of SV_Target[n] is reported as float, but in practice it is variable; could probably be listed as "unknown"

The fix for this has been merged.


New Release ?

Hi,
We would really like a new release in order to have access to this functionality :
https://github.com/google/or-tools/commit/d3a6ed9787c2664b81931550a9fff0577a463ab6
We are waiting on it since mars 2016 and are currently working on this challenge with a fixed deadline...

I just released it.
I will announce it soon.


Supports kotlin based dsl for routes

Supports #57  - This is a PR just to show an early version of the DSL for defining routes using the Kotlin DSL. A sample configuration looks like this:
gateway {
            route {
                id("test")
                uri("http://httpbin.org:80")
                predicate(host("**.abc.org") and path("/image/png"))
                add(addResponseHeader("X-TestHeader", "foobar"))
            }

            route {
                id("test2")
                uri("http://httpbin.org:80")
                predicate(path("/image/webp"))
                add(addResponseHeader("X-AnotherHeader", "baz"))
                add(addResponseHeader("X-AnotherHeader-2", "baz-2"))
            }
        }

any thoughts on this approach @spencergibb


when build apollo3.5 , System crash

That's exact the same issue I experienced today.
The system was down without any response , while I am building apollo3.5 under ubuntu 18.04.
I failed twice with no exception.
A message poped up" could not start ksmserver" before the system reboot automatically.
Will try again

My issue has been solved after repair some broken packages under ubuntu18.
The system entered into recovery mode, then Repair Broken Packages
Reboot again after the above, then I built it again with GPU enabled
everything is fine.

My issue has been solved after repair some broken packages under ubuntu18.
The system entered into recovery mode, then Repair Broken Packages
Reboot again after the above, then I built it again with GPU enabled
everything is fine.

OK, thank you very much!Ever tried using only CPU?

My issue has been solved after repair some broken packages under ubuntu18.
The system entered into recovery mode, then Repair Broken Packages
Reboot again after the above, then I built it again with GPU enabled
everything is fine.

OK, thank you very much!Ever tried using only CPU?

I am using the GPU mode

@Tangtang1234 @gvc0461082002 could you give us additional details - what version of Apollo, your CPU/ GPU information, memory? It will be really helpful for us to not only debug your issue but help prevent it from happening to anyone else in the developer community.
@gvc0461082002 which packages did you need to fix to get it running?
Thanks!

@Tangtang1234 @gvc0461082002 could you give us additional details - what version of Apollo, your CPU/ GPU information, memory? It will be really helpful for us to not only debug your issue but help prevent it from happening to anyone else in the developer community.
@gvc0461082002 which packages did you need to fix to get it running?
Thanks!
Apollo 3.5, build with source code in CPU mode,and  size of the memory is 5G .

@Tangtang1234 we recommend a system of at least 6~8GB while working on the Apollo platform. Also running it using a GPU is what we recommend as well.

@Tangtang1234 @gvc0461082002 could you give us additional details - what version of Apollo, your CPU/ GPU information, memory? It will be really helpful for us to not only debug your issue but help prevent it from happening to anyone else in the developer community.
@gvc0461082002 which packages did you need to fix to get it running?
Thanks!
Apollo 3.5, build with source code in CPU mode,and  size of the memory is 5G .

Hi Tangtang:
My system:
KDE 18.04.2 LTS (Plasma)
32GB
Nvidia Titan 1080 8GB
CPU : i7 6800K
kernel: linux 4.15.0-46-generic(x86_64)
Asi mentioned before, a message " faile to start ksmserver" poped up. The plasma is really vulnerable after I google the message. Then I chose to let all broken packages(including all known unknown)
repaired by the ubuntu automatically.
Another suggestion is to enter into /var/log, to read system log if necessary
All the best to you :)

@gvc0461082002   Thanks! my computer is lower on configuration.

@Tangtang1234 were you able to resolve your issue? Is there anything else we can help you with?

Close long-time-no-response issue.
FYI, We have updated Low-Latency / Realtime Kernel Installation Guide
(English , Chinese) for Ubuntu 18.04 now.


system: update licenses to Apache

Summary
Gregory Nutt is has submitted the SGA
Ken Pettit has submitted the ICLA
as a result we can migrate the licenses to Apache.
Impact
LICENSE
Testing
NONE

please ignore the remaining nxstyle errors

@xiaoxiang781216 please ignore the remaining nxstyle errors


Auto research does not fully work fine yet

So I am looking at "Info" and Overview. And I clicked the build and research buttons.
And then here is an example : 12:39:53: Brooklyn: Research Maneuver lvl 15
So it tries to research this but this is not possible because maneuver lvl 15 requires a garage from lvl 6.
And the garage is lvl 5 currently. But the auto research keeps trying to do this research so that way it would end up not researching at all. So somehow it should research the actual currently possible researches maybe or if it could create the "link" and see that the garage has to lvl up then it should build the garage and then the research.

I have changed build requirements for research, so hopefully it matches better now.


Add spend note transaction builder

Spending a note:
In note
Context vars:
0: 0 byte (>= 0 means spend, also encodes note output index in outputs, which allows multiple note spends in single tx)
1: GroupElement, a of signature
2: ByteArray, z of signature
3: ByteArray, avltree insert proof

Out note

R4 - avltree with inserted reserveNftId -> signature
R5 - next holders pk as GE (current holder of note)
R6 - Increment +1 (length of signers)

Transaction structure
Inputs:
n: note in
Outputs:
n: note out
Data inputs:
0: reserve box that holds the nft that was inserted into avltree of out note

Store
Will likely need to add a SignerService to the store that has a method like signers().restore_prover(&note): BatchAVLProver in order to sign the note and insert values. Or maybe makes sense to have it on notes like notes().restore_prover(note_id)

I am very interested in that logic implementation
I'd like to contribute to your project
Could you give me a chance to work with you?

Hello. kushti
I am a dev who is interested in your issue
Could you give me a chance to work with you?

Hello. kushti I am a dev who is interested in your issue Could you give me a chance to work with you?

Sure, assigned you. Any help needed ?

Hello. kushti I am a dev who is interested in your issue Could you give me a chance to work with you?

Sorry I think this budget is not so suit for me

Hello. kushti I am a dev who is interested in your issue Could you give me a chance to work with you?


ball_bearings.scad, can we have a "rounding" argument?

Ball bearings have rounded edges on both the OD edges and ID edges.  Can we have the option to specify the rounding value?
According to the ball bearings spec sheets I looked at today, the interior and exterior rounding is always the same, so a single value should be adequate.
Thanks!

So you're asking for fillets at the bottom of the race (2 edges) and roundovers on the top?  Do we have any plausible defaults?

I'm asking for round-overs on ID and OD edges. In the specs I reviewed this
morning, the roundover varied depending on mfr and bearing size, so I would
not suggest using a default value.
On Thu, Sep 26, 2024, 2:16 PM adrianVmariano @.***>
wrote:

So you're asking for fillets at the bottom of the race (2 edges) and
roundovers on the top? Do we have any plausible defaults?
—
Reply to this email directly, view it on GitHub
https://github.com/BelfrySCAD/BOSL2/issues/1476#issuecomment-2377951930,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVJPTT374S2HQZPY54B7Q6LZYR2P5AVCNFSM6AAAAABO5TV7VWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNZXHE2TCOJTGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

So as I see it, the ball bearing has 8 circular edges, 4 on the top and 4 on the bottom.   It appears from looking at a McMaster diagram that all 8 are rounded or maybe chamfered.  In the case of the flange there is a 9th edge.  (In the shielded case it looks like only 4 edges.)
Are you asking that only some of these edges get treated?

I pulled this out of NSK bearing catalog
https://www.nsk.com/content/dam/nsk/common/catalogs/ctrgPdf/bearings/e1103b.pdf,
page 176:  They only specify the two radii (assuming left-right symmetry),
and this is what I was looking for.  I guess the other two edges you're
referring to are at the opening where the seal will be located?   As you
can see in the table, the value varies by bearing size.
To be honest, this is a low priority for me.  If you want to decline this
enhancement request, I won't be disappointed.  If I really need the radii,
I know how to do it using cyl() with rounding argument.
Regards,
Dan
[image: image.png]
On Mon, Oct 14, 2024 at 8:59 PM adrianVmariano @.***>
wrote:

So as I see it, the ball bearing has 8 circular edges, 4 on the top and 4
on the bottom. It appears from looking at a McMaster diagram that all 8
are rounded or maybe chamfered. In the case of the flange there is a 9th
edge. (In the shielded case it looks like only 4 edges.)
Are you asking that only some of these edges get treated?
—
Reply to this email directly, view it on GitHub
https://github.com/BelfrySCAD/BOSL2/issues/1476#issuecomment-2412098541,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVJPTT4ROJA6WI3HGMAYI3TZ3QPBVAVCNFSM6AAAAABO5TV7VWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMJSGA4TQNJUGE
.
You are receiving this because you authored the thread.Message ID:
@.***>

So if I understand that drawing then all 8 edges get the "r" rounding?   And in principle that rounding radius should get added to the dimensional tables for the bearings.

What happens to the flange for rounding?

The obvious (from p197 of the same doc):
[image: image.png]
On Mon, Oct 14, 2024 at 10:52 PM adrianVmariano @.***>
wrote:

What happens to the flange for rounding?
—
Reply to this email directly, view it on GitHub
https://github.com/BelfrySCAD/BOSL2/issues/1476#issuecomment-2412399560,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVJPTT5TH3V5WKAGDUDXJHTZ3Q4ITAVCNFSM6AAAAABO5TV7VWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMJSGM4TSNJWGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Weird how the flange has a concave circular rounding instead of a fillet.  Is it supposed to snap onto something?

Since there is no spec/dimension associated with that undercut, it couldn't
be reliably used mechanically.  I believe it's a byproduct of the metal
forming.  I have a flanged bearing down in the garage and I never noticed
the undercut.
Dan
On Tue, Oct 15, 2024 at 11:31 AM adrianVmariano @.***>
wrote:

Weird how the flange has a concave circular rounding instead of a fillet.
Is it supposed to snap onto something?
—
Reply to this email directly, view it on GitHub
https://github.com/BelfrySCAD/BOSL2/issues/1476#issuecomment-2413512235,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVJPTT2NFEMB77DIHOCONS3Z3TVINAVCNFSM6AAAAABO5TV7VWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMJTGUYTEMRTGU
.
You are receiving this because you authored the thread.Message ID:
@.***>

This has been open for a while and I'm not feeling motivated to go modify Revar's code to add it.  So I'm going to pass this off to him to either implement or decline to implement.  @revarbat what do you think?

Yes, that's fine. The rounding isn't for printing,  it's more for accuracy
when difference'ing.
Thanks & regards,
Dan
On Wed, Dec 11, 2024, 8:14 PM Alex Matulich @.***>
wrote:

@dan-p3rry https://github.com/dan-p3rry is this what you had in mind?
The one on the left is what BOSL2 does now, the one on the right is with a
slight modification to ball_bearings.scad to add an edge_r parameter to
round the edges of the outer ring.
image.png (view on web)
https://github.com/user-attachments/assets/a1b4d7d3-9de9-4b72-9f0b-f7586c5babec
Rounding doesn't work well for 3D printing the bottom layer though. A
chamfer would be better.
—
Reply to this email directly, view it on GitHub
https://github.com/BelfrySCAD/BOSL2/issues/1476#issuecomment-2537018500,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVJPTT2NT5TSLZPDWZQOPTT2FCMKRAVCNFSM6AAAAABO5TV7VWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMZXGAYTQNJQGA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Looking at the spec sheet @dan-p3rry referenced, I see I did it wrong. On the outer ring, only the outer edge is rounded, not the inner edge where the race is. And the inner hole is also rounded. It would be more like this:

With a flange, that spec document also shows one edge of the flange has rounding:

It works the same way with a shield too.

If @dan-p3rry says you got it right then raise the PR.  But I think change edge_r to just rounding which is more consistent with other modules in the library.

Done, changed edge_r to rounding. @dan-p3rry do the most recent screenshots look OK to you? It's one additional parameter, as you requested.

Looks good to me, thanks!


बुध showing up as बध in telegram.

But, it seems fine in the web page (and md) and ICS .

The automated action (all steps considered) at https://github.com/jyotisham/jyotisha/runs/1654076298?check_suite_focus=true only updated Chennai mds - https://github.com/jyotisham/jyotisha/commit/3b54d0832c44f94d3a77d50a3441fddaa6d36e6f , but did not update Bengaluru mds.

The automated action (all steps considered) at https://github.com/jyotisham/jyotisha/runs/1654076298?check_suite_focus=true only updated Chennai mds - https://github.com/jyotisham/jyotisha/commit/3b54d0832c44f94d3a77d50a3441fddaa6d36e6f , but did not update Bengaluru mds.

The automated action (all steps considered) at https://github.com/jyotisham/jyotisha/runs/1654076298?check_suite_focus=true only updated Chennai mds - 3b54d08 , but did not update Bengaluru mds.

At least the above problem is sorted out - https://github.com/jyotisham/jyotisha/blob/generated-output/Chennai/MULTI_NEW_MOON_SIDEREAL_MONTH_ADHIKA__CHITRA_AT_180/gregorian/2000s/2020s/2021_monthly/2021-01/2021-01-06.md is generated fine.
The change was this (almost sure, but not quite):
    - name: Deploy md
      uses: peaceiris/actions-gh-pages@v3
      with:
        github_token: ${{ secrets.GITHUB_TOKEN }}
        publish_dir: ./hugo-source/content/output
        publish_branch: generated-output
#      uses: s0/git-publish-subdir-action@develop
#      env:
#        REPO: self
#        BRANCH: generated-output
#        FOLDER: ./hugo-source/content/output
#        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

The automated action (all steps considered) at https://github.com/jyotisham/jyotisha/runs/1654076298?check_suite_focus=true only updated Chennai mds - 3b54d08 , but did not update Bengaluru mds.

At least the above problem is sorted out - https://github.com/jyotisham/jyotisha/blob/generated-output/Chennai/MULTI_NEW_MOON_SIDEREAL_MONTH_ADHIKA__CHITRA_AT_180/gregorian/2000s/2020s/2021_monthly/2021-01/2021-01-06.md is generated fine.
The change was this (almost sure, but not quite):
    - name: Deploy md
      uses: peaceiris/actions-gh-pages@v3
      with:
        github_token: ${{ secrets.GITHUB_TOKEN }}
        publish_dir: ./hugo-source/content/output
        publish_branch: generated-output
#      uses: s0/git-publish-subdir-action@develop
#      env:
#        REPO: self
#        BRANCH: generated-output
#        FOLDER: ./hugo-source/content/output
#        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Back to the original problem. ## माघः-11-23,कन्या-हस्तः🌛🌌◢◣धनुः-पूर्वाषाढा-09-22🌌🌞◢◣सहस्यः-10-17🪐🌞बुधः was sent, but Telegram receives it as ## माघः-11-23,कन्या-हस्तः🌛🌌◢◣धनुः-पूर्वाषाढा-09-22🌌🌞◢◣सहस्यः-10-17🪐🌞बधः. Weird. Will report it upstream.

Back to the original problem. ## माघः-11-23,कन्या-हस्तः🌛🌌◢◣धनुः-पूर्वाषाढा-09-22🌌🌞◢◣सहस्यः-10-17🪐🌞बुधः was sent, but Telegram receives it as ## माघः-11-23,कन्या-हस्तः🌛🌌◢◣धनुः-पूर्वाषाढा-09-22🌌🌞◢◣सहस्यः-10-17🪐🌞बधः. Weird. Will report it upstream.


Migration error reporting is confusing

If a migration fails, this module seems to silently report success.
Why?
Even if the atlas command returns a non-zero exit code, the Apply and similar methods always return a nil error, as long as it can parse the output of the command as JSON: https://github.com/ariga/atlas-go-sdk/blob/a226c45be16823f324ac93802ae940e0f1f42bba/atlasexec/atlas.go#L303-L307
It seems that API users have to check the .Error property on what one would expect to be the success output to check for errors, in addition to the "normal" error return.
This is confusing and error-prone.

Hey @mgabeler-lee-6rs, thank you for your report. we changed the behavior and release new version v0.3.0. Please upgrade!


PF-280 Migrate buffer to use terra common tracing package

Also make it a log error instaed of an exception if unable to export metrics to stackdriver.

Actually I am not sure how that package will be used. Someone need to call
StackdriverTraceExporter.createAndRegister
but where and who?
And currently we have a flag to control both tracing and metrics. What happens after? Two flags? No flags for tracing? If possible, I'd like this be off in test:
https://github.com/DataBiosphere/terra-resource-buffer/blob/master/src/test/resources/application-test.yml#L17

By adding bio.terra.common.tracing to the component scan, the TracingConfig registers the tracing exporter.
Now we have 2 flags. We could keep having 2 flags when we moving stats to the common lib, or we could make a single flag to control all stackdriver exporter.
Added config so it's off in tests.


Non uniformity on template id type on kafka events

Template ids are represented with string and number in the same Kafka event. It must be uniformized to use only one type.
Follow an example of an event.
{
  "event": "create",
  "data": {
      "label": "device",
      "id": "56b7b1",
      "created": "2019-01-07T12:21:22.016175+00:00",
      "templates": [
          1, 2, 3
      ],
      "attrs": {
          "1": [
              {
                  "label": "a",
                  "id": 11,
                  "template_id": "1",
                  "type": "dynamic",
                  "created": "2019-01-07T12:20:55.032796+00:00",
                  "value_type": "string"
              },
              {
                  "label": "b",
                  "id": 12,
                  "template_id": "1",
                  "type": "static",
                  "created": "2019-01-07T12:20:55.033423+00:00",
                  "value_type": "string",
                  "static_value": "b-attr value!"
              }
          ],
          "2": [
              {
                  "label": "c",
                  "id": 13,
                  "template_id": "2",
                  "type": "dynamic",
                  "created": "2019-01-07T12:20:55.031381+00:00",
                  "value_type": "blingbling"
              }
          ],
          "3": [
              {
                  "label": "d",
                  "id": 14,
                  "template_id": "3",
                  "type": "dynamic",
                  "created": "2019-01-07T12:20:55.032172+00:00",
                  "value_type": "string"
              }
          ]
      }
  },
  "meta": {
      "service": "admin"
  }
}

We recognize that the design has problems, but fix this would involve a change in many services and we won't plan to do it in short term, so this issue will be closed.


updated assignment_2 notebook

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
Completed assignment 2 for python
What did you learn from the changes you have made?
I learnt how to read foes in python, how to write python functions for working on files using numpy
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
Was thinking of using pandas for the analysis
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
The challenges were that of locating and properly referencing the folders.
How were these changes tested?
They were tested by calling the functions
A reference to a related issue in your repository (if applicable)
None
Checklist

[ ] I can confirm that my changes are working as intended

I have added comments to the code and submitted it through a new branch assignment 2. I have opened a pull request for that.


Start a test suite for the plugin

The Eclipse plugin is already quite large and could benefit from some kind of test suite.  So: learn how Eclipse plugin tests are done so I can start creating one.  This task could probably be deferred until we need to do some refactoring.

Some unit tests are now included in 3.1.0 since Tycho has added support for co-located tests in recent years.  Closing.


Build rn-codegen in a temporary directory

Summary
When running yarn install from the codegen directory it will reinstall all dependencies for the react-native workspace inside the react-native package. In my case this caused issues with metro because it would now have 2 copies of it (node_modules/metro and node_modules/react-native/node_modules/metro).
To avoid this copy the react-native-codegen source in a temporary directory and yarn install from there, then copy the built files back.
Changelog
[Internal] - Build rn-codegen in a temporary directory
Test Plan
Tested the script in an app with codegen enabled. Fresh install with rn-codegen not built, made sure no extra modules are installed under node_modules/react-native/node_modules.

cc @fkgozali @hramos

I'll take a look at this later this week - was focusing on making CI green until late last week

Just wanted to also double check. With this change, would all these paths in the codegen gradle plugin still work fine?
https://github.com/facebook/react-native/blob/f023519e491d8352fb384bd1520606c12cbad1ca/packages/react-native-codegen/android/gradlePlugin-build/gradlePlugin/src/main/java/com/facebook/react/codegen/plugin/CodegenPluginExtension.java#L23-L34
Also, will building from source (not from node_modules/react-native) still work? At least for FB internal CI, we want it to run on source directly, not from node_modules

@fkgozali Yes it should not affect those, basically all it does is build the /lib folder in a temporary directory then copy it back in the original react-native-codegen package.
One thing I just realized is I probably also want to copy back the node_modules folder in case some codegen dependencies are missing. It works currently as they probably all end up being available transitively.

Another thing to avoid confusing Metro is to make sure "temp dirs" are excluded from Metro resolution. I had to add one for buck-out in this commit: https://github.com/facebook/react-native/commit/17a8737ecb68f61a14f54bf0e2efeb618f97d326#diff-eb288b08cb881cff653283c14cb9630dc0924a1751950e1562a8ca2c0b39694b
Perhaps we could just update that list instead of moving tmp files around?

@fkgozali Hmm interesting, but I think it could cause issues since we still want to include node_modules/react-native/node_modules in my case it still contains a few libraries when installing normally (react-refresh and ws). The problem also with the current solution is rn-codegen is built inside the current dependency tree so it can mess it up and override whatever is inside react-native/node_modules.

Thinking more about this, ideally, any build-time artifacts should stay within a tmp directory, or a designated build dir, that is separate from the src dir. This prevents unexpected issue like what you experienced. So I think, if we can update the codegen plugin to somehow access the lib/cli (output of yarn run build) off this build/tmp dir, that would be best, so we can avoid moving node_modules around (to prevent weird unexpected issues like symlinks etc). This is how it works with Buck world today, see https://github.com/facebook/react-native/blob/master/packages/react-native-codegen/scripts/buck-oss/generate-all.sh#L13.
Do you think we can apply the same model here?

Do you think we can apply the same model here?

We'll just merge this one then iterate on my suggestion later

@fkgozali Sorry I forgot to come back to you on this. I think it would be possible, but does sound a bit complex since now we'd have to change codegen invocations to use this temp / build dir. Right now I think invoking codegen just uses require so node can find it wherever it is. This flow only happens when building from source in OSS which is a relatively rare setup so I think this might be a good compromise.

Btw, it looks like this approach isn't compatible with FB internal setup, so I'm modifying your change a bit to do it only when not running within FB.