[Bug?]: createResource() throws "Hydration Mismatch" errors on page load

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯
createResource fails at the hydration phase. If you look at the example given below, the search count is empty and the <For> list throws an error:
Error: Hydration Mismatch. Unable to find DOM nodes for hydration key: [...]

If you open the page source, you will notice that the data is present at the bottom of the page:

Found  results

[...]

Expected behavior 🤔
Solid has the API response but is not able to hydrate the component. Using the input field triggers API calls and works fine afterwards.
Steps to reproduce 🕹
// src/components/Search.tsx
export default function Search() {
  const [searchParams, setSearchParams] = useSearchParams();

  const [results] = createResource<string[], string>(
    () => searchParams.q?.trim() || "",
    async (q) => {
      const response = await fetch("http://localhost:3000/api/search?q=" + encodeURIComponent(q));
      return response.json();
    },
  );

  return (
    <>

Found {results.latest?.length} results

        <For each={results.latest}>{(result) =>
{result}
}</For>

    </>
  );
}

// src/app.tsx
<MetaProvider>
  <Title>SolidStart - Basic</Title>
  <SearchPanel />
  <Suspense>{props.children}</Suspense>
</MetaProvider>

// src/api/search.ts
export async function GET() {
  // purposefully simplified for this bug report
  return ["some", "results"];
}

Context 🔦
I am writing a search component sitting at the top of the layout. On every page, the user should be able to type a search criteria and see matching results. I'm using useSearchParams so that the search results are still visible if the user opens a link that contains the search criteria.
Your environment 🌎
System:
  OS: Linux 6.7 Fedora 39
  CPU: 12 amd64
Binaries:
  Node: 21.7.1 (using NVM)
  npm: 10.5.0 (using NVM)
$ npm ls | grep solid
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>

Closing this issue.
As soon as I opened it, I realised that the component sits outside of the  tag in the layout. Moving it inside fixed the issue.


Recording profile on apple silicon of rustup gives threads but no stacks

Hi Markus! I think you're really onto something with the user experience of this tool (pop open firefox profiler immediately in a browser, from a command-line tool, great idea).
I know it's not production-ready or anything but I wonder if you might still appreciate a bugreport, so I thought I'd share what happened when I tried it. I was just kicking the tyres; I'm not using samply for anything important yet, so this bug isn't urgent or anything.
Chip: Apple M1 Pro (Apple Silicon)
OS: Ventura 13.0.1
Samply: 0.9.0 from cargo
I'm running without root, but the same thing happens with root.
$ samply record -v rustup show

Generates this profile: https://share.firefox.dev/3h7lCvR
Expected
Profile has stack samples
Actual
Profile has thread names and pid but no stack samples.
Extra info
Rustup for me is running under rosetta:
$ file (which rustup)
/Users/mark/.cargo/bin/rustup: Mach-O 64-bit executable x86_64

I get the same kind of problem trying to profile hugo (a go binary): https://share.firefox.dev/3iuTvqQ
And hledger (a haskell binary): https://profiler.firefox.com/public/sb1qw1g0qsgjvd430txffqq3e6h4vnksb8x1ed0/calltree/?globalTrackOrder=0&hiddenLocalTracksByPid=9351-ewxSg&symbolServer=http%3A%2F%2F<IP_ADDRESS>%3A3001%2F0c2s02j9r7k0xlaqsi7m4cq598f693319d0xwg2&thread=0&v=8

Hi Mark! Yes, I definitely appreciate bug reports. And thanks for the encouragement :)
Yeah, profiling x86_64 processes (Rosetta) on arm64 doesn't work properly. I debugged it a little at some point and found out that memory which was mapped using mach_vm_remap from the x86_64 process into the arm64 process didn't contain the right bytes. Copying the memory with mach_vm_read (IIRC) gave the correct bytes. And I think even poking at the process with mach_vm_read made the mach_vm_remapped memory suddenly show the right bytes. Anyway, this brokenness means we can't read the list of libraries or the stacks, so the samples don't have useful data. I don't know if this is a bug in macOS or Rosetta or whether I'm calling it wrong, and maybe this is a weird enough case that I shouldn't expect "correct" behavior.
At the time I concluded that profiling Rosetta processes was a bit of a niche use case, and resolved to mark such processes with a " (Rosetta)" and fake the samples with some kind of warning string. But I haven't actually done that.
As a workaround, you can try to get native arm64 executables for the programs that you want to profile. For rustup, just updating rustup should get you a native arm64 rustup. For the go binary, you can compile it with an arm64 go build or use GOOS=darwin GOARCH=arm64 go build ... . I don't know about the haskell situation.

Thanks Markus for the detailed answer. I think it's probably unreasonable to expect Rosetta processes to work. For anyone worried about performance of Rosetta processes, probably the first step is to recompile them for arm64.
I should have included this in my original writeup (sorry if I'm muddying the waters a bit by mixing issues), but my other binaries I'm having trouble with are native arm64 binaries:
$ file $(which hugo) $(which hledger) $(which rustup)
/opt/homebrew/bin/hugo:        Mach-O 64-bit executable arm64
/opt/homebrew/bin/hledger:     Mach-O 64-bit executable arm64
/Users/mark/.cargo/bin/rustup: Mach-O 64-bit executable x86_64

After updating my rustup to arm64:
$ file $(which rustup)
/Users/mark/.cargo/bin/rustup: Mach-O 64-bit executable arm64

I still get the same problem: thread names but no stacks: https://share.firefox.dev/3UL5jCX

Oh, well that is quite surprising!
I'm not sure what's going on then. My configuration is quite similar to yours (I have an M1 Max rather than an M1 Pro), so I'm not sure what could cause the difference in behavior.
What does csrutil status print on your machine? Mine says "enabled" but it's possible that there could be a behavior difference if yours is "disabled"; maybe I am indeed using the mach_vm_remap APIs wrong and it's only working by accident.
Actually, looking at your profile, there's a surprisingly large number of main threads (there should just be one) and they all have the same pid + tid. So something's clearly off, and it's not necessarily the memory reading. I'll think about it some more. I've wanted to add some debug logging anyway, this seems like a good use case for it.

$ csrutil status
System Integrity Protection status: enabled.

I think adding some debug logging is a good idea. I ran samply with -v but I don't think it output any extra logging :-)

I think I found my problem: my rustc is still x86_64 after updating rustup, and so samply was also x86_64. I'll try to remove the intel rustc somehow and retry.

My default toolchain was x86, so even after uninstalling the toolchain above, it would be re-downloaded.
$ rustup default stable-aarch64-apple-darwin

Then:
$ cargo install samply
$ file ~/.cargo/bin/samply
samply:           Mach-O 64-bit executable arm64

And, huzzah, now I'm seeing results! https://profiler.firefox.com/public/b0qcc36jydrtpk6fhnpbvm5b37p1qkfdww805b8/calltree/?globalTrackOrder=01&symbolServer=http%3A%2F%2F<IP_ADDRESS>%3A3000%2F0az6nfy4smvzcn137a2rrqcbvf7ymv7k96arj6p&thread=0&v=8

And my haskell example works: https://share.firefox.dev/3Z3s3kW
And my go example: https://share.firefox.dev/3VDRk2g
This rules! Thanks and sorry to waste some of your time with such a weird situation, the problem was samply itself was compiled for x86_64, which I didn't expect.

Oh, hah, samply itself running under Rosetta was not a possibility I had anticipated. Nice debugging!
I agree it's (hopefully!) a niche scenario, but I'll still strive to give more useful error messages in this situation.


Updates documentation for PTNFLY-2148

Adds the documentation template, links to it from the wiki, and applies the template to all patterns (except alerts, cards, and patterns that are variations on a base pattern).

@srambach thanks! just 2 things:
We are going to change the name to "PatternFly CSS" instead of atomic
and
You can put the doc template directly the wiki, I don't know if we really need it as a .md file. Maybe add a note on the README besides the guidelines with a link to it. What do you think?

I started putting the template into the wiki, but then thought that it might be nice as a file that you could copy. I'm fine with it either way.

That's a valid usecase. If we want users to get it then lets remove it from the .git folder. Everything there will not be part of the repo the user gets when he clones it.
@bleathem what do you think? should a doc template be part of the repo?


Fix font rendering problem in QtWebkit 4.8

The lack of two fields in the generated font files' name tables seem to cause problems for QtWebkit.
This is what the tracemonkey paper looks like in QtWebkit 4.8 (Mac OS X 10.7.3) without this fix:
http://cl.ly/2B330e410e0r0s3v1f2z
Here's what it looks like with the fix:
http://cl.ly/071j1p0g0N3W3B1e3n0W

@pdfjsbot test


feat(tablecard): support editing dashboard with table cards

Summary

feat(tablecard) show sample values while the tablecard is being edited
fix(tablecard): support empty column array by default (as the first time a tablecard is added to a dashboard it may not have columns)

Acceptance Test (how to verify the PR)

Try out the new isEditable story for tablecard and make sure it shows sample data

:tada: This PR is included in version 1.79.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.0.0-beta.9 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.79.0 :tada:
The release is available on npm package (@release-1.x dist-tag)
Your semantic-release bot :package::rocket:


Optimize linters

This branch achieves a simple 50% speedup for ./test/lint/lint-all.sh (on my 8 thread laptop), and 28% speedup in lint-circular-dependencies.sh, which doesn't make make sense since I haven't actually made any practical changes(just made into functions). Almost all of the time is spent in handle_module, so if anyone wants to optimize further, focus on that method. My original plan was to multi-thread it, but that appears non-trivial
The speedup
This branch
lint-all.sh
real    0m44.096s
user    4m6.083s
sys     0m6.241s

lint-circular-dependencies.sh
real    0m23.161s
user    0m22.997s
sys     0m0.087s

develop
lint-all.sh
real    1m22.912s
user    4m10.978s
sys     0m10.668s

lint-circular-dependencies.sh
real    0m32.472s
user    0m32.352s
sys     0m0.076s

I'm concerned about using parallel in CI due to the fact that you no longer are able to tell what linter caused the error...
Maybe if the parallel run fails at all (ie b/c not present or b/c linter failed) then we run non-parallel?

Good point. How about using --joblog 2a59e0d5c7?


Expose schedule memo and search attributes in list

What was changed
Expose schedule's memo and search attributes in schedule list command.
Note these are not printed by default, you can use either -o json for a full dump or selectively enable them with --fields ScheduleId,SearchAttributes,Memo.
The values are always converted to strings for now. In the rewrite we can handle types better.
Why?
Fixes #433
Checklist

How was this tested:
manually

Hrmm, memo and search attributes aren't even shown when listing workflows. Should we do this there too?
(CLI refresh project has no concept of customizing list fields currently so we may have to add that concept)

I'm not sure customizing list fields is that useful. The key point to me is that the list view should be fairly readable, though it may omit some available information, and if you want all the information, you can use the json view and format manually.

Going to close this PR since we're rewriting things. This should be incorporated into #459.


_data files in theme gem don't appear to load

Very useful plugin. I gave it a go to see if I could integrate it with my theme gem so users don't have to copy a file with all of the UI text's translation.
Here's what I tried:

Add spec.add_runtime_dependency "jekyll-data", "~> 0.4" to my theme's gemspec
Went into my theme gem's /test folder ran bundle update and verified jekyll-data installed and was added to Gemfile.lock
Changed locale: en in /test/config.yml to fr to test if the UI text strings change from English to French.
From the theme gem's root ran bundle exec rake preview to fire up a test site at http://localhost:4000/test
Observed no change to the UI text.

If I copy _data/ui-text.yml to /test/_data/ui-text.yml the French translations appear. I also tried adding gem "jekyll-data" to the Gemfile in /test and that made no difference.
https://github.com/mmistakes/minimal-mistakes/tree/feature/jekyll-data

Thank you for trying the plugin and opening this ticket @mmistakes .
looks like I was wrong about runtime_dependency plugin not needing to be added to the site's _config.yml
My apologies..
adding jekyll-data to the gems: array in your test site's _config.yml should resolve this.
Another way to check if Jekyll reads _data folder is by serving with the --verbose switch. Though, in your theme's case, the humongous data hash is probably going to cascade relevant information.

Adding it to gems: works. Great job with the plugin!

Thanks :smiley:


Fix Cluster Bomb + Cripple Monster not working

This actually doesn't fix Cripple Monster.

tryUsingItem() instead of triggerAbility() ? Is this a mistake that the code originally had it as an ability? Or is the game coded with Cripple Monster as a limited-use ability somehow?

After 04436e14506881b58d6016b233dbe0743c1d7417, this PR should be reworked or closed.

Closing pending #175.


Fix/stats counter position

changes

Adds opts.devMode.statsContainer, for passing an html element that will be the container for the stats object.
Adds the classname stats to facilitate styling.
Only instantiate the stats object when devMode is active

fixes #176

@sophiedeziel since you've created the devMode, you might have an opinion on my changes. I was wondering if the new option (statsContainer) should be in the devMode object. And if not, wether the devMode and stats should really be separate..

No strong opinion, but I lean towards an option as part of the dev mode options.
It could be part of the devgui panels, I think that would be the best for a unified dev experience


Is it possible to build android applications utilising TF in unreal engine using this plugin ?

Atm there is no android support, but you can have better luck with the new remote focused architecture https://github.com/getnamo/machine-learning-remote-ue4


BUG: Testimonial card text is not visible in dark mode

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Testimonial card text is not visible in dark mode

@anuragverma108 I would like to contribute under GSSoC 2024
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

/assign

Assigned! @SuhainaFathimaM
Make sure to attach before & after screenshots in your PR and include the issue number.
i am the project mentor you can always reach out to me for any help!
Also, please star ⭐ the repo before working on it.
Happy open-source contributing! 😊


chore(Category/TopCat): cleanup

Making this look slightly more like other concrete categories. Baby steps, more to come.

Thanks!
bors merge


"Unit Testing" doesn't mention that azure-functions needs to be installed

func init creates an empty requirements.txt and so unit testing won't inherent work unless you install azure-functions locally. Mentioning that fact and the specific name of the package in case it isn't obvious to people would probably be useful.

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

ID: d955d169-8fb8-c511-8911-3e49f95c5ce6
Version Independent ID: 8a3d927c-51ce-d7d4-e5d1-acd928826db2
Content: Python developer reference for Azure Functions
Content Source: articles/azure-functions/functions-reference-python.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

@brettcannon Thank you for your feedback! We will review and update as appropriate.

Hey @brettcannon - Thanks again for sharing your feedback and helping us drive improvements towards MS Docs! We've created a PR that addresses this issue per your feedback, and upon approval & merge, the changes should reflect within the 24hrs.
We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Can pbbioconda provide an arm pre-compiling version ？

Hello，pbbioconda developer！
I’m working on an arm v8.2  HPC system. I was successful transplants the hifiasm on the arm HPC system. But now I wanne to refilter the ccs data. But I found that ccs do not provide source code or an pre-compiling version on arm. Can it provide an pre-compiling version on arm?

Hi! We are currently not offering ARM binaries, as the demand isn't there yet. We are revisiting what systems to support on a regular basis.
If you want to filter existing ccs BAM files, please use samtools in combination with grep. What exactly  are you trying to achieve?


Add Name of cluster to Banner Bar

Name / IP / Whatever /Color maybe.. We need to know where we are when making changes!!

Color can be set by changing the navbar under JAZZMIN_UI_TWEAKS in the settings.py  Another commit is coming that will automatically set JAZZMIN_SETTINGS.name to the socket.gethostname() of the machine.  This can be also changed by the admin if they don't want to use the hostname by editing the settings.py file.


postgresql-repmgr support

Hey,
is using bitnami/postgresql-repmgr instead of bitnami/postgresql for postgres backups already possible or are there any plans to support it? 🙂

Hi @jsbrain,
Did you try using the blueprint that we already have, let's try that and see if that works.
If you look into that blueprint, I think you would be able to figure out how we are backing up that database.

I'm currently on it, yes. To my understanding:
I'm using bitnami charts. Do I actually need to specify the image from ghcr.io/kanisterio/postgresql to run the deployment or should I run just the default bitnami postgres deployment and add a postgresql sidecar (I have seen some examples like that on Google) or neither of both?
Sorry to ask probably obvious stuff but I'm a little confused 🤦🏻♂

So the image that we use in blueprint ghcr.io/kanisterio/postgresql, just has postgres client to backup the database. you can use another image as well as long as you have postgres client there.
I think it would be better if we continue this on kanister slack.
kanisterio.slack.com

Ok sure, thanks for the info so far 🙂


[Responsive Navigation] responsive menu not possible without plugins

#8462  we have a normal menu without plugins:

One

Two

Three

Four

If we wan't to make it responsive we have to give up our "normal" look for medium-up as foundation will always try to check which plugin we are using (even if I don't want one on larger screens).

