Is it possible to get bucket url?

If you are using public s3 bucket for storing the processed image, is it possible to get the direct s3 URL of the image?

Hi,
I think I am running into a very similar question in mind, that I would like to get the bucket URL for the processed image instead of a path with parameters in it.
For example, whenever I uploaded a file and passed fit-in/1024x1024/filters:format(png)/test.png, I want it eventually store into my bucket with a random ID like Xc3dCN4zurEYX7ut.png and hopefully imagor will return a full url like https://example.org/Xc3dCN4zurEYX7ut.png instead of a url with parameters in it.
However, I wonder if imagor does this or not, as I (haven't started trying it out yet but) seeing imagor is an "inline" image processor with extra result storage capability?
-- Ivan

Check out result storage path style introduced in imagor v1.1:
https://github.com/cshum/imagor#storage-and-result-storage-path-style
IMAGOR_RESULT_STORAGE_PATH_STYLE=suffix

166x169/top/foobar.jpg becomes foobar.45d8ebb31bd4ed80c26e.jpg
17x19/smart/example.com/foobar becomes example.com/foobar.ddd349e092cda6d9c729

@cshum Is it possible to add another path style? For example it would be very cool to preserve image size in the name.
166x169/top/foobar.jpg becomes foobar.45d8ebb31bd4ed80c26e_166x169.jpg
400x400/top/foobar.jpg becomes foobar.45d8ebb31bd4ed80c26e_400x400.jpg


Cache the results of GetPolicy as well an the Codes

Some choices to be made: do we store it in the database as well, and if so how? If not do we store in memory / serialize an XML file that can be read on startup?

Should be added in https://github.com/SuffolkLITLab/EfileProxyServer/commit/e6386b665ac4b1aa1ad4f6af29f9f815d96a9306. Slight improvement could be to use the policy cacher from the Scheduled task to download the codes, but that's still to pass it around threads.

This should still be resolved; as long as the server doesn't restart, we cache the results of GetPolicy. But for completeness, here's the text from our communications with Tyler, on how their side works.

We’re not going to make any changes or updates to anything with the codes or GetPolicy in the middle of the day. That takes a full system refresh on our end and potentially causes the system to go down for period of time, we can’t have downtime in production at all during filing hours.  Our cache runs nightly around midnight and vendors are instructed to pull their codes in the early morning hours typically 2-3am; at least sometime before you believe your filers will start using the system the next day. Additionally, we don’t make changes during the day as that could cause some EFSP vendors to not have the latest data and cause filing errors if those codes are not in sync with the EFM.


Reformatting and Synchronizing with bitsharesjs

Reformatting the code
Synchronizing with bitsharesjs
Adding claim_from_asset_id ext to asset_claim_fees

Reformatting the code

Please, use Prettier.
for checks: yarn style-all
for correction: prettier --write .

Adding claim_from_asset_id ext to asset_claim_fees

Thanks!

"Reformatting" isn't done by me; I am just copying bitsharesjs as is hence a reformatting was done there so we're just syncing.


Replace uint16_t* with uint8_t* in in_cksum

Currently if we compile dhcpcd with -Os, we will get a checksum error upon receiving packets from the DHCP server. This prevents the client from binding a DHCP lease.
This checksum error comes from the checksums_valid() function volating the strict aliasing. In this function, pip is a union representing the pseudo IP header. It consists of ip of struct ip and w of uint16_t[]. ip is assigned with the IP header data, but w is actually used to calculate the checksum. As struct ip and uint16_t[] are incompatible types, according to the strict aliasing, the compiler thinks the assignment to ip is unused, so it simply ignores the assignment. This leads to the incorrect checksum calculation.
According to the strict aliasing rule, a char* alias with any object pointer, so we can choose to use uint8_t* (unsigned char*) to calculate the checksum. We can replace uint16_t* with uint8_t* in in_cksum, and also remove the usage of w in checksums_valid().

What compiler, kernel and CPU are you seeing this on?

I build dhcpcd on Linux and deploy it to Chrome OS. I've observed this checksum error on both x86_64 and aarch64 CPUs. The compilers I use are x86_64-cros-linux-gnu-clang and aarch64-cros-linux-gnu-clang, respectively.

I build dhcpcd on Linux and deploy it to Chrome OS. I've observed this checksum error on both x86_64 and aarch64 CPUs. The compilers I use are x86_64-cros-linux-gnu-clang and aarch64-cros-linux-gnu-clang, respectively.

Thanks, I have been able to reproduce this now and your change does indeed fix the issue.
Interesting enough I was only able to reproduce this using clang-15 on debian-12 - all other OSes I have to hand I could not replicate this on using either gcc or clang.

Thanks, I have been able to reproduce this now and your change does indeed fix the issue. Interestingly enough I was only able to reproduce this using clang-15 on debian-12 - all other OSes I have to hand I could not replicate this on using either gcc or clang.

That's indeed very interesting. Another interesting thing is that this can't be reproduced with -O2 or -O3. The inline introduced by -Os is necessary. Anyway aliasing with uint16_t* here is not safe even with the union.

@acst1223 Thanks for the excellent analysis and patch for the problem.
I'm going to go out on a limb and say this looks like a compiler issue as the code compiles with zero warnings and by simply passing &pip to hwaddr_ntoa and dumping the result to stdout fixes the issue. We didn't modify the content at all, just iterated over it. That is pretty odd eh?
Looking at other sources for reference, no-one uses htons in the main loop and the casting that requires or does the csum byte by byte - it's always uint16_t.
This results in more effort on the CPU and a larger binary. Although we are hardly talking large amounts here.
As you say that aliasing is the root cause. We have the union there just so we can reference the structure as uint16_t.
So can we solve this another way?

According to the strict aliasing rule, a char* alias with any object pointer, so we can choose to use uint8_t* (unsigned char*) to calculate the checksum.

Luckily for us, the reverse is also true!
We can create a backing buffer of uint8_t on the stack to hold the struct and then reference it via a struct ip pointer which we can then pass to in_cksum after populating the ip fields.
Please review 8a840af4e727dc70da1fe62a242de97e9c8c8bc7 and let me know your thoughts.
I've added you as co-author as you analysed the root cause and provided a good fix.

I've tried your patch on both x86_64 and aarch64 Chrome OS but unfortunately both give me a checksum error again.
Regarding the aliasing rule, casting any other type pointer to char* is valid but not the opposite. I read this doc  and in the Casting to char* section it writes

Casting a char* to a pointer of any type other than a char* and dereferencing it is usually in violation of the strict aliasing rule.

This can explain why your latest patch sometimes won't work.
I agree with you that using bytes to calculate cksum is indeed inefficient and sounds weird. I've also been struggling on this, since I cannot think of a way to calculate it in words without breaking the (so strict) aliasing rule. The patch initially in the thread is the best I could think of so far.

OK, I've redone the patch in commit f1ff96f7293907bac05464c50819b07a18fe3e36.
This now uses a custom psudeo header struct especially for ip header checksum calculations as I think the underlying issue might really be using the real ip header in in_cksum.
This also has the advantage of being a smaller header so even less work to do.
Let me know!

I tried it but the checksum error remained ... All fields in ip_pseudo except for ipp_len are not compatible with uint16_t.
What about making all fields in the pseudo header uint16_t (or just building an uint16_t array) to make in_cksum work?

I think building the uint16_t array is the better approach.
For some reason I don't understand, we need to memcpy into it rather than directly write into it via a pointer to the buffer which means holding it twice on stack. I don't mind that so much as the pseudo header we need is fairly small.
I also added some commentary around checksum results to make things more clear for future readers.
Please test 9f8ae576adf8e8508c87e4ddd88bb2cea3016c39

Thanks so much for your effort! The latest patch works fine!
I think the reason why direct writing via a pointer doesn't work is the still the aliasing (casting uint16_t* to some other types). The overhead with memcpy is small so I vote for it, too.
Thanks again for your work! The checksum issue is finally settled.

That's great news!
I just pushed hopefully a final patch which changes the buffer from to uint8_t. uint16_t buffers just bug me and I couldn't think of a reason why this shouldn't work.
So please give 175fc13e5c8b807ec3fcd420519c17e350d23f1a a test, let me know and I'll push to master.

a7e642ac97d84bb042b5e931b4751a8d89716626  just has an updated comment about the buffer now being uint8_t.

a7e642a also works and we can proceed with it.

uint16_t buffers just bug me and I couldn't think of a reason why this shouldn't work.

Just curious, what do you mean by "uint16_t buffers just bug you"?

a7e642a also works and we can proceed with it.

Excellent, thanks!

uint16_t buffers just bug me and I couldn't think of a reason why this shouldn't work.

Just curious, what do you mean by "uint16_t buffers just bug you"?

Every other buffer in dhcpcd or most code I look at is uint8_t. Anything else is an array.
In my head I see that a buffer just stores opaque data to be sent or received over a wire (physical or virtual).
Where-as an array is just what an array normally is ... a list of defined objects of equal size and shape.
Thanks for helping me test this! Whilst I could replicate your initial failure, I was surprised my fixes still failed for you as they then worked for me. I used valgrind to test with for the first time yesterday (or for day before, I forget) and surprisingly picked up un-initialised memory errors in the in_cksum loop only when the pseudo header was involved. Which is complete nonsense as the memory has to be initialised - I even memset it all to zero at one point just to say "boo, i can do more to initialise" but no, valgrind still complained. memcpy was the only escape for it I could find, so glad it all works now. And has resulted in smaller and hopefully better code.

This bug's very strange indeed. Thanks to memcpy anyway!
This cksum bug was a really long struggle. I'm so happy to see we can finally fix this now!

Merged to master as dcef5d9bca3310e3f16be4d602fe7e13555b2b9c
Thanks again for your efforts.


SQLite error, if server is killed while creating the database

Error is pretty much straight forward. If you kill the server, while it's creating the database, the database is corrupted and the patchCommands is spitting errors, since the tables arent created.
It can happen while normal use, if you swap the language.
Steps to reproduce:

Clean install of ShokoServer
Start ShokoServer
Swap Language
Accept the box, which states that you need to restart the server to swap the language.

and now everytime you start, patchCommands will error, due to the time it takes for the first time to create the database and still encouraging the user to restart.
Log file:
2017-01-24.txt

This should help with this problem.


Make error in mpv linking

So I left the PC compiling buildroot and all and i got a error when linking mpv package
It goes like this:
mpv 0.29.1 Building
cd /home/eduardo/buildroot/MycroftOS/buildroot/output/build/mpv-0.29.1/ && PATH="/home/eduardo/buildroot/MycroftOS/buildroot/output/host/bin:/home/eduardo/buildroot/MycroftOS/buildroot/output/host/sbin:/home/eduardo/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" /home/eduardo/buildroot/MycroftOS/buildroot/output/host/bin/python2 /home/eduardo/buildroot/MycroftOS/buildroot/output/host/bin/waf build -j 9
Waf: Entering directory /home/eduardo/buildroot/MycroftOS/buildroot/output/build/mpv-0.29.1/build'
[1/1] Compiling version.sh
[208/208] Linking build/mpv
/home/eduardo/buildroot/MycroftOS/buildroot/output/host/lib/gcc/arm-buildroot-linux-gnueabihf/8.3.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: video/out/opengl/context_rpi.c.19.o: undefined reference to symbol 'vc_dispmanx_display_close'
/home/eduardo/buildroot/MycroftOS/buildroot/output/host/lib/gcc/arm-buildroot-linux-gnueabihf/8.3.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: /home/eduardo/buildroot/MycroftOS/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/lib/libvchostif.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Waf: Leaving directory /home/eduardo/buildroot/MycroftOS/buildroot/output/build/mpv-0.29.1/build'
Build failed
 -> task in 'mpv' failed with exit status 1 (run with -v to display more information)
make[1]: *** [package/pkg-generic.mk:241: /home/eduardo/buildroot/MycroftOS/buildroot/output/build/mpv-0.29.1/.stamp_built] Error 1
make[1]: Leaving directory '/home/eduardo/buildroot/MycroftOS/buildroot' make: *** [Makefile:25: rpi3] Error 1
Thank you

Ah, my apologies, we forgot to patch Buildroot. It is in the README, but I am sure you just took my advise with the make commands. I didn't think about it as well.
I am afraid we need to start from scratch.
https://github.com/j1nx/MycroftOS/blob/develop/documentation/building.md

For now i disabled MPV since for my application i wont be needing it, but ill dig deeper into this later.

Fine, but there are a whole lot of patches that need to be applied before you start the compile. Otherwise you end up with complete different software version for quite some packages.
It is mandatory that you run the command;
./scripts/br-patches.sh
Best is to stop this compile run and restart from scratch because I also thing your Buildroot is not yet up to date to the last 2019.11.x version.
To make sure everything goes as planned best is to delete the MycroftOS folder and run the commands from a to z in above linked documentation.

And before I forget;
cd ~/
git clone --recurse-submodules https://github.com/j1nx/MycroftOS.git
cd MycroftOS
git checkout develop
Than patch Buildroot by;
./scripts/br-patches.sh
Than we can start tjhe build with
make rpi3-config
make rpi3
Go to sleep. At the very end it error's out because of SpeechRegognition, I still need to solve that but it only happens at a clean run so very annoying to test.
Anyhow, if it errors out on "SpeechRegognition", just restart the compile by running;
make rpi3
It will continues where it left...

I started from scratch and when it was writing the image it stop due to a error. On further inspection after running make -C buildroot BR2_EXTERNAL=buildroot-external 2>&1 I noticed i had a Kconfig fragment error on busybox.
Any idea?
Here's the output:
for f in buildroot-external/busybox.config ; do if [ ! -f "${f}" ]; then printf "Kconfig fragment '%s' for '%s' does not exist\n" "${f}" "busybox"; exit 1; fi; done
Kconfig fragment 'buildroot-external/busybox.config' for 'busybox' does not exist


WIP: Add B92 & B95 boards.

The following west manifest projects have been modified in this Pull Request:

Name
Old Revision
New Revision
Diff

hal_telink
https://github.com/telink-semi/hal_telink/commit/2cf611c6c92291796c91e2963801ec0918bf798a
https://github.com/telink-semi/hal_telink/commit/9e86abb71b179007fc9a1fa03e84dd354b77b560 (develop)
<EMAIL_ADDRESS>

Note: This message is automatically posted and updated by the Manifest GitHub Action.


Typo in the name

This project is named bad
A W S E O M E
insted of
A W E S O M E
there are swiched 'S' and 'E'
@geraldb @TomWright

Thanks for reporting. The project name is fixed now.  Weird I didn't notice the typo all those years.   Cheers. Prosit 2022!


fix user when for push to hub

This should fix the error:
OSError: fatal: could not read Username for 'https://huggingface.co/': No such device or address

when pushing to hub.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


run_tests.sh (building the example) fails

Hi,
after successfully building WebRTC on MacOS El Capitan, I am trying to execute the run_tests.sh script.
However, this fails with the following linking error:

➜  test git:(master) ✗ ./run_tests.sh ../out/webrtcbuilds-14720-3355f6d-mac-x64/
Undefined symbols for architecture x86_64:
"_AVCaptureSessionPreset1280x720", referenced from:
___cxx_global_var_init in libwebrtc_full.a(device_info.o)
+[DeviceInfoIosObjC capabilityForPreset:] in libwebrtc_full.a(device_info_objc.o)
-[RTCVideoCaptureIosObjC startCaptureWithCapability:] in libwebrtc_full.a(rtc_video_capture_objc.o)
-[RTCVideoCaptureIosObjC startCaptureInBackgroundWithOutput:] in libwebrtc_full.a(rtc_video_capture_objc.o)
"_AVCaptureSessionPreset352x288", referenced from:
___cxx_global_var_init in libwebrtc_full.a(device_info.o)
+[DeviceInfoIosObjC capabilityForPreset:] in libwebrtc_full.a(device_info_objc.o)
-[RTCVideoCaptureIosObjC startCaptureWithCapability:] in libwebrtc_full.a(rtc_video_capture_objc.o)
-[RTCVideoCaptureIosObjC startCaptureInBackgroundWithOutput:] in libwebrtc_full.a(rtc_video_capture_objc.o)
"_AVCaptureSessionPreset640x480", referenced from:
___cxx_global_var_init in libwebrtc_full.a(device_info.o)
+[DeviceInfoIosObjC capabilityForPreset:] in libwebrtc_full.a(device_info_objc.o)
-[RTCVideoCaptureIosObjC startCaptureWithCapability:] in libwebrtc_full.a(rtc_video_capture_objc.o)
-[RTCVideoCaptureIosObjC startCaptureInBackgroundWithOutput:] in libwebrtc_full.a(rtc_video_capture_objc.o)
"_AVCaptureSessionPresetLow", referenced from:
-[RTCVideoCaptureIosObjC startCaptureInBackgroundWithOutput:] in libwebrtc_full.a(rtc_video_capture_objc.o)
"_AVMediaTypeVideo", referenced from:
+[DeviceInfoIosObjC captureDeviceCount] in libwebrtc_full.a(device_info_objc.o)
+[DeviceInfoIosObjC captureDeviceForIndex:] in libwebrtc_full.a(device_info_objc.o)
+[DeviceInfoIosObjC captureDeviceForUniqueId:] in libwebrtc_full.a(device_info_objc.o)
-[RTCVideoCaptureIosObjC startCaptureInBackgroundWithOutput:] in libwebrtc_full.a(rtc_video_capture_objc.o)
"_CMSampleBufferGetImageBuffer", referenced from:
-[RTCVideoCaptureIosObjC captureOutput:didOutputSampleBuffer:fromConnection:] in libwebrtc_full.a(rtc_video_capture_objc.o)
"OBJC_CLASS$_AVCaptureDevice", referenced from:
objc-class-ref in libwebrtc_full.a(device_info_objc.o)
"OBJC_CLASS$_AVCaptureDeviceInput", referenced from:
objc-class-ref in libwebrtc_full.a(rtc_video_capture_objc.o)
"OBJC_CLASS$_AVCaptureSession", referenced from:
objc-class-ref in libwebrtc_full.a(rtc_video_capture_objc.o)
"OBJC_CLASS$_AVCaptureVideoDataOutput", referenced from:
objc-class-ref in libwebrtc_full.a(rtc_video_capture_objc.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Am I missing some Mac foundation packages here?
Thanks,
Alex

Hi,
Yes that may be the case, based on the references listed, should we try adding:

AVFoundation
CoreMedia

i.e. -framework AVFoundation -framework CoreMedia to the compile line

Great, thank you so much!!
I got stuck with this a year back on a different project; never thought about linking AVFoundation and CoreMedia.
So appending the arguments you suggested to line 20 in run_tests.sh did the trick:
      clang++ -o simple_app $DIR/simple_app.cc -DWEBRTC_POSIX -DWEBRTC_MAC -I$WEBRTCBUILDS_FOLDER/include -std=c++11 -stdlib=libc++ $WEBRTCBUILDS_FOLDER/lib/$CONFIG/libwebrtc_full.a -framework Cocoa -framework Foundation -framework IOKit -framework Security -framework SystemConfiguration -framework ApplicationServices -framework CoreServices -framework CoreVideo -framework CoreAudio -framework AudioToolbox -framework QTKit -framework AVFoundation -framework CoreMedia


Update README.md

URL Manager - Integrates with other shorteners as well but allows multiple YOURLS servers. Mainly only creates links for YOURLS

No longer available on play store so deleted

URL Shortener // not updated in a long time, won't be able to use YOURLS service on new android versions.

^added a comment of possible non-compatibility as found in my own testing

Well I think if the app doesn't work with YOURLS on current Android versions, we should just remove it. I'll commit this way. Thanks for this PR again :)


ENV Variables are not being used at startup of Drupal

DRUPAL_DEFAULT_ACCOUNT_PASSWORD
DRUPAL_DEFAULT_ACCOUNT_EMAIL
DRUPAL_DEFAULT_ACCOUNT_NAME
DRUPAL_DEFAULT_EMAIL

These are being used and configured on install but we do not use the install feature. We need these to be read and configured on each boot

We've decided to go a different route, so this is no longer relevant.


Don't show logs from the pulsar client of Java

Is your enhancement request related to a problem? Please describe.
The pulsar client instance writes tons of logs to my logger, which is messing up our critical business logs. I would like to strip the pulsar relevant log from the logger.
Describe the solution you'd like
Add a parameter to the constructor of the pulsar client, and let the user decides where to write logs.

There is no need to add a parameter, Pulsar client uses SLF4J as its logger. You can choose an any SLF4J compatible logging framework.
For example, I import slf4j-simple as the runtime dependency.
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-simple</artifactId>
      <version>1.7.30</version>
      <scope>runtime</scope>
    </dependency>

Then I add a simplelogger.properties to retain only warn and error level logs.
org.slf4j.simpleLogger.defaultLogLevel=warn
org.slf4j.simpleLogger.showDateTime=true
org.slf4j.simpleLogger.dateTimeFormat=yyyy-MM-dd HH:mm:ss:SSS%

In production, I think you can choose a more flexible logging framework like slf4j-log4j2 and customize your logger configuration file to specify the log path.

@BewareMyPower  Thanks for the reply. Actually, I am using SLF4j on log4j, but how could I redirect all pulsar client relevant logs to /dev/null while remaining others without changes ;).

