text:
Generated code does not emit nested types correctly

I was authoring a test to use as an example of using Refit elsewhere, and to keep the code within the same file I considered declaring the types for the example as a nested class.
This however does not work because the code generated by Refit does not retain the parent class' name when generating the code to implement the specified interface, causing the project to fail to compile.
While this is easy to work around by restructuring the code on the part of the integrator, I feel that the generated code in this scenario should be valid to allow this scenario.
Code that generates the invalid code
using System.Threading.Tasks;
using Refit;
using Shouldly;
using Xunit;

namespace MyRefitExample
{
    public static class RefitExample
    {
        [Fact]
        public static async Task Nested_Types()
        {
            // Arrange
            var service = RestService.For<IGitHubApi>("https://api.github.com");

            // Act
            var actual = await service.GetUserAsync("paulcbetts");

            // Assert
            actual.ShouldNotBeNull();
            actual.Login.ShouldBe("paulcbetts");
        }

        [Headers("Accept: application/vnd.github.v3+json", "User-Agent: Refit-Nested-Types-Issue")]
        public interface IGitHubApi
        {
            [Get("/users/{user}")]
            Task<User> GetUserAsync(string user);
        }

        public class User
        {
            public string Login { get; set; }
            public string Id { get; set; }
            public string Url { get; set; }
        }
    }
}

Code that was generated
namespace MyRefitExample
{
    using RefitInternalGenerated;

    [Preserve]
    public partial class AutoGeneratedIGitHubApi : IGitHubApi
    {
        public HttpClient Client { get; protected set; }
        readonly Dictionary<string, Func<HttpClient, object[], object>> methodImpls;

        public AutoGeneratedIGitHubApi(HttpClient client, IRequestBuilder requestBuilder)
        {
            methodImpls = requestBuilder.InterfaceHttpMethods.ToDictionary(k => k, v => requestBuilder.BuildRestResultFuncForMethod(v));
            Client = client;
        }

        public virtual Task<User> GetUserAsync(string user)
        {
            var arguments = new object[] { user };
            return (Task<User>) methodImpls["GetUserAsync"](Client, arguments);
        }

    }
}

Code that should be generated
namespace MyRefitExample
{
    using RefitInternalGenerated;

    [Preserve]
    public partial class AutoGeneratedIGitHubApi : RefitExample.IGitHubApi
    {
        public HttpClient Client { get; protected set; }
        readonly Dictionary<string, Func<HttpClient, object[], object>> methodImpls;

        public AutoGeneratedIGitHubApi(HttpClient client, IRequestBuilder requestBuilder)
        {
            methodImpls = requestBuilder.InterfaceHttpMethods.ToDictionary(k => k, v => requestBuilder.BuildRestResultFuncForMethod(v));
            Client = client;
        }

        public virtual Task<RefitExample.User> GetUserAsync(string user)
        {
            var arguments = new object[] { user };
            return (Task<RefitExample.User>) methodImpls["GetUserAsync"](Client, arguments);
        }

    }
}

You're welcome to have a go at fixing this yourself, but it could be tricky. We only do syntax analysis on the interface files and copy their explicit references to the generated file. What you're asking would likely require either semantic analysis or a hack that's likely to only fix your specific use case.
There are two easy workarounds:

Move the interface into its own file.
Make the use of User in the interface explicit -- add the RefitExample. prefix yourself.

Since there are workarounds and it's not really a common scenario, this is going to be a very low priority for us, if we consider it at all.

authors: bennor martincostello

repo: paulcbetts/refit


text:
[Question] Maintain connection when device is locked

Hi,
Is it possible to maintain the connection and send data when the telephone is locked? I'd like to use the lib with a connected bike via bluetooth and I need to have data transmitted when the user locked their phone
Thanks.

Yes, while the connection is maintained in any case, you need to explicitly allow the background BLE operations on iOS, using the "UIBackgroundModes" list in your plist file, with either or both of those keys:
bluetooth-central If you are using the bluetooth central (aka master) mode.
bluetooth-peripheral If you are using the bluetooth peripheral (aka slave) mode.

Thanks @nmbus

source: gharchive/issue

license_type: permissive

license_source: github-api


text:
[1.16.5] If you use the mode without BYG, only 4 Biomes will appear

If i don't use BYG and just use BATTER END mode, there's very little biomes.
You can use byg mode, but I don't like the addition of Overworld's bioome.

,
It's a chunk with byg and a chunk without.
As a result of checking without using the byg mode, only 4 biomes came out.
I tried a solution using NBT Explorer, but it was useless.
If I use it without BYG mode, does it produce less biome?

Fix your biome source like was mentioned on wiki

I've already done it

In this case generation will work fine. What BetterEnd version are you using?

I'm using the most recent file 1.16.5 fabric
better-end-0.9.8.5-pre-1.16.5

In this case if you edit dimension entry correctly and without typos - it will work fine. Do you have other mods and datapacks except BYG?

I'm only using better end packs for data packs.
I'm using a few performance-enhancing modes, and I'm not using additional biome modes.

repo: paulevsGitch/BetterEnd

license: MIT


text:
Make fails to build on Ubuntu 20.04

The make command fails in Ubuntu 20.04 with the error:
./configure: line 13720: syntax error near unexpected token `no,'
./configure: line 13720: `AX_GCC_ARCHFLAG(no, CXXFLAGS="$CXXFLAGS $ax_cv_gcc_archflag" CCFLAGS="$CCFLAGS $ax_cv_gcc_archflag"'

A pull request has been opened to fix this issue https://github.com/paulhjkelly/taskgraph-metaprogramming/pull/2

repo: paulhjkelly/taskgraph-metaprogramming


text:
Update flyway-core to 10.7.1

About this PR
📦 Updates org.flywaydb:flyway-core from 7.15.0 to 10.7.1 ⚠
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.flywaydb", artifactId = "flyway-core" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.flywaydb", artifactId = "flyway-core" }
}]

labels: library-update, early-semver-major, semver-spec-major, commit-count:1

Superseded by #747.

source: gharchive/pull-request

repo: pauljamescleary/scala-pet-store

license_source: bigquery


text:
🛑 Hack the Gibson is down