I know there is a workaround by creating two lists with show-for-medium, etc. but i guess extending data-responsive-menu would be a better solution.
EDIT: I just saw, that #8756 is referring to the same problem.

Totally get the custom plugin request (#8756)... trying to understand the non-plugin case... all of the current plugins (dropdown, drilldown, and accordion) are for nested menus... the menu example you show here has no nesting... is that an artifact of the example?  Or are you wanting to somehow make a non-nested menu responsive into a plugin at some sizes?  Can you help me understand what you're trying to accomplish?
Thanks

Sorry if my post was a bit confusing, yeah I was talking about a nested menu. This pretty much sums it up:

Or are you wanting to somehow make a non-nested menu responsive into a plugin at some sizes

As explained in the docs you can change the behavior of a nested menu, e.g. using drilldown for small screens and a dropdown approach for medium and larger with data-responsive-menu="small-drilldown medium-dropdown".
Using the example above I would like to have the possibility to have a drilldown navigation for small screens only and without any plugin at all (neither dropdown, drilldown or accordion) for medium-up.
It seems to me that currently it is required to always choose one of the three plugins for a certain screensize.
I hope I could explain it a bit better.


Cleanup warnings in Quest

In file included from src/axom/quest/SignedDistance.cpp:6:
src/axom/quest/SignedDistance.hpp:289:54: warning: unused parameter 'maxObjects' [-Wunused-parameter]
                                                 int maxObjects,
                                                     ^
src/axom/quest/SignedDistance.hpp:591:30: warning: unused parameter 'mesh' [-Wunused-parameter]
  const detail::UcdMeshData& mesh,
                             ^
src/axom/quest/SignedDistance.hpp:592:12: warning: unused parameter 'meshPts' [-Wunused-parameter]
  ZipPoint meshPts)
           ^

I didn't feel comfortable changing an external API for code I didn't own.
@kanye-quest  if you would like to fix this that would be great, otherwise tell me what you want to do and i'll fix it.

Yep, we'll probably want to remove those options since they're no longer used. I'll try and take care of it some point this week.


[Bug] Invalid JSON in the alerts.blade.php

Bug report
What I did
try {
    // throw an exception here
}
catch (\Exception $exception) {
    Alert::error($exception->getMessage())->flash();
    return redirect(route('order.edit.view', ['id' => $id]));
}

What I expected to happen
Show an alert message
What happened
Becuase the error message contained a " a JS parse error happened.
What I've already tried to fix it
Replacing the
var $alerts_from_php = JSON.parse('@json(\Alert::getMessages())');
with  var $alerts_from_php =   {{Js::from(\Alert::getMessages())}};
in src/resources/views/base/inc/alerts.blade.php fixed the issue
Is it a bug in the latest version of Backpack?
After I run composer update backpack/crud the bug... is it still there?
Backpack, Laravel, PHP, DB version
Laravel 9
When I run php artisan backpack:version the output is:
### PHP VERSION:
PHP 8.0.7 (cli) (built: Jun 16 2021 00:42:11) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.7, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.7, Copyright (c), by Zend Technologies
    with Xdebug v3.0.4, Copyright (c) 2002-2021, by Derick Rethans

### LARAVEL VERSION:
v9.4.1@29f0aaade82eadd20ef881b4efb88b0dad4e9a5b

### BACKPACK VERSION:
5.0.10@f0c0c45914c39a9083e19f0c5c3d10ef0e142565

@mrbig00 you already did the work, if you submit a PR like I have above, then you can allow others to easily test your proposed solution and make it easier to bring into the next release (plus you get the credit you deserve!)

Thanks for the report @mrbig00 and for the solution.
I haven't got time to tackle this one, but I see that @olipayne did an amazing job and submitted the PR with your proposed change.
I think I will review it tomorrow, so I will be closing this so we keep the discussion regarding this only in one place, the PR!
Thank you both again @mrbig00 and @olipayne !
Cheers 👍


Added the merged markdown content for the Pre-Reading-Material at cloud-pathfinder/vuepress/src/Documentation/Pre-reading-material

Content can be viewed at https://prabhukiran9999.github.io/cloud-pathfinder/

@prabhukiran9999 Could you please set the PR title to something descriptive and add a summary of the PR contents.

Sorry, did that :blush:


Oracle OCI and Datasource

i have an issue with the oracle oci database and data source
[datasource:ryan]
type=jdbc
name=ryan
url=jdbc:oracle:thin:@tnsnames_entry?TNS_ADMIN=/home/opc/wallet
username=HR
password=HR_PASSWORD
Error :
Message Could not connect via JDBC: IO Error: Invalid connection string format, a valid format is: "host:port:sid"

Hi @wahidali01,
this is strange, the syntax looks correct.
Please provide more details:

JRI version
Database version you are connecting to ... I guess the recent Oracle cloud, right? Which version is that currently?
Operating system of your application server
application.properties file (you can mask any passwords)
logfile

you can also mail these files to<EMAIL_ADDRESS>Thank you
~Dietmar.

Ok, thank you. Then I will close this issue, the syntax looks ok.
Should you get another account and have this issue again, please reopen this ticket or create another one. Thank you and all the best, Dietmar.


previously scanned barcode is "scanned" on next start

create controller
scan a barcode "foo"
dispose controller
create new controller

result:
the new controller emits a scan even for barcode "foo" even though that barcode is not in front of the camera
expected result:
it waits until the next barcode is visible to scan it
things I tried:

disposing the controller
stopping the camera

ideas:
It seems like the last used frame is being read on new scanning sessions. If so, all frames in memory should be cleared when a new scanning session is started

Just to be clear, do you mean the pixel buffer / texture? Or the barcodes list on the Dart-side?