It's an issue about log4j configuration, you'd better learn more from the log4j documentation.
    Logger:
      # TODO: specify the package name of pulsar-client, log level and appender
      - name: org.apache.pulsar.client
        level: warn
        additivity: false
        AppenderRef:
          - ref: Console

@BewareMyPower  it's working great, thanks.


the function return (x, y, w, h), x,y means left bottom or left top???

but the example use function of mpatches.Rectangle(), this function's parameter x, y is left bottom,

From the plot image, it is easy to see that left top is (0, 0).

Same question, it's confｕｓｉｎｇ!


Restore Entrypoints compatibility

[x] Closes #10112
[x] Tests added / passed
[x] Passes pre-commit run --all-files

Restored the test that was removed in #10070 and then imported importlib_metadata.entry_point to replace the old implementation.
I added an extra commit that adds a deprecation warning so that this can be removed again in the future. But we can pop that commit off if we just want to leave it as it is.

For reference, dask.compatibility is intended to be private so I wouldn't use anything in this module in other projects.

Fair enough. I think we've historically not been great at making a distinction between public/private APIs throughout the Dask projects and this is biting us in a few places at the moment. Renaming to dask._compatibility with a deprecation cycle of the existing would make total sense.


Reset origin of dragged scene preview

Closes half of #26549
Before:

Now:

I have no idea how to snap this to grid though.

As mentioned in #26549, I think we should not reset the origin of a dragged scene. The bug in #26549 IMO is that the Sprite's position is reset to the cursor drop position, instead of keeping its transform as in the original scene.
If you drag a scene with its "content" at an offset of 200, 100, it should have its origin at the drag position, and thus this "content" still at an offset of 200, 100 to the drag position.
So it's not the preview which should be reset, it's the actual drag application which is wrong and loses the transform.

Superseded by #39754.


pH calculator

Enter calculator name -
pH Calculator
Describe calculator functionality -
This application allows users to input a pH value, click the "Calculate pH" button, and see whether the pH is acidic, neutral, or alkaline.
Under which category you wish to place it -
[] Computer Science
[] Mathematics
[] Physics
[x] Chemistry
[] Biology
[] Finance
[] Scientific
[] Health
[] Sports
[x] Let project owner decide
[] Suggest a new category - (Answer here)

Please assign this to me under hactoberfest.
Thank you
@SarthakKeshari

Hey @Saifullah00,
Assigned.
You may contribute your code under the folder path -
calc_for_everything\calculators\src\chemistry\phCalc
Issue completion deadline - 4th Oct 8:00:00 pm IST
NOTE - In case the issue completion deadline is not met, the issue will be assigned to a new participant

Thank you @SarthakKeshari


HTTPS implementation on vike-node

Hi,
Thanks for provide nice plugin..
But I encounter some issue when I need to enable https. The HMR will be broken
your current setup:
  (browser) dev.example.com:8008/ <--[HTTP]--> localhost:3000/ (server)
  (browser) dev.example.com:8008/__vite_hmr <--[WebSocket (failing)]--> localhost:3000/ (server)
Check out your Vite / network configuration and

const vite = await import("vite")

  const key = process.env.SSL_KEY!
  const cert = process.env.SSL_CERT!

  const https =
    !!key && !!cert
      ? {
          key: fs.readFileSync(key),
          cert: fs.readFileSync(cert),
        }
      : undefined

  const viteDevMiddleware = (
    await vite.createServer({
      server: {
        middlewareMode: true,
        https,
      },
    })
  ).middlewares

Before I install this package, I will define https on viteDevServerMiddleware. How I implement https using vike-node

Hi!
This works for me with express, but if it doesn't work for you, please share a bit more of your server entry file:
import express from 'express'
import https from 'https'
import { vike } from 'vike-node/connect'
import { readFileSync } from 'fs'
import { dirname, join } from 'path'
import { fileURLToPath } from 'url'

startServer()
const __dirname = dirname(fileURLToPath(import.meta.url))

async function startServer() {
  const app = express()
  app.use(vike())
  const port = process.env.PORT || 3000
  https
    .createServer(
      {
        key: readFileSync(join(__dirname, './my-key.key'), 'utf-8'),
        cert: readFileSync(join(__dirname, './my-crt.crt'), 'utf-8')
      },
      app
    )
    .listen(port)
  console.log(`Server running at https://localhost:${port}`)
}

Without vike-node vite.createServer is creating a separate server just for websocket/hmr, by default listening on port 24678.
With vike-node, there is no extra server created for vite websocket/hmr, it uses your already existing server(express, etc..).
So if you had a workaround before to get the websocket connection working on port 24678, it's no longer needed, because vite websocket connects through your main server.

Hi!
Thanks for your quick response. I have solved this issue by adding https config on fastify instance.
I will close this issue


Update Streamlit versions as the upstream versions are supported

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


LV2 parameter offset incorrect

Hi, If I create a plugin which has MIDI In and I forget to set it's a synth, LV2 parameter offset is incorrect.
Below is a configuration which fails.
Since it has 2 Audio ports and 1 MIDI, Parameter offset is supposed to be 3, but I get 2.
#define DISTRHO_PLUGIN_IS_RT_SAFE 1
#define DISTRHO_PLUGIN_NUM_INPUTS 0
#define DISTRHO_PLUGIN_NUM_OUTPUTS 2
#define DISTRHO_PLUGIN_WANT_TIMEPOS 0
#define DISTRHO_PLUGIN_WANT_PROGRAMS 1
#define DISTRHO_PLUGIN_WANT_MIDI_INPUT 1
#define DISTRHO_PLUGIN_WANT_MIDI_OUTPUT 0

This was fixed in https://github.com/DISTRHO/DPF/commit/23db12f290be2fcafddc9468bcad7ca18f5e12bc
Forgot to close this ticket.


Looking up an item in the Search Bar causes an error in SMAPI

I'm attaching the SMAPI log for reference: https://smapi.io/log/ec53a4cecc274738b6681db14c0f39fa

Thank you for the report. This should be fixed in the updated version of the mod.


Support cancellation when saving

I don't think saving supports cancellation -- if you try to save an image at, e.g. Very Slow, and then either 1) change settings, 2) click cancel, or 3) click OK, you have to wait for the initial save operation to complete.

...you have to wait for the initial save operation to complete.

That is correct.
AOM does not currently provide a progress reporting / cancellation API for the encoder, so the progress reporting / cancellation step occurs before sending the encoded frame back to Paint.NET.
I am not sure why AOM does not have a progress reporting API, WebP is also a Google-backed prodject and it has one.
Hopefully one will be added  in a future release, but it does not look like there are any issues in the AOM bug tracker for an encoder progress reporting API.