In 364df24, Hack the Gibson (https://gibson.paulynomial.com) was down:

HTTP code: 502
Response time: 10142 ms

Resolved: Hack the Gibson is back up in f60d270.

repo: paulkiernan/paulynomial-uptime


text:
🛑 Paulynomial (index) (www-redirect) is down

In 21835d5, Paulynomial (index) (www-redirect) (https://www.paulynomial.com) was down:

HTTP code: 502
Response time: 15475 ms

Resolved: Paulynomial (index) (www-redirect) is back up in dc87e6c.


text:
display post from the wall only and not activity

Hi pavelk2!,
fisrt of all, thanks for this great plugin, works pretty well!
In the facebook part ....is there a way to show the wall post only?... right now are displaying all the activity in the fanpage and we need, for now, to display the post made it by the owner and nothing else.
thanks so much!

Here is the place where you can add some extra filtering:
https://github.com/pavelk2/social-feed/blob/gh-pages/index.html#L103-L105
you can write there something like:
return (content.social_network == "facebook") ? content.author_name == "PAGE_OWNER_USERNAME" : true;

@chidalgom
Please let me know if the answer above is sufficient, so we can close this issue.
thanx.

Hi pavelk2, sorry for not answer before, but i was testing your suggestion, unfortunately im not the owner so have some delay trying to contact them to make changes for testing.
As i can tell works fine, but now have some doubts, if you can help me of course, to clear them.
as I ask you before, need to show anything but the post's owner, its important to hidde or not show at all, for example, if the owner likes some others photo (that is the activity right?), in other words, need to hide all the content not related to posts, and im not sure if the filtering you give me work whit this.
On the other hand some parte of the text are in english, for example right now says: "fanpage shared Arte de Sanar's photo", as you can see there's a mix of language and should be displayed totally in spanish, was looking around the files and find some words, but only related to timelines like days, months, ago, etc, was able to change it to my language and works great, but that particular content not... so, is there a way to change that too? ...was reading on forums and facebbok help page, but as a noob dont understand very well how to make it.
sorry for all the trouble and time im make you waste, but need to do that for this project.

Dear @chidalgom,
please write me an email: pavel@kucherbaev.com with details - which accounts you need to use from which social networks, what kind of posts you want to show and what you want to hide. I will help you out with it. But this is not the topic of this issue - as issues are solely plugin related.

ok my friend... will contact you by email then.
thanks a lot!

I'm also trying to filter a facebook feed to only show posts and no activity. Any news here?
Thanks @pavelk2

You can try this moderation function:
https://gist.github.com/pavelk2/46d9d744c30d9aa81b3d
On Sun Jan 11 2015 at 1:09:55 PM Markus notifications@github.com wrote:

I'm also trying to filter a facebook feed to only show posts and no
activity. Any news here?
Thanks @pavelk2 https://github.com/pavelk2
—
Reply to this email directly or view it on GitHub
https://github.com/pavelk2/social-feed/issues/55#issuecomment-69492309.

This seems to work. Thanks a lot.
But now the filtered items got a "hidden" class with a red background. If i hide this item the my limit of item is wrong. How can i fix that?

@Craffft , unfortunately currently there is no way to do this filtering. The single possible solution i currently see is to ask a server more posts and limit them on client side instead of server side. But again it is not very elegant. Let me know if you come up with better solution. Feel free to create another issue for that and submit your pull request.

Yep, i will definitely try a few solutions in the next days. I think i will go with the limitation on the client side. Thanks @pavelk2

BTW - i am working now on a node.js server application (which anybody in 3 steps will be able to host on Heroku without a need to have an experience with node) - which should care all the interaction with social-networks, so all the credentials will not be publicly visible (as now). I will let you know as soon as it is ready.

authors: Craffft chidalgom pavelk2

license: mit


text:
devtools-one-store cleanup

Notable design changes to pavlobu's code:

The original implementation kept the information for each tracked connection in separate maps; here, I've unified them
Due to the above change, I also put the connection information into a small discriminated union, so Typescript can keep track of which case we're in.
The original added a store property to each sub state, which seemed redundant, considering they're already keyed off of the store string. I removed it.

thanks, great job
Although I feel like we are having too many logic in one function, and it is really hard to unit test and maintain this.
It's not your or mine problem, the code was already written in this unmaintainable way without covering all edge cases with unit tests.
I think we need to apply some design patterns for the current devtoolsImpl method and split the code into smaller much easier to unit test pieces of code. That's actually a lot of work to be honest and I don't have much time for it right now

authors: cwstra pavlobu

repo: pavlobu/zustand


text:
[BUG] Settings folders are printed even though they are used by another installed executable

Describe the bug
The .wine folder is printed even though wine is installed. The printout is labeled Winetricks, which is not installed.
The problem seems to be that .wine appears in the applications jsons for WineTricks and for Wine.
I think xdg-unused-data should only print out folders that have none of the possible executables associated.
Terminal output
[Winetricks]: /home/user/.wine (1.79 GB)

System

Distro: Ubuntu
Shell: Bash

thanks for reporting the bug. You are absolutely right. I removed winetricks.json since there is no dedicated folder for it. I will also review all other JSON files.


text:
possible regression - ValidationError - 2.1.1 to 2.2.1

Link to reproduction
https://github.com/iamacup/payload-regression
Describe the Bug
I have attached a minimal reproduction, but when using the payload API, a set of working commands in 2.1.1 no longer work in 2.2.1 with no code changes.
error: ValidationError: The following field is invalid: selector.0.default.0.matchNumber
The minimal reproduction is very small and created with create-payload-app
To Reproduce

checkout https://github.com/iamacup/payload-regression
yarn install
yarn run

NO ISSUES

checkout https://github.com/iamacup/payload-regression/pull/1
yarn install
yarn run

ERROR with payload API validation
It should be noted that if you change the value of matchNumber to a positive non zero integer in the seed function it seems to work, but the value 0 seems to be a problem.
Payload Version
2.2.1 / 2.1.1
Adapters and Plugins
No response

@iamacup this has been fixed since opening, please update payload by running yarn add payload. Thanks for reporting!

authors: JarrodMFlesch iamacup

repo: payloadcms/payload


text:
SeLion - Getting Exception : java.lang.ClassNotFoundException: org.openqa.grid.selenium.GridLauncher$GridItemLauncher

SeLion Version
In POM.XML , i am using the following versions :
a. Selenium-server : 2.46.0
2. selenium-java : 3.141.59
3. selion version - 1.0.0
Steps to Reproduce
Getting the following exception while running the TESTNG xml
stacktrace :
08.21.2019 13:56:00.167,[12] com.paypal.selion.grid.InstallHelper INFO Verifying SeLion Grid installation...
08.21.2019 13:56:00.198,[13] com.paypal.selion.grid.AbstractBaseLauncher INFO This instance is considered a SeLion Grid Hub
Exception in thread "pool-2-thread-1" java.lang.NoClassDefFoundError: org/openqa/grid/selenium/GridLauncher$GridItemLauncher
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at com.paypal.selion.grid.SeLionGridLauncher.(SeLionGridLauncher.java:65)
at com.paypal.selion.grid.ThreadedLauncher.run(ThreadedLauncher.java:108)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.openqa.grid.selenium.GridLauncher$GridItemLauncher
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 29 more
08.21.2019 13:58:01.689,[12] com.paypal.selion SEVERE Failed to start a LocalHub
org.openqa.grid.common.exception.GridException: Failed to start a LocalHub
at com.paypal.selion.internal.platform.grid.AbstractBaseLocalServerComponent.boot(AbstractBaseLocalServerComponent.java:75)
at com.paypal.selion.internal.platform.grid.LocalHub.boot(LocalHub.java:64)
at com.paypal.selion.internal.platform.grid.LocalGridManager.spawnLocalHub(LocalGridManager.java:76)
at com.paypal.selion.internal.platform.grid.SeleniumGridListener.beforeInvocation(SeleniumGridListener.java:133)
at org.testng.internal.invokers.InvokedMethodListenerInvoker$InvokeBeforeInvocationWithoutContextStrategy.callMethod(InvokedMethodListenerInvoker.java:84)
at org.testng.internal.invokers.InvokedMethodListenerInvoker.invokeListener(InvokedMethodListenerInvoker.java:62)
at org.testng.internal.Invoker.runInvokedMethodListeners(Invoker.java:557)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:625)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalStateException: LocalHub can not be contacted.
at com.paypal.selion.internal.platform.grid.AbstractBaseLocalServerComponent.waitForComponentToComeUp(AbstractBaseLocalServerComponent.java:171)
at com.paypal.selion.internal.platform.grid.AbstractBaseLocalServerComponent.boot(AbstractBaseLocalServerComponent.java:72)
... 14 more

a. Selenium-server : 2.46.0
2. selenium-java : 3.141.59

These combinations are not compatible.
In addition Selenium 3.x + is not compatible with SeLion 1.x

repo: paypal/SeLion


text:
Allow mobile driver extensions to client

[X] By placing an X in the preceding checkbox, I verify that I am a PayPal employee or
I have signed the Contributor License Agreement

Changes to SeLion client to move specific mobile
driver dependent webdriver implementation into providers
that are external jars that are  service loaded by
SeLion client.
Add new interface for MobileProviders.
Created new modules for Appium, iosdriver and selendroid
specified providers.

rebased and pushed to branch sebady-patch-sebady-mobiledrivers on the parent repo.

updated and merged to develop


text:
fix(compat): improve react version detection

What:
parseFloat() function added.

Why:
To make the code consistent.

How:
Adding parseFloat() to this line: (parseFloat(React.version.slice(0, 4)) >= 15.5)

Checklist:

[ ] Documentation
[ ] Tests
[ ] Code complete
[x] Added myself to contributors table
[ ] Followed the commit message format

Codecov Report

Merging #189 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master   #189   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          10     10
  Lines         142    142
  Branches       36     36
=====================================
  Hits          142    142

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 f55f157...13a4d9d. Read the comment docs.

Congratulations on your first ever pull request merge. Very well done. Thank you for your contribution!

Congrats @acgrdumlu! 🎉 Keep it up!

authors: acgrdumlu codecov-io kentcdodds paulmolluzzo

repo: paypal/glamorous


text:
🛑 Departamento is down

In 43d97d6, Departamento (http://cca.unb.br/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Departamento is back up in 645b1f1 after 13 minutes.


text:
🛑 Moodle is down

In 79dea82, Moodle (https://aprender3.unb.br/login/index.php) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Moodle is back up in e10fc7e.


text:
Download XML data from Copernicus API

Allows users to view TOPS Split data without downloading the entire 4 GB image. User needs a Copernicus account.
Addresses issue #2

Check appears to fail because there is a decrease in code coverage. This will be addressed in a future update. It has passed all current tests.


text:
:green_heart: ci: overrride the semantic-release branch to main

To which ticket/issue is this PR linked to?
https://jira.lyft.net/browse/MGW-451
What does this PR add, change or fix?

Override the semantic-release branch to main branch

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update
[ ] Code refactoring
[x] CI/CD or build process changes
[ ] Other

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

repo: pbsc/react-native-ui-components


text:
Disable "git branch" and "git checkout" in source nothing level (remoteAdvanced7)

Despite the hint to the contrary, git branch is not disabled here. Since git checkout -b also works here, I disabled them both.

Sure! I usually only disable these commands when peoples first reaction to solving the level is to using another set of commands (rather than what I explain in the lesson) but its fair to disable these and keep people on track

authors: PhilipEnchin pcottle

repo: pcottle/learnGitBranching


text:
Couldn't find pdz file main.pdz

Hi,
I've been using Crankstart to test my Chip-8 emulator on the Playdate Simulator and it's been a joy to use! <3
I was curious if my "game" would also run on my real Playdate, but every time try to I upload the package with Device > Upload the device crashes and displays the message: Couldn't find pdz file main.pdz
Curiously, I double-checked if it was also happening with the examples, with the Klondike and the Nine Lives demo, and it was indeed happening in all of the cases
The output .pdx file contains:

pdex.bin
pdex.dylib
pdxinfo

While on a Playdate game the package usually contains:

main.pdz
pdxinfo

I'm on nightly-aarch64-apple-darwin and I'm running Crank and Crankstart on a M1 Pro Macbook Pro
Do you perhaps have any suggestions? I've tried everything but to no avail 😔
Thank you

That wasn't the case a few months ago, but I'll take a look tomorrow and see what I can learn.

I can't reproduce this with Klondike on my M1 MacBook Air running 13.3.1 (22E261).
What does crank -V tell you?

I can't reproduce this with Klondike on my M1 MacBook Air running 13.3.1 (22E261).
What does crank -V tell you?

Hi @rtsuk thank you for the quick reply 🙂
The command crank -V gives me crank 0.2.8

I made the repository public if you want to give it a try https://github.com/Pomettini/yet-another-chip-8-emulator/tree/main/playdate (sorry the project is a bit messy haha 😅)

I know this is something that can happen with a game misconfiguration or a weird command rather than a crankstart issue because I see it once in a while when I change something, but I can't quite remember what it is at the moment... I'll see if I can track it down.

I was able to compile it and run it fine on the device.
What does rustc +nightly -V say?

It prints rustc 1.71.0-nightly (458d4dae8 2023-04-25)

This is what is says if I run crank -v  run --release
INFO  crank > starting
INFO  crank > manifest = Manifest {
   targets: [
       Target {
           name: "chip8-playdate",
           assets: Some(
               [],
           ),
           metadata: Some(
               Metadata {
                   name: Some(
                       "Chip8 Playdate",
                   ),
                   author: Some(
                       "Giorgio Pomettini",
                   ),
                   description: Some(
                       "",
                   ),
                   bundle_id: Some(
                       "com.pomettini.chip8pd",
                   ),
                   version: Some(
                       "0.1",
                   ),
                   build_number: None,
                   image_path: Some(
                       "assets/launcher",
                   ),
                   launch_sound_path: None,
               },
           ),
       },
   ],
}
INFO  crank > building
INFO  crank > build command: "cargo" "build" "--lib" "--release"
   Finished release [optimized] target(s) in 0.02s
INFO  crank > make_source_dir
INFO  crank > link_dylib
INFO  crank > copy_assets
INFO  crank > make_manifest
INFO  crank > run_pdc
INFO  crank > run_simulator

I was just going to ask that, but with --device.

Sure thing!
 INFO  crank > starting
 INFO  crank > manifest = Manifest {
    targets: [
        Target {
            name: "chip8-playdate",
            assets: Some(
                [],
            ),
            metadata: Some(
                Metadata {
                    name: Some(
                        "Chip8 Playdate",
                    ),
                    author: Some(
                        "Giorgio Pomettini",
                    ),
                    description: Some(
                        "",
                    ),
                    bundle_id: Some(
                        "com.pomettini.chip8pd",
                    ),
                    version: Some(
                        "0.1",
                    ),
                    build_number: None,
                    image_path: Some(
                        "assets/launcher",
                    ),
                    launch_sound_path: None,
                },
            ),
        },
    ],
}
 INFO  crank > building
 INFO  crank > build command: "cargo" "+nightly" "build" "--lib" "--release" "--target" "thumbv7em-none-eabihf"
warning: dropping unsupported crate type `cdylib` for target `thumbv7em-none-eabihf`

warning: `chip8_playdate` (lib) generated 1 warning
    Finished release [optimized] target(s) in 0.03s
 INFO  crank > make_source_dir
 INFO  crank > compile_setup: "/usr/local/bin/arm-none-eabi-gcc" "-g" "-c" "-mthumb" "-mcpu=cortex-m7" "-mfloat-abi=hard" "-mfpu=fpv4-sp-d16" "-D__FPU_USED=1" "-O2" "-falign-functions=16" "-fomit-frame-pointer" "-gdwarf-2" "-Wall" "-Wno-unused" "-Wstrict-prototypes" "-Wno-unknown-pragmas" "-fverbose-asm" "-ffunction-sections" "-fdata-sections" "-DTARGET_PLAYDATE=1" "-DTARGET_EXTENSION=1" "/Users/pomettini/Developer/PlaydateSDK/C_API/buildsupport/setup.c" "-I" "/Users/pomettini/Developer/PlaydateSDK/C_API" "-o" "/Users/pomettini/Git/yet-another-chip-8-emulator/playdate/target/thumbv7em-none-eabihf/release/setup.o"
 INFO  crank > link_binary: "/usr/local/bin/arm-none-eabi-gcc" "/Users/pomettini/Git/yet-another-chip-8-emulator/playdate/target/thumbv7em-none-eabihf/release/setup.o" "/Users/pomettini/Git/yet-another-chip-8-emulator/playdate/target/thumbv7em-none-eabihf/release/libchip8_playdate.a" "-mthumb" "-mcpu=cortex-m7" "-mfloat-abi=hard" "-mfpu=fpv4-sp-d16" "-D__FPU_USED=1" "-Wl,--gc-sections,--no-warn-mismatch" "-T" "/Users/pomettini/Developer/PlaydateSDK/C_API/buildsupport/link_map.ld" "-o" "/Users/pomettini/Git/yet-another-chip-8-emulator/playdate/target/thumbv7em-none-eabihf/release/chip8_playdate.elf"
 INFO  crank > make_binary: "/usr/local/bin/arm-none-eabi-objcopy" "-O" "binary" "/Users/pomettini/Git/yet-another-chip-8-emulator/playdate/target/thumbv7em-none-eabihf/release/chip8_playdate.elf" "/Users/pomettini/Git/yet-another-chip-8-emulator/playdate/target/thumbv7em-none-eabihf/release/chip8_playdate.bin"
 INFO  crank > copy_assets
 INFO  crank > make_manifest
 INFO  crank > run_pdc
 INFO  crank > run_target

It prints rustc 1.71.0-nightly (458d4dae8 2023-04-25)

It's worth trying an older nightly - I've been using nightly-2023-02-09 for some time with no issues.  Newer nightlies introduce problems like https://github.com/rust-lang/rust/issues/109934 that cause compilation failures, and are taking some time to address upstream.

So, I went back and reread your initial message and see you're trying to useDevice > Upload, which I've not tried in years and which shouldn't be necessary. crank run should copy the package to the device and launch it.

I also see that when you run, logging stops after  INFO  crank > run_target. I get
INFO  crank > datadisk cmd: Command {
    program: "/Users/rob/Developer/PlaydateSDK/bin/pdutil",
    args: [
        "/Users/rob/Developer/PlaydateSDK/bin/pdutil",
        "/dev/cu.usbmodemPDU1_Y0005491",
        "datadisk",
        "/Users/rob/projects/playdate/yet-another-chip-8-emulator/playdate/target/Chip8 Playdate.pdx",
    ],
}
 INFO  crank > copy_directory "/Users/rob/projects/playdate/yet-another-chip-8-emulator/playdate/target/Chip8 Playdate.pdx" -> "/Volumes/PLAYDATE/Games/Chip8 Playdate.pdx"
 INFO  crank > copy_file "/Users/rob/projects/playdate/yet-another-chip-8-emulator/playdate/target/Chip8 Playdate.pdx/pdex.dylib" -> "/Volumes/PLAYDATE/Games/Chip8 Playdate.pdx/pdex.dylib"
 INFO  crank > copy_file "/Users/rob/projects/playdate/yet-another-chip-8-emulator/playdate/target/Chip8 Playdate.pdx/pdxinfo" -> "/Volumes/PLAYDATE/Games/Chip8 Playdate.pdx/pdxinfo"
 INFO  crank > copy_file "/Users/rob/projects/playdate/yet-another-chip-8-emulator/playdate/target/Chip8 Playdate.pdx/pdex.bin" -> "/Volumes/PLAYDATE/Games/Chip8 Playdate.pdx/pdex.bin"
 INFO  crank > eject cmd: Command {
    program: "diskutil",
    args: [
        "diskutil",
        "eject",
        "/Volumes/PLAYDATE",
    ],
}
Disk /Volumes/PLAYDATE ejected
 INFO  crank > run cmd: Command {
    program: "/Users/rob/Developer/PlaydateSDK/bin/pdutil",
    args: [
        "/Users/rob/Developer/PlaydateSDK/bin/pdutil",
        "/dev/cu.usbmodemPDU1_Y0005491",
        "run",
        "/Games/Chip8 Playdate.pdx",
    ],
}

If you are up for it, you could improve the logging in crank around the run command and see where it is failing.

Also, Device > Upload works for me.

Unfortunately downgrading Rust to nightly-2023-02-09 didn't help. By the way, I fear that even if the .pdx is being uploaded without using the emulator, it's still missing the main.pdz file in the package, so the game crashes as the device won't find an entry point 😔

I'm not sure why there needs to be a main.pdz file. I don't have one and it works fine for me.
rob@RoboAir ~ % ls -l /Volumes/PLAYDATE/Games/Chip8\ Playdate.pdx
total 264
-rwxrwxrwx  1 rob  staff  27784 Apr 27 07:39 pdex.bin
-rwxrwxrwx  1 rob  staff  99092 Apr 27 07:39 pdex.dylib
-rwxrwxrwx  1 rob  staff     37 Apr 27 07:39 pdxinfo

I tried uploading the game from the simulator out of curiosity and... Inexplicably, it worked 🤯
I can't say exactly what caused this. I thought that was related to the main.pdz file since the device was telling me it needed that file, but apparently it wasn't the case. I will investigate on the matter, and also try to figure out why crank run --device hangs on my machine 💪
Meanwhile, thank you so much @rtsuk and @tjkirch for the patience and the quick replies! I really appreciate it! 😊

I'm curious to see what you find about the hanging, if it's reproducible!  I'd try running through strace - that's how I figured out an issue with the commands pdutil (via PlaydateSimulator) was sending to the device.  Something like strace -f -s256 -o sim.trace -- PlaydateSimulator and then try to upload the game from the simulator.  Or run crank run --device through strace instead, if that's the problem area.  There will be a ton in the output file, but something may stick out about the pdutil call, or something else in that area.
My understanding is that pdz files are compiled lua, and since with crankstart we don't use any lua, it shouldn't be necessary; if it's looking for pdz, my suspicion is that the pdx is missing something that tells Playdate it's a C game.  The target/GAME.pdx should have pdxinfo, pdex.bin, and pdex.so/pdex.dylib files, which yours does, so I'm not sure.  FWIW, my pdxinfo only has name, version, pdxversion, and buildtime, so not much is required there.  I really wish I could remember what caused this for me before, I'm sorry.

I'm curious to see what you find about the hanging, if it's reproducible! I'd try running through strace - that's how I figured out an issue with the commands pdutil (via PlaydateSimulator) was sending to the device. Something like strace -f -s256 -o sim.trace -- PlaydateSimulator and then try to upload the game from the simulator. Or run crank run --device through strace instead, if that's the problem area. There will be a ton in the output file, but something may stick out about the pdutil call, or something else in that area.
My understanding is that pdz files are compiled lua, and since with crankstart we don't use any lua, it shouldn't be necessary; if it's looking for pdz, my suspicion is that the pdx is missing something that tells Playdate it's a C game. The target/GAME.pdx should have pdxinfo, pdex.bin, and pdex.so/pdex.dylib files, which yours does, so I'm not sure. FWIW, my pdxinfo only has name, version, pdxversion, and buildtime, so not much is required there. I really wish I could remember what caused this for me before, I'm sorry.

I'm on Mac so I can't use strace I'm afraid 😔
By the way, while I was testing stuff, the simulator was not updating the build on the device, so I deleted the target folder and... now I'm getting the same missing main.pdz error again 😔

Make sure that macOS isn't asking for permissions while crank is running. I think I saw some of those while testing just now and it caused crank to hang.

I'm on Mac so I can't use strace I'm afraid 😔

It looks like dtruss would do the same job on a Mac, maybe?  I don't think SIP would come into play for the downloaded simulator binary, but it looks like codesign can remove its signature if it has one somehow.

By the way, while I was randomly testing stuff, the simulator was not updating the build on the device, so I deleted the target folder with cargo clean and... now I'm getting the same missing main.pdz error again 😔

I wonder if an empty main.pdz would work around the check, and the game would still run because it's not actually needed... :|

I'm on Mac so I can't use strace I'm afraid 😔

It looks like dtruss would do the same job on a Mac, maybe? I don't think SIP would come into play for the downloaded simulator binary, but it looks like codesign can remove its signature if it has one somehow.

By the way, while I was randomly testing stuff, the simulator was not updating the build on the device, so I deleted the target folder with cargo clean and... now I'm getting the same missing main.pdz error again 😔

I wonder if an empty main.pdz would work around the check, and the game would still run because it's not actually needed... :|

I tried putting a main.pdz file and the stacktrace on the device says it's too small, no matter how large it is. Funnily enough, I noticed the pdex.bin file on the package is actually empty, maybe that is causing the issue?

That is certainly the cause. It works on the simulator because the simulator uses the dylib, not the binary.

Do check for permission requests that are popped up behind your active window.

Just got my playdate and run into this instantly, have anybody found a workaround for this?

I’m also unable to use crank run --device with it hanging. I’m doing crank build --device and then uploading via the simulator as a workaround.
I’m AFK now but wondering if this is only when my game is already running. I’ve noticed that I can’t upload to device from the simulator when a game is running (the “Device” menu disappears and the Cmd+U shortcut is disabled)

I’m AFK now but wondering if this is only when my game is already running. I’ve noticed that I can’t upload to device from the simulator when a game is running (the “Device” menu disappears and the Cmd+U shortcut is disabled)

I tried this and it made no difference. Being on the home screen didn't help.

I did some investigating and found that modem_path.exists() is false. I'll open an issue over in the crank repo.

Seems to be explained by https://github.com/pd-rs/crank/issues/24; modem_path defaults to /dev/cu.usbmodemPDU1_Y0005491 unless PLAYDATE_SERIAL_DEVICE is set.
There's apparently some way to try and find this but it's only for Linux: https://github.com/pd-rs/crank/pull/38

authors: Pomettini SomeoneToIgnore paulyoung rtsuk tjkirch

repo: pd-rs/crankstart


text:
Update scalafmt-core to 3.4.2

Updates org.scalameta:scalafmt-core from 2.7.5 to 3.4.2.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta", artifactId = "scalafmt-core" } ]

labels: library-update, early-semver-major, semver-spec-major, commit-count:1

Superseded by #401.

repo: pdalpra/computer-database


text:
UnicodeEncodeError: 'ascii' codec can't encode character

I get an UnicodeEncodeError when using pdfminer (the version https://github.com/pdfminer/pdfminer.six/commit/d79612c455a5de0526d5bc32449fa9dc3b7c249a from git)
pdfminer_sample3.py
Download https://www.dropbox.com/s/khjfr63o82fa5yn/numbers-test-document.pdf?dl=0 and execute the following script:
#!/usr/bin/env python

from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from cStringIO import StringIO

def convert_pdf_to_txt(path):
    rsrcmgr = PDFResourceManager()
    retstr = StringIO()
    codec = 'utf-8'
    laparams = LAParams()
    device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
    fp = file(path, 'rb')
    interpreter = PDFPageInterpreter(rsrcmgr, device)
    password = ""
    maxpages = 0
    caching = True
    pagenos=set()

    for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages,   password=password,caching=caching, check_extractable=True):
        interpreter.process_page(page)

    text = retstr.getvalue()

    fp.close()
    device.close()
    retstr.close()
    return text

print(convert_pdf_to_txt("numbers-test-document.pdf"))

Error message
Traceback (most recent call last):
  File "pdfminer_sample3.py", line 32, in <module>
    print(convert_pdf_to_txt("samples/numbers-test-document.pdf"))
  File "pdfminer_sample3.py", line 14, in convert_pdf_to_txt
    device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
  File "/usr/local/lib/python2.7/dist-packages/pdfminer/converter.py", line 186, in __init__
    PDFConverter.__init__(self, rsrcmgr, outfp, codec=codec, pageno=pageno, laparams=laparams)
  File "/usr/local/lib/python2.7/dist-packages/pdfminer/converter.py", line 173, in __init__
    self.outfp.write(u"é")
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 0: ordinal not in range(128)

Changing from cStringIO import StringIO to from StringIO import StringIO solved that problem.

Replacing fp = file(path, 'rb') with fp=open(path,'rb') worked for me!

authors: MartinThoma tolgasaglik


text:
Getting error

I'm getting this message when I try to start FreeControl:

Description:
Version 1.6.1 adds updates. When using the new version, delete the scrcpy resources of the old version, forget to judge whether it exists before deleting, resulting in failure of deletion. It is a very careless bug. I am very sorry!
Please use version 1.6.2, judgment has been added.

repo: pdone/FreeControl


text:
RuntimeError: Expected tensor for argument #1 'indices' to have scalar type Long; but got torch.IntTensor instead (while checking arguments for embedding)

Thanks for developing sent2vec
I just installed it.
I was trying to run the example and the getting the errors:
vectors = vectorizer.sent2vec_bert()
HBox(children=(FloatProgress(value=0.0, description='Downloading', max=231508.0, style=ProgressStyle(descripti…

HBox(children=(FloatProgress(value=0.0, description='Downloading', max=442.0, style=ProgressStyle(description_…

HBox(children=(FloatProgress(value=0.0, description='Downloading', max=267967963.0, style=ProgressStyle(descri…

Traceback (most recent call last):

  File "<ipython-input-7-d7f140e4a0b3>", line 1, in <module>
    vectors = vectorizer.sent2vec_bert()

  File "C:\Users\User\anaconda3\envs\py376\lib\site-packages\sent2vec\vectorizer.py", line 34, in sent2vec_bert
    last_hidden_states = model(input_ids)

  File "C:\Users\User\anaconda3\envs\py376\lib\site-packages\torch\nn\modules\module.py", line 532, in __call__
    result = self.forward(*input, **kwargs)

  File "C:\Users\User\anaconda3\envs\py376\lib\site-packages\transformers\modeling_distilbert.py", line 463, in forward
    inputs_embeds = self.embeddings(input_ids)  # (bs, seq_length, dim)

  File "C:\Users\User\anaconda3\envs\py376\lib\site-packages\torch\nn\modules\module.py", line 532, in __call__
    result = self.forward(*input, **kwargs)

  File "C:\Users\User\anaconda3\envs\py376\lib\site-packages\transformers\modeling_distilbert.py", line 93, in forward
    word_embeddings = self.word_embeddings(input_ids)  # (bs, max_seq_length, dim)

  File "C:\Users\User\anaconda3\envs\py376\lib\site-packages\torch\nn\modules\module.py", line 532, in __call__
    result = self.forward(*input, **kwargs)

  File "C:\Users\User\anaconda3\envs\py376\lib\site-packages\torch\nn\modules\sparse.py", line 114, in forward
    self.norm_type, self.scale_grad_by_freq, self.sparse)

  File "C:\Users\User\anaconda3\envs\py376\lib\site-packages\torch\nn\functional.py", line 1484, in embedding
    return torch.embedding(weight, input, padding_idx, scale_grad_by_freq, sparse)

RuntimeError: Expected tensor for argument #1 'indices' to have scalar type Long; but got torch.IntTensor instead (while checking arguments for embedding)

Can you specify your environment? CPU or GPU, Python 3 or 2, Windows or Linux? That helps me to replicate it to somewhat.

Hope this helps:
The code runs on CPU
sklearn.show_versions()

System:
    python: 3.7.6 (default, Jan  8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)]
executable: C:\Users\User\anaconda3\envs\py376\pythonw.exe
   machine: Windows-10-10.0.19041-SP0

Python dependencies:
       pip: 20.0.2
setuptools: 45.2.0.post20200210
   sklearn: 0.22.1
     numpy: 1.18.1
     scipy: 1.4.1
    Cython: 0.29.14
    pandas: 1.0.1
matplotlib: 3.1.3
    joblib: 0.14.1

Built with OpenMP: True


text:
Grant milestone: UI prototype: Onboard new users + core features

I will create a workable UI prototype in Figma that performs all of the listed functions in the milestones below. The figma file is located at https://www.figma.com/file/mXl0svBSnlGV2MKfTj8H7e/Mobile-app?node-id=121%3A424

[x] Onboard new users

[x] Ask for permissions
[x] Pair with a watch

[x] Bluetooth LE/Bluetooth classic scanning
[X] Other pairing methods (manual Bluetooth address entry)

[X] Flash a recovery mode watch with firmware
[X] Set up RWS
[X] Setup language
[X] Setup health

[x] Core features

[x] Manage notification mirroring

[x] Enable and disable notification mirroring per app
[x] Silence phone when connected to watch (calls, notifications)

[x] Manage connectivity

[x] Pair additional watches
[x] Switch connected device
[x] Update device firmware

[X] Manage calendars
[x] Canned messages/favorite contacts in built in SMS app
[X] Analytics optout/in

Manage calendars

Suggestion: We should have "Full resync" button somewhere which would delete and re-sync all timeline pins to the watch (including calendar). Timeline sync is write-only on the watch (e.g. we cannot check what calendar events have or haven't been synced to the watch yet). We will workaround that with storing this data on the phone, but that means that if user is moving watch between different phones, timeline can get out of sync.

Great suggestion; Is there any drawback to just doing this anytime the calendar updates or on a set interval? Would a full resync add duplicate events on the watch?

No, full resync would delete all data from the watch and then re-sync all calendar events, so this would not create duplicate events. However it would transfer a lot of unnecessary data (every calendar pin would have to be re-transferred on every sync) which I imagine would have an effect on Pebble's battery life.
Do you think there are many people that swap watches between phones? Maybe we could add an option to always use full sync for those if there is high enough need.

Hm, what about a full resync on connect & maybe at certain intervals (6 hours?) With an option under Settings->calender->advanced  to do a full resync on every change?

As I said, for vast majority of the cases full resync is never needed. It would only be needed if user is swapping same watch between phones.

🎉 The Rebble Alliance would be happy to fund this at $750!

I think one of my favorite things about this is the style introduced in the updater.  It feels like it not only embraces "the Pebble style", but animates it and humanizes it further with colors to convey the excitement of new functionality (or a watch being restored from the dead).  As always, great work.
I agree that this milestone is complete!  cc: @ishotjr

authors: jwise matejdro piggehperson

repo: pebble-dev/mobile-app


text:
Sdk 3 compatibility

This app is a really good source of info to load pngs from the web.
I've updated it to make it compatible with both sdk.

:heart:
Thanks @jay3

repo: pebble-examples/pebble-faces


text:
refact!: remove thread local support

BREAKING

Removed: thread_local cargo feature.
Removed: clhlock::thread_local_node! macro.
Removed: clhlock::raw::Mutex::lock_with_local.
Removed: clhlock::raw::Mutex::lock_with_local_unchecked.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 97.38%. Comparing base (ee20977) to head (cf72220).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##              main       #3      +/-   ##
===========================================
- Coverage   100.00%   97.38%   -2.62%
===========================================
  Files            7        6       -1
  Lines          168      153      -15
===========================================
- Hits           168      149      -19
- Misses           0        4       +4

Flag
Coverage Δ

97.38% <ø> (-2.62%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

authors: codecov-commenter pedromfedricci

repo: pedromfedricci/clhlock


text:
Running sanity check...  Could not update list of known top-level domains

On NPM install this error message is consistently present
environment

Windows 10
npm version 6.13.3
node version 10.9.0

we also see this when performing the npm install on a node:10-alpine docker container
package.json
dependencies
"parse-domain": "^2.3.4",
dev-dependencies
"jest": "^23.6.0",
output from npm install
> parse-domain@2.3.4 postinstall /webapp/node_modules/parse-domain
> run-s build:tries

> parse-domain@2.3.4 build:tries /webapp/node_modules/parse-domain
> node scripts/build-tries.js

Downloading public suffix list from https://publicsuffix.org/list/public_suffix_list.dat... ok
Writing /webapp/node_modules/parse-domain/build/tries/icann.complete.json... ok
Writing /webapp/node_modules/parse-domain/build/tries/icann.light.json... ok
Writing /webapp/node_modules/parse-domain/build/tries/private.complete.json... ok
Running sanity check...
Could not update list of known top-level domains for parse-domain because of "Command failed: /usr/local/bin/node /webapp/node_modules/parse-domain/node_modules/jest/bin/jest.js"
Using possibly outdated prebuilt list from Sat Nov 02 2019

Starting with v3.0.0 you now need to update it manually by running npx parse-domain-update. We also simplified the sanity check so I expect this to work now.

authors: burkeallen jhnns

repo: peerigon/parse-domain


text:
🛑 API MERCADO PUBLICO is down

In 7b408df, API MERCADO PUBLICO (https://api.mercadopublico.cl/servicios/v1/publico/ordenesdecompra.json?fecha=30122022&CodigoOrganismo=7312&ticket=E1951384-BF88-4EE5-8C33-934680281626) was down:

HTTP code: 500
Response time: 10005 ms

Resolved: API MERCADO PUBLICO is back up in 1428f46.


text:
🛑 API MERCADO PUBLICO is down

In b214e16, API MERCADO PUBLICO (https://api.mercadopublico.cl/servicios/v1/publico/ordenesdecompra.json?fecha=30122022&CodigoOrganismo=7312&ticket=E1951384-BF88-4EE5-8C33-934680281626) was down:

HTTP code: 500
Response time: 982 ms

Resolved: API MERCADO PUBLICO is back up in 086c212.


text:
🛑 AVIS C is down

In 3be6246, AVIS C (https://csscoquimbo.avislatam.com/modulos/login/index.cfm) was down:

HTTP code: 0
Response time: 0 ms

Resolved: AVIS C is back up in 62a16fd after 302 days, 7 hours, 46 minutes.


text:
🛑 Beyond.pl is down

In fbdc2e9, Beyond.pl (http://www.beyond.pl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Beyond.pl is back up in 14309ff.

repo: pejotes/upptime


text:
🛑 GR-Server-Claro is down

In 26ac410, GR-Server-Claro ($API_SEC) was down:

HTTP code: 0
Response time: 0 ms

Resolved: GR-Server-Claro is back up in 3f6610b.


text:
🛑 Kecamatan Pondok Melati is down

In adf8869, Kecamatan Pondok Melati (https://kec-pondokmelati.bekasikota.go.id) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Kecamatan Pondok Melati is back up in 7e25a3c.

repo: pemkotbekasi/website-status


text:
🛑 Dinas Perdagangan dan Perindustrian is down

In cf47c69, Dinas Perdagangan dan Perindustrian (https://disdagperin.bekasikota.go.id) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Dinas Perdagangan dan Perindustrian is back up in 5b0265a.


text:
Add deserialization support for dataclass fields with init=False

Resolves #30.
I made a couple of related changes in order to get unit tests to pass:

Added pip install .[dev] to the test target of the Makefile so that pytest could get automatically installed.
Fixed a failing test with NamedTuple in Python 3.9.

lgtm. Thanks!

repo: pengyunie/seutil


text:
[PDI-16846] kettle.properties dialog box in PDI has swapped descriptions

@pentaho/tatooine

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -f 'pom.xml' -pl 'engine' -P '!assemblies' -Dsurefire.runOrder=alphabetical -Daudit -amd clean install

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'engine' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  engine/src/main/resources/kettle-variables.xml

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.trans.step.StepMeta

Branch Change: -0.6% :small_red_triangle_down:
Complexity Change: -0.5% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta

Branch Change: -1.8% :small_red_triangle_down:
Complexity Change: -1.1% :small_red_triangle_down:
Instruction Change: -0.4% :small_red_triangle_down:
Line Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.groupby.GroupByMeta

Branch Change: -1% :small_red_triangle_down:
Complexity Change: -1.1% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:
Line Change: -0.4% :small_red_triangle_down:

org.pentaho.di.trans.steps.ifnull.IfNullMeta

Branch Change: -2% :small_red_triangle_down:
Complexity Change: -1.9% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.ldapoutput.LDAPOutputMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.memgroupby.MemoryGroupByMeta

Branch Change: -3.3% :small_red_triangle_down:
Complexity Change: -3.9% :small_red_triangle_down:

org.pentaho.di.trans.steps.singlethreader.SingleThreaderMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.sort.SortRowsMeta

Instruction Change: -0.1% :small_red_triangle_down:

authors: smmribeiro wingman-pentaho

repo: pentaho/pentaho-kettle


text:
[PDI-19780]- purge-utility is giving an error "Unable to find plugin with ID kettle"

PDI-19780- purge-utility is giving an error "Unable to find plugin with ID kettle"

 Note:

Frogbot also supports Contextual Analysis, Secret Detection, IaC and SAST Vulnerabilities Scanning. This features are included as part of the JFrog Advanced Security package, which isn't enabled on your system.

🐸 JFrog Frogbot

:white_check_mark: Build finished in 20m 4s
Build command:
mvn clean verify -B -e -Daudit -amd -Djs.no.sandbox -pl \
assemblies/static

:exclamation: No tests found!
:information_source:  This is an automatic message

authors: Rangashivani buildguy


text:
pindexer: duplicate constraint on block_details_pkey

Describe the bug
Yesterday I ran pindexer version 0.80.8 (#4915) against a testnet cometbft db, and it failed with this error:
2024-11-06T17:53:57.966026Z DEBUG sqlx::query: summary="SELECT events.rowid, events.type, blocks.height …" db.statement="\n\nSELECT\n  events.rowid,\n  events.type,\n  blocks.height AS block_height,\n  tx_results.tx_hash,\n  events.attrs\nFROM\n  (\n    SELECT\n      rowid,\n      type,\n      block_id,\n      tx_id,\n      jsonb_object_agg(attributes.key, attributes.value) AS attrs\n    FROM\n      events\n      LEFT JOIN attributes ON rowid = attributes.event_id\n    WHERE\n      rowid > $1\n    GROUP BY\n      rowid,\n      type,\n      block_id,\n      tx_id\n  ) events\n  LEFT JOIN LATERAL (\n SELECT\n      *\n    FROM\n      blocks\n    WHERE\n      blocks.rowid = events.block_id\n    LIMIT\n      1\n  ) blocks ON TRUE\n  LEFT JOIN LATERAL (\n    SELECT\n      *\n    FROM\n      tx_results\n WHERE\n      tx_results.rowid = events.tx_id\n    LIMIT\n      1\n  ) tx_results ON TRUE\nORDER BY\n  events.rowid ASC\n" rows_affected=0 rows_returned=4 elapsed=5.439628ms
Error: error returned from database: duplicate key value violates unique constraint "block_details_pkey"

Caused by:
    duplicate key value violates unique constraint "block_details_pkey"

Running against the same source db using v0.80.7 showed no problems.
To Reproduce
Steps to reproduce the behavior:

Download cometbft dbdump from testnet node here https://artifacts.plinfra.net/penumbra-testnet-phobos-2/cometbft-dbdump-height-782476.sql.gz
Import that into a local postgres db
Run pindexer v0.80.8 against it; does it fail?
Drop db and re-try on v0.80.7; does it pass?

Unclear whether the problem is with the latest release of pindexer (if so then #4910 is suspect) or if it's an edge case in the testnet chain data.
Expected behavior
Pindexer v0.80.8 should work just fine on existing testnet data.

The batch processing API on main seems to have fixed this ; closing for now

#4913

authors: conorsch cronokirby

repo: penumbra-zone/penumbra


text:
fix: support windows builds

Follow up to the addition of unix socket support [0], making that feature conditional on building for a target OS family of "unix" [1].
[0] https://github.com/penumbra-zone/tower-abci/pull/35
[1] https://doc.rust-lang.org/reference/conditional-compilation.html#target_family

We will remove this when https://github.com/tokio-rs/tokio/issues/2201 lands.

authors: conorsch erwanor

repo: penumbra-zone/tower-abci


text:
MeterChart value gets cut off when using description label

Hi!
We've been using the metercharts, and have noticed that when displaying the description label, and the maximum-value is <1000, the value can get cut off a bit at the top:

If the maximum value >=1000 there seems to be no problem,

If we do not use a description label, there seems to be no problem:

We do have a good workaround, setting the value-format-callback: meterChart.getValueLabel().setFormatCallback(context -> " " + context.getValue() + " ");
We were just wondering if this is a small bug? Or if there is a way for us to adjust this ourselves by adding some padding or something (I've not been able to find a setting for this)?
As we do currently have a decent workaround there is no need for a quick response, of course!

@AHijner thank you very much for your issue! I think it s is a bug. Let me take time to have a look.

@AHijner I have tried to reproduce the issue but I cannot. Can you share here the code you are using (chart implementation and its config)?

After further investigation, I think the issue is related to auto font size calculation with is checking the width of the label to draw but not the height. I'll do additional tests. it could be helpful to have the size (width and height of the chart) in order to reproduce the issue

My apologies for the late reply! I was busy with some unrelated things and this fully slipped my mind
We don't set any specific height/widht, they are responsive and making them bigger/smaller doesn't seem to have much of an effect. My usual config results in a width/height of 144px.
I did notice that (not)setting the title also influences this 'cutoff', if I don't set the title we can see the full value, though it is not centered well.
The relevant code:
    private MeterChartWidget insufficientStatusChartWidget;
    private MeterChartWidget mediocreStatusChartWidget;
    private MeterChartWidget perfectStatusChartWidget;
    @UiField SimplePanel insufficientStatusChart;
    @UiField SimplePanel mediocreStatusChart;
    @UiField SimplePanel perfectStatusChart;

private void init() {
        //MeterCharts
        insufficientStatusChartWidget = new MeterChartWidget();
        insufficientStatusChartWidget.getOptions().getTitle().setText("Onvoldoende");
        configureStatusChart(insufficientStatusChartWidget, "#E22D33");
        insufficientStatusChart.add(insufficientStatusChartWidget);

        mediocreStatusChartWidget = new MeterChartWidget();
        mediocreStatusChartWidget.getOptions().getTitle().setText("Matig");
        configureStatusChart(mediocreStatusChartWidget, "#FFB11A");
        mediocreStatusChart.add(mediocreStatusChartWidget);

        perfectStatusChartWidget = new MeterChartWidget();
        perfectStatusChartWidget.getOptions().getTitle().setText("Goed");
        configureStatusChart(perfectStatusChartWidget, "#73D470");
        perfectStatusChart.add(perfectStatusChartWidget);
    }

 private void configureStatusChart(MeterChartWidget statusChartWidget, String color) {
        statusChartWidget.getOptions().getTitle().setDisplay(true);
        statusChartWidget.getOptions().setMaintainAspectRatio(true);
        statusChartWidget.getOptions().setResponsive(true);

        MeterDataset statusChartDataset = statusChartWidget.newDataset();
        statusChartDataset.getDescriptionLabel().setContent("Leerlingen");
        statusChartDataset.getDescriptionLabel().setDisplay(true);
        statusChartDataset.setColor(color);
        statusChartDataset.getValueLabel().setColor(color);
        statusChartDataset.getValueLabel().setPrecision(0);
//        statusChartDataset.getValueLabel().setFormatCallback(context -> " " + context.getValue() + " ");
        statusChartWidget.getData().setDatasets(statusChartDataset);
    }

private void setExampleDate() {
        //MeterCharts can only have one dataset
        MeterDataset insufficientStatusDataset = (MeterDataset) insufficientStatusChartWidget.getData().getDatasets().get(0);
        MeterDataset mediocreStatusDataset = (MeterDataset) mediocreStatusChartWidget.getData().getDatasets().get(0);
        MeterDataset perfectStatusDataset = (MeterDataset) perfectStatusChartWidget.getData().getDatasets().get(0);

        insufficientStatusDataset.setMax(10);
        mediocreStatusDataset.setMax(10);
        perfectStatusDataset.setMax(10);
        insufficientStatusDataset.setValue(0);
        mediocreStatusDataset.setValue(0);
        perfectStatusDataset.setValue(10);

        insufficientStatusChartWidget.update();
        mediocreStatusChartWidget.update();
        perfectStatusChartWidget.update();
    }

In case it is relevant, the widget containers each have a css styling, they are contained by another flex container:
.insufficientStatusChart, .mediocreStatusChart, .perfectStatusChart {
    display: flex;
    align-items: center;
    width: 100%;
    height: 33%;
  }

I hope this will be enough so you can reproduce the issue, if not, let me know and I can provide more of our gwt-code etc. for context!

@AHijner thank you very much!! Really appreciated! I'll come back as soon as I'll have time to fix it (I know where it is). I'm very busy as well.

Great! No rush of course :)

authors: AHijner stockiNail

repo: pepstock-org/Charba


text:
K8SPXC-502 add annotations only if vault is not empty

Test name
Status

haproxy
passed

scaling
passed

recreate
passed

storage
passed

smart-update
failed

big-data
passed

init-deploy
passed

self-healing
passed

scaling-proxysql
passed

upgrade
passed

restore-to-encrypted-cluster
passed

limits
passed

monitoring
passed

upgrade-consistency
failed

monitoring-2-0
passed

demand-backup
passed

self-healing-advanced
passed

affinity
passed

one-pod
passed

operator-self-healing
passed

auto-tuning
passed

proxysql-sidecar-res-limits
passed

security-context
passed

scheduled-backup
passed

users
failed

demand-backup-encrypted-with-tls
passed

Test name
Status

haproxy
passed

smart-update
failed

storage
passed

scaling
passed

init-deploy
passed

self-healing
passed

scaling-proxysql
passed

limits
passed

self-healing-advanced
passed

upgrade
passed

monitoring
passed

operator-self-healing
passed

upgrade-consistency
failed

monitoring-2-0
passed

recreate
passed

affinity
passed

restore-to-encrypted-cluster
passed

one-pod
passed

demand-backup
passed

auto-tuning
passed

scheduled-backup
passed

proxysql-sidecar-res-limits
passed

demand-backup-encrypted-with-tls
passed

users
failed

big-data
passed

security-context
passed

Test name
Status

scaling
passed

haproxy
passed

big-data
passed

smart-update
failed

recreate
passed

storage
passed

scaling-proxysql
passed

init-deploy
passed

self-healing
passed

upgrade
passed

restore-to-encrypted-cluster
passed

limits
passed

upgrade-consistency
passed

monitoring
passed

monitoring-2-0
passed

demand-backup
passed

self-healing-advanced
passed

security-context
passed

affinity
passed

one-pod
passed

operator-self-healing
passed

auto-tuning
passed

proxysql-sidecar-res-limits
passed

users
failed

scheduled-backup
passed

demand-backup-encrypted-with-tls
passed

Test name
Status

haproxy
passed

init-deploy
passed

limits
passed

smart-update
failed

monitoring
passed

monitoring-2-0
passed

affinity
passed

one-pod
passed

auto-tuning
passed

proxysql-sidecar-res-limits
passed

users
failed

storage
passed

self-healing
passed

self-healing-advanced
passed

operator-self-healing
passed

recreate
passed

restore-to-encrypted-cluster
passed

demand-backup
passed

scheduled-backup
passed

demand-backup-encrypted-with-tls
passed

scaling
passed

scaling-proxysql
passed

upgrade
passed

upgrade-consistency
passed

security-context
passed

big-data
passed

authors: JNKPercona delgod

repo: percona/percona-xtradb-cluster-operator


text:
Internationalization support for the nunjucks templates

use header information from the requests to determine the current language
use some configurable folder structure or whatever nunjucks offers to send out a localized template based on the language header

It should be able to send a header to local.confirmEmailRedirectURL too or using parameter to callback ?success=true&lang=en or "error=...lang=en" for example to be able to display correct localized html page to the user.

Yeah, that makes sense.

The language can be also set on registration as field and saved in sl-users, but if someone wants to change the language on that user, that should be than possible by another api call for example. Or better approach can be the custom header for every API call.

Or maybe just use the Accept-Language Header. I don't think I want to add setting a language via sl-users in couch-auth.

repo: perfood/couch-auth


text:
A test for #130291

I wonder if this test good enough, feel free to edit or point out anything.
It checks stdout and stderr. It fails on rakudo before a fix and passes on latest.

Thanks a lot!

authors: Altai-man zoffixznet


text:
add support for Eigen::Tensor class (multidimensional arrays)

Default behavior:
1D numpy array <--> Eigen::Vector
2D numpy array <--> Eigen::Matrix
New addition:
ND numpy array (N>2) <--> Eigen::Tensor
Caveat:
Currently only contiguous numpy arrays (not slices) are handled for tensors.
Aside: certain deprecated routines and classes in the python test file have been updated. Maintainers are should be able to reverse any changes.
I encourage maintainers to modify any stylistics as they see fit (I'm allowing edits to PR from maintainers).

P.S. I had to add C++11 to CMake since I've used std::array. I guess everything could, in theory, be done using oldschool static arrays instead, then the C++11 requirement could be removed from CMake.

Looks great! Thanks for your contribution.
I merged the new files into eigen_numpy.h/cc because it already contains conversions for more than one types (Matrix and Transform) and updated the style. For this, I had to remove the copyright head. Instead, I added your credit to CHANGELOG.md. Please let me know if this is not desirable to you.


text:
Create and Configure Docker Postgres

Create a PostgreSQL DB server using Docker (postgres:16). The below need to be considered for authentication and usability

OS/DB Users
Parallel Processing
Threads
Memory
Permanent Volume Location

Bonus: user pgadmin Docker container

Create a repo for any container that is made

Container Memory - Max of 8 GB
DB Memory - 90%
Threads - 4

docker run --rm -d \
    -p 5400:5432  \
    --cpus 4 \
    --health-timeout 30s \
    --memory 8g

postgres configs:

shared_buffers = 8GB
max_parallel_workers_per_gather = 3
max_parallel_maintenance_workers = 1
max_parallel_workers = 4

Volume:
docker volume create --driver local \
    --opt type=nfs \
    --opt o=addr=192.168.1.1,rw \
    --opt device=:/path/to/dir \
    foo

users:

cladis_rw
cladis_ro

ready to start working on the test

Logging cookbook
https://docs.python.org/3/howto/logging-cookbook.html

When an exception happens, delete the container!!

raise an exception but customize it when it happens AFTER deleting the container

repo: personam-solis/cladis-notitia


text:
need workflow file

could you share your workflow file?(DSL）？，thank you

could you share your workflow file?(DSL）？，thank you

Hey! I added one here assets/example_app.yml

authors: perlinson perzeuss

repo: perzeuss/dify-discord-starter


text:
Нов UI за конвертирането на валутите

Конвертиране на 1 към няколко валути посредством последните курсове от базата от данни.

Конвертирането работи, но има 2 неща, които трябва да се добавят:

[ ] Конверт от BGN към други валути. Мдам, забравихме, че има и бг лева :)
[ ] Опресняване на фрагмента за конвертиране след update на валутите

repo: petarov/bgrates


text:
Something is missing?

I tried to use the micro-gui on a WaveShare Pico-LCD-1.3 with ST7789VW. In the setup_examples there is a nearby module just a little smaller (1.14"). So I took st7789_pico_lcd_114_rgb565.py as hardware_setup.py but failed. There is no pico.py in drivers/st7789 and there is no class LCD_1inch14.
So I tried st7789_pico_lcd_114.py which is using drivers.st7789.st7789_4bit. Just adapted the size (in line 27). But running the aclock.py demo, I get a tiny little clock with upper half at the lower edge and vice versa. Some areas do look like random data and the rest keeps black.
Looking in st7789_4bit.py there is a display type WAVESHARE_13 = (0, 0, 16) that is commented as being for the Waveshare 1.3" 240x240 LCD. So I changed the display type in my hardware_setup.py derived from st7789_pico_lcd_114.py to display=WAVESHARE_13. But now with this I do get the message WARNING: unsupported display parameter value. because in st7789_4bit.py only GENERIC, TDISPLAY, PI_PICO_LCD_2 are accepted.
Would it be possible to provide a working setup_examples/st7789_pico_lcd_13_rgb565.py, or give me some hints about missing external parts? Thank you.
PS: class LCD_1inch14 seems to be from waveshare/Pico_code/Python/Pico-LCD-1.14/Pico-LCD-1.14.py.

Different display boards connect the ST7789 to the display hardware in varying ways. The display tuple is intended to enable differing configurations to be accommodated. Unfortunately it's impossible to determine the correct configuration for a display without buying one and there is a limit to the number of these tings I can buy.
Feel free to experiment by creating a new tuple here - you'll see that there are already some user contributions and I'll be happy to accept one from you (and credit you) if you manage to create one that works.
Ignore the warning.

authors: mhgue peterhinch

repo: peterhinch/micropython-micro-gui


text:
🛑 Hornsea Pottery is down

In c298f1f, Hornsea Pottery (https://hornseapottery.co.uk) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Hornsea Pottery is back up in 752a143 after 40 minutes.

repo: peterjse/Upptime


text:
Action is in Reversed State

Everything is configured perfectly except that when a device is turned on, it goes off, when it is turned off, it goes on. The switches are acting in a reversed state.

Change state in Blynk app

authors: albertservices shivamjamshedpur

repo: peterwoj/homebridge-blynk-platform


text:
Problems Updating

Not sure if its a problem with Runner or what, but this plugin constantly says it needs an update and updating (either within Runner or by downloading the latest) doesn't make the alert go away. Just an FYI.

@jaredcommonmedia: Hmm, that's weird. I'll try to investigate. If you can post a screenshot of the alert, that might help. Thanks!

https://cl.ly/1d2X0S0L3v2q/Screen Recording 2017-06-19 at 09.29 AM.gif

authors: jaredcommonmedia petterheterjag

repo: petterheterjag/chromatic-sketch

license: ISC


text:
Example code returns an empty array.

I went through a debugging hell of things, until I realized that even your example will only return an empty array, at least on my computer. With a fresh install of Node 12, a new project initialized with npm init and just your dependency and your example code, I was not able to get ANY result what so ever.

Terminal Things.

➜  test node:(v12.16.1) npm start

> test@1.0.0 start /Users/alt/Documents/Code/_private/test
> node index.js

results []

Recently the structure returned by Google changed. I need to spent some time to adjust it accordingly. Sorry @IamRifki !

Ah, I see.

Google removed meta data. The current image urls are in the js script. The link is added to DOM after the click on thumbnail to open the preview

@yazer79 If that's the case, is it still possible to scrape the images?

@yazer79 If that's the case, is it still possible to scrape the images?

It is still possible to scrape the image but it is unfortunate that there will be no meta data attached to the image. I also think that the scraper will become a lot slower. I'll give it a shot tonight.

@pevers Any luck?

@pevers Any luck?

Not yet. I think I would have to adjust it to click all images after the first page.

@pevers It's been 13 Days, have you found a solution?

I have the same problem with my C# crawler, I still haven't figured out how to be efficient when retrieving Google images ...
Tt really seems to be wanted by Google, the biggest crawler does not want us to crawl its content ^^

@scbj  yes sure, but the links are still rendered when the item is clicked on. I think that's where we should start

@yazer79 Yes indeed it works, I used this technique to recover album covers (square image). It's just slower but it's a solution.

SearchEngine.CrawlImages()
```
private async static Task CrawlImages ()
        {
            var images = browser.Document.GetElementsByTagName("img").ToList()
                .Where(el => el.GetAttribute("alt").StartsWith("Résultat de recherche d'images"))
                .Take(50)
                .ToList();
var covers = new List();
for (int i = 0; i < images.Count; i++)
            {
                HtmlElement image = images[i];
// We want square images
                if (image.ClientRectangle.Width != image.ClientRectangle.Height) continue;
// Open right pane viewer
                image.InvokeMember("click");
                await Task.Delay(350);
// Retreive new added attribute value and extract image url
                string href = image.Parent.Parent.GetAttribute("href");
                string encoded = href.Replace("/imgres?imgurl=", "").Split('&')[0];
var cover = new Cover(
                    rank: i +1,
                    url: encoded.DecodeUrl()
                );
covers.Add(cover);
if (covers.Count == 20) break;
            }
SearchCompleted?.Invoke(covers);
        }
</details>

Any chance of someone doing this for JS?

@IamRifki Before, I think the metadata that was retrieved so far needs to be reviewed. For example, I did not find the MIME type, nor the original dimensions (ow and oh still exist in data- * attribute but no longer correspond to the original size. 🤷♂
https://github.com/pevers/images-scraper/blob/877c9acdb75e15de9139f565ac46c89fc1359e38/lib/google-images-scraper.js#L63-L70

Honestly, I think we would have better luck with Yandex images.

Honestly, I think we would have better luck with Yandex images.

Yes it can there is every metadata we want with Yandex

JSON object in `data-bem` attribute

{
  "serp-item":{
    "reqid":"1584648168944796-1335806668460957398360992-man2-6155-IMG",
    "freshness":"normal",
    "preview":[
        {
          "url":"https://www.pullrequest.com/blog/github-code-review-service/images/github-logo_hub2899c31b6ca7aed8d6a218f0e752fe4_46649_1200x1200_fill_box_center_2.png",
          "fileSizeInBytes":49971,
          "w":1200,
          "h":1200
        },
        {
          "url":"https://www.pullrequest.com/blog/github-code-review-service/images/github-logo_hub2899c31b6ca7aed8d6a218f0e752fe4_46649_1200x1200_fill_box_center_2.png",
          "fileSizeInBytes":49971,
          "w":1200,
          "h":1200
        }
    ],
    "dups":[
        {
          "url":"https://pbs.twimg.com/media/EGim5NPWoAA0DSe.jpg",
          "fileSizeInBytes":40331,
          "w":1200,
          "h":1200
        },
        {
          "url":"https://encodedbicoding.com/wp-content/uploads/2019/08/github-logo_hub2899c31b6ca7aed8d6a218f0e752fe4_46649_1200x1200_fill_box_center_2-1024x1024.png",
          "fileSizeInBytes":62216,
          "w":1024,
          "h":1024
        },
        {
          "url":"https://encodedbicoding.com/wp-content/uploads/2019/08/github-logo_hub2899c31b6ca7aed8d6a218f0e752fe4_46649_1200x1200_fill_box_center_2-768x768.png",
          "fileSizeInBytes":42610,
          "w":768,
          "h":768
        },
        {
          "url":"https://news.fitnyc.edu/wp-content/uploads/2019/07/github-logo_hub2899c31b6ca7aed8d6a218f0e752fe4_46649_1200x1200_fill_box_center_2-400x400.png",
          "fileSizeInBytes":21964,
          "w":400,
          "h":400
        },
        {
          "url":"https://thumbnailer.mixcloud.com/unsafe/60x60/extaudio/7/8/8/4/e6df-cf46-4215-8652-01a224c3e85c",
          "fileSizeInBytes":1340,
          "w":60,
          "h":60
        }
    ],
    "thumb":{
        "url":"//im0-tub-com.yandex.net/i?id=b73623df2718023258a09930a6411585&n=13",
        "size":{
          "width":320,
          "height":320
        }
    },
    "snippet":{
        "title":"Code Review as a Service on GitHub",
        "hasTitle":true,
        "text":"...from professional code reviewers as a part of their <b>GitHub</b> workflow. ",
        "url":"https://www.pullrequest.com/blog/github-code-review-service/",
        "domain":"Pullrequest.com",
        "redirUrl":"http://yandex.com/clck/jsredir?from=yandex.com%3Bimages%2Fsearch%3Bimages%3B%3B&text=&etext=8851.JG6SBOJ42OD7GICSCkcPalAeqijixpkYseMHfW9D70Q.cecaf24f77bc5286274de356bb009abce43d6f0b&uuid=&state=tid_Wvm4RM28ca_MiO4Ne9osTPtpHS9wicjEF5X7fRziVPIHCd9FyQ,,&data=UlNrNmk5WktYejY4cHFySjRXSWhXT2dvRXFMdGp6eUllTUc0NUtqdmV3QXhGemh0ODUtOWkxQTJaVWJrNTFuUGZDWjBhNmdZM056d3pfd0d4X1RtRmcydEM5WmVSa21CSENNbDFRemxhbVAxdTN0NllOcUVMd0xrbmh5eWsyNzdmZVk0QzFmdV94cGNrdlFoOUY5WFh5ZDZTdTA3NW5hag,,&sign=e29933e7f29c5119a214e249ed03f741&keyno=0&b64e=2&l10n=en"
    },
    "detail_url":"/images/search?pos=0&from=tabbar&img_url=https%3A%2F%2Fsoftmap.ru%2Fupload%2Fuf%2Fad5%2Fad574c14aa17a899fd3abbf3cbbec62f.png&text=github&rpt=simage",
    "img_href":"https://www.pullrequest.com/blog/github-code-review-service/images/github-logo_hub2899c31b6ca7aed8d6a218f0e752fe4_46649_1200x1200_fill_box_center_2.png",
    "useProxy":false,
    "pos":0,
    "id":"8e8fb67d232b769dd33da61fa1a5ae22",
    "rimId":"1159c8023b033db98b17681eab3530ed",
    "docid":"Z958BDDFDE12862A4",
    "greenUrlCounterPath":"8.228.471.241.13.141",
    "counterPath":"thumb/normal"
  }
}

But Yandex will not suit everyone. In my opinion, it would be interesting to support Google and Yandex, as desired. The package name will be aptly named for that !
@pevers Can we do that? What are your thoughts?

@scbj I think Peter wants to focus on Google.

@scbj I'm trying to make a yandex version, but I'm stuck at this:
setInterval(() => {
                    // See if we have any results
                    $("data-bem").each((index, element) => {
                        // Check if we've reached the limit
                        if (results.length >= limit) {
                            return resolve(results);
                        }

                        const meta = JSON.parse($(element).find("serp-item"));
                        const item = {
                            width: meta.dups.w,
                            height: meta.dups.h,
                            url: meta.dups.url,
                            thumb_url: meta.thumb.url,
                            thumb_width: meta.thumb.size.width,
                            thumb_height: meta.thumb.size.height,
                        };

                        if (!results.filter(result => result.url === item.url).length) {
                            results.push(item);
                        }
                    });

                    // Check if we've reached the bottom, if yes, exit
                    if ($(window).scrollTop() + $(window).height() == $(document).height()) {
                        return resolve(results);
                    }

                    // Scroll
                    $("html, body").animate({ scrollTop: $(document).height() }, 1000);
                }, 1000);
            });```

It's incorrect as it doesn't return any images, is there anything I should change?

@IamRifki To make it work with Google you can add this at the beginning of the file :
function contextScript (limit) {
  const delay = ms => new Promise(resolve => {
    setTimeout(resolve, ms)
  })
  return new Promise(async resolve => {
    const results = []
    const elements = document.querySelectorAll('a[jsaction="click:J9iaEb;"]')
    for (const element of elements) {
      try {
        element.click()
        await delay(120)
        const href = element.getAttribute('href').slice(15).split('&')[0]
        const height = element.parentElement.getAttribute('data-oh')
        const width = element.parentElement.getAttribute('data-ow')
        results.push({
          url: unescape(decodeURI(href)),
          height,
          width
        })
      } catch (error) {
        results.push({ error: error.toString() })
      }

      if (results.length > limit) {
        break;
      }
    }
    resolve(results)
  })
}

And replace the page.evaluate(...) call by :
const results = await page.evaluate(contextScript, self.limit);

@scbj It's Yandex, not Google.

@scbj Does email sound good?

@scbj yes sure, but the links are still rendered when the item is clicked on. I think that's where we should start

The links are rendered and start with "/imgres?imgurl" when you right click the item. So we don't have to actually load the full res image.

This code can return a maximum of 100 elements. If you want me to help you on a project with Yandex I think you should create another issue or a new repository to not pollute this issue 😉 At least until @pevers has said what it intends to do regarding the search engine used

@scbj I think it is a good idea to support multiple search engines. Yandex is built for it. It is a constant game of catch and mice and as you might have seen I was pretty busy. So a search engine that has an API wouldn't be hard to maintain :).

The links are rendered and start with "/imgres?imgurl" when you right click the item. So we don't have to actually load the full res image.

@smokes I gave it a try 2 weeks ago and I noticed that the complete URLs are loaded once you hover/click the item. So what could potentionally work:

Load page
Open next thumbnail
Right click item
Fetch url
Continue to 2 until there are no more items
Scroll if possible or exit
Repeat 3

Hey, so after a while I made a working script that actually works. One thing to keep in mind if you're going to implement step number 3 (Right click item) is to not use puppeteer for sending right clicks.
Just send a "mousedown" MouseEvent in the browser which is almost instant.
Here's a gist containing my approach:
https://gist.github.com/smokes/f951a219e85058a051bf11ef8e72780d

I wrote my own solutions for Yahoo and Ecosia, I tried Yandex, but it seems to be a bit complex. https://github.com/IamRifki/alt-image-scraper

I think it is a good idea to support multiple search engines. Yandex is built for it. It is a constant game of catch and mice and as you might have seen I was pretty busy. So a search engine that has an API wouldn't be hard to maintain :).
@pevers Great for multiple search engines. On the other hand I am not sure that I understood. Yandex doesn't have a search API, so what did you mean?

Hey, so after a while I made a script that actually works. One thing to keep in mind if you're going to implement step number 3 (Right click item) is to not use puppeteer for sending right clicks.
Just send a "mousedown" MouseEvent in the browser which is almost instant.
@smokes Thank you, we can take inspiration from it! However, the "limit" option is a bit confusing here. So far this was the desired number of results.

So far, so good, I will write a generic implementation (DRY), supporting Google (to respect the initial philosophy) while also implementing Ecosia, Yahoo and Yandex.

@scbj The limit option is the amount of scrolls to the bottom of the page. limit = 1 results in 100 images. Sorry for the confusing code 😄

@smokes No worries 😄, it's just that I think the "limit" parameter should refer to the expected number of results

Yeah, well the way its coded is that it scrolls the the bottom multiple times until it reaches the scroll limit or there are no more results and then grab the urls. I don't know of any way to make it scrape simultaneously while scrolling.

@pevers I worked on it, does this API seem suitable to you?

Yeah, it looks fine by me.

@pevers @smokes @IamRifki I worked on it, does this API seem suitable to you?

Nice! I like the idea of having an interface for different search engines. I do think that we need to move engine specific options as much as possible to the Scraper instance constructor.
So we call new Scraper({ engine: 'yahoo', ...yahooSpecificOptions }) . That will construct a new YahooScraper And the YahooScraper class will throw an error for invalid options when constructed.
The search interface should only have query and limit (not specific engine settings).
Otherwise it would become really difficult to remember what options you should use for what engine.
I'm going to have a look at @smokes his implementation right now.

I have committed a fix. Let me know if it is still broken because it might differ per platform and internet speed.

about an hour ago the results array became empty again

Thanks @letoribo for reporting. I think it is fixed in: https://github.com/pevers/images-scraper/pull/50

yes, i can confirm, thank you.
my app does work now:
https://spaces3d.herokuapp.com/

the results array is sometimes still empty.
fixed this by switching to page.waitForSelector:
https://github.com/letoribo/images-scraper/commit/68737b3167ad4f46e9340b093a6218699e1201a2

the results array is sometimes still empty.
fixed this by switching to page.waitForSelector:
letoribo@68737b3

Thanks! Can you open a pull request. Then I will merge it.

authors: IamRifki letoribo pevers scbj smokes yazer79

repo: pevers/images-scraper

license: isc


text:
Engie - Wrong city spelling for the Tehnician Operational SSM position

ENVIRONMENT: production
URL: https://firme.peviitor.ro/
Browser: Safari
Device: Laptop
OS: macOS 14 Sonoma
STEPS TO REPRODUCE:

Open URL in browser
Type "Engie" in the search bar
Click on "Cauta"
Right-click and select "Inspect"
Copy the Request cURL: https://api.peviitor.ro/v3/search/?company=engie&country=România&page=3
Open Postman and create a new entry with GET request
Click on "Send"

EXPECTED RESULT:
The GET request should return a response with a status of 200 OK and information related to job openings retrieved from the API response should match the information related to job openings listed on the official website of Engie and on the peviitor.ro website.
ACTUAL RESULT:
Ploiesti city is misspelled.

fiex

authors: IurieChi claudiaelenarusu


text:
"Horodniceni" is listed in the drop-down menu

Description:
"Horodniceni" is listed in the drop-down menu alongside its corresponding county according to the law
Precondition:
The website is up an running.

Step 1
Type "Horodniceni" in the search bar.

Expected results
The location is listed in the drop-down menu as "Comuna Horodniceni, SUCEAVA".


text:
"Valea Mare", "Fețeni", "Gârleni", "Livezile", "Saru", "Stratonești", "Valea Caselor" are listed in the drop-down menu

Description:
When user writes "Valea Mare", "Fețeni", "Gârleni", "Livezile", "Saru", "Stratonești", "Valea Caselor" the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Valea Mare"

Expected results
The location appears in the drop-down menu as "Sat Valea Mare, DÂMBOVIȚA ( Valea Mare)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Fețeni"

Expected results
The location appears in the drop-down menu as "Sat Fețeni, DÂMBOVIȚA (Valea Mare)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Gârleni"

Expected results
The location appears in the drop-down menu as "Sat Gârleni, DÂMBOVIȚA (Valea Mare)".

Step 6
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 7
Write in the search bar "Livezile"

Expected results
The location appears in the drop-down menu as "SatLivezile, DÂMBOVIȚA (Valea Mare)".

Step 8
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 10
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 11
Write in the search bar "Stratonești"

Expected results
The location appears in the drop-down menu as "SatStratonești, DÂMBOVIȚA (Valea Mare)".

Step 12
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 13
Write in the search bar "Valea Caselor"

Expected results
The location appears in the drop-down menu as "Sat Valea Caselor, DÂMBOVIȚA (Valea Mare)".


text:
"CÂMPULUNG MOLDOVENESC" is listed in the drop-down menu

Description:
When user writes "CÂMPULUNG MOLDOVENESC"" the location appears in the drop-down menu next to the comune and the county which is a part according to the law
Precondition:
The website is up an running.

Step 1
Type "CÂMPULUNG MOLDOVENESC" in the search bar.

Expected results
The location is listed in the drop-down menu as "Oraș CÂMPULUNG MOLDOVENESC, SUCEAVA (CÂMPULUNG MOLDOVENESC)".


text:
Support boolean array indices for scatter_add

merge after #2099
This PR supports boolean array indices for cupy.scatter_add.

LGTM!

repo: pfnet/chainer


text:
Support LSTMs of cuDNN (LSTM/BiLSTM)

cuDNN RNN supports various types of RNNs.
I modify current LSTM to use NStepRNN common class. (#2467 )

[x] NStepLSTM
[x] NStepBiLSTM

I have modified NStepLSTM/ NStepBiLSTM to use common class which is defined at NStepRNN.
Note: I have to re-write docstring for NStepBiLSTM.

LGTM

authors: aonotas unnonouno


text:
Fix a bug in sentiment analysis example when using GPU

When GPU is used, y.data is chainer.cuda.gpuarray.GPUArray.
So, an error is occurred: AttributeError: 'GPUArray' object has no attribute 'argmax'
This modification is somewhat ugly...
Is there more sophisticated way?

Thank you very much!!! I'll check it.

Please use to_cpu method which converts GPUArray to numpy.ndarray, and ignores numpy.ndarray:
cuda.to_cpu(y.data).argmax(1)

:cool:

Thank you very much!! It works well.

authors: unnonouno y-tag


text:
Use namespace .ctzn in API

I think the CTZN API should be shared with the already implemented webserver, so you can have your blog in your domain.com and share the same domain with your CTZN server.
To keep this far from URL conflicts, the URL of the APIs should be preceded by the a namespace. I suggest .ctzn
Info: matrix protocol does that, prefixing all the api with _matrix

Mmm you're probably right that we should, yes.

authors: Lohn pfrazee

repo: pfrazee/ctzn


text:
Fix #5252 Preserve alias when editing an existing rule

and default src and dst to any when creating a new rule.

Before this pull request can be accepted you must first sign a CLA as described at https://www.pfsense.org/about-pfsense/#cla. Please read for more details.

1/ The CLA script is clearly still broken.
2/ The "we cannot be bothered with braces in singleline if/else is a disaster in itself.

Merged. Thank you!

nice!

authors: ariyako doktornotor pfSense-git-updates phil-davis sbeaver-netgate

repo: pfsense/pfsense


text:
Feature/issue #42 & #44 tasks and tasks list

@tnightingale @trisapeace @rasmus-storjohann-PG  So this is the first crack at tasks and task list(s). I suspect very much this will evolve. Following I've outlined what I've implemented and assumptions I've made:

A "task" currently represents an actionable item a user can interact with ie. add/remove/star/share
A task holds a reference to its "definition" as defined by pathways.  A task definition includes for example a title, description, tags, category etc... The separation here allows us to update task definition data without touching task data.
A task list is a container for tasks. I'd intend this to be used for "saved tasks", "suggested tasks", "sub tasks" etc...
The "My Plan" page currently displays tasks taken from what I'd envision to be the user's "saved tasks".  I've rendered it twice just to demonstrate what some of the newer designs suggest .. naturally UI state is not wired up (see below).

All the necessary functionality for tasks to "work" is currently in place (run the tests).  I've not wired up the UI to demonstrate how the actions work as that would fall out of the scope of issues #42 & #44.  I'd like to see the next tasks related issue be around demonstration how to we can add tasks from the suggested list into the saved list or something along those lines. Anyways let me know what you think and cheers for the feedback.

Hold off on reviews for this. I'm currently in the process of adjusting the data model.

The store for tasks now looks as follows:
{
    taskMap // Task objects with fields: title, description, tags etc...
    taskUserSettingsMap //  Task user settings objects with fields: taskId, starred, completed etc...
    savedTasksList // A list of task ids representing "saved" tasks
    suggestedTasksList // A list of task ids representing "suggested" tasks
}

@rasmus-storjohann-PG I had already done the refactoring work for this structure prior to discussions with you about potentially keeping everything in one "table". I don't think there is a strong enough case against this structure and have opted to leave it as is until the need arrises to change it.

I've stubbed this in https://github.com/pg-irc/pathways-frontend/issues/78 which would rely on this work.

repo: pg-irc/pathways-frontend


text:
security must be a list

On the how to guide "Security Schemes" there is a bug. The 'security' argument must be a list, even if you have only one security model. This makes swagger ui load forever when clicking 'execute'.

Thanks, fixed in d4dd6ea60d14b51d837599b6c1dce8121459ba16

authors: mathgamain pgjones

repo: pgjones/quart-schema