I tried to reproduce this on version 3.5.6 on Android, but was unable to do so.
Things I did:

flutter run the example app on an Android device
go to the basic with Controller sample
scan a QR code with foo as content
exit the page to trigger disposal of the controller
go back to the with Controller sample
scan the foo barcode again

When returning to the page, it correctly started with "Scan a barcode" instead of the old value "foo"
Do you have more information on what version of the plugin you are using, and on what platform this is happening?

@lukepighetti Is this still an issue on the latest beta? (mobile_scanner 5.0.0-beta.1)


Potentially unnecessary downloads from registry when rebuilding

Problem
From Alex:
Compiling the same project, w/o changing a single bit, sometimes re-downloads packages from registry (sometimes).
While this made some sense with github tags which could have changed, there is no intention for registry tags to have any different code.
Besides slower build times, this also blocks building if the user goes offline
First build: downloads deps
[~/Code/Cairo1/Foundry/starknet-foundry-template]> scarb build
 Downloading openzeppelin_token v0.15.1
 Downloading openzeppelin_introspection v0.15.1
 Downloading openzeppelin_account v0.15.1
 Downloading openzeppelin_governance v0.15.1
 Downloading openzeppelin_utils v0.15.1
 Downloading openzeppelin_access v0.15.1
   Compiling snforge_scarb_plugin v0.1.0 (git+https://github.com/foundry-rs/starknet-foundry.git?tag=v0.28.0#4dfe39d96690ed6b3d56971512700de3f58288ea)
    Finished `release` profile [optimized] target(s) in 0.16s
   Compiling lib(token_sender) token_sender v0.5.0 (/home/amanusk/Code/Cairo1/Foundry/starknet-foundry-template/Scarb.toml)
   Compiling starknet-contract(token_sender) token_sender v0.5.0 (/home/amanusk/Code/Cairo1/Foundry/starknet-foundry-template/Scarb.toml)
    Finished release target(s) in 25 seconds

Second build: no download :slightly_smiling_face:
[~/Code/Cairo1/Foundry/starknet-foundry-template]> scarb build
   Compiling snforge_scarb_plugin v0.1.0 (git+https://github.com/foundry-rs/starknet-foundry.git?tag=v0.28.0#4dfe39d96690ed6b3d56971512700de3f58288ea)
    Finished `release` profile [optimized] target(s) in 0.17s
   Compiling lib(token_sender) token_sender v0.5.0 (/home/amanusk/Code/Cairo1/Foundry/starknet-foundry-template/Scarb.toml)
   Compiling starknet-contract(token_sender) token_sender v0.5.0 (/home/amanusk/Code/Cairo1/Foundry/starknet-foundry-template/Scarb.toml)
    Finished release target(s) in 22 seconds

Third build : downloads again :disappointed:
[~/Code/Cairo1/Foundry/starknet-foundry-template]> scarb build
 Downloading openzeppelin_token v0.15.1
 Downloading openzeppelin_introspection v0.15.1
 Downloading openzeppelin_account v0.15.1
 Downloading openzeppelin_governance v0.15.1
 Downloading openzeppelin_utils v0.15.1
 Downloading openzeppelin_access v0.15.1
   Compiling snforge_scarb_plugin v0.1.0 (git+https://github.com/foundry-rs/starknet-foundry.git?tag=v0.28.0#4dfe39d96690ed6b3d56971512700de3f58288ea)
    Finished `release` profile [optimized] target(s) in 0.19s
   Compiling lib(token_sender) token_sender v0.5.0 (/home/amanusk/Code/Cairo1/Foundry/starknet-foundry-template/Scarb.toml)

Forth build w/o wifi: build fails :disappointed:
[~/Code/Cairo1/Foundry/starknet-foundry-template]> scarb build
error: failed to lookup for `openzeppelin_token ^0.15.1` in registry: registry+https://scarbs.xyz/

Caused by:
    0: error sending request for url (https://scarbs.xyz/api/v1/index/op/en/openzeppelin_token.json): error trying to connect: dns error: failed to lookup address information: Name or service not known
    1: error trying to connect: dns error: failed to lookup address information: Name or service not known
    2: dns error: failed to lookup address information: Name or service not known
    3: failed to lookup address information: Name or service not known

Steps
No response
Possible Solution(s)
No response
Notes
No response
Version
No response

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Update: Nothing has been changed about the code or Scarb.toml between executions
Run 1: Download and compile :smile:
 Downloading openzeppelin_token v0.15.1
 Downloading snforge_std v0.27.0
 Downloading openzeppelin_introspection v0.15.1
 Downloading openzeppelin_account v0.15.1
 Downloading openzeppelin_governance v0.15.1
 Downloading openzeppelin_utils v0.15.1
 Downloading openzeppelin_access v0.15.1
   Compiling lib(token_sender) token_sender v0.5.0 (/home/amanusk/Code/Cairo1/Foundry/starknet-foundry-template/Scarb.toml)
   Compiling starknet-contract(token_sender) token_sender v0.5.0 (/home/amanusk/Code/Cairo1/Foundry/starknet-foundry-template/Scarb.toml)
    Finished release target(s) in 33 seconds

Run 2: no download and compile :smile:
[~/Code/Cairo1/Foundry/starknet-foundry-template]> scarb build
   Compiling lib(token_sender) token_sender v0.5.0 (/home/amanusk/Code/Cairo1/Foundry/starknet-foundry-template/Scarb.toml)
   Compiling starknet-contract(token_sender) token_sender v0.5.0 (/home/amanusk/Code/Cairo1/Foundry/starknet-foundry-template/Scarb.toml)
    Finished release target(s) in 29 seconds

Run 3: Download again and compile :confused:
[~/Code/Cairo1/Foundry/starknet-foundry-template]> scarb build
 Downloading openzeppelin_token v0.15.1
 Downloading snforge_std v0.27.0
 Downloading openzeppelin_introspection v0.15.1
 Downloading openzeppelin_account v0.15.1
 Downloading openzeppelin_governance v0.15.1
 Downloading openzeppelin_utils v0.15.1
 Downloading openzeppelin_access v0.15.1
   Compiling lib(token_sender) token_sender v0.5.0 (/home/amanusk/Code/Cairo1/Foundry/starknet-foundry-template/Scarb.toml)
   Compiling starknet-contract(token_sender) token_sender v0.5.0 (/home/amanusk/Code/Cairo1/Foundry/starknet-foundry-template/Scarb.toml)
    Finished release target(s) in 32 seconds

Run 4: Shut down wifi. Fails to download and build :disappointed:
error: failed to lookup for `openzeppelin_token ^0.15.1` in registry: registry+https://scarbs.xyz/

Caused by:
    0: error sending request for url (https://scarbs.xyz/api/v1/index/op/en/openzeppelin_token.json): error trying to connect: dns error: failed to lookup address information: Name or service not known
    1: error trying to connect: dns error: failed to lookup address information: Name or service not known
    2: dns error: failed to lookup address information: Name or service not known
    3: failed to lookup address information: Name or service not known

Run 4: still offline, with --offline flag no download and build
[~/Code/Cairo1/Foundry/starknet-foundry-template]> scarb --offline build
   Compiling lib(token_sender) token_sender v0.5.0 (/home/amanusk/Code/Cairo1/Foundry/starknet-foundry-template/Scarb.toml)
   Compiling starknet-contract(token_sender) token_sender v0.5.0 (/home/amanusk/Code/Cairo1/Foundry/starknet-foundry-template/Scarb.toml)
    Finished release target(s) in 23 seconds

Run 5: still offline, with --offline flag. Fails to build :disappointed:
[~/Code/Cairo1/Foundry/starknet-foundry-template]> scarb --offline build
 Downloading openzeppelin_token v0.15.1
error: failed to download package: openzeppelin_token v0.15.1

Caused by:
    cannot access the network in offline mode


Images of apple, mikan, money as fixture are too small

See
https://github.com/kazurayam/inspectus/tree/0.5.5/core/src/test/fixtures/images
For example:

These are too small to see in the report

A quick fix is to replace the image files with larger size

I changed the image files:

done at 0.6.0


There is no link to the raw GitHub repo

There's no link to the raw github code for this example

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

ID: f70a36b8-6b3b-e06c-84d6-33fd56f79ea7
Version Independent ID: fd3dc619-fc56-5f93-860b-997c2eeb44f4
Content: Train scikit-learn machine learning models - Azure Machine Learning
Content Source: articles/machine-learning/how-to-train-scikit-learn.md
Service: machine-learning
Sub-service: core
GitHub Login: @jpe316
Microsoft Alias: jordane

@aronchick Thanks for the feedback! We will review and update accordingly.

@aronchick Thank you for your report. The Prerequisites section contains the notebook example with the code that this article is based on. Guidance is provided on how to set up a compute instance that's preloaded with the code example and the Azure Machine learning SDK packages, so no set up is needed on the user side.
Please let me know if this addresses your request.

#assign:@nibaccam

@aronchick We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.

I disagree that this has been solved. Why wouldn't you just link to the content on GitHub?
Obviously, you know your users better than me, but this would be a serious blocker for me.

@ram-msft


Unlock Convert-UrnToPath for ServerGroup/RegisteredServers on PS7

On PowerShell7, import v22.0.59
Run the following script Convert-UrnToPath 'RegisteredServersStore/ServerGroup[@Name=''DatabaseEngineServerGroup'']/ServerGroup[@Name=''G1'']'

ResultOperation is not supported on this platform.

This will be fixed in any post v22.0.59 release.

This was fixed in v22.1.1


zephyr_prebuilt.elf and zephyr.elf has inconsistent symbol address in RISC-V platform

Describe the bug
This bug occurs on tests/kernel/mem_protect/obj_validation test on qemu_riscv32 platform with userspace enabled. [1]
The sem1 symbol has different address in zephyr_prebuilt.elf and zephyr.elf, which causes object validation failed.
> nm -n zephyr/zephyr_prebuilt.elf | grep sem1
80015070 D sem1

> nm -n zephyr/zephyr.elf | grep sem1
80015074 D sem1

The difference of 2 ELF file is _thread_idx_map symbol.

It is at .kobject_data section in zephyr_prebuilt.elf
It is at .data section in zephyr.elf, so it shifts 4 bytes to all symbols after it in zephyr.elf.
In ARM platform, _thread_idx_map symbol is at .kobject_data section in zephyr.elf.

Compared RISC-V platform to ARM, the _thread_idx_map in RISC-V platform is at .sdata section instead of .data section in kobject_hash.c.obj, so the .sdata section symbols aren't changed to .kobject_data.* section in kobject_hash_renamed.o (by renaming section) and isn't placed to .kobject_data output section in zephyr.elf.
This issue also occurs on hifive1_revb, if enlarging memory size twice to avoid RAM overflow.
(enlarge dtim size from 0x4000 to 0x8000 in dts/riscv/riscv32-fe310.dtsi)
[1] Enable userspace in qemu_riscv32
# soc/riscv/riscv-privilege/virt/Kconfig.series add
select ARCH_HAS_USERSPACE if RISCV_PMP

# boards/riscv/qemu_riscv32/qemu_riscv32_defconfig add
CONFIG_RISCV_PMP=y
CONFIG_PMP_POWER_OF_TWO_ALIGNMENT=y
CONFIG_PMP_SLOT=16

Related to #31811
To Reproduce

Enable userspace in qemu_riscv32
build tests/kernel/mem_protect/obj_validation
check sem1 symbol in zephyr_prebuilt.elf and zephyr.elf

Expected behavior
sem1 symbol has same address in zephyr_prebuilt.elf and zephyr.elf
Impact
RISC-V userspace get failed in object validation.
Environment (please complete the following information):
Zephyr 2.6.99

Already has a PR pending.


[WIP] AWS ENI support

This PR adds AWS ENI IP allocation and datapath support. The details can be found in the individual commit messages and in the documentation commit.
Fixes: #6430

This change is

Coverage increased (+0.2%) to 42.056% when pulling d8b78f1ba751d0d7c28e684f8824861d03ae74d2 on pr/tgraf/aws-eni-ipam into fa3de3fefb9ae8913879246d603a0b3bdcb72e63 on master.

test-me-please

test-me-please

test-me-please

Are we marking this as GA for v1.6? Or beta?

That question is still open. There is a large demand for this feature and several users are already testing this and planning to use it in critical environments as soon as possible. I think we should make a call on how to label it before we release based on the experiences gained until then.

test-me-please

ack everything except the docs. I'm still reviewing those but should be OK to push any fixes there later. From an initial scan the docs appear good to me.

Nit: I found the usage of Available with respect to IP address management/allocation to be a bit confusing. Available seems to be to do with the overall pool of IP addresses that can be allocated, but doesn't determine whether they are used/not. Ie a given IP can be both considered both "available" AND "used", which just means that the IP is in the pool of IPs to be allocated from, and it has been allocated.

@joestringer We can still change it. Do you have a proposal for a better name? Pool?

There's quite a few places where warning logs are not using WithFields(), which means that potentially every instance of the warning will be unique.

I'll have a look and optimize it a bit. We can always improve this afterwards as well. These things are good first issues

Perhaps in a follow-up PR, someone could jump in and add a CRV (Custom Resource Validator) and AdditionalPrinterColumns to improve pretty-printing of the new ciliumnodes resources? Might be a "good-first-issue".

This was exactly my thinking as well. In particular, for the columns, it makes sense to better understand commonly required information first from feedback by users before we add anything.

@joestringer We can still change it. Do you have a proposal for a better name? Pool?

Pool seems good, for example:
+       // IPAMSpec is the IPAM specification of the node
+       type IPAMSpec struct {
+               // Pool is the list of IPs available to the node for allocation.
+               // When an IP is used, the IP will remain on this list but will be
+               // added to Status.IPAM.InUse
+               //
+               // +optional
+               Pool map[string]AllocationIP `json:"available,omitempty"`
+       }

test-me-please

test-me-please

test-me-please

CI passed, rebasing to merge.


Where clause creation

We want to make adding the where clause an easier process.
My thoughts are the following:

[ ] Create a new field which allows typing the filter logic similar to that of report criteria ie 1 AND (2 OR 3).
[ ] Write a method that injects criteria into this filter logic. ( we should be able to pass this method a list of strings that represent each filter criteria. If the injection is done correctly, we shouldn't have to worry about parenthesis at all. We should first replace the digits 1, 2, 3,etc... with some longer placeholder strings like CRITERIA_1, CRITERIA_2, etc... so that we can do a nice string replacement methodology and don't run into issues with fieldnames or values containing #'s.
[ ] Write some repeatable vf component that has an index, child field selection list, an operator select list, and a text input box to type your comparison value. (The page should have an add button to inject new blank versions of this component to "add criteria")
[ ] When we save the record, we just need to inject the string output of the repeatable vf component filter criteria into the filter logic and voila, we have a where clause.
[ ] Hard part about this is going to be the parsing method if we want to extend this page to be used for editing as well as creation. This parsing method will need to take the where clause, and first parse out what the filter logic should be. We'll need to look for AND, OR, ( and ) and do some fun logical operators. Then we'll need to create as many vf components for the filter criteria and default each of their select lists and the comparison  values. EEEk. this is going to be kind of hard.
[ ] We still have some additional work to make this page "edit-worthy" with defaulting the select lists etc...

Future Enhancements might be:

[ ] Make the selection of the child field make the right side input box have nice selectors based on data type. So, if the child field was a date, it would give us a date control. If it was a date time, we could use a datetime control.

@afawcett I was thinking about this recently and I thought we might be able to do some slick stuff by implementing a json editor to store the criteria we're looking for. https://github.com/jdorn/json-editor is one I've been particular fond of.
The idea would be we store a .json file on the rollup record and all the information we care about is stored in that json record. It would be cool to use JSON schema to enforce validations and structure. Then, we'd have to implement a JSON parser to get use the information we need at runtime to be used in the trigger.
What do you think?

Yeah that looks like a great starting point, maybe do a mockup and share on the Chatter group / Twitter to get further feedback? It seems like an area that needs some kind of UX feedback on before going into to much development effort.

Hello @wes1278 & @afawcett - I've encountered a similar need when working on #216.  In short, the need to store strongly typed data and use it in generating the necessary SOQL.  In order to support backwards compat for #216, I need to allow free-form input and parse.  However, what I'd like to do is create a custom object (or even custom metadata if DLRS goes that way) to track the "order by clause" in a triplet of (field, asc/desc, nulls first/last).  This would allow reuse of defined "order by clauses" across all rollups to ease administration and also avoid the runtime cost of parsing strings.  I would see this working with a custom VF page that would allow the user to pick from a list of fields, specify order, etc.  The user could add one or more portions to the order by and then at runtime, it's just generating the string from the record list.  I could see the where criteria working in a similar manner.
In my limited experience on the platform, I find that working with JSON is troublesome from a couple of perspectives: 1) Makes writing tests more difficult because you need to handcode the json; 2) CPU cost of serialization/deserialization.
I think if DLRS has an admin interface around these features, it would improve usability for admins significantly (especially for those that are not familiar with SOQL) and also likely result in increased performance, less overall and more reliabe code than what we have today.
@wes1278 - Curious why you mention above wanting to avoid a custom object to store the where clause.  Outside of the downside of additional Query & QueryRows encountered, are there reasons why you preferred the JSON approach over custom object?

@jondavis9898 First of all, I want to thank you as another contributor of DLRS that you're work to make this tool, imho, more enterprise worthy is very much appreciated! I've been wanting to take a deep dive into the guts of this tool for a long time but time was just limiting.
The only reason I want to stay away from traditional custom objects is to prevent excessively difficult org migrations. Right now, we're already having people have hard times migrating from sandbox to prod. I had previously proposed using Files to store the raw json and then use json-editor by jdorn on github to parse and present a UI. I have a working prototype and it's fantastic. But I'm also not at all opposed to custom metadata, especially with a hopeful UI in winter 16.

@wes1278 - Happy to be a part of the team and help continue the efforts of yourself, @afawcett and everyone else that has contributed.  DLRS is an incredible tool and will only continue to get better through the contributions of the community.
Completely agree that custom objects complicate org migrations and I see how using the JSON approach would help avoid increasing the difficulty.  Still coming up to speed on the platform, so just wanted to make sure there wasn't some other reason that I wasn't overlooking.  I haven't dipped my toes in to custom metadata yet but I think it's likely the best route to take DLRS in.  Currently, I manage org migrations using data export/import of Lookup Rollup Summary within our CI process.  While it lessen's the burden, it's still difficult to manage change and migration and I think custom metadata could simplify and significantly improve.  Whichever direction DLRS takes, I think having a more robust admin interface will be critical to helping adoption, etc.
Given my limited knowledge of custom metadata, you and @afawcette (or other community members) will likely be better to identify a direction to take.  Possibly we identify a path forward (JSON, Custom Objects, Custom metadata) and try to start working on those enhancements?  @afawcett  thoughts?
In the meantime, any chance you would be willing and able to share your JSON prototype?

Great discussion guys, i'm proud to see others taking such a deep interesting in the future of this tool. So yeah, i do have a vision for custom metadata following my two part blog series using this tool as a POC. The Custom Metadata UI in Winter'16 is still basic however and there is no trigger support. So i feel we will need to really bring the existing VF UI into prime time to make the transition. I've got some thoughts on how to make the changes and leverage the patterns to isolate major reworks. This plan see's a wholesale switch to custom metadata, though i do have an idea to have an import/export to custom metadata as an earlier approach that could be adopted.

Awesome, looking forward to your thoughts @afawcett and to digging in to custom metadata.  Completely agree that enhancing the VF UI is critical, I have some ideas on this (eluded to above) when we get there.

Yeah i've started a new enhancement (sure i had one already but it seemed not) to start to elaborate.


Add note on finding Testing addons to the install guide

Addon moved from TESTING to COMMUNITY in 9822172b6d0169f02540b776407790fc644f6459.


Fix regex escaping

As concluded in #86, this fixes the way that copybutton_prompt_text is injected into copybutton.js_t.
And updates the docs on how to use the regex feature.
I left the old tests in there, since I kind like those oddities if you know them. But if that is too much clutter for you I can remove them.
Not sure how much you value SemVer but this is a breaking change, since it will break functionality for people that already use the regex feature.
fixes #86
Note: I left #84 (besides) untouched, since IMHO this should configurable i.e. by a variable copy_blank_lines.  I just can see someone complaining around the corner, even so 'copy as is' is the most natural thing and should be default 😒

Thanks for this patch! @chrisjsewell do you think you could double-check that this looks correct? My regex skills are very poor 😬

Not sure how much you value SemVer but this is a breaking change, since it will break functionality for people that already use the regex feature.

Yep we should release this as 0.3.0

Not sure how much you value SemVer but this is a breaking change, since it will break functionality for people that already use the regex feature.

Yep we should release this as 0.3.0

Well, as for SemVer that would be a 1. 0. 0 as it might break things.IMHO SemVer only makes sense if it is consistent, which manually is hard to do and I didn't find the proper tool for it in the python universe / GH actions to automate it for me (maybe you can give me a pointer 😉).
I.e. in a project we had a dependency which changed from 0.9.9 to 1.0.0 and all was fine.
But when they went to 1.0.1 many tests went down, so IMHO inconsistent versioning is more harmfull.
I think the easiest versioning scheme to maintain, is the date one as pip uses if for about 1.5y.

Well, as for SemVer that would be a 1. 0. 0

Yeh it's a bit of a cheat, but for versioning < 1.0.0, I generally treat MINOR version changes as also being backwards-incompatible, and PATCH for anything else. I think that's reasonable, since below 1.0 you're generally in "beta" mode where users should not yet expect the code to be completely "stable"

Yep I'm in the same boat - IMO pre 1.0 you treat "minor" versions as "major" versions, and pre 0.1 you treat "patch" versions as "major" versions

Well, as for SemVer that would be a 1. 0. 0

Yeh it's a bit of a cheat, but for versioning < 1.0.0, I generally treat MINOR version changes as also being backwards-incompatible, and PATCH for anything else. I think that's reasonable, since below 1.0 you're generally in "beta" mode where users should not yet expect the code to be completely "stable" anyway

Yeah, fair enough, versions below 1.0 are a gray area ^^

maybe you can give me a pointer

Well I don't know it there can be a completely programmatic identifier of back-compatability breaking.
But I'm trying to push this commit convention now https://executablebooks.org/en/latest/dev-conventions.html#commit-messages, which hopefully will help to make it clearer where breaking changes occur,
i.e. the commit from this PR will start: ‼ BREAKING:

maybe you can give me a pointer

Well I don't know it there can be a completely programmatic identifier of back-compatability breaking.
But I'm trying to push this commit convention now https://executablebooks.org/en/latest/dev-conventions.html#commit-messages, which hopefully will help to make it clearer where breaking changes occur,
i.e. the commit from this PR will start: ‼ BREAKING:

In my TypeScript projects with template typescript-library-starter I use git-cz, which basically wrappes git commits in a CLI dialog and adds keywords which get picked up further down the line. But 'completely programmatic identifier of back-compatability breaking' might be a dream.. enough off topic xD

In my TypeScript projects with template typescript-library-starter I use git-cz

Yeh interesting cheers, there's a few different categories, but quite similar. I guess there's no convention that can cover all eventualities, but its better to have a convention than none at all.

which basically wrappes git commits in a CLI dialog

The only problem with any locally installed "commit tool" is that actually you're mainly writing the commit message directly here in the GitHub PR interface

thanks @s-weigand!

thanks for the patch @s-weigand !!


Channel Select Menu - Cannot Set Channel Types

I believe that
https://github.com/disgoorg/disgo/blob/9b3d573a109163625b177e69243b5972025fd4ad/discord/select_menu.go#L458
and
https://github.com/disgoorg/disgo/blob/9b3d573a109163625b177e69243b5972025fd4ad/discord/select_menu.go#L527-L530
has the wrong type and should be using discord.ChannelType instead

hi, this has been fixed in https://github.com/disgoorg/disgo/commit/4547c17ccf8040be70ff54b645376bcab37dcd24 - there should be a new release coming out soon. thanks for reporting :-)


Failure to escape '</script' in inlined code

</script needs to be replaced with <\/script anywhere it is present during inlining as it breaks out of the script tag early.
This issue was moved upstream from https://github.com/shff/parcel-plugin-inliner/issues/14

workaround:
transforms: {
  script: {
    transform(node, data) {
      delete node.attrs.src;
      node.content = [
        data.buffer.toString("utf8").replace("</script>", "<\\/script>"),
      ];
    },
  },
},


Improvement, use typed accessors instead of field names

This is not a bug, but a wish.
Instead of relying on field names, do you think it would be possible to use method references ?
// Actual
Instancio.of(Person.class)
    .generate(field("dateOfBirth"), gen -> gen.temporal().localDate().past())
    .generate(field(Phone.class, "areaCode"), gen -> gen.oneOf("604", "778"))

// Wished
Instancio.of(Person.class)
    .generate(field(Person::getDateOfBirth), gen -> gen.temporal().localDate().past())
    .generate(field(Phone.class, Phone::getAreaCode"), gen -> gen.oneOf("604", "778"))

Thank you for the suggestion. I agree it would be great to support method references. Since a method reference is just a lambda, it does not expose any information about the Method itself. However I think there should be some workarounds to get that information. I will need to experiment a little to see what I can do.

@gervaisb support for method references will be available in the next release 2.3.0. I added some details on how it will work in #325.

@gervaisb latest release should be available now from Maven central. Please note that I marked the new API as experimental while I collect more feedback on how well the implementation works in practice.

Closing as resolved.


[Feature] Bypass sdk read and write decoupling

Why I'm doing:
Fixes #47367
What I'm doing:
You can learn more about the background from pr's https://github.com/StarRocks/starrocks/pull/38466.
This PR is mainly used to solve the problem that when BE directly reads and writes SR file format on S3, the code cannot be encapsulated into SDK form. This PR is mainly to decouple some code implementation and provide some compilation scripts.
build format lib
BUILD_TYPE=Debug ./build.sh --format-lib  -j32

will install directory:
-- Installing: /data00/code/community/starrocks/be/output/format-lib/
-- Installing: /data00/code/community/starrocks/be/output/format-lib/libstarrocks_format.so
Skip Building Java Extensions
***************************************
Successfully build StarRocks  √ Format Lib ; StartTime:2024-05-20 09:52:29, EndTime:2024-05-20 09:58:21, TotalTime:352s

What type of PR is this:

[ ] BugFix
[x] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[x] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

[ ] This is a backport pr

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.3
[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

Excuse me, how to use this SDK? What are the input and output? @Jay-ju

I am trying to understand this PR, it seems to aim to achieve being able to directly read and write SR files. But what is the 'format-lib' that is being compiled and built, can you explain?

@Samrose-Ahmed yes, this PR will provide the ability to build the library format-lib, and then other application can leverage the library to interact with Frontend and has the ability to write data to remote storage directly without proxying through backend RPC.

Awesome thanks.

ignore backport check: 3.3.5


another round of dev tools edits

Improving the prop type error messages.
Previously

Now

The second set of commits simplifies the error overlays. See 9010044 for details.
In the previous version, we:

wrapped the output component with an overlay. This could cause flow
issues as the overlay wrapper was a div with display: block which doesn't necessarily match the wrapped component. For example, the output component could be a span (display: inline) in-line with other spans.
Disabled the input components

This commit simplifies the logic: now we just display the previous state of the component (if available) without an overlay and without disabling the inputs.
This is similar to how the backend errors affect the frontend.

Now that we have nice error messages, the stack traces aren't as useful for the end user. I feel like they may even indicate to the user that the issue wasn't their fault but was something much more complicated.

@chriddyp  python3.x test errors are different than 2.7
======================================================================
ERROR: test_devtools_validation_errors (tests.test_render.Tests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/circleci/repo/tests/test_render.py", line 2647, in test_devtools_validation_errors
    self.wait_for_element_by_css_selector('.test-devtools-error-toggle').click()
  File "/home/circleci/repo/tests/test_render.py", line 60, in wait_for_element_by_css_selector
    'Could not find element with selector "{}"'.format(selector)
  File "/home/circleci/repo/venv/lib/python3.7/site-packages/selenium/webdriver/support/wait.py", line 80, in until
    raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message: Could not find element with selector ".test-devtools-error-toggle"

alright - those tests have been fixed and several more have been added

💃  avant dodo


Avoid download target index.yaml several times

This PR is a small refactor so that the chartsExists() function does not download the target index.yaml in each call. We detect this was making the tool to run slowly in certain environments.
Additionally, it fixes an issue with the FindChartURL() function when the URL stored in the index.yaml is relative and not absolute.
Fixes #33

I tested this version in the scenario where we identified the slowness and the same command execution time decreased from 32min to only 40 sec.


Need direction on Story card highlight colors

Home Page requirements per  CU IR20 UI-UX requirements 2 for Voltage 3.docx :
4. Some cards will feature a different color based on the interest tag (e.g., blue = student). We’re presuming we can define this in the style guide and it will be handled in the CMS.
I don't see any indication of what colors should be used for what conditions other than that note.
I see this list of keywords in helpers.js:
const keywords = [
  "buffalo",
  "money",
  "smile",
  "research",
  "university",
  "advancement",
  "buffalos",
  "donation",
  "society",
  "innovation",
  "college",
  "giving",
  "impact",
  "report",
];

If these are all "interest" tags, I need to know what color (hex code) to use with each tag you want a color for.
In the mockups it looks like there is both a solid color used on elements like the HR bar, and then a gradient; in case the solid color and the gradient bottom color differ I would need both of course.
I am also assuming since the story cards are used on the Story pages for related stories, that there they should also be displaying those highlight colors, which would enable the same code to be used for story cards in both places.

@duquennoisa  Please see Kelly's request and assign all appropriate colors and variants appropriately to these 3 labels:
students
research
society
@kmackvolt these are the 3 interest labels we're using. No more.

There are 2 hex values tied to the highlighted card.

One is a white -> color gradient for the card space
one is the value replaces the gold lines on the cards :

Students - 1= FFB69F, 2=D94F2A
Research - 1=BCEAE7, 2=065E62
Society- 1=C7BDE3, 2=544181
Highlight = hover on desktop
I know we aren't doing the highlight function for mobile because hover is not an option. If we do end up implementing it for mobile down the line I was imagining it could highlight when the card reaches the vertical center point of the screen.

FYI, https://github.com/CUCentralAdvancement/essential-cu/blob/master/data/types.js#L38 has the three interests + the values for campus tag as well.


Removing cookies

This fixes #52 - since splash returns all cookies each time, and does not return removed cookies with empty values, I just clear the jar each time and load it with new cookies.
This also has another positive effect: before that if we loaded some cookies manually (without specifying path for example), and then splash would return the same cookie but with all attributes set by the server, then there would be two cookies with the same name but different attributes. But now state lives either in the browser (during request) or in cookiejar (after request is finished), and the problem is gone.

 Updated on successful CI builds.

What if we use a default session_id, then we make 2 requests - to website A and a website B. Requests are executed in parallel; when response for A is returned we update self.jars['deafult'] with A cookies. Then response B is received; previously cookies were merged, but now the jar will be cleared and we'll loose all A cookies.

Ah, true, this approach can't work in this case.


chat messes up when new video plays

sometimes when a new video plays the chat resets and u have to scroll down to the bottom every time

i already told you how to report bugs correctly, this is already a bug we know about.


Enhancement: Support for SHA-256 file checksums

Summary
This change adds support for SHA-256 file checksums. Example:
file:
  /goss/hellogoss.txt:
    exists: true
    sha256: 7f78ce27859049f725936f7b52c6e25d774012947d915e7b394402cfceb70c4c

This change includes:

Go code (modeled from md5 functionality) for a sha256 equivalent
A new (shared) integration test for sha256 file checksums.
Documentation update showcasing a sha256 example.

Additional changes
I had to make some additional changes because make deps && make (as per
the .travis.yml) didn't work as is. There seemed to be changes in either
the Docker base images or in upstream package repos (e.g. a specific apache2
package version was just gone). I also noticed that the ArchLinux container
fails to start properly when invoked via the test.sh script because /sbin/init
doesn't exist. After digging through some community forums and stackoverflow posts
I didn't understand, I decided it wasn't worth the effort to "fix", so I replaced
the command with a sleep 1h. Fortunately, the container still gets cleaned up
and it seems to work fine.
To summarize:

Integration test/Dockerfile updates
ArchLinux Docker image doesn't have /sbin/init (anymore)

Looks good, can you try to lock the apache version down to the new one.
It's a bit hackish, but I use the md5 of the dockerfiles to cache them and speed up the build.
Strange about arch, I can investigate further later..

Pinned the version to Apache version on wheezy to 2.2.22-13+deb7u8. I actually had to make even more changes originally to get all of the make targets to work on my Mac (using Docker for Mac). Apparently some of those issues don't come up in the CI environment 🤷♂ .
In any case, let me know if you need anything else to get this merged.

My observation about ArchLinux may have only surfaced when attempting to run said container on a Mac. I'll at least see if that part of this PR can be reverted...

Yep works in Travis CI 👍
Ready when you are @aelsabbahy 😄

@aelsabbahy Any updates on getting this reviewed/merged?

I'll try to get to it this week. Sorry for the delay.

@aelsabbahy Just checking in. Any progress?

@aelsabbahy Rebased and resolved conflicts 👍

@aelsabbahy I shook out the regressions from Travis CI. Should be all fixed now.
Since I had to update the apache version again on wheezy, I opened #253 for your consideration.

Can you try reverting the Dockerfile to the one on master. I think That will maintain the old version and would make all the version changes in the test files unnecessary.
See:
https://travis-ci.org/aelsabbahy/goss/builds/250023452#L1961

Sure. Give me a few minutes...

I did as you asked, but it looks like a recent change introduced a somewhat brittle unit test (I observed that error in a few upstream Travis CI builds). I could amend and force-push until it "works", but it would probably make more sense to address the failing test first.

@OmarDarwish it appears the have-key-with-value test is brittle. Can you take a look at it when you get a chance?
See: https://travis-ci.org/aelsabbahy/goss/builds/250194911
This is the second time I've seen it failing in the past 3 days or so.

I just reproduced it locally. If you run make test enough times, it shows up.
--- FAIL: TestMatcherToGomegaMatcher (0.00s)
	gomega_test.go:145: For input '{"have-key-with-value": { "foo": 1, "bar": "baz" }}': got *matchers.AndMatcher &{[0xc4202085a0 0xc4202085c0] <nil>}, want *matchers.AndMatcher &{[0xc420114f60 0xc420114f80] <nil>}
FAIL
FAIL	github.com/aelsabbahy/goss/resource	0.012s
ok  	github.com/aelsabbahy/goss/system	0.011s
?   	github.com/aelsabbahy/goss/util	[no test files]
?   	github.com/aelsabbahy/goss	[no test files]
make: *** [test] Error 1

Probably has to do with golang maps being randomized. That's just a guess without digging into the code yet.

@aelsabbahy that's my thought as well. Will dig into this today as soon as I can. My bad guys!

@OmarDarwish No worries. These things happen. Thanks for looking into it! 👍

No worries, thanks for the quick response and contributions.

#256 should fix flakiness


Req.merge: Deep merge options

Right now we special case :headers and :params. For example:
Req.new(headers: [a: 1]) |> Req.merge(headers: [b: 2]) == Req.new(headers: [a: 1, b: 2])

Another one when this might be useful is aws_sigv4:
Req.new(aws_sigv4: ...) |> Req.merge(aws_sigv4: [service: :s3])

We could special case that one too or have a more generic mechanism when registering the options, something like:
Req.Request.register_options(req, aws_sigv4: [update: :replace | :merge])

Req.Request.register_options(req, aws_sigv4: [update: :replace | :merge])

this choice would prevent us from validating nested option names like:
Req.Request.register_options(req, aws_sigv4: [:access_key_id, :region, ...])

so need to carefully consider it, maybe we can have it both ways but maybe we don't.

I found myself on this issue when looking into merging the json option. I'm using Req right now to query DynamoDB, and it's got a pretty verbose request form:
Req.post(
  req,
  headers: %{"X-Amz-Target" => "DynamoDB_20120810.Query"},
  json: %{
    "TableName" => "tablename",
    "IndexName" => "indexname",
    "KeyConditionExpression" => "someVal = :someval",
    "ExpressionAttributeValues" => %{
      ":someval" => %{
        "S" => "the value you're querying"
      }
    }
  }
)

If the response includes a %{"LastEvaluatedKey" => key}, then you have to make a followup request that repeats all of that, but also includes the key:
Req.post(
  req,
  headers: %{"X-Amz-Target" => "DynamoDB_20120810.Query"},
  json: %{
    "TableName" => "tablename",
    "IndexName" => "indexname",
    "KeyConditionExpression" => "someVal = :someval",
    "ExpressionAttributeValues" => %{
      ":someval" => %{
        "S" => "the value you're querying"
      }
    },
    "ExclusiveStartKey" => key
  }
)

It would be nice to just set the base json in Req.new and then merge in that key if necessary. As it is, I'm doing
req = update_in(req.options.json, fn j -> Map.put(j, "ExclusiveStartKey", key) end)

but I'm not sure if that's kosher. I'm wary of messing directly with structs beneath the exposed functional interface.


Fix bug in forecast.csh

Description
Replace endid with endif
Tests completed

[ ] 3dvar_OIE120km_WarmStart
[ ] 3denvar_OIE120km_WarmStart
[ ] 3dvar_OIE120km_ColdStart
[ ] 3denvar_O30kmIE60km_WarmStart
[ ] eda_OIE120km_WarmStart

Running the test to be sure, though I really only see this avoiding warning/error messages and not causing new errors to arise.


w3cCredentialService throws "Invalid key type" for valid key?

Hi!
I've been testing the OpenId4VC client using the Mattr Launchpad credentials as demoed by @karimStekelenburg. The flow works great for me, until the validation of the credential happens (just before save).
The error is: VerificationError: Invalid key type. Key type must be "Ed25519VerificationKey2018 and it seems to be originating from here:
https://github.com/hyperledger/aries-framework-javascript/blob/64a5da937059d25e693e2491af329548b2975ef6/packages/core/src/modules/vc/signature-suites/ed25519/Ed25519Signature2018.ts#L213
Where hasEd2018 is true, but jsonld.hasValue(verificationMethod, 'type', 'Ed25519VerificationKey2018') is false.
If I log the value of verificationMethod, it is:
{"@context": ["https://w3.org/ns/did/v1", "https://w3id.org/security/suites/ed25519-2018/v1"], "id": "did:web:launchpad.vii.electron.mattrlabs.io#6BhFMCGTJg"}
If I understand correctly, looking up the DID, the verificationMethod of the VC is referencing the assertMethod in the DID, which maps to the following public key, which is indeed Ed25519VerificationKey2018.
"publicKey": [
    {
      "id": "did:web:launchpad.vii.electron.mattrlabs.io#6BhFMCGTJg",
      "type": "Ed25519VerificationKey2018",
      "controller": "did:web:launchpad.vii.electron.mattrlabs.io",
      "publicKeyBase58": "6BhFMCGTJg9DnpXZe7zbiTrtuwion5FVV6Z2NUpwDMVT"
    }
  ]

I extracted the VC from the response to make it easier to replicate.
What am I missing here? :-)
Appreciate your help!

I think it may be because the mattr did document is using publicKey rather than using verificationMethod.
In the tests we have a modified version of that did document. Not sure if this is the case, but I know @karimStekelenburg also didn't get it to work with the mattr did document.
What we could do is update the web did resolver to transform the document to the current spec rules, but ideally the did document itself is updated

Ahh okay, I see that now! Mattr should definitely update their DID document, their launchpad isn't that useful if they don't keep up with the spec :- ) I will shoot them an email.

I took the liberty to go through all the OpenID4VC demos I know of and could find, and test them against the current AFJ implementation. I did it for myself, but thought it might be useful for you as well. I completely understand the impl. is fresh out of the oven, so please don't take this as negative feedback - it's not! :-)
OpenID4VC Interop Test
@aries-framework/core: 0.4.0-alpha.35
@aries-framework/openid4vc-client: 0.4.0-alpha.35
EBSI Wallet Conformance
Example URL: openid://initiate_issuance?issuer=https%3A%2F%2Fapi-conformance.ebsi.eu%2Fconformance%2Fv2&credential_type=https%3A%2F%2Fapi-conformance.ebsi.eu%2Ftrusted-schemas-registry%2Fv2%2Fschemas%2Fz22ZAMdQtNLwi51T2vdZXGGZaYyjrsuP1yzWyXZirCAHv&conformance=72bbf5d0-31f0-4efa-b230-5ea61053d6c4
Result
❌ Error requesting credential [Error: Only pre-authorized-code flow is supported]
Spruce NGI OIDC4VC Test
Example URL: openid-initiate-issuance://?issuer=https%3A%2F%2Fngi%2Doidc4vci%2Dtest%2Espruceid%2Exyz&credential_type=OpenBadgeCredential&pre-authorized_code=eyJhbGciOiJFUzI1NiJ9.eyJjcmVkZW50aWFsX3R5cGUiOlsiT3BlbkJhZGdlQ3JlZGVudGlhbCJdLCJleHAiOiIyMDIzLTAyLTE5VDE2OjUxOjAyWiIsIm5vbmNlIjoiajNJc1hLV2xOMWxld09abWVsMVBNWWNuZ05YaEtrUlAifQ.4qIwAii3ojWf2qJM37UjP9dKunsVU9jVwYAIZZY_8-iddWnFLDXShz7A3LA_wI_lLBOool8hreN2PJ3Hb9dBYw&user_pin_required=false
Result
❌ Error requesting credential [AriesFrameworkError: Access token response doesn't contain a scope. Only scoped issuer URIs are supported at this time.]
Walt.id Issuer Demo
Example URL: openid-initiate-issuance://?issuer=https%3A%2F%2Fjff.walt.id%2Fissuer-api%2Foidc%2F&credential_type=VerifiableId&pre-authorized_code=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiI2MTdiYWE2Zi02YjAzLTQ1N2MtYWE1NC0yZDI4ZWZlMTg1OTciLCJwcmUtYXV0aG9yaXplZCI6dHJ1ZX0.nTv1dqrs5a_FfVOcAFRuVBkNkPEyUG9Zs8Zz2EYPW_M&user_pin_required=false
Result
❌ Error requesting credential [Error: Retrieving an access token from https://jff.walt.id/issuer-api/oidc/token for issuer https://jff.walt.id/issuer-api/oidc/ failed with status: 404]
Mattr Launchpad
Example URL: openid-initiate-issuance://?issuer=https://launchpad.mattrlabs.com&credential_type=AcademicAward&pre-authorized_code=deD67gpeYFS30vwCm4NX199WTaz-fGFpv1XTNwPGloW
Result
❌ AriesFrameworkError: Failed to validate credential, error = VerificationError: Verification error(s). VerificationError: Invalid key type. Key type must be "Ed25519VerificationKey2018
Diwala OIDC4VC Demo
Example URL: openid-initiate-issuance://?issuer=https://oidc4vc.diwala.io&credential_type=OpenBadgeCredential&pre-authorized_code=eyJhbGciOiJIUzI1NiJ9.eyJjcmVkZW50aWFsX3R5cGUiOiJPcGVuQmFkZ2VDcmVkZW50aWFsIiwiZXhwIjoxNjc2ODI1OTk1fQ.SfkTvUppSEgjx9QeszeEfTP4ZlEhv-djeqTWAjEabVA
Result
❌ Error requesting credential [AriesFrameworkError: Access token response doesn't contain a scope. Only scoped issuer URIs are supported at this time.]
Entrustient
Example URL: openid-initiate-issuance://?issuer=https://staging.entrustient.net/oidc4vci/PUBLICORG&credential_type=https%3A%2F%2Fimsglobal.github.io%2Fopenbadges-specification%2Fob_v3p0.html%23OpenBadgeCredential&pre-authorized_code=A48N2Z8930BH345V8GCVIDUR61AWM8ELUAJGB1W8WYCYEN1ZE6YRCPOQZIR25FZ8KNSWMO85U9ZUOGGM6WKSPUHZDVQWA3RYQ1RJY3XOK7OZABDMNJF3MXWCW6TOSZWXEVX1XG03HY2VY4MMT99H2OAKFZCMKFSGD02UDU29YPVBJLIWUUPQF2326L9I4ALH3BUQ0JRMJVXMU0ZZQDWWP2Z7I16JYROLXRRNGO8SM3LYQ2S4OEV1AZ1676825555&user_pin_required=false
Result
❌ Error requesting credential [AriesFrameworkError: Access token response doesn't contain a scope. Only scoped issuer URIs are supported at this time.]
Danubetech
Example URL: openid-initiate-issuance://?issuer=https://oidc4vc.uniissuer.io/&credential_type=VaccinationCertificate&pre-authorized_code=u8O0B0yMMXkvquHzYhiGmm0feKt8JtUx&user_pin_required=false
Result
❌ Error requesting credential [AriesFrameworkError: Access token response doesn't contain a scope. Only scoped issuer URIs are supported at this time.]
Auth0 Labs
Example URL: openid-initiate-issuance://?issuer=https%3A%2F%2Flab-398acpb3.auth0lab.com&credential_type=UniversityDegreeCredential
Result
❌ Error requesting credential [AriesFrameworkError: Access token response doesn't contain a scope. Only scoped issuer URIs are supported at this time.]
Microsoft Entra End-to-End test
Example URL: openid-vc://?request_uri=https://verifiedid.did.msidentity.com/v1.0/tenants/3c32ed40-8a10-465b-8ba4-0b1e86882668/verifiableCredentials/issuanceRequests/322437bc-743e-4ac5-a604-6f8c564c1d96
Result
❌ Error requesting credential [Error: Wrong parameters provided]
Takeaways
It's still early 😬, some of the demos are broken etc. These are my takeaways:

4/9 errors on "access token response doesn't contain scope". This would be a good next step IMO.
Pre-authorized flow is needed to complete EBSI conformance test. I think it would be a great milestone to support EBSI credentials and flows.

I hope it was useful, and I that the community can work on supporting the full OpenID4VC + EBSI flows. We at @hyphen-xyz hope to contribute as soon as we have resources 🙏

Wow!! Thanks so much for compiling this list, this is really helpful.
Agree with the scope issue being the first one we should tackle.

Look forward to your contributions!

2. Pre-authorized flow is needed to complete EBSI conformance test. I think it would be a great milestone to support EBSI credentials and flows.

@karimStekelenburg is currently working on the authorized flow, so that should land soon.

Glad to hear it's helpful! :-) Such great news about the authorized flow, can't wait to try it out! 🚀 💪

Also be aware that the underlying OID4VCI client library has been tested against several of the mentioned issuers as part of the JFF Plugfest2, for both JWT and JSON-LD credentials, this was with mainly did:key and did:jwk and indeed only the Pre Authorized code flow.
In the meantime the spec slightly changed, and we still need to build version discovery in the client, to ensure it works with multiple versions of the spec. Normally this is a bit overkill for a spec that is still changing, but since we have some baselines like the JFF plugfest and the EU Wallet implementations in the future, it makes sense to build that in already.
What would be very helpful is to capture the requests and responses, so we can create some tests out of it.
The library already contains some tests against mocked data captured from some Issuers.

I will test our wallet agains Spruce, Mattr Diwalla, Entrustient, Danube to check current status.
I know Walt.id doesn't work anymore. Probably because they moved to a newer version of the spec, that changed a required property name.
To be clear EBSI and Entra are certainly on the radar for interop. Currently focus is on getting the OpenID4VP/SIOPv2 working with Entra as well. But happy to also quickly test Entra for VCI soon.

Hi @simonwh,
Thank you for this extensive report. This is super helpful!
During development, I mainly tested against MATTR's launchpad. They indeed use publicKey instead of verificationMethod, but after chatting with the MATTR team, I was told that apparently, both (object) keys are still valid according to the specs. I will verify this and make the necessary changes in the coming days.
With regards to the scope related errors: it looks like that's an error on my end. I think I'm treating an optional value as required and throwing an error if it's not present.
I will look into it and get back to you!

@nklomp Thanks for the details! Makes sense, some type of "discovery" could be useful for sure. Looking forward to following along, reach out if there's any testing we can help with or test. We will be doing the EBSI conformance testing as soon as possible.
@karimStekelenburg Ahh okay, I didn't realize publicKey was actually valid still, it's not in the v1 spec or the referenced context ["https://w3.org/ns/did/v1",     "https://w3id.org/security/suites/ed25519-2018/v1"] 😬
Awesome! Much appreciate your effort. Reach out if I can do anything like help testing the impl. etc.

Hi @karimStekelenburg Was just testing this again, and looks like the access_token scope issue still exists. The PR never got merged, and the client is still complaining about the missing scope. Did you ever get it working?
I tested Spruce, Walt.id, Mattr, Danubetech etc.
Using 0.4.0-alpha.114 for both core and openid4vc-client.
[AriesFrameworkError: Access token response doesn't contain a scope. Only scoped issuer URIs are supported at this time.]
Looking at the code, it has a hard requirement on scope being present in the access_token object, which it in most cases is not:
https://github.com/hyperledger/aries-framework-javascript/blob/414595727d611ff774c4f404a4eeea509cf03a71/packages/openid4vc-client/src/OpenId4VcClientService.ts#L260-L264

Hi @simonwh, my apologies. This change was lost in between PRs. I have created a PR (#1450) that removes the hard scope requirement. I hope this fixes your issues.
By the way, just curious: are you testing both the pre-auth and auth flows?

Also, did your tests with MATTR's Launchpad succeed? I have been using that for testing myself and as the Launchpad does include the scope parameter as part of the access_token response I haven't run into any issues.


Add ability to toggle quote escaping off

Resolves #831 Feature request: option to stop quote escaping tables, columns, etc
This is a slight 'breaking change' in that it changes the constructor arguments for MigrationBuilder - though I don't think this class is typically meant to be instantiated directly. I'm happy to update this if this is a larger API change than desired.
Additionally, I noticed that the shouldQuote value for schemalize and and literal were different - so I retained those original values.
Let me know if there's anything else to be considered for this change. Thanks 😃

Closing as the problem that encouraged the PR can be solved by one of the following:
pgm.createTable('TestTable', {
    Id: 'id',
    Name: {
      type: 'int',
      references: {
        schema: "hollywood",
        name: "films",
      }
    },
  })

or
pgm.createTable('TestTable', {
    Id: 'id',
    Name: {
      type: 'int',
      references: `"hollywood".films`
    },
  })

otherwise quoting names by default should be alright.


Remove css-loader peerDependency

Hey,
I know you haven't been on this project for a while, but I'm using it for a project of mine.
Forking it as my own is also a problem because I need the npm registry.
Anyway, css-loader is not needed as peerDependency, absurd is a css\html templating engine.

@unimonkiez I had a reason I needed CSS Loader, but it has been long enough I cannot remember what that reason was. Lol. Your request is merged and feel free to update the absurd version as well.

Alright, I might make some changes such as fixing HMR and updating dependencies soon.
After that you can publish to npm again

Sounds great. Thanks!

Zach Curtis
P:<PHONE_NUMBER>
E<EMAIL_ADDRESS>T: @zachariahCurtis https://twitter.com/#!/@zachariahCurtis
On Mon, May 2, 2016 at 8:12 AM, Yuval Saraf<EMAIL_ADDRESS>wrote:

Alright, I might make some changes such as fixing HMR and updating
dependencies soon.
After that you can publish to npm again
—
You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub
https://github.com/zachariahtimothy/absurd-loader/pull/1#issuecomment-216246101

@zachariahtimothy Can you publish in the meanwhile? I'll get to the fixes I want to do later and it fails my project now

Done.

Zach Curtis
P:<PHONE_NUMBER>
E<EMAIL_ADDRESS>T: @zachariahCurtis https://twitter.com/#!/@zachariahCurtis
On Wed, May 4, 2016 at 6:14 AM, Yuval Saraf<EMAIL_ADDRESS>wrote:

@zachariahtimothy https://github.com/zachariahtimothy Can you publish
in the meanwhile? I'll get to the fixes I want to do later and it fails
https://travis-ci.org/TimeToKnow/emoji-panel my project now
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/zachariahtimothy/absurd-loader/pull/1#issuecomment-216842216


TypeError when accessing URL

Stacktrace (most recent call last):

  File "raven/middleware.py", line 35, in __call__
    iterable = self.application(environ, start_response)
  File "site-packages/guard.py", line 62, in __call__
    return self.application(environ, _start_response)
  File "werkzeug/wsgi.py", line 40, in <lambda>
    return update_wrapper(lambda *a: f(*a)(*a[-2:]), f)
  File "warehouse/application.py", line 337, in wsgi_app
    return self.dispatch_view(view, self, request, **kwargs)
  File "warehouse/sessions.py", line 143, in wrapped
    resp = fn(self, view, app, request, *args, **kwargs)
  File "warehouse/csrf.py", line 131, in wrapped
    return fn(self, view, app, request, *args, **kwargs)
  File "warehouse/application.py", line 293, in dispatch_view
    return view(*args, **kwargs)
  File "warehouse/utils.py", line 61, in wrapper
    resp = fn(app, request, *args, **kwargs)
  File "warehouse/legacy/simple.py", line 141, in package
    fastly.projects.format_keys(project=project),
  File "warehouse/fastly.py", line 65, in format_keys
    for key in self.keys
  File "warehouse/fastly.py", line 65, in <listcomp>
    for key in self.keys
  File "python3.4/string.py", line 164, in format
    return self.vformat(format_string, args, kwargs)
  File "python3.4/string.py", line 168, in vformat
    result = self._vformat(format_string, args, kwargs, used_args, 2)
  File "python3.4/string.py", line 194, in _vformat
    obj = self.convert_field(obj, conversion)
  File "warehouse/fastly.py", line 24, in convert_field
    return normalize_project_name(value)
  File "warehouse/utils.py", line 144, in normalize_project_name
    name = re.sub("_", "-", name).lower()
  File "python3.4/re.py", line 175, in sub
    return _compile(pattern, flags).sub(repl, string, count)

Is the full traceback, this occurs because project, in warehouse/legacy/simple.py, is None.

This might be from a previous version of the site though. @dstufft ?

Yes, that's old code (using werkzeug instead of pyramid)

Good catch.


[Removal]: Please remove Gigantic Burgandy Vulture from the denylist.

Hotspot Name
Gigantic Burgandy Vulture
Hotspot b58 Address
11kkPjfqZNJY4cxEHFab6BAStKwnjPPmUQwU6y19Uj5LDx7DDzP
Discord Handle
na
Hotspot Manufacturer
Bobcat
Removal Reason
It's the second time that my hotspots get reported deliberately or determined by the system and end up in the Deny List. I deployed my hotspot in real location and changed nothing since my hotspot removed from the denylist at the first time. I have no idea why I am on the denylist again. I am very frustrated, Please give me a reasonable explanation and remove my hotspot from the denylist asap, thank you!
Modifications
No
Extra forwarders
No
Extra antennas
No
Additional Information
I don't know why Helium team can't verify if the hotspot is really cheating before the team put the miner in the denylist.
It's the second time that my hotspots get reported deliberately or determined by the system and end up in the Deny List. I deployed my hotspot in real location and changed nothing since my hotspot removed from the denylist at the first time. I have no idea why I am on the denylist again, I am very frustrated, please  Please give me a reasonable explanation and remove my hotspot from the denylist asap, thank you!
My hotspot and my coworker's hotspot both in our offince and we deployed them in the real location and has never changed anything for a long time. I think it's very very unreasonable and unfair to put my hotspot in the denylist as I  have always complied with the requirements from Helium.  This is a waste of my time, because my hotspot has stopped working since it was maliciously reported, and it will take a long time for me to ask for you side to remove my hotspot from the denylist.

https://github.com/helium/denylist/issues/879
It's the first time that my hotspot was put into denylist and I ask for a removal from the denylist.

13XMTUaVMTb8QeK9sDaUsjeKmZdXsU7BWuCq22X9iKy2RKvKn1e
13EZUDcWYQ9CfRmTrBE3tBH4sE1Td1tZrwsJbbQ89nsWjqVUKcg
14DjbeH7zvj7bNEoPKpBrJBsPCYFcy4fttpJ5hM4WwcXegvCW2Z
14XEARg2dvtJAnw5fkpqSYFL2pGKC8riEeEjbMMnwdequrP81ey
13c9xK1ARjhnJ7McYJCBXkhYJeU4opxoX5uBnvsULUmAngRecPs
..
14WW1tcvNRMjXSbFAnGvbiHuGd7359QCcLQeySkUaHYc3MokrmB
13LaPQ5994UPoZUunRhmQb2uR6wRxNwxoJYtfDFiKLHPwyuQu37
13u2oWkj8cE2veWPr8gGvXrbeeMNGCdZmc7t6WWt75Dn1NdzAf9
14RqVdkcC98T5NgeobFyTxqzuutLHGorDNATxKpRdvYuExyojg2
14r5pPK5c9PkDZz93cfbmq2bGvrq1emHsSMTgYbdipfoqneXbuh
14c9HDgmUKj5hscNE4RLD1h2ZtSybXBJtbTDmG5m2up2KLbkLxc
13Pc2ir2mrFzPS6DN8m71FSLvbQP9ERXxgRH4vAsnCaVQF9SgPy
14ETHRxj6mdUohqDSqP3MUXA9Ls92Jmm8UdCJLyVfjzVxmd6Qkq
14RN8UpJSYxwfQYHWb8xvDNHd2Q41QwypQWaeWu27rm4QT2GJTm
14BvWm8pwEKkfcbzXu84LR2mpbTL7M4yz7yiaxUnriu39vug7JJ
13VPaPYYHjW5Z8sAqrNQVE9kqmwkcWG2unDHeH557mtkLhHMDmt
132xAJ7TNYEMLiEJo73UmYq9ZQfm8ApwHzJNc3ETTdLZcg6vps1
13p4c2zsyUbwxv4UrY6tJcZwTzEWGqfegf1peMoYTbpBUyT7ytw
13bca8qekEEBxSQwF5VbeJHr9XbmnCYXZ86nfQpHaER2C5QKPmb
1393kKxXMozqYRPkSW6zxrsZPEBDKimh6XE6fz7aX2wsKtkdAjB
13VmJyT5bJHXjMoH1h9Mo1JcU5X1MSGhkVmViGR8JXYbKqogYyr
14gBp6MgHGXS7H8UcSxijoZB9ucLydXvnNjXQPcfrUenBC4wLwn
14W5o3aUfTjdTJiXJFC8NgUNwwUFjhDzgegKrBSmnaRWmbQpSQH
13PtBA1YERw7r2oWD8pSgFs1sbMGMMjsoRp9F6tZWthkt32kcuz
13qe1RgXvZfsGUhifX6tSYbvheD2LLShz2VfRoafxAZwhANYSgp
....


File .envs/.django missing

Build fails with
$ git clone https://github.com/ContactEngineering/topobank-stack-development.git
Cloning into 'topobank-stack-development'...
remote: Enumerating objects: 75, done.
remote: Counting objects: 100% (75/75), done.
remote: Compressing objects: 100% (52/52), done.
remote: Total 75 (delta 21), reused 68 (delta 16), pack-reused 0
Unpacking objects: 100% (75/75), 22.23 KiB | 2.02 MiB/s, done.
$ cd topobank-stack-development/
$ git submodule init
Submodule 'topobank' (git@github.com:ContactEngineering/TopoBank.git) registered for path 'topobank'
Submodule 'topobank-contact' (git@github.com:ContactEngineering/topobank-contact.git) registered for path 'topobank-contact'
Submodule 'topobank-statistics' (git@github.com:ContactEngineering/topobank-statistics.git) registered for path 'topobank-statistics'
jotelha@jotelha-fujitsu-ubuntu-20:/mnt/dat2/git/ContactEngineering/topobank-stack-development$ git submodule update
Cloning into '/mnt/dat2/git/ContactEngineering/topobank-stack-development/topobank'...
Cloning into '/mnt/dat2/git/ContactEngineering/topobank-stack-development/topobank-contact'...
Cloning into '/mnt/dat2/git/ContactEngineering/topobank-stack-development/topobank-statistics'...
Submodule path 'topobank': checked out '9ab10e2b2bd3fca4a6e5f9cee9d7ce355e64970b'
Submodule path 'topobank-contact': checked out '070eb8317f164f7a7a74c61f2a9c2eb4365f8039'
Submodule path 'topobank-statistics': checked out 'db0252acef453b7373add83756c2eeb7ab66861e'

$ TOPOBANK_UID=$(id -u) TOPOBANK_GID=$(id -g) docker compose build
open /mnt/dat2/git/ContactEngineering/topobank-stack-development/.envs/.django: no such file or directory

You need to copy .envs/django.template to .envs/.django and fill in missing data.
We should add this to the README. There are also other steps needed like calling collectstatic and the creation of the World organization in order to use the plugins. I can add more information on this the next days.


feat: add MapColumns method

[x] Do only one thing
[x] Non breaking API changes
[x] Tested

What did this pull request do?

Add MapColumns method: modify the column names in the query results to facilitate align to the corresponding structural fields
User Case Description

I recently used gorm to do aggregation queries based on timescaledb. For example, the following query:
SELECT
    symbol,
    '5min' AS timeframe,
    TRUE AS adj,
    time_bucket('5 minute', t, 'America/New_York') AS bucket,
    time_bucket('5 minute', t, 'America/New_York') AS t,
    FIRST(o, t) AS o,
    MAX(h) AS h,
    MIN(l) AS l,
    LAST(c, t) AS c,
    SUM(v) AS v,
    SUM(n) AS n,
    SUM(v*c)/SUM(v) AS vw
FROM
    market.candle
WHERE
    adj = TRUE AND
    timeframe = '1min' AND
    symbol = 'AAPL' AND
    time_bucket('5 minute', t, 'America/New_York') > '2023-03-03 17:01:00+08'
GROUP BY
    symbol, bucket
ORDER BY
    symbol, bucket ASC
LIMIT 10000;

bucketWidth := timeFrameToBucketWidth(req.TimeFrame)
db = db.Select(`
	symbol,
	? AS timeframe,
	TRUE AS adj,
	time_bucket(?, t, ?) AS bucket,
	time_bucket(?, t, ?) AS t,
	FIRST(o, t) AS o,
	MAX(h) AS h,
	MIN(l) AS l,
	LAST(c, t) AS c,
	SUM(v) AS v,
	SUM(n) AS n,
	SUM(v*c)/SUM(v) AS vw
`, req.TimeFrame.String(), bucketWidth, s.locationName, bucketWidth, s.locationName)
db = db.Where(`symbol IN ? AND timeframe = '1min' AND adj = ?`, req.Symbols, req.Adjustment)
if !req.Start.IsZero() {
	db = db.Where(fmt.Sprintf("time_bucket(?, t, ?) %s ?", startCompare), bucketWidth, s.locationName, req.Start)
}
if !req.End.IsZero() {
	db = db.Where("time_bucket(?, t, ?) < ?", bucketWidth, s.locationName, req.End)
}
db = db.Group("symbol, bucket")
db = db.Order("symbol ASC, bucket ASC")

The result will be an error ERROR: column "candle.t" must appear in the GROUP BY clause or be used in an aggregate function (SQLSTATE 42803).
However, I cannot put t in Group, which will affect the correct result. So I tried using db = db.Group("symbol, time_bucket('5 minute', t, 'America/New_York')") which unfortunately returns the same error.
So I can only give up returning the t column in the result set, but then I need to customize a nested structure to supplement a bucket column, and then manually assign it to MarketCandle.T. This is very inconvenient.
So I added the MapColumns method. I think this may be a requirement that also exists in other scenarios, especially when GROUP BY is used.

Hi @molon
Could you please include some tests to ensure it functions correctly?

Hi @molon
Could you please include some tests to ensure it functions correctly?

When I tried to write test cases, I found that my current implementation was unable to meet the scenario where Embedded existed.
Because Embedded will cause duplicate column names to appear.
Do you have any suggestions for this?

Hi @molon
Could you please include some tests to ensure it functions correctly?

When I tried to write test cases, I found that my current implementation was unable to meet the scenario where Embedded existed. Because Embedded will cause duplicate column names to appear.
Do you have any suggestions for this?

Embedded fields do not necessarily lead to duplicate field names, but I believe we should be able to disregard such issues, right?

Agreed, already added it.

thanks for adding this


Added more options for more flexibility "out of the box"

Changes:

choose() now takes an optional preferences object instead of the 2 optional parameters. (they're now included in the object among other options).
Ability to display options in the same line.
Ability to set a separator of choice between inline options.
Ability to set custom spacing between inline options.
It is now possible to change the "styling" of the index. and what to display around it.
Dividers are removed by default, can be activated separately (top and bottom).
Ability to set dividers length from the preferences object, and the dividerChar as well.
Option to add or remove the spacing (new line) between the dividers and the options.

Extras:

Updated the tests so they work with new way of passing parameters to choose()
Readme is updated with everything explained
Added a Usage section in the Readme, and bundled everything in one file hosted in github for ease of access. (under /install

I guess i overlooked the fact that you already had the "display without new line", it seems like i just exposed it to be more direct.

I appreciate the input provided here on the configuration options. As this has gotten more complicated it's probably a good idea to switch to a configuration-based approach rather than inlining these options. However, at this point i'm not prepared to make such a substantial change to the API, as this is a rewrite of the majority of the code.
I think a good starting point for some of what you are looking for would be the ability to instantiate the input class with a set of default configuration options - divider characters, index options, etc. This way we can preserve the existing API but cut down on the number of parameters passed each time one of the handlers is called, only using the passed parameters if we need to override the defaults set. I'll create an issue shortly to capture some of this, and if you're interested we can continue the discussion there.

Discussion can continue here: https://github.com/keegandonley/input-deno/issues/15


Click on id in debug panel highlights node or flow

Types of changes

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)

Proposed changes
As discussed in the forum, this PR adds the feature to highlight a node or flow when clicking in the debug panel on a value typeof string, that is identified as a node / flow id. The term node here comprises all node types returned by RED.nodes.nodes(<id>).

This feature re-uses functionality already implemented and in use to highlight the emitting node of a debug message.
As the elements used to display debug messages are only created on demand (toplevel or when expanded), this feature is as well only injected on demand.
Checklist

[x] I have read the contribution guidelines
[x] For non-bugfix PRs, I have discussed this change on the forum/slack team. 👍
[x] I have run npm run test to verify the unit tests pass
[ ] I have added suitable unit tests to cover the new/changed functionality

Works ok for me.

Updated accordingly!