Does it do all of the compression in-memory? There's no way to hook it in any way?
For some codecs, throwing an exception from Stream::Write() can do the trick.
So unless you can provide some kind of callback, your best shot is to host it out-of-process and terminate it when cancellation is needed. (don't terminate threads!) And that can be a lot of work.

Does it do all of the compression in-memory?

I believe so.

There's no way to hook it in any way?

Not any easy ones.
It would require changes to the AV1 encoder and the public AOM encoder API.
I am considering opening an issue on the AOM bug tracker, the people there would be able to provide better information on if an encoder progress reporting API is feasible to implement.

So unless you can provide some kind of callback, your best shot is to host it out-of-process and terminate it when cancellation is needed. (don't terminate threads!) And that can be a lot of work.

That would be a lot of work.
I have no idea how I would implement the IPC required for hosting the encoder out-of-process.

IPC in this case is probably done with a combination of ...

Hoist the encoder into a command-line EXE that takes parameters
One of the parameters is a HANDLE for a shared memory section and maybe another for some kind of event signal handle. See SingleUseCriticalSection for an example of shared memory, and UpdateMonitor for an example of passing a HANDLE to an external process (and be sure to inspect the code that "calls" it!). It's certainly ugly, but not a hack.

But I wouldn't rat-hole on this too much unless your dopamine compass is strongly pulling you in this direction. PDN should really host all FileTypes out-of-process. Some day ...

Although for the IPC you'd probably want to use a pipe.

I opened a feature request for a progress reporting / cancellation API on the AOM issue tracker.
https://bugs.chromium.org/p/aomedia/issues/detail?id=2837


Line-Highlight Vertical Centering Option

Right now, the line-highlight plugin uses scrollIntoView() to cause the highlighted lines to appear at the top, when the page is loaded using the hash syntax. It would be useful if there were an option to have the lines be vertically centered instead, to provide context on both sides of the highlighted lines. I tried hacking that in myself, but my JavaScript-fu is weak...
Thanks!

FWIW, this can be hacked into the plugin via the work shown in this Stack Overflow answer.


fix: add maven opts to avoid problem with java modules

Add maven opts to avoid problem with releasing a new version of opeo-maven-plugin.

PR-Codex overview
This PR focuses on updating Maven compiler configuration and adding MAVEN_OPTS in the build script.
Detailed summary

Updated Maven compiler configuration to use Java 11 release
Added MAVEN_OPTS in build script for specific Java base packages
Added version check before setting new version in Maven
Git commit message now includes the tag

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@rultor merge

@rultor merge

@volodya-lombrozo Can't merge this pull requests, because the file .rultor.yml was modified. This is a security threat. Make a separate pull request with the modification of this particular file and ask project architect to merge it manually.


fix webpack Sensitive data error

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


Allow closing detached dockwidget

It is not possible (at least in macOS) to close a dockwidget window once it has been detached from the main BinaryNinja UI. In order to close it one needs to reattach it and then click on the X. In macOS the close button is disabled:

Did you try using the command palette to hide the dockwidget?

Currently dockwidgets don't support close operations unless explicitly implemented. DockWidgets also inherit context menu items so you should be able to right click and select "Hide".

There was actually an issue with getActiveDockHandler where it would sometimes fail to return the active dock handler object. This caused some of the inherited actions above to not show up for python based dock widgets.  Also added the closed button for detached dock widgets and fixed the dock toggle behavior from the context menu of a dock title bar.
Fixed in 1.2.1956-dev.


Protein list in entity viewer

Type

New feature and refactoring

Related JIRA Issue(s)
ENSWBSITES-553
Importance
The protein view depends on this. Also other features that area a part of the protein view list item will be easier to test and implemented after this gets merged to dev. Once this PR is approved then we will have a protein view.
Description
This PR adds the protein list and protein list item components. There was also some refactoring that had to be done for the REST fetching, so that the code is not too messy. I wanted to avoid it, but it was very difficult to progress without doing it.
Some parts of the code might get thrown away when we get protein data from GraphQL. So I made changes to the data types and components keeping this in mind.
Views affected
Entity viewer
Other effects

[ ] I have checked any requirements for Google Analytics
[ ] I have created any required tests
[ ] The PR has as its final commit a WASM/JS update commit if any Rust files were updated.

Possible complications
The changes I have made to the REST fetching code might affect the Storybook components.

@azangru I've fixed the ProteinDomainImage story with 12115dc.

Left margin in XD:

and in what I am seeing in the browser:

look markedly different. Is this intentional?

Left margin in XD:

and in what I am seeing in the browser:

look markedly different. Is this intentional?

No this is not intentional. I'll fix it.

@azangru I have fixed this to be resemble the XD. The styling issue was actually in the transcripts list grid which was reused for the protein list.

@azangru @msmanoj I will add the modifications for the protein URL in this PR itself as it is closely associated with the protein list.

@azangru @msmanoj In hindsight, if this PR is approved and merged it'll be easier to work on the protein URL structure and the integrate the feature count. So I'll not add the protein URL code in this PR.

The styling issue was actually in the transcripts list grid which was reused for the protein list.

Yes, that worries me. It means that the appearance of the transcripts list and the proteins list is now dependent on each other.

@imransl still a problem with styles?

Yes, this worries me. It means that the appearance of the transcripts list and the proteins list is now dependent on each other.

The two grids are pretty much the same in the XD and this is why I chose to reuse the grid of the transcripts list in the proteins list.

@imransl still a problem with styles?

@azangru This is fixed now

@steve @msmanoj @azangru Since this branch has now been deployed the proteins list can be accessed at: http://hx-rke-wp-webadmin-14-worker-1.caas.ebi.ac.uk:32137/app/entity-viewer/homo_sapiens_GCA_000001405_27/homo_sapiens_GCA_000001405_27:gene:ENSG00000139618


PSGitLabConfiguration.xml need secure string

This need to be protected, it should not be in cleartext.
also the token should be using secure string, so it's also protected in memory.
this also for the SSH key then it's implemented.

This works like a champ. Added in commit 055dfbc4dcc34a1ec890166f8bf58e5f0c5570b0


Create or upload a new Astro Project

Create or upload a new Astro Project

Assign it to me

hey @Shinobi555 please assign it to me
what do you mean by astro project


Investigate Auto Deletion or Suspension of Deployed Websites

Issue Title: Investigate Auto Deletion or Suspension of Deployed Websites
Issue Description:
Users deploying websites through the SaaS system are reporting instances of auto-deletion or suspension of their deployed websites within 24 hours. This issue needs thorough investigation to identify the root cause and implement a resolution to ensure the stability and uninterrupted availability of deployed websites.
Instructions:

Investigate server logs and deployment processes to identify any anomalies or errors.
Check for any automated processes, scripts, or scheduled tasks that may be causing the deletion or suspension.
Review server resource utilization during and after deployment to ensure it's within acceptable limits.
Consult affected users to gather additional information on their deployment configurations and any specific actions leading up to the issue.

Expected Outcome:

Identify and rectify the root cause of auto-deletion or suspension of deployed websites.
Implement preventive measures to avoid recurrence of the issue.
Communicate findings and resolutions to affected users.

Additional Information:

This issue impacts user experience and the reliability of the SaaS deployment system.
Timely resolution is crucial to maintaining user trust in the platform.

Good work, closing thank you


Calling migrate:reset --pretend wil cause Infinite Loop

Hi !
I discovered a weird issue today, not sure if it's from me or Laravel but
when i'm calling
$> php artisan migrate:reset --pretend

That causes an infinite loop.
Please get back to me if you have more infos !
PS: Sorry for my english, not my native language.
EDIT: I tried from a fresh install with the two default migrations (users and reset_password), infinite loop too.

I can confirm this behavior. As can be seen here there is a while loop that depends on the migrator actually rolling back the migration, but since it's pretending it will go into an infinite loop.

Yes, somehow we have to decrement the number of pending migrations, without actually doing that. Hmm.

Maybe we could set count to count($this->migrator->getRepository()->getLatest()) (if we're pretending), on line 61 of ResetCommand.php and decrement it each time we loop. It just feels like a hack.

That won't work since it will only get the latest migration and not all of them.

Yes. I just realized. We will have to add a $pretend flag to the delete method on MigrationRepositoryInterface.

Yes, I just realized.

Why not wrap the while around ab DB::transaction and rollback the transaction at the end of function ?

We're open to pull requests.

We could also move the migration temporarily in order to fake us deleting it, and then move it all back afterwards. But that seems weird, also. And it's not really up to the repository to pretend to be deleting the migration.

I can work up a PR for this unless someone else is eager to.

I'd love to, but I think it's too big of a task for a first PR :grin: Go for it!

Yup, same go for it =)

Alright, I'll get on it.


Task Force Proposal: Project Best Practices

Introduction/background material
In the first meeting of the 2023 TOC, @denyeart suggested we look at creating best practices for projects
Task to be completed
Document/Gather best practices for projects in a single location.
List of deliverables or work products

[ ] gather list of current best practices
[ ] determine gaps for other best practices that should be documented

Time to complete (no more than 6 months)
May 2023.
Leader
Dave Enyeart
Initial participant list

Venkatraman Ramakrishna (Rama)
Tracy Kuhrt
Jim Zhang

Wiki page

How can i contribute here?


Misspellings in error messages

RainLoop version, browser, OS:
1.11.1
Expected behavior and actual behavior:
errors to correctly spell the word "extension" instead it is misspelled as "exention"
Steps to reproduce the problem:
Install the "hmailserver-change-password" plugin and try to enable without having the COM extension to php installed will present you with the error message "The PHP exention COM must be installed to use this plugin"
Logs or screenshots:

man i can't solve this problem under php7.0
I guess the hmailserver must be hosted on the same server?
Please give more information ^^


Problem with release on conda-forge

There appears to have been a problem with the latest release, see https://github.com/ocean-eddy-cpt/gcm-filters/issues/156
The shuffle codec hasn't compiled correctly it seems.

Cc: @jakirkham

@pbranson, can someone from your team please share a reproducer? Specifically can someone please fill out this issue template? Unfortunately there is not enough to go on here.
FWIW pulling a random Conda package (Linux x86_64 for Python 3.9) from conda-forge shows the shuffle filter included, but that could be a different package than the one used.
We also run the full test suite on the feedstock before each release; so, would think we would have caught this, but maybe we are missing something.

Ah missed the user is on PyPy. This is currently not supported in conda-forge ( https://github.com/conda-forge/numcodecs-feedstock/pull/83 ). Are they getting the package from somewhere else?

I think the test environment for gcm-filters is using mamba and the conda-forge channel. @NoraLoose are you able to provide the information required in the comment above?
Apologies for raising the issue without sufficient information!

Right. Given there are no PyPy packages for numcodecs on conda-forge, the big question is what packages are being referred to and how were they installed?

OK I have looked through the github actions and I think I have found where the test environment is setup and the version of numcodecs that was failing:
https://github.com/ocean-eddy-cpt/gcm-filters/runs/7838966081?check_suite_focus=true#step:5:179
This results in
https://github.com/ocean-eddy-cpt/gcm-filters/runs/7838966081?check_suite_focus=true#step:7:48
E   ModuleNotFoundError: No module named 'numcodecs._shuffle'

And the same is for Python 3.6 -> 3.9
For example this is the version installed by conda for 3.9:
  + numcodecs                            0.9.1  py39h295c915_0       pkgs/main/linux-64          1 MB

But on closer inspection, it seems that even though the tests are meant for different Python versions, they are all installing/using python 3.9! @jbusecke I think there is something wrong with the test setup!
HTH

@pbranson thanks for the ping. I believe you are right. I have submitted a fix here.
Let me know if there is anything else I can help with.


Fix problem: appearing scrollbars when Sigma graph is added.

Current problem:
when Sigma Containers are added in src/pages/blurpmap.jsx, vertical and horizontal scrollbars pop up on the entire page.
-find a way to prevent the scrollbars from appearing

Issue occurs because data sidebar is pushing out of right-side screen


Instantiate DRSMetaresolver from external data rather than hard-coded in constructor

Options include

Local file
GA4GH registry
See the following for DRS entries in registry http://registry.ga4gh.org/v1/services?type=org.ga4gh:drs:*
Possibly identifiers.org or Bioregistry.io (needs investigation)

Note that client sub-class required depends on the server.
There may be sufficient information in registry to drive this.

Need a ticket on DRS repo for seeing what's happening with n2t.org and bioregistry.io.  For now Michael L will just cache info from identifiers.org

Merged in @MichaelLukowski 's standalone resolver class in resolver.py
Will look at incorporating the capability into DRSMetaresolver.
Note that we still have the problem that the method of authorization is host specific and identifiers.org does not give us any information about that. This is the sub-class issue mentioned above. Besides the service information from  GA4GH registry the /service-info endpoint on the server itself may be useful.


Add check for python version for typing in requirements

Status (please check what you already did):

[x] made PR ready for code review

@tmbo Check in setup.py works:
https://travis-ci.com/RasaHQ/rasa_core_sdk/jobs/198546853#L531


ERROR! Could not find pg or pg.js module

node app.js
Could not find pg or pg.js module

I am facing the same error. Whatst the solution?


perf: optimize page_indices bound check

run 5 times
cargo bench "interpret secp256k1_bench via assembly" --features asm
0.19.4      2.2706 ms
0.20.0-rc1  2.5129 ms
this pr     2.4360 ms

For the instruction execution, the memory can only be read and written at most 8 bytes at a time, so can it be assumed that the fact is true: During the execution of the instruction, if it read/write memory from more than one frame, then the frame_end = frame + 1 . In this way, all iter() operations can be avoided.

For the instruction execution, the memory can only be read and written at most 8 bytes at a time, so can it be assumed that the fact is true: During the execution of the instruction, if it read/write memory from more than one frame, then the frame_end = frame + 1 . In this way, all iter() operations can be avoided.

resolved in https://github.com/nervosnetwork/ckb-vm/pull/183


Unable to get prediction score

I was trying to get the score of my model via predection API.
$client = new PredictionServiceClient();

try {
    // get full path of model
    $formattedName = $client->modelName(
        $projectId,
        $location,
        $modelId);

    // read the file
    $content = file_get_contents($filePath);
    $image = (new Image())
        ->setImageBytes($image);
    // create payload
    $payload = (new ExamplePayload())
        ->setImage($image);

    // params is additional domain-specific parameters
    // score_threshold is used to filter the result
    $params = ['score_threshold' => '0.8']; // value between 0.0 and 1.0

    // predict with above model and payload
    $response = $client->predict($formattedName, $payload, $params);
    $annotations = $response->getPayload();

    // display results
    foreach ($annotations as $annotation) {
        $classification = $annotation->getClassification();
        printf('Predicted class name: %s' . PHP_EOL, $annotation->getDisplayName());
        printf('Predicted class score: %s' . PHP_EOL, $classification->getScore());
    }
} finally {
    $client->close();
}

The block  $classification->getScore() throw an error as $classification was null from response.
I'm not sure why I am getting a null value for classification.

Hi there!
I've moved your bug over to the PHP client library repo (https://github.com/googleapis/google-cloud-php/issues/2752) as this repo pertains to samples in the documentation, and not the client libraries themselves.


Javascript syntax highlight regex error

What steps will reproduce the problem?
1. Create a JS file
2. Type "abc".match(/[/]/)
3. Turn on syntax highlighting

What is the expected output? What do you see instead?

The entire block /[/]/ should be highlighted as a regular expression

What happens is that the second slash ends the regular expression highlighting

What version of the product are you using? On what operating system?

MacVim snapshot 61, VIM 7.3 (using latest syntax file)

Please provide any additional information below.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 21 Feb 2013 at 3:48

I think this has been fixed with a runtime file update.


xfce.xfce4-hardware-monitor-plugin: 1.5.0 -> 1.6.0

Motivation for this change
update within XFCE 4.12 (stable)
it does not bring GTK3 or any new dependencies
CHANGELOG and sources diff
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

Success on x86_64-linux (full log)
Attempted: xfce.xfce4-hardware-monitor-plugin
Partial log (click to expand)
make[1]: Leaving directory '/build/xfce4-hardware-monitor-plugin-1.6.0'
glibPreFixupPhase
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/mh8j87nhbfrmfav5x0g1hddjycni17zx-xfce4-hardware-monitor-plugin-1.6.0
shrinking /nix/store/mh8j87nhbfrmfav5x0g1hddjycni17zx-xfce4-hardware-monitor-plugin-1.6.0/lib/xfce4/panel/plugins/libhardwaremonitor.so
strip is /nix/store/4qvrxzxa535y8304mk195x50b6p9607d-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/mh8j87nhbfrmfav5x0g1hddjycni17zx-xfce4-hardware-monitor-plugin-1.6.0/lib
patching script interpreter paths in /nix/store/mh8j87nhbfrmfav5x0g1hddjycni17zx-xfce4-hardware-monitor-plugin-1.6.0
checking for references to /build in /nix/store/mh8j87nhbfrmfav5x0g1hddjycni17zx-xfce4-hardware-monitor-plugin-1.6.0...
/nix/store/mh8j87nhbfrmfav5x0g1hddjycni17zx-xfce4-hardware-monitor-plugin-1.6.0


Use NPM instead of Yarn.

with the new npm5 eusing yarn does not offer such huge advantages anymore.
could we maybe use npm as the default packag manager and yarn as an option that you can set via cmd-line param just like --spa ?

yep going with npm as baseline and have yarn as an opt in sounds like a plan to me

What bugged me about Yarn a bit was, that it does not work completely with NVM. Global yarn packages are not installed separated by the NVM installations. They go to ~/.config/yarn/..., instead of ~/.nvm/.... There is a setting for this path, but it is an additional thing to keep in mind.

I added a --yarn flag like the --spa, but I am not sure how to test this change.

OK, I tested it with npm link, there was a bug of course. :)


Add changelog

Since https://github.com/statnett/linerate/pull/13 implements a breaking change, it would be nice to introduce a changelog to the project

Will be part of release of 1.0.0 through GitHub's release tool


PoshGit / ugit Compatibility Issues

System Details

posh-git version/path: 1.1.0  ~\Documents\PowerShell\Modules\posh-git\1.1.0
PowerShell version: 7.2.5
git version 2.35.1.windows.2
OS: Microsoft Windows NT 10.0.22000.0

Issue Description
posh-git has a compatibility issue with ugit.
This is because ugit overrides git with a PowerShell command.
While this does support any number of arguments, PowerShell can get confused when dealing with short argument names.
Thus line 331 in Get-GitStatus blows up the prompt.
The solution for this works just fine if ugit is loaded or not.
Quote the single character arguments:
git --no-optional-locks '-c' core.quotepath=false '-c' color.status=false status $untrackedFilesOption --short --branch 2>$null

Since posh-git is already very useful, but doesn't return git naturally as objects, it makes sense for both modules to work together in concert.

Since posh-git is already very useful, but doesn't return git naturally as objects, it makes sense for both modules to work together in concert.

Agree! I'll ship a new version as soon as I can get a few lingering PRs merged.

Cool!
It occurs to me that you might rely on git output being text in other places.  So while this might have gotten rid of the most obvious breaking change, it's possible there are others.
It would be fairly trivial for you to save $executionContext.SessionState.InvokeCommand('git','Application') into a variable, and call that explicitly in your scripts (it's the trick ugit is doing under the hood).
Doing this should prevent any future hijinks.

It would be fairly trivial for you to save $executionContext.SessionState.InvokeCommand('git','Application') into a variable

I assume you mean InvokeCommand.GetCommand('git', 'Application'). Would this be more efficient than Get-Command git -CommandType Application?

Sorry for the delay in response (and the typo).
Yes, $executionContext is faster than Get-Command.  I'll add a Benchmark on this to Benchpress.
On my box, here's what the results were:

Technique
Time
RelativeSpeed
Throughput

$executionContext
00:00:00.198679
1x
503.32/s

Get-Command
00:00:00.266019
1.34x
375.91/s

It's so cool to see two awesome projects collaborating together! :smile:  I'm looking forward to when this fix will be released as it is affecting me as well right now.


update links

Update links in sagemaker inference docs

hmm yeah I don't think there's a standard spec, we're using out of the box marked for this if I'm not mistaken
Note that the first link at least was probably also broken on GitHub

(stale)


When itz is running on a RHEL VM with SELINUX enabled you need an additonal parm added in .itz/cli-config.yaml

When running ocpi from within itz workspace ocpinstaller you need an extra parm if you are running on RHEL with SELINUX enabled. (Which is the default). Without the parm you get an error.
type ocpi to start...
(app-root) [root@docker] OCPi # ocpi
Traceback (most recent call last):
File "/opt/app-root/bin/ocpi", line 33, in
sys.exit(load_entry_point('OCPInstaller==1.0', 'console_scripts', 'ocpi')())
File "/usr/src/ocpnow/ocpi.py", line 23, in main
init()
File "/usr/src/ocpnow/ocpi.py", line 12, in init
projectController = ProjectController()
File "/usr/src/ocpnow/controllers/ProjectController.py", line 46, in init
os.makedirs(PROJECTS_DIR, exist_ok = True)
File "/usr/lib64/python3.9/os.py", line 225, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: './save/projects/'
The update necessary is in .itz/cli-config.yaml. You need to add :Z on to the end of the volumes: line
itz:
workspace:
ocpinstaller:
image: quay.io/ibmtz/ocpinstaller:stable
local: true
name: ocp-installer
type: interactive
volumes:
- /root/.itz/save:/usr/src/ocpnow/save:Z
Instructions for running ocpinstaller under podman should also be modified to reflect the need for the parm when running on RHEL.
'podman run -it
--name workspace
--mount type=bind,source="$(pwd)"/save,target=/usr/src/ocpnow/save:Z
quay.io/ibmtz/ocpinstaller'
Not sure what happens if you add the flag on a non-RHEL system. For now at least an update to the install doc warning RHEL users to add the flag.

This is a regression--it is functionality that was once there. It used to the default to having :Z "turned on" and then would roll to not have it in the file if it didn't work. I think it's best if we add a flag to itz doctor to fix this so the user doesn't have to be worried about fixing it manually in a YAML file.

This should now be resolved in the upcoming v.0.1.26 release. See PR https://github.com/cloud-native-toolkit/itzcli/pull/43

Included in merge to main https://github.com/cloud-native-toolkit/itzcli/pull/46

This was released in v0.1.26.


CPU load 100% after launch vscode

VSCode Version:
1.8.1

OS Version:
CentOS 7.3

Steps to Reproduce:

yum install code
just open it...

this 'top' shows:
 PID    USER    PR  NI    VIRT    RES     SHR S  %CPU %MEM     TIME+ COMMAND
 58858 bigvan    20   0 2775708 444304  58500 R 106.7    2.7   2:28.35 code
 58978 bigvan    20   0 1191328 222404  20832 S  60.0    1.4   1:33.63 code

Reproduces without extensions: No
extensions:
C/C++ 0.14.2
Go 0.6.67

It seems return to normal after I disabled C/C++ extension.

Please file this in the appropriate extension repository. https://github.com/Microsoft/vscode-cpptools


Modified component dialog that handles skipping checks to look like the modal style guide

Test:

Click on the save & continue  button with no selections. a dialog should pop up and its design should look like the style guide design for dialogs.

style guide Example:
https://xd.adobe.com/view/0c5703e1-8ddb-4c25-b66f-933a9e014326/screen/64dbd6a8-71a7-45dd-b7ad-45df58185e97/Modals

This change is

Reviewed 3 of 3 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


The code is great!

I love how minimal and clean this code is. Do you have any other open source projects? I'd love to take a look.

Thanks! Currently, this is my only open source project. I'm looking forward to writing a raytracer from scratch. But I'm still learning basic ray tracing theory from PBRT.

@zauonlok while you are at it you may want to take a look at clang vector extensions.
https://clang.llvm.org/docs/LanguageExtensions.html#vectors-and-extended-vectors
they helped me with my raytracers and relieved me of writing alot of vec3_operation functions

// definition
typedef float vec3 __attribute__((ext_vector_type(3)));
const float EPSILON = 0.0001f;

// some  simple usage
ray->origin = hit.position + hit.normal * EPSILON;
ray->direction = vec3_reflect(&ray->direction, &hit.normal);

Thanks! Currently, this is my only open source project. I'm looking forward to writing a raytracer from scratch. But I'm still learning basic ray tracing theory from PBRT.

Okay, have fun!


Update to Socket.IO 0.8.6

Any chance to update EasyWebsocket to the new release of Socket.IO 0.8.6?

any advantage on current version ?

Summary:
Major speed optimizations (parser 50%-200% faster)
Added benchmarks to build process
HTML5 WebWorker support on the client
More client caching options (/socket.io/socket.io.vx.x.x.js will send far-future Expires)
Upcoming IE10 WebSocket support
Server tests improvements
Client acceptance tests improvements
Lots of bug-fixes and minor enhancements.
Server
0.8.6 / 2011-10-27

Added JSON decoding on jsonp-polling transport.
Fixed README example.
Major speed optimizations [3rd-Eden] [einaros] [visionmedia]
Added decode/encode benchmarks [visionmedia]
Added support for black-listing client sent events.
Fixed logging options, closes #540 [3rd-Eden]
Added vary header for gzip [3rd-Eden]
Properly cleaned up async websocket / flashsocket tests, after patching node-websocket-client
Patched to properly shut down when a finishClose call is made during connection establishment
Added support for socket.io version on url and far-future Expires [3rd-Eden] [getify]
Began IE10 compatibility [einaros] [tbranyen]
Misc WebSocket fixes [einaros]
Added UTF8 to respone headers for htmlfile [3rd-Eden]

Client
0.8.6 / 2011-10-27

Added WebWorker support.
Fixed swfobject and web_socket.js to not assume window.
Fixed CORS detection for webworker.
Fix defer for webkit in a webworker.
Fixed io.util.request to not rely on window.
FIxed; use global instead of window and dont rely on document.
Fixed; JSON-P handshake if CORS is not available.
Made underlying Transport disconnection trigger immediate socket.io disconnect.
Fixed warning when compressing with Google Closure Compiler.
Fixed builder's uglify utf-8 support.
Added workaround for loading indicator in FF jsonp-polling. [3rd-Eden]
Fixed host discovery lookup. [holic]
Fixed close timeout when disconnected/reconnecting. [jscharlach]
Fixed jsonp-polling feature detection.
Fixed jsonp-polling client POSTing of \n.
Fixed test runner on IE6/7

Special thanks as always to the socket.io team, bug reporters & testers, and everyone who provided ideas!
--
Guillermo Rauch
LearnBoost CTO
http://devthought.com

It seems significant. I dont have much time tho. Care enougth to make a pull
request ? they are always welcome :)

Sorry, can't help with that, just new to the Git and node.js world!


⚠ ClamAV has degraded performance

In 7f2a9ac, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 51 ms

Resolved: ClamAV performance has improved in f5deee5.


Improve open_mfdataset deprecation warnings

[x] Closes #3091
[x] Tests added

Hello @TomNicholas! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file xarray/backends/api.py:

Line 794:37: W291 trailing whitespace

Awesome. I think this looks great. Sorry for not catching it earlier.

That's perfect! Thanks @TomNicholas

thanks @TomNicholas !


under multi gopath, revel new always under the first path

here is my gopath
export GOROOT=~/golang/go
export GOPATH=~/golang/3rdLibs:~/golang/myLibs:~/golang/myApps
export GOBIN=
export PATH=$PATH:$GOROOT/bin:${GOPATH//://bin:}/bin

when i execute " revel new hello", it creates the project always under ~/golang/3rdLibs, that's where i wish to place 3rd libs, i don't like "revel" to create under this path.
i have to move to ~/golang/myApps manully each time, it seems much bad.
another framework beego, it has the simular command, "bee new xxx".( maybe copied from revel )
it created project from relative path, it's much better for me.
could you please provide an option to create a project in relative path or an absolute path which can be defined by user?
thanks very much!

:+1: A legit request. Not difficult to implement.

Is this a revel/cmd issue ??

@pedromorgan Yes, it is.

@alkchr can you please share your thoughts on this request?

@jeevatkm Now Revel uses the first GOPATH in the list no matter what. Relative paths are not supported.
When user is running revel run ./something it creates DEFAULT_GOPATH/src/something ignoring the ./ part. Meanwhile we could do the following:

User runs revel run ./something.
We transform ./something to the absolute form (e.g. /home/johndoe/Go/src/github.com/johndoe/something).
We check whether the absolute form from the step (2) is inside one of the GOPATHs.

If it is, project is created.
Otherwise, we notify user that project must be inside GOPATH.

@alkchr doing anywhere path or relative path is not that easy to do with current follow. As you described in step 2, if we transform and make a choice it might lead to further questions.
How about this? If revel finds more than one GOPATH then give a choice to user to choose.
For example:
.... Revel found multiple GOPATH, please choose one from it?
1. ~/golang/3rdLibs
2. ~/golang/myLibs
3. ~/golang/myApps

Enter your choice (default is 1): 3

... generate a project ...

doing anywhere path or relative path is not that easy to do with current follow.

@jeevatkm Could you please rephrase, I'm not sure I understand.

As you described in step 2, if we transform and make a choice it might lead to further questions.

No further questions required. We are using filepath.Abs to make absolute path out of relative one (the input path is relative to the directory where you run revel run not to the GOPATH).
And to make sure the absolute path is within some of the GOPATHs, you check whether it HasPrefix GOPATH[0], GOPATH[1] or GOPATH[N]. It's that easy.

@alkchr I have described the above comment inline with user mentioned problem, not for relative path support.

when i execute " revel new hello", it creates the project always under ~/golang/3rdLibs, that's where i wish to place 3rd libs, i don't like "revel" to create under this path.
i have to move to ~/golang/myApps manully each time, it seems much bad.

Did I explained it clearly?

It's exactly about relative paths:

another framework beego, it has the simular command, "bee new xxx".
it created project from relative path, it's much better for me.

Here is a related function of Beego: https://github.com/beego/bee/blob/master/new.go#L57
It does exactly what I've described. Except it doesn't support absolute paths at all: input is always considered as relative that's why ./ at the beginning is not required.

@alkchr I had look on given reference and I understand your point, thanks.  My bad I was thinking of ./ or ../ inputs.
I'm marking this for v0.13, I will take care.

done!


All Python code exits with a SystemError after an exception has occurred

🐛 Bug Report

When running python code through the CLI, once there's a python error (for example, a TypeError), all subsequent python calls, even to the same function, fail with:
Python Error: [Type: <class 'SystemError'>]: _PyEval_EvalFrameDefault returned a result with an error set

Expected Behavior
Subsequent correct python code should run as expected.
Current Behavior

No python code runs after an exception has occurred,
Possible Solution

The error/exception needs to be cleared. Not sure how.
Steps to Reproduce

Create a python file named hello.py with:def add(a, b):
    return a + b

print("Hello world")

Run the following in metacallcli:load py hello.py
call add(5, 10)
call add(1, "a")
call add(1, 1)

Notice that the first call runs correctly giving the output 15
The 2nd call fails with:Error: Python Error: [Type: <class 'TypeError'>]: unsupported operand type(s) for +: 'int' and 'str'
Traceback not available

The 3rd and all subsequent calls fail with:Error: Python Error: [Type: <class 'SystemError'>]: _PyEval_EvalFrameDefault returned a result with an error set
Traceback not available
(null)

Context (Environment)

I built metacall from source with python loader support. I was trying out metacall with a simple python example when this issue occurred.

Detailed Description

N/A
Possible Implementation

N/A

We can add a small patch in order to solve this, just clearing the error after the call.
But I think the best way of solving this is solving this issue: https://github.com/metacall/core/issues/141
Catching the exception, propagating it to the top module and clearing it from the runtime.

We can add a small patch in order to solve this, just clearing the error after the call.
But I think the best way of solving this is solving this issue: #141
Catching the exception, propagating it to the top module and clearing it from the runtime.

I don't have any experience with this codebase, so can I try making a patch to fix this for now? I can help with #141 once I'm more familiar with the codebase and the context around the issue.

I have solved the issue, this is how it looks like now:
96: λ {"ExceptionThrown":{"message":"unsupported operand type(s) for +: 'int' and 'str'","label":"TypeError","code":0,"stacktrace":"Traceback not available"}}
96: λ 66
96: λ Exiting ...

We can add a small patch in order to solve this, just clearing the error after the call.
But I think the best way of solving this is solving this issue: #141
Catching the exception, propagating it to the top module and clearing it from the runtime.

I don't have any experience with this codebase, so can I try making a patch to fix this for now? I can help with #141 once I'm more familiar with the codebase and the context around the issue.

Respect to this, I just have added support for exception handling but there is a list of TODO. I can make a diff so you can check what I have done and implement the same for other languages. I am closing this issue for now, and I am going to add the TODO list in https://github.com/metacall/core/issues/141


Hitting escape in VIM mode deselects input in solution field.

Describe the bug
When in VIM mode, one presses 'i' to enter insert mode. When exiting insert mode to go back to normal mode, pressing 'escape' removes the text cursor from the solution field entirely. The mouse must be clicked into the solution box to show the cursor, now in normal mode.
To Reproduce
This behavior occurs on every kata. Select VIM mode, enter insert mode by pressing 'i' and exit insert mode by pressing 'escape'. The text cursor will disappear.
Expected behavior
When in insert mode and 'escape' is pressed, the thin insert mode cursor should go back to a thick normal mode cursor.
Browser

OS: Windows 10 (20H2)
Browser: Vivaldi (based on Chrome)
Version: 3.5.2115.87

I can't reproduce this. Escape keeps the focus on the editor and a green cursor appears.
Do you have any extensions enabled? Can you try again without them?

I do have a few extensions, such as lastpass and ublock. I tried in an incognito window of Vivaldi (with extensions disabled), and I still experienced the issue.
I tried with a new MS Edge browser window and I did not experience the issue. Perhaps there's a problem with my Vivaldi browser that's causing the behavior.

I had the same issue and it was caused by vimium browser extension a situation fairly common for vim users I guess.
Solution:
add esc as a disabled pattern for codewars.com

Closing because it's possibly caused by extensions and another user confirmed the same behavior on CodeMirror's demo which means it's not our bug (https://github.com/codewars/codewars.com/issues/2744#issuecomment-1177051944).


Refactor syncer syncing block logic

Description
This PR refactor syncing block logic, making it more clear and readable.
The PR is merging from Polygon Edge PR 548, but with a lot of difference:

Keep findCommonAncestor method.
Keep reference tests.
Fixes a test failure which happened only in multi-thread machine.
Add a logger in serviceV1.

Changes include

[x] Bugfix (non-breaking change that solves an issue)
[ ] Hotfix (change that solves an urgent issue, and requires immediate attention)
[ ] New feature (non-breaking change that adds functionality)
[ ] Breaking change (change that is not backwards-compatible and/or changes current functionality)

Checklist

[x] I have assigned this PR to myself
[x] I have added at least 1 reviewer
[x] I have added the relevant labels
[ ] I have updated the official documentation
[x] I have added sufficient documentation in code

Testing

[x] I have tested this code with the official test suite
[ ] I have tested this code manually

Codecov Report

Merging #109 (ca4ac7f) into dev (cea14b1) will increase coverage by 0.34%.
The diff coverage is 77.82%.

@@            Coverage Diff             @@
##              dev     #109      +/-   ##
==========================================
+ Coverage   51.02%   51.36%   +0.34%
==========================================
  Files         111      112       +1
  Lines       16411    16425      +14
==========================================
+ Hits         8373     8437      +64
+ Misses       7305     7254      -51
- Partials      733      734       +1

Impacted Files
Coverage Δ

protocol/sync_peer.go
70.00% <70.00%> (ø)

protocol/syncer.go
67.02% <81.91%> (+3.55%)
:arrow_up:

protocol/service_v1.go
68.05% <82.35%> (+24.25%)
:arrow_up:

protocol/skeleton.go
64.51% <85.71%> (+1.87%)
:arrow_up:

consensus/ibft/ibft.go
35.40% <100.00%> (ø)

protocol/testing.go
83.89% <100.00%> (-1.28%)
:arrow_down:

Continue to review full report at Codecov.

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


KOGITO-8949: Recreate TrySample test for Serverless Logic Web Tools

https://issues.redhat.com/browse/KOGITO-8949
This PR recreates the e2e test for trying samples from the catalog.
The catalog downloads the samples from GitHub repository which causes that the API limit is exceeded and the samples are not loaded.
In this PR, the test expects GitHub token as CYPRESS_E2E_TEST_GITHUB_TOKEN env. variable and run the tests only if the token is present.
GitHub action will not run the tests because currently there is no test token. It is primary focused on QE Jenkins runs but if needed we can add the token to the GitHub actions credentials.

Rebased with main branch because of the Cypress update.

@tomasdavidorg Could you please resolve the conflict so I can merge this PR?

@caponetto Rebased and the checks are green.


Facebook Sign In Popup is not working

Like the previous issue we faced with the popup for Google Sign in not working, the Facebook popup is not working. My suggestion for fixing it by creating an exception for this link "www.facebook.com/v2.8/dialog/oauth"

Done


chore: Use newer Ubuntu LTS version

Details
As described at https://github.com/actions/virtual-environments/issues/6002, Ubuntu 18.04 is being phased out. This moves to Ubuntu 22.04, which is the current LTS version.
Motivation
Use current versions
Context

Pull request checklist

[x] PR title respects Conventional Commits (starts with fix:, feat:, etc, and is suitable for user-facing release notes)
[x] PR contains no breaking changes, OR description of both PR and final merge commit starts with BREAKING CHANGE:
[n/a] (if applicable) Addresses issue:
[n/a] Added relevant unit tests for your changes
[x] Ran yarn precheckin
[n/a] Verified code coverage for the changes made

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


How to tune parameters in gicp_omp

Thanks for the great work!!
I'm slamming on kitti with gicp_omp but it doesn't work well.
How do I tune the parameters?
The program is run in ros and ubuntu 20.04 and the data is played back at 0.2 times the speed.
And 3.5m voxel grid is used for source and target clouds.
I also use a minmax filter of 1-150m.
(By the way, I can't use gpu.)
gicp params
MaxCorrespondenceDistance : 3.0
TransformationEpsilon : 1e-8
The following uses data from kitti00.
scan2scan

Green :ground truth, yellow : gicp_omp
scan2accumatedscan(n=30)(Using the last n scans for target)

Thank you for reading.

Hi @meyrin15 ,
You can give our new GICP implementation a try that is more accurate and faster than one in this package. We obtained the following trajectory with frame-by-frame registration.
Used parameters

ApproxVoxelGrid: 0.25m
CorrespondenceRandomness: 20
MaxCorrespondenceDistance: 1.0

Thank you for publishing the sample code!
When I ran it, the FPS was slow and my PC seemed to be poor.
In your sample I was able to draw a trajectory on my PC.


Add IMS journal metadata

Closes https://github.com/citation-style-language/journals/pull/42

@POBrien333, would you mind checking this and https://github.com/citation-style-language/styles/pull/4496 to see if the journal metadata is still up to date? I updated the URLs and added eISSNs, but I didn't check if the journals still use the same reference style.

@rmzelle
Checked them all, three recent .pdfs from 2019 per journal. There seems to be a variety of styles used, nothing 100% consistent.

Great, thanks. Are the instructions more consistent (I had trouble locating reference examples for each journal)?

Me neither. The documentation URL we used for the parent IMS style in 2017 is down now, so no idea.

Okay, thanks! Should teach me not to neglect pull requests for 2.5 years :grimacing:


Adding READMe for Faraday instrumentation

This PR adds documentation for OpenTelemetry's Faraday Instrumentation, closing #237. The README describes the Faraday gem, installation methods and its license, following the pattern set in instrumentation/sidekiq and instrumentation/concurrent_ruby for consistency.

lgtm


Fix right panel not resetting after clear

Right panel does not reset after a clear command. For example, if user runs view 1 then clear, the right panel will still show an internship entry, not the introductory messages.
Let's reset the internship panel after a clear command.

Looks good to merge!


opt.output: default file name (for apk or aab) is now name of the work dir

What this PR does and why
When issuing vab . or vab run . the default file name produced is based on a hard-coded string (V Test App). This PR changes the default file name produced to the work dir (similar to what v compiler does).
Why
The default .apk or .aac file name is not matching with the expectation of how a v . does, hence this PR.

Re-open and fix if this is still active


Can I completely rely on ESP8266?

@Koenkk I want to be able to completely emulate the "multiple Xiaomi gateways" scenario.

Can I create a coordinator with long range antenna device like CC2530 CC2591?

Can I use CC2530 CC291 as an ESP8266 router? Basically place it anywhere in the house then.

Also do xiaomi plugs keep on extending range?

As in will this config work?
hub/coordinator ---- 30ft --- one xiaomi plug ---- 30ft ----- another plug .....

Background have a 4 story house with RPi Hassio in basement closet so coordinator and routers won't be able to talk to each other in Zigbee range. However each floor is fully wifi so interfacing zigbee router through wifi should work.
Would really appreciate your help.

No. ESP8266 has only WiFi. You need Zigbee.

@Xeroxxx I was hoping to add the CC2530/1 (for zigbee communication) to the ESP8266

Technically it may be possible but I don't think anyone is going to write a driver for the ESP and I don't think it would fit to the flash.
There are toooo many other easier implementations like using it with a RPi. Only twice as big as an ESP and power consumption wise not really more. Do youself a favor and use a rpi.

Technically it may be possible but I don't think anyone is going to write a driver for the ESP and I don't think it would fit to the flash.
There are toooo many other easier implementations like using it with a RPi. Only twice as big as an ESP and power consumption wise not really more. Do youself a favor and use a rpi.

However didn't know that. Thanks for clarification.


Update to argo v3

How to categorize this PR?

/area enhancement
What this PR does / why we need it:
Updates argo to v3. This includes one API incompatibility (https://github.com/argoproj/argo-workflows/pull/4856) where argo introduced a dedicated WorkflowPhase to accomodate for the fact that not all NodePhases  are applicable to workflows.
In the same spirit I added now different types for Testrun Phases and Teststep Phases.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:

Things to do:

replace deprecated fields - ref
update dependencies argo to 3.2.8
update helm chart with install manifests - ref
check, if we have to annotate ingress - ref
check, if we have to change the auth-mode
do lots and lots of testing

Summary of included changes:

notable upgrades of go dependencies:

argo v3.28
k8s.io/api (and related packages) v0.21.5
k8s.io/client-go v0.21.5
sigs.k8s.io/controller-runtime v0.9.7
k8s.io/kube-openapi v0.0.0-20210305001622-591a79e4bda7

update of the helm chart deploying argo

renamed argo-ui to argo-server following the communities naming of argo components
argo CRD's are deployed in apiextensions.k8s.io/v1 instead of beta version
argo workflow-controller is deployed with a restrictive security context based on argo's release manifests
switch default image location of argo components from dockerhub to quay


Validator.iter_errors() doc should not recommend sorted

The doc example for lazy printing of error messages with iter_errors() uses Python's sorted. However, this forces the whole generator to be evaluated in memory, thereby defeating the benefit of lazy evaluation if you only want to print the first N errors. The snippet below consumes an additional 2.5 GB of memory on my machine once the errors are sorted
I would recommend removing the sorted call so users do not naively think they are getting the benefit of lazy evaluation. When error counts are small, the memory usage is not noticeable which leaves a dangerous blind spot if the error counts increase unexpectedly in the future (i.e. for data that is nowhere near the schema specs)
import jsonschema
import psutil

# Create a schema for a nested array and 1M mock examples that violate it
schema = {
    'type': 'array',
    'items': {
        'type': 'array',
        'minItems': 3,
        'maxItems': 3,
        'additionalItems': False,
        'items': {'type': 'integer'}}}
data = [{'a': 'b'} for _ in range(1000000)]

# Track memory throughout validation and error printing process
mem = {}
max_errors = 5
mem['pre_val'] = psutil.virtual_memory().used
validator = jsonschema.Draft7Validator(schema)
mem['post_val'] = psutil.virtual_memory().used
errors = validator.iter_errors(data)
mem['pre_iter'] = psutil.virtual_memory().used
for i, e in enumerate(errors):
    print(e.message)
    if i + 1 >= max_errors:
        break
mem['post_iter'] = psutil.virtual_memory().used
mem['pre_sort'] = psutil.virtual_memory().used
errors_sort = sorted(errors, key=lambda e: e.path)
mem['post_sort'] = psutil.virtual_memory().used

# Summarize usage
print(f'{len(errors_sort)} errors')
for k, v in mem.items():
    print(f'{k}: {v / 1000000:,.2f} MB')

Hi there. This is really essentially just so that the documentation example produces results in a deterministic order.
It's true that sorted will load the whole iterator into a list, that's really a general bit of Python knowledge that someone needs to know. I'm inclined to close this and just say "yes someone needs to know that".
Happy to hear a follow up though.

That seems fine. My only other suggestion would be to put both a sorted and non-sorted snippet in the example with comments to clarify the diffence

Doing that runs into the problem I mentioned -- such an example is hard to doctest because it's not deterministic.
I'm afraid as I say this is just something folks have to know -- I'd love to make the docs as easy as possible even to folks new to Python but unless there's an easy way to do this that isn't coming immediately to mind, it just doesn't seem like the effort is worth doing relative to all the other things that need to get done.


Switch to BinaryProvider

I setup a builder at https://github.com/JuliaAstro/WCSLIBBuilder
It took me some time to figure out that WCSLIB doesn't support cross-compilation at all.  The configure script misuses some variables (build_* in place of host_*), so that the option --host to configure was simply ignored.  In addition, WCSLIB comes with out-of-date auxiliary configuration scripts.  I wrote to WCSLIB's maintainer suggesting him how to fix this.

I also prepared a build for v5.18: https://github.com/JuliaAstro/WCSLIBBuilder/releases/tag/v5.18  I don't know if we want to switch to v5.18 now.

Thank you so much for the tip!  I thought that WCSLIB didn't work at all on Windows, I couldn't find any reference to this system in the configure script.
I'm going to close and reopen the PR in order to (hopefully) trigger the test on appveyor.

LGTM. Could you leave a comment explaining why the downloaded auxiliary script is needed?

That script is used to identify the host system by the name passed to the --host option. However, the script shipped with the package dates back to 2011 and doesn't know about, for example, *-linux-musl systems.

The latest release of WCSLIB (v5.19.1) updated the auxiliary scripts, so that now we don't need to download them and the build script is almost as simple as possible (there is just the if for mingw).  A new build is on its way.
I want to stress that this PR still uses v5.13.  My plan is to tag a new release of WCS.jl afterwards, and then upgrade to v5.19.1 if all tests pass and tag yet another release, the last one supporting Julia 0.6.  After that, we can move on to Julia 0.7 and hopefully address #16.

Ah good detective work. That explains why I wasn't able to compile for musl when I tried this.


Idle notifier - Cleaning grimy herbs

Is your feature request related to a problem? Please describe.
The Idle notifier plugin does not trigger the idle state once an inventory of herbs has been completed.
Describe the solution you'd like
An idle notification once the inventory cleaning is complete
Additional context
Since the Porcine of interest quest was released, the herbs will now automatically clean themselves once you clean one in your inventory.
There is also a bug, where after cleaning a single herb the rest is not automatically cleaned. Having the idle plugin would be great to catch this without waiting too long!

This is not possible until Jagex adds an animation for cleaning herbs.
As for the failed auto cleaning, you should really report that to Jagex.

Hmm interesting
I assume this can be done by tracking the XP drops, but that would be more suited for a third party plugin instead.
I did report the auto cleaning to Jagex, but until there is a fix there isn't much I can do 😁


Question: Where to put business logic / validations?

I'm right now learning Redux. So, I'm looking for some places where we can put business logic and validations.
The App
It's a simple counter. And the counter value must be sit between 1-5. I has no idea on where to put my app's business logic. So, this is what I did.
Inside Reducers
When there is no server side async stuff, I put my validations inside the reducer like this.
See: https://github.com/arunoda/learn-redux/blob/dir-structure/src/reducers/index.js#L6
It worked pretty well.
Inside Action Creators
When I need to sync the store with the server, I used redux-thunk. Now I had to validate in the action creators as well. So, instead of validating in the reducers, I moved validation logic into the action creators. See: https://goo.gl/VC8lmp
So, I think it's best to put validation/business logic into action creators, specially with redux-thunk. (where I can get the store state easily). Is this the pattern used normally, or is there any better approaches?

I've had good success following the pattern mentioned in the docs, which is exactly what you describe with redux-thunk. Perhaps there are things that I'm missing out on, but it works especially well for operations such as only making a request if the redux cache is stale.
From: http://rackt.org/redux/docs/advanced/ExampleRedditAPI.html
function shouldFetchPosts(state, reddit) {
  const posts = state.postsByReddit[reddit]
  if (!posts) {
    return true
  } else if (posts.isFetching) {
    return false
  } else {
    return posts.didInvalidate
  }
}

export function fetchPostsIfNeeded(reddit) {
  return (dispatch, getState) => {
    if (shouldFetchPosts(getState(), reddit)) {
      return dispatch(fetchPosts(reddit))
    }
  }
}

Thanks. I followed exactly something like this.
We' can close this issue now.

@arunoda why not using Smart components for it? Looks pretty good.

@ColCh Because "smart" (actually, "container") components are just thin wrappers that connect other views to the model (which in Redux is the reducer, and action creator thunks), but business logic should be in the model.

So is the consensus that business logic should exist in the action creators?

It's reasonable to put it in both action creators and reducers, depending on your setup and how you want to divide things.  See the answer on this topic in the Redux FAQ: http://redux.js.org/docs/FAQ.html#structure-business-logic .

Did put my logic to specific middleware. Not sure, if it is "best practices", but works well by now.

<EMAIL_ADDRESS>

How about in a redux-saga? It's overkill in simple cases but if you have to e.g. manage multiple sync and async validations, then it becomes a viable solution.

@markerikson the URL is now http://redux.js.org/docs/faq/CodeStructure.html#structure-business-logic

There's a third option: middleware + dedicated business logic objects:
// call it when needed (e.g. componentDidMount)
dispatch({ type: 'BUSINESS_ACTION', name: 'showSomethingUseful', params: { entityId: props.match.entityId } });

// call it in middleware
handlers[action.name]({ store, webApi, params: action.params });

// when it's called:
handlers = {
  'showSomethingUseful': async ({ store, webApi, params }) => {
    // show some spinners
    store.dispatch({ loading: true });
    // load some data
    const data = await webApi.load(params.entityId);
    // do some business logic
    ...
    // display some data
    store.dispatch({ loading: false, data });
  }
}

Here we divide our state into "UI" state and "Business" state. UI state is things like routes, client side filtering, menus opened, options selected, etc. Business state is data from db along with calculated fields, errors, loading state and validation messages.


Added a Liquid CSS text animation.

Description
I am a GSSoC'22 participant and as per the issue number #553 I have added a pure CSS based Liquid text animation to contribute to this repository. A preview video for the same is also available.
Fixes:  #553
Type of change

[x] New feature (non-breaking change which adds functionality)

ATTACH SCREEN-SHOTS / DEPLOYMENT LINK
Preview:
https://user-images.githubusercontent.com/77492052/164147284-8322b5d8-9833-4488-a44e-ad266679126a.mp4

https://deploy-preview-555--amazing-css-effects.netlify.app/animated text/

Remove the preview video, make it responsive for all screen sizes and just add it in style_links.json. Rest all is fine

Hey, I made the requested changes to the files and made it responsive for all screen sizes. I request you to kindly review them.


Version bump, 11.3 10.4 9.5

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

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

Can you send a PR for ctng-compiler-activation-feedstock?


Fix local install of console and update to latest version

To run console locally run the following:
helm install pachyderm etc/helm/pachyderm --set console.enabled=true -f entkeyhelm.yaml -f etc/helm/examples/local-dev-values.yaml

Note: running with local-values.yaml does not work due to a bug with the port number assignment when not using node port
Questions

[x] Does REACT_APP_RUNTIME_SUBSCRIPTIONS_PREFIX now need to be set in all environments?
[ ] Is the current setup for  REACT_APP_RUNTIME_ISSUER_URI  best practice? (With trailing slash)

@chainlink @acohen4

Does REACT_APP_RUNTIME_SUBSCRIPTIONS_PREFIX now need to be set in all environments?

Nope, and I'm guessing this will only need to be explicitly set for local deployments. The default value is /graphql which works great when the host name isn't localhost http://localhost/graphql vs. https://hub.pachyderm.com/graphql.

Is the current setup for REACT_APP_RUNTIME_ISSUER_URI best practice? (With trailing slash)

I don't know what is necessarily best practice here, I think it's mostly a side-effect of the implementation. We just take the ISSUER_URI, append the auth path, and redirect the client browser. It's a naive implementation, and is just using template strings in the client code (i.e. ${issuerUri}${authPath}). We can presumable make this work with or without a trailing slash, and to me that seems to be the correct approach. I can work on a PR for that.

I'm going to merge this one and then remove when haberdashery#424 lands


fix(template): log  fail to compose template

fixed readme for external git
report error when failing generate module file

Codecov Report

Merging #48 (f46d86d) into main (bf6f11b) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@           Coverage Diff           @@
##             main      #48   +/-   ##
=======================================
  Coverage   72.38%   72.38%
=======================================
  Files           3        3
  Lines         268      268
=======================================
  Hits          194      194
  Misses         57       57
  Partials       17       17

Flag
Coverage Δ

unittests
72.38% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Document primary email's role in web commit email

What article on docs.github.com is affected?
https://docs.github.com/en/free-pro-team@latest/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address
What part(s) of the article would you like to see updated?
I don't think the Setting your commit email address on GitHub section makes it clear what happens if you don't have email privacy enabled. I've had the option enabled for years and was surprised that after disabling it I was given the option to select which address to use when doing an action, even after reading this doc page multiple times. The related section:

If you haven't enabled email address privacy, you can choose which verified email address to author changes with when you edit, delete, or create files or merge a pull request on GitHub.

One piece of information that simply isn't included here is that initial commits are always done with the primary email and the default email used is the primary email. Maybe a screenshot of the dropdown could be included along with a note about initial commits.
I've already given feedback on the ability to set a custom restricted email which would give a similar behaviour to email privacy being enabled.

@nihaals - Thanks for raising this issue. I think you're right that we could add some clarity here.
You say "initial commits are always done with the primary email" - however I'm not sure about this. When I go to a repo I haven't worked on before and make a change within GitHub I get the option to choose one of my email addresses from the drop-down. Maybe I'm not following what you mean here. Could you say a little more about this please?
I agree with you that a screenshot of the commit form - showing the drop-down that you get if you haven't enabled email privacy - would be useful. We'll have to do this in-house at GitHub as we haven't yet made it possible for external contributors to add/change screenshots.
Thanks again for raising this.

By "initial commit" I mean the first commit that is done when creating a repository.
Since the "initial commit" portion of the create repository page is slightly different between GitHub.com (at the moment) and 2.22 (I believe the update will be in 2.23 along with the "default branch name" setting), it may be best to describe the initial commit in a way that does not explicitly reference the create repository page's contents

@nihaals - Thank you for clarifying that.
Because this would benefit from a new screenshot, as you suggest, we'll need to do this in house, rather than allowing the community to make this change. I'm therefore going to close this issue and copy the information you've supplied above onto an internal issue.
Many thanks again for raising this. Your help improving the GitHub documentation is much appreciated. 👍