Support for React classes

I think this was working in 3.6.1 but it isn't anymore in 3.8.0
import React from 'react'

export default class extends React.Component {

    props: {
        children: React.Component
    }

Please see the discussion in #125, do you get an error or just no validation?

You will get a prop validation error because children is not an instance of a React.Component, but is instead a ReactElement. Those don't have a prototype though, so you will have to define a custom type or use Object.

@ntkoopman how to define a custom type for it? Any examples?

@okonet you can create a simplified copy of the definition at https://github.com/facebook/flow/blob/master/lib/react.js#L111
e.g.
type React$Element = {
  type: Function;
  props: Object;
  key: ?string;
  ref: any;
};

Hi, sorry for taking so long to respond to this, this project is now deprecated in favour of https://codemix.github.io/flow-runtime which aims for full compatibility with Flow.
babel-plugin-flow-runtime and flow-runtime have full support for React.


Worker lifecycle management

There should be options for worker lifecycle management.  E.g. start docker worker / stop docker worker.
~Created #16 to address Docker flavor of this~ UPDATE: Docker worker management was marked as wontfix

There's plenty of vs code docker extensions to control docker, including official ones from docker.

Re-opening for triage. This isn't just about Docker lifecycle management, this is about worker lifecycle management. Will need to consider for DHE cases as well. Probably will be an epic broken into multiple tickets.
For docker worker management, we can provide an example of how to do that with the existing Docker.


Allow Remove-ServiceFabricReplica to be used on stateless services.

Modify the text for Restart Replica action to be say "Restart can only be performed on persisted services. For Volatile or stateless Services use remove." and add the ability to call remove on stateless services.

#232


Fixes CoordGen regression

Fixes the CoordGen regression that was causing 10x slower performance compared to the past.
Before this fix:
%%time
rdDepictor.SetPreferCoordGen(True)
for m in chembl_mols_2000:
    rdDepictor.Compute2DCoords(m)
CPU times: user 18min 10s, sys: 868 ms, total: 18min 11s
Wall time: 18min 10s

After:
%%time
rdDepictor.SetPreferCoordGen(True)
for m in chembl_mols_2000:
    rdDepictor.Compute2DCoords(m)
CPU times: user 2min 5s, sys: 53 ms, total: 2min 5s
Wall time: 2min 5s

Awesome, thanks Paolo!


Input field can not drag the cursor to the last letter

After paste some text, if the text in the input field is too long to display, user need move the cursor to the last one and edit, but the cursor can not be drag to the last letter, just the end of the field.

duplicated with #90


Credits earned on 1.18 are significantly lower than 1.17

We first trialled 1.18.12 a few weeks on when this was requested on MB, where we noticed this issue and called it out on Discord.
We started running 1.18.14 at the end of epoch 617 and have again noted the issue.
Validator Vote account: GE6atKoWiQ2pt3zL7N13pjNHjdLVys8LinG8qeJLcAiL
Typical (consistent across last couple dozen epochs) behaviour is that the validator is in the top 100 in terms of credits earned (e.g. solana validators -r -n --sort=credits.
On 1.18.x I immediately notice the validator begins dropping in the rankings. Now in epoch 618, having run 1.18.14 without interruption and with almost no skipped leader slots, the validator is ranked ~1654 by credits and has approx 3.2% fewer credits than the 50th ranked validator (leaving out the top 49 as these contain modded nodes).
Of the 5 validators running 1.18.14 at the time of writing this issue 4 are ranked 1600+ by credits. If filtering by 1.18 with all patch versions there are 4 validators at the top and all others at the bottom.
We are running jito + crental scheduler. Will try without central scheduler to see if this helps and might explain the few validators at the top.
cc @apfitzge

Will be interesting if this goes away when not using central-scheduler. Central scheduler should not affect the way that voting is done by node to my knowledge.

Will be interesting if this goes away when not using central-scheduler. Central scheduler should not affect the way that voting is done by node to my knowledge.

Just a further data point, as of currently there are no 1.18 nodes in the top 1000 ranked by credits, except for three obvious vote modded nodes. I will switch to the old scheduler before the epoch ends to see the effect in the new epoch. This issue so far is persisting

#34120 i suppose
it can be tested empirically by commenting
// (VOTE_THRESHOLD_DEPTH_SHALLOW, SWITCH_FORK_THRESHOLD),

I applied Diman's suggestion and can confirm this so far appears to have stopped the loss in credits
The issue here is that validators will mod their clients to remove this change then as it results in higher credits.

cc/ @AshwinSekar @t-nelson

solana-labs#34120 i suppose it can be tested empirically by commenting
// (VOTE_THRESHOLD_DEPTH_SHALLOW, SWITCH_FORK_THRESHOLD),

We've moved this shallow check to log-only, and backported for the next 1.18 release. This should resolve the decrease in vote credits for 1.18.
We will monitor metrics and reintroduce this check in the future in such a way that maximizes vote credits while still having the intended effect of reducing minor fork depth.


Add unit tests for GetStaticBuffer functions

Description

Add unit tests for the various ...GetStaticBuffer() functions added in https://github.com/FreeRTOS/FreeRTOS-Kernel/pull/641. The ...GetStaticBuffer() functions are test for the following behaviors:

For static objects,  ...GetStaticBuffer() returns pdTRUE and static object's buffers
For dynamic objects, ...GetStaticBuffer() returns pdFALSE and leaves the return arguments unchanged.

Test Steps

cd FreeRTOS/Test/CMock/
make

Checklist:

[x] I have tested my changes. No regression in existing tests.
[x] I have modified and/or added unit-tests to cover the code changes in this Pull Request.

Related Issue

https://github.com/FreeRTOS/FreeRTOS-Kernel/pull/641
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

It looks like the kernel submodule pointer is not updated along with this PR.
It is intended or we also need to update the submodule pointer?


[FEATURE REQ] Sparrow server

Instructions for the new sparrow wallet server terminal interface

Exist: https://twofaktor.github.io/minibolt/guide/bonus/bitcoin/sparrow-terminal.html


Continuously running carousel (ticker, marquee, ..)

Hello everybody
I'm using Embla already in a project and it's great. Thank you for the amazing work!
Now I have the use case to build a carousel which runs continuously like a "stock market" ticker. So no speed up and slow down. Do you think it's easy to build something like that with Embla? Where would be a good starting point?

Hello Robin (@openscript),
Thank you for your question.
Is this CodeSandbox what you’re looking for?
Let me know if I understod you correctly and it did help.
Best,
David

Hello David (@davidcetinkaya)
Thank you for the very quick response.
The CodeSandbox shows exactly what I want, except that it doesn't start running after it has been dragged, but I think it's not to hard to implement this for the settle hook? :)

Hi again Robin (@openscript),
Yes I think the settle hook is appropriate for what you want to achieve. So something along those lines:
embla.on('settle', () => {
  /*
    Run the same code that scrolls the carousel slowly.
    You probably want to extract it into a reusable function
  */
})

Please let me know if you have other requirements or questions.
Kindly,
David

Thank you for taking the time and helping me out.
I've tried to implement it for a while, but I get very strange side-effects. I thought a video of the screen would be the easiest to show it:
https://drive.google.com/file/d/1rBKMEgZJFVjHT49NW9YL5_2PpxtwU3BJ/view
My code looks like this:
import styled from '@emotion/styled';
import { useEmblaCarousel } from 'embla-carousel/react';
import { EmblaCarousel } from 'embla-carousel/vanilla';
import { Engine } from 'embla-carousel/vanilla/components/engine';
import React, { useEffect } from 'react';

const Viewport = styled.section`
  overflow: hidden;
`;

const Container = styled.div`
  display: flex;
`;

const Slide = styled.div`
  position: relative;
  min-width: 100%;
`;

export type TickerProps = {};

export function Ticker() {
  const [tickerRef, ticker] = useEmblaCarousel({ loop: true, dragFree: true, containScroll: 'trimSnaps' });

  const startScrolling = (engine: Engine, ticker: EmblaCarousel) => {
    engine.scrollBody.useSpeed(0.01);
    engine.scrollTo.index((ticker.scrollSnapList().length || 0) - 1, -10);
  };

  useEffect(() => {
    const engine = ticker?.dangerouslyGetEngine();

    if (engine && ticker) {
      ticker?.on('settle', () => startScrolling(engine, ticker));

      startScrolling(engine, ticker);
    }
  }, [ticker]);

  return (
    <Viewport ref={tickerRef}>
      <Container>
        <Slide>111111111111</Slide>
        <Slide>222222222222</Slide>
        <Slide>333333333333</Slide>
      </Container>
    </Viewport>
  );
}

Would it help you if I set up a CodesandBox? Do you have a Embla TypeScript React sandbox I could use?

Hello Robin (@openscript),
Thank you for the additional information. Seems like I might have misunderstood your requirements.

It seems like the original has the same problem without my modifications. If you wait until it comes to the end, it is also getting slower and slower.

This is intentional. The requirements mentioned in issue #105 was to show users that the content is scrollable. So the idea was to start scrolling from the beginning and stop scrolling at the end of the content. The easing at the beginning and the end was not an issue there.
So let's go through your use case and requirements. Is this what you're looking for:

The content should scroll automatically without any easing whatsoever as long as the carousel isn't dragged.
It should scroll and loop endlessly.
It should stop when the user drags the carousel and start over when the carousel has settled

?
Kindly,
David

Hello David (@davidcetinkaya)
It made me happy to see your kind reply. Thank you!
Yes, I think we are talking about the same use cases. Easing is not required, but it would maybe be nice for the speed up at the beginning and after dragging. Easing at the end doesn't make sense to me, if it's an endless loop.
I want to achieve something like on the https://www.gatsbyjs.com/ website, but with dragging:

Have a great day,
Robin

Hi Robin (@openscript),
Thanks for the example link. That helps 🙂. I'll see if I can create a CodeSandbox for you. I'll let you know how it goes when I've had the chance to do so.
Best,
David

Hello again Robin (@openscript),
I've created a CodeSandbox for you. This sandbox basically re-creates the internal Embla animation loop without the easing.
Please let me know if it meets your requirements.
Kindly,
David

Hi David (@davidcetinkaya)
Thank you so much! This is exactly what I wanted to achieve :)
Have a great day
Robin

Hi Robin (@openscript),
Just realized that you should probably stop the auto scrolling and start it again by hooking on to the Embla resize hook.
embla.on('resize', () => {
  stopAutoScroll();
  startAutoScroll();
});

I will update the CodeSandbox when I get the chance, but feel free to implement it yourself until then.
Have a nice week!
David

Hello, this solution isn't working since version 4.4.0. Loop does not working properly. Is here any solution for 4.5.3 please? To reproduce it you can only swap version in your CodeSandobox or my modified version with 4.5.3 and faster scroll.

Hi @filiptvarek,
Thanks for noticing this. It stopped working because I refactored some internal methods in later versions. I've updated the original CodeSandbox in this comment and it should work as expected now.
Cheers,
David

I works. Thank you very much

How can i make the carousel have 3 images per page. Rather than one big one?

@davidjerleke thanks! Ran into another issue though... When i set the slide size to 10%, slidesToScroll: 5, there's a huge gap on the left side, and slides start to disappear.  How do i fix this issue?

@Github010101011 I have no idea what your setup looks like so I don't know why you have a huge gap.

hey @davidjerleke thank you for creating this example! is there a way to control the speed of the carousel when implementing it like this?

Curious on how to do this with Vanilla JS?

@ameliagroen @samdhoffman As for VanillaJS, I am fiddling around with this myself. And this seems to be working for me.
But tbh I am not very familiar with the requestAnimationFrame API. So I don't know if this might lead to any drawbacks.

let rafId = 0;

const animate = () => {
  if(!embla) return
  const engine = embla.dangerouslyGetEngine();
  engine.location.add(-0.025); // controls the speed
  engine.target.set(engine.location);
  engine.scrollLooper.loop(-1);
  engine.slideLooper.loop();
  engine.translate.to(engine.location);
  rafId = requestAnimationFrame(animate)
}
const startAutoScroll = () => {
 rafId = requestAnimationFrame(animate)
}
const stopAutoScroll = () => {
  rafId = cancelAnimationFrame(rafId) || 0;
}
embla.on("settle", startAutoScroll);
embla.on("pointerDown", stopAutoScroll);
startAutoScroll();

Hope this helps :)

Hey guys,
Thank you very much for sharing the snippets of ticker functionality.
I'm currently using it with variable width but for some reason it doesn't loop back when its on ticker mode.
If I'm using drag, looping is working as intended.
I think I'm missing something with internalEngine method. I tried looking in docs but can't find any reference for this.
Here is a CodeSandbox for your reference.
Thank you so much guys!

Hey everyone 👋  Super cool example! Can anyone tell me how to control the speed of the ticker animation?

@abdulrauf11 just change the number here
    engine.location.add(-1);
    engine.scrollLooper.loop(-1);

I'm using 0.3 which is a slower speed

Hey guys,
Thank you very much for sharing the snippets of ticker functionality.
I'm currently using it with variable width but for some reason it doesn't loop back when its on ticker mode.
If I'm using drag, looping is working as intended.
I think I'm missing something with internalEngine method. I tried looking in docs but can't find any reference for this.
Here is a CodeSandbox for your reference.
Thank you so much guys!

Same here :(

@ameliagroen @samdhoffman As for VanillaJS, I am fiddling around with this myself. Adapting the sandbox above, this seems to be working for me. But tbh I am not very familiar with the requestAnimationFrame API. So I don't know if this might lead to any drawbacks.
let rafId = 0;

const animate = () => {
  const engine = embla.dangerouslyGetEngine();
  engine.location.add(-0.025); // controls the speed
  engine.target.set(engine.location);
  engine.scrollLooper.loop(-1);
  engine.slideLooper.loop();
  engine.translate.to(engine.location);
  rafId = requestAnimationFrame(animate)
}
const startAutoScroll = () => {
 rafId = requestAnimationFrame(animate)
}
const stopAutoScroll = () => {
  rafId = cancelAnimationFrame(rafId) || 0;
}
embla.on("settle", startAutoScroll);
embla.on("pointerDown", stopAutoScroll);
startAutoScroll();

Hope this helps :)

Unfortunately this doesn't work from v8 onwards :/

It is a pity that there is no official example that would be supported when the next update version is released.

Hi @7iomka,
I don't doubt that you mean well, but I don't think it's helping. I'm the sole maintainer of this project and always have an insane backlog. This is what's been done for the upcoming v8.
If devs really want me to add more features/plugins, and if I'm to spend even more of my unpaid spare time than I already do, I have to be motivated by something. I want this comment to be constructive so here are ways to not just say I want this an that, but also actually support this project:

⭐ Star it if you already haven't, and you find yourself using it in multiple projects and you're overall satisfied with it.
📣 Share it in social media like Reddit or similar.
💰 Donate to this project.

More support means better chances for me to add more examples, more features and plugins.
Best,
David

Hello,
For this sandbox that was shared earlier by @davidjerleke:
https://codesandbox.io/s/embla-carousel-react-github-issue-114-3jf38?file=/src/js/EmblaCarousel.js:1275-1289
I have noticed a bug where when you right click on the carousel slides the carousel starts to move faster, as you keep right clicking it goes on faster and faster.
What could be causing this?

in version  "embla-carousel-react": "^8.0.0-rc14", this example not work anymore

[https://codesandbox.io/s/embla-carousel-react-github-issue-114-forked-9wm39t?file=/package.json:198-237](i fork codesandbox with new version)

@Poylar there is a plugin being developed for this purpose which will be named embla-carousel-auto-scroll which is 80% complete at the time of writing.

Hi @Poylar, @dash-james, @AmeerSapadmi, @7iomka, @pedrobernardina, @abdulrauf11, @ameliagroen, @ruie, @samdhoffman,
I'm very close to wrapping up this plugin. If anyone would like to help out and test it out before the release, I would very much appreciate that. Maybe we can catch one or two bugs before the release.
If you're interested, I'm going to create CodeSandboxes that I will share with you here so let me know what setup you prefer:

Vanilla
Vanilla + TypeScript
React
React + Typescript
etc.

Thanks in advance!

Hey @davidjerleke I would prefer React + Typescript. Also may I know what test scenarios you want me to cover? I have never done this before 😅  but I would love to do it 😬 . Please guide me. TIA.

hi, i would prefer react + js

@Poylar and @mdrahiem thank you for considering testing this plugin. CodeSandboxes here:
React + JavaScript

Code view
App view

React + TypeScript

Code view
App view

Also may I know what test scenarios you want me to cover?

Please feel free to test it anyway you want. For example, you can read what the different options do below and test and see if they behave as expected. I will temporarily just dump the documentation page for the AutoScroll plugin below:

Documentation
Options
Below follows an exhaustive list of all Auto Scroll options and their default values.
speed
Type: number
Default: 2
Number of pixels auto scroll should advance per frame.

startDelay
Type: number
Default: 1000
Number of milliseconds auto scroll should wait before it starts. This also applies when user interactions end and stopOnInteraction is false.

direction
Type: string
Default: forward
This option is used to set the auto scroll direction. Set it to backward if you want it to scroll in the opposite direction.

playOnInit
Type: boolean
Default: true
If set to false, you'll have to start auto scroll yourself by calling the play method.

stopOnInteraction
Type: boolean
Default: true
If set to false, auto scroll will not be disabled after drag interactions, and it will restart every time after an interaction.

stopOnMouseEnter
Type: boolean
Default: false
When enabled, auto scroll will stop when a mouse pointer enters the Embla Carousel container. If stopOnInteraction is also false, auto scroll will resume when the mouse leaves the carousel container.

stopOnFocusIn
Type: boolean
Default: true
When enabled, auto scroll will stop when a focusable element inside the carousel recieves focus. If stopOnInteraction is false, auto scroll will resume when the user leaves focus.

rootNode
Type: (emblaRoot: HTMLElement) => HTMLElement | null
Default: null
The node that should respond to user interactions like stopOnMouseEnter and stopOnInteraction. If this is omitted, the node that wraps the Embla Carousel will be used as default.

Methods
Below follows an exhaustive list of all Auto Scroll methods with their respective parameters and return values.

play
Parameters: startDelayOverride?: number
Returns: void
Start auto scroll. Pass a startDelayOverride if you want to change the startDelay option after the plugin has been initialized.

stop
Parameters: none
Returns: void
Stops auto scroll.

reset
Parameters: none
Returns: void
Stops auto scroll and starts over. This will only take effect if auto scroll is playing. If auto scroll is stopped, this method won't trigger anything.

isPlaying
Parameters: none
Returns: boolean
Returns a boolean whether the carousel is auto scrolling or not.

Events
Below follows an exhaustive list of all Auto Scroll events together with information about how they work.

autoScroll:play
Once: no
Fires when auto scroll starts playing.

autoScroll:stop
Once: no
Fires when auto scroll stops scrolling.

@davidjerleke hi, should I create a new bug issue or reply to you here?

@Poylar since this isn’t released yet, you can reply to me in the PR here:

#634

Thanks!

Hello @davidjerleke I did test options and methods and below are the results.
Options:
✅ speed
✅ startDelay
✅ direction
✅ playOnInit
✅ stopOnInteraction
✅ stopOnMouseEnter
✅ stopOnFocusIn
❓ rootNode
Methods:
❌ play
✅ stop
❌ reset
❌ isPlaying
Events:
❓autoScroll:play
❓autoScroll:stop
✅ - Success  ❓- Not sure how to test    ❌ - Not working (I think)
For isPlaying I tried the below code.
     <div>
        status:{' '}
        {emblaApi?.plugins().autoScroll?.isPlaying()
          ? 'playing'
          : 'not playing'}
      </div>

For play, reset I tried with below code.
  const stopPlay = useCallback(
    (index) => {
      if (!emblaApi) return
      emblaApi.plugins().autoScroll?.stop()
      emblaApi.scrollTo(index)
    },
    [emblaApi]
  )

  const resumePlay = useCallback(
    (index) => {
      if (!emblaApi) return
      emblaApi.plugins().autoScroll?.play()
      emblaApi.scrollTo(index)
    },
    [emblaApi]
  )

  const resetPlay = useCallback(
    (index) => {
      if (!emblaApi) return
      emblaApi.plugins().autoScroll?.reset()
      emblaApi.scrollTo(index)
    },
    [emblaApi]
  )

      <button onClick={stopPlay}>Stop</button>
      <button onClick={resumePlay}>Resume</button>
      <button onClick={resetPlay}>Reset</button>

Please correct me if my above implementation is wrong for play, reset, isPlaying and I would be glad to test Events if I find some example. Thanks!

Thanks a lot for testing @mdrahiem!
I will update the CodeSandbox with the playing state, events and demonstrate how to do it. Stay tuned 👍.

Also an update on browsers.
✅ - Chromium Engine Version 120
✅ - Firefox 121.0
✅ - Safari Version 17.2.1

@mdrahiem please check the CodeSandbox again, I've added the features you weren't sure about so you can see how it's intended to work.
Best,
David

Thanks for updating the code @davidjerleke Below is the update on testing.
Methods:
✅ play
✅ stop
✅ isPlaying
Events:
✅ autoScroll:play
✅ autoScroll:stop
❌ reset - I was expecting the slider to be reset (start from slide 1) but what I see is, it stops for a while (because of startDelay) and then it plays from the same position. Please correct if my expectation is wrong.
❓ rootNode - I still couldn't find any implementation for this. I see the implementation in javascript version though. 😄

@mdrahiem thank you for testing again 🙂!

❌ reset - I was expecting the slider to be reset (start from slide 1) but what I see is, it stops for a while (because of startDelay) and then it plays from the same position. Please correct if my expectation is wrong.

I think I need to update the description of what this does. That's valuable input, thanks 👍. The reset method does the following:

If auto scroll is scrolling, it stops.
When the carousel settles, the timer restarts using the startDelay option value.

It's useful when you're using previous/next buttons and want the carousel to continue after the user has navigated with the buttons and the carousel has settled. See here and here.

❓ rootNode - I still couldn't find any implementation for this. I see the implementation in javascript version though. 😄
This allows you to select a custom element that should listen for mouseenter and mouseleave, if you don't want the default Embla root node (which is the element you attach emblaRef to). It's used when stopOnMouseEnter is true.

Did these explanations make sense?
Best,
David

Thank you so much for taking time and explaining these. They makes sense now 🙂

@mdrahiem thanks for testing ⭐! The plugin will be released soon.

Thanks that's very kind of you @mdrahiem. @mdrahiem and anyone else reading this for that matter:
If you want to make contributions you can browse discussions with the label help wanted. We are happy to accept contributions from our users. For more details see the contributing guidelines.
After your pull request have been merged, you will automatically be added as a contributor here and here.
Best,
David

Sorry guys, was just about to publish this package but someone has taken a too similar name so I've asked them to unpublish their package before I can release the official package: https://github.com/nwidynski/embla-carousel-autoplay/issues/1.

Sorry guys, was just about to publish this package (embla-carousel-auto-scroll), but someone has taken a too similar name so I've asked them to unpublish their package before I can release the official package:

Package name confilct nwidynski/embla-carousel-autoplay#1.

Update 2024-01-29
The person in question unpublished their package but the NPM registry threw errors when I tried to publish embla-carousel-auto-scroll. I've contacted NPM support and they said that the package wasn't properly unpublished so they did that for me. Unfortunately, NPM say that I have to wait 24h before I can try publishing embla-carousel-auto-scroll again.

any updates or again you are waiting 24 hours ?

@dcapinator waiting additional 24 hours. Next publish attempt can be made in 6 hours.

Update 2024-01-30
embla-carousel-auto-scroll has been released to the NPM registry.
Update 2024-01-29
The person in question unpublished their package but the NPM registry threw errors when I tried to publish embla-carousel-auto-scroll. I've contacted NPM support and they said that the package wasn't properly unpublished so they did that for me. Unfortunately, NPM say that I have to wait 24h before I can try publishing embla-carousel-auto-scroll again.
Update 2024-01-26
Sorry guys, was just about to publish this package (embla-carousel-auto-scroll), but someone has taken a too similar name so I've asked them to unpublish their package before I can release the official package:

https://github.com/nwidynski/embla-carousel-autoplay/issues/1.


Setup of component fails with version 1.2.5

Hi,
I updated home assistant to newest version 0.94.3 and therefor I had to start over with my working alexa_media integration, because the deps folder got cleaned. Now I get the following error:
2019-06-17 16:53:49 ERROR (MainThread) [homeassistant.setup] Error during setup of component alexa_media
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/setup.py", line 156, in _async_setup_component
    component.setup, hass, processed_config)  # type: ignore
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/alexa_media/__init__.py", line 103, in setup
    account.get(CONF_DEBUG))
  File "/usr/local/lib/python3.7/site-packages/alexapy/alexalogin.py", line 46, in __init__
    self.login_with_cookie()
  File "/usr/local/lib/python3.7/site-packages/alexapy/alexalogin.py", line 83, in login_with_cookie
    self.login(cookies=cookies)
  File "/usr/local/lib/python3.7/site-packages/alexapy/alexalogin.py", line 238, in login
    self._data = self.get_inputs(soup)
  File "/usr/local/lib/python3.7/site-packages/alexapy/alexalogin.py", line 110, in get_inputs
    for field in form.find_all('input'):
AttributeError: 'NoneType' object has no attribute 'find_all'

My config looks like this:
alexa_media:
  accounts:
    - email: !secret amazon_username
      password: !secret amazon_password
      url: amazon.de
      include_devices:
        - echo_bad
        - echo_dot_timo
        - echo_wohnzimmer
        - haus

Regards
Lukas

The log appears truncated as it isn't actually stating the cause of the error. However, based off where it's going, it looks like it may be missing the beautifulsoup dependency.  If you're in hassio, it sometimes takes 2-3 restarts for hassio to properly download all the dependencies for some reason.

I added the one missing line (AttributeError)

How can I check if beautifulsoup is installed?

I restarted 2 more times but the error still exists. I logged into home assistant container and checked the python directory (/usr/local/lib/python3.7)
There is only the following:
bash-4.4# find . -name "*beautifulsoup*"
./site-packages/beautifulsoup4-4.7.1.dist-info

Nothing more. So I think it is not installed.

If you check this, there could be a version conflict:
bash-4.4# pip3 check alexapy
xknx 0.10.0 has requirement pyyaml>=4.2b4, but you have pyyaml 3.13.
wirelesstagpy 0.4.0 has requirement colorlog==3.0.1, but you have colorlog 4.0.2.
upsmychoice 1.0.6 has requirement beautifulsoup4==4.5.1, but you have beautifulsoup4 4.7.1.
upsmychoice 1.0.6 has requirement python-dateutil==2.6.0, but you have python-dateutil 2.8.0.
upsmychoice 1.0.6 has requirement requests==2.12.4, but you have requests 2.22.0.
toonapilib 3.2.2 has requirement cachetools~=3.1.0, but you have cachetools 2.0.1.
toonapilib 3.2.2 has requirement requests~=2.21.0, but you have requests 2.22.0.
temperusb 1.5.3 has requirement pyusb>=1.0.0rc1, but you have pyusb 1.0.0b1.
skybellpy 0.4.0 has requirement colorlog==3.0.1, but you have colorlog 4.0.2.
python-velbus 2.0.24 has requirement pyserial==3.3, but you have pyserial 3.1.1.
python-jose-cryptodome 1.3.2 has requirement pycryptodome<3.4.0,>=3.3.1, but you have pycryptodome 3.8.2.
pystiebeleltron 0.0.1.dev2 has requirement pymodbus>=2.1.0, but you have pymodbus 1.5.2.
pyrebase4 4.3.0 has requirement oauth2client==4.1.2, but you have oauth2client 4.0.0.
pymysensors 0.18.0 has requirement pyserial>=3.4, but you have pyserial 3.1.1.
pymonoprice 0.3 has requirement pyserial>=3.4, but you have pyserial 3.1.1.
pymata 2.14 has requirement pyserial==2.7, but you have pyserial 3.1.1.
pyicloud 0.9.1 has requirement click<7.0,>=6.0, but you have click 7.0.
pyicloud 0.9.1 has requirement keyring<9.0,>=8.0, but you have keyring 17.1.1.
pyicloud 0.9.1 has requirement keyrings.alt<2.0,>=1.0, but you have keyrings-alt 3.1.1.
pyblackbird 0.5 has requirement pyserial>=3.4, but you have pyserial 3.1.1.
openwrt-luci-rpc 1.0.5 has requirement requests==2.21.0, but you have requests 2.22.0.
nad-receiver 0.0.11 has requirement pyserial==3.2.1, but you have pyserial 3.1.1.
myusps 1.3.2 has requirement beautifulsoup4==4.6.0, but you have beautifulsoup4 4.7.1.
myusps 1.3.2 has requirement python-dateutil==2.6.0, but you have python-dateutil 2.8.0.
myusps 1.3.2 has requirement requests==2.12.4, but you have requests 2.22.0.
myusps 1.3.2 has requirement requests-cache==0.4.13, but you have requests-cache 0.5.0.
mycroftapi 2.0 has requirement websocket-client==0.44.0, but you have websocket-client 0.54.0.
motorparts 1.1.0 has requirement beautifulsoup4==4.5.1, but you have beautifulsoup4 4.7.1.
locationsharinglib 3.0.11 has requirement beautifulsoup4~=4.6.3, but you have beautifulsoup4 4.7.1.
locationsharinglib 3.0.11 has requirement requests~=2.21.0, but you have requests 2.22.0.
insteonplm 0.15.4 has requirement pyserial==3.2.0, but you have pyserial 3.1.1.
ibm-watson 3.0.3 has requirement websocket-client==0.48.0, but you have websocket-client 0.54.0.
hipnotify 1.0.8 has requirement requests==2.9.1, but you have requests 2.22.0.
gearbest-parser 1.0.7 has requirement beautifulsoup4==4.6.0, but you have beautifulsoup4 4.7.1.
fedexdeliverymanager 1.0.6 has requirement beautifulsoup4==4.5.1, but you have beautifulsoup4 4.7.1.
fedexdeliverymanager 1.0.6 has requirement python-dateutil==2.6.0, but you have python-dateutil 2.8.0.
eebrightbox 0.0.4 has requirement certifi==2018.11.29, but you have certifi 2019.3.9.
eebrightbox 0.0.4 has requirement requests==2.21.0, but you have requests 2.22.0.
eebrightbox 0.0.4 has requirement urllib3==1.24.1, but you have urllib3 1.25.3.
broadlink 0.10 has requirement pycryptodome==3.6.6, but you have pycryptodome 3.8.2.
botocore 1.12.91 has requirement urllib3<1.25,>=1.20; python_version >= "3.4", but you have urllib3 1.25.3.
blinkpy 0.14.0 has requirement python-dateutil==2.7.5, but you have python-dateutil 2.8.0.
alexapy 0.5.0 has requirement websocket-client>=0.55.0, but you have websocket-client 0.54.0.
alarmdecoder 1.13.2 has requirement pyserial==2.7, but you have pyserial 3.1.1.
abodepy 0.15.0 has requirement colorlog==3.0.1, but you have colorlog 4.0.2.

You're not using a virtual environment? You do have beautifulsoup so I don't think it's that.  Please try deleting your old .pickle file so it tries to rebuild the login.
If that doesn't work, we'll need to do the advanced debugging from the wiki where we see the login page you're failing at.  The error is indicating we're not getting a webpage we can properly parse for login info.

Hi
attached you find the file alexa_mediaget.html which got writting during start.
alexa_media.txt
If I open that page in a browser something like an account switcher is displayed in an endless loop.
I have not yet deleted the pickle file.
Regards

Try renaming the .pickle files to see if that solves it for you. You can always rename them back.

I had to reset the amazon password. Now it is back working. No clue what happened. Thx for support!


Don't forget that the initial CVE walker's git clone takes ~30 minutes

The CVE repo is over 3GB. Even a shallow clone is 2.7GB.
The git cli takes almost 3 minutes to clone the full repo. The libgit2 rust crate takes almost 30 minutes.
The git cli takes about 20s to create a shallow clone. The libgit2 rust crate takes about a minute.
Updates to the full clone are reasonably fast and it's efficient to determine which files need to be [re]ingested.
Updates to the shallow clone have yet to be made to work successfully.
Regardless, the "day 0" experience for new users is sucky. There is no visual indication whatsoever (in the UI or the server log) that the app is doing anything... for almost 30 minutes.
Consider this issue a placeholder for improving the "day 0" experience for enabling importers monitoring large git repos.
Possible alternatives:

Figure out how to update a shallow clone with our existing libgit2 crate.
Shell out to the git CLI, which doesn't use libgit2, possibly enabling the deepening of an initial shallow clone in order to properly determine the changed files.
Create a new shallow clone for every import cycle and calculate the digest of every file (~3GB worth of them) and query the db to determine whether they need to be ingested.

Maybe there's a forth option, speed up things with libgit2? 3 minutes don't feel bad (for a repository of this size).

@jcrossley3  Can you strace it? I mean strace both git cli and trustd/libgit2 to see the difference?

@jcrossley3 Can you strace it? I mean strace both git cli and trustd/libgit2 to see the difference?

Maybe? As I understand it, they're entirely different animals, and I lack the git foo to be able to map one's path to the other's.

@jcrossley3 Can you strace it? I mean strace both git cli and trustd/libgit2 to see the difference?

Maybe? As I understand it, they're entirely different animals ...

I see. So libgit2 is not built on the top of git, it is a (re)implementation of it. Then, like @helio-frota, I vote for shell out to the git cli.

That requires every system to run trustd, to also have a Git installation. That will be "fun" on Mac OS, Windows, and others …

That will be "fun" on Mac OS, Windows, and others

:man_facepalming: true thing
I remove my vote : )


implement the standard interfaces

Both the typed and untyped version should consider implementing MarshalText and MarshalBinary, probably as well as Decoder and Valuer.
Opening this issue because I'm not sure what the defaults should be; always marshalling to/from a prefix, or no prefix? Does it make sense to keep the prefix in the case of a database field?

I've gone ahead and implemented MarshalText in https://github.com/jetpack-io/opensource/pull/92
I'm going to open separate issues for MarshalBinary and for Valuer mainly because:

I'm not sure what the binary representation should be. I'd have to define that as part of the typeid spec before implementing.
Until we have a Postgres module that natively supports TypeIDs or similar, users might want some flexibility on how to encode typeids in their db (if the DB supports native UUID types, they might want to use that, otherwise they might want to use a string)

Re: Decoder, if we're talking about https://pkg.go.dev/encoding/gob#GobDecoder I'm not sure that's needed since gob will also use MarshalBinary once that's defined.
In fact, if you look at https://cs.opensource.google/go/go/+/refs/tags/go1.20.6:src/time/time.go;l=1325 you'll see that
time.Time from the standard library is suggesting removing those implementations in favor of MarshalBinary

Ah, gotcha. We'll track Scanner in https://github.com/jetpack-io/typeid-go/issues/6 as well.
Closing this issue since we're going to implement MarshalText and I've already opened two new issues to track binary encoding, and SQL interfaces.


Funny behavior with Charles Proxy

This may not be a RestKit bug, but it's looking that way (or potentially AFNetworking).
I always use Charles Proxy while doing any networking work with iOS simulator. Recently (in the last 2 weeks) it stopped working properly. At first I suspected it was a problem with either the most recent Xcode or Java update, but other non-restkit applications seem to work fine, as do older restkit projects (pre 20.0).
All of the sudden when I make requests, I can see them complete successfully in Charles, but they don't complete in the app. Oddly, if I then quit Charles Proxy before the timeout period hits, the request then completes in the app.
I'm not doing anything the least bit strange with my restkit setup, and didn't change anything recently.
I'm on the development branch, but I see the same behavior on the master branch. Which is extremely strange, because things WERE working properly a couple weeks ago on development.
I've reinstalled Charles, reverted Java to the previous version, checked my system network settings. Since other apps work correctly, including older restkit apps, I'm suspecting that there's something weird with the way RestKit behaves that broke with the most recent Xcode.

I am using registered charles and was working fine but suddenly not working for android and iOS both.
Any specific reason for it can any one help me sort it out


Prompt doesn't work if "message" function is async

Hi, I use react-router-dom v4.2.2
Prompt takes an argument "message" and it can be a function but if this function is async it doesn't work. Why? Some times it is very useful.
Are you plan to add this possibility?
I need it for data validation with a request to the backend. If validation is successful I can allow the transition from the current page.
Thanks for your contribution!

Because we need to respond synchronously to block the transition. We can't delay it for an async request to resolve. Also, this will lead to a bad UX, as there would be nothing presented to the user to represent progress or a loading state while the request resolves. It would be better to block this earlier in the lifecycle, before you navigate.

Tim, thanks for the clear answer!
Try to found another solution.


UI hangs on import

I have a simple application deployed with Celery.  This may be expected behaviour but it seemed a bit confusing.
I import a large file (20k rows), the UI displays:

The parse_data_task is called in the celery worker.
The import row appears in the db with a status of 'PARSING'.
After 2 mins the db state changes to 'PARSED'
The Web UI doesn't change, but if I click browser refresh I see

I would expect to see a preview of the data here but the rows are empty.
If I click confirm, I see (DB status changes to 'IMPORTING')

After around 2 mins the DB status changes to 'IMPORTED' (the UI doesn't refresh).  If I click back to the main home page, I can see the book entries, although it appears that there is one less.  DB count is 19,999, file count is 20,000 (excluding header).

looks like js code from static didn't work in your app

Yes, this is the issue.  Affects Google Chrome - it works fine in Safari.
There's no errors in the console.  What's happening is that this line is not being called by default.  However, if I refresh the page immediately after submitting the file for import, then the line is hit and the progress bar is displayed correctly.  The same happens for the 'confirm' step.
So something is stopping the progress bar logic from being initiated on Chrome.

This is Chrome 130.0.6723.92 on Mac OS

btw - it works fine for exports

I wonder if it's a timing issue?
I notice here that the progress bar is only displayed if the job status is in progress_statuses.  Perhaps the page is rendering before the task changes the state to 'in progress'.
I set the debugger and notice that url is null.

I wonder if it's a timing issue?

Yes, during my investigation, I found that the task doesn't have time to change status, thanks for help
I am preparing a correction in #71. Could you check if it will work for you?

I can see the book entries, although it appears that there is one less. DB count is 19,999, file count is 20,000

What about the missing object after import, did you find it?)

Yes, that has fixed it, thanks.
btw the empty data on preview issue was because I had skip_html_diff enabled in my Resource class.

What about the missing object after import, did you find it?)

No 😞  - still one short - I'll raise a separate issue.


exception in device_start_comm(Camera System): 'NoneType' object has no attribute 'json'

If a camera has dropped off from connectivity to Camect and Indigo requests camect to access it, this happensexception in device_start_comm(Camera System): 'NoneType' object has no attribute 'json'
And the camect plugin sometimes(?) does not recover from this problem. So far I’ve only been able to make this go away by restarting the Camect hardware.

Unable to reproduce.


Seems to be broken in last nextjs version

Thanks a lot for this package! ⭐ Simplifies a lot the some dev work 🙌
While I use this package without problem in some projects, when using "next": "13.4.4" with new app router I get this error:

I'll take the heart as the issue is indeed solved by the environment variable. Looks like Next requires features not necessary available in React with this error showing up in various scenarios, custom servers being one of them. It works to set this env variable in the module code. I'll need to do some research/testing if this causes side-effects.
For now the recommendation is to set __NEXT_PRIVATE_PREBUNDLED_REACT=next in the your app environment through .env file or similar.

👍  Indeed, this works perfectly. Thanks a lot @TobiasMelen

I'll actually re-open this, this should ideally be fixed from next-dev-https, and keeping the issue open makes the temporary fix easier to find by others.


[Question] programmatically selecting first search result

Hi I am searching for a way to do easy selecting the first search result or to at least detect if any results are there. I do that in phantomjs not as an plugin. My current code which is very unstable (because of the click() event) looks like:
    if (document.querySelector('#search')){
      window.search.doSearch(search, true)
      var checkExist = setInterval(function() {
        if (document.querySelector('.searchquery').childNodes[1].childNodes[0] != null) {
          console.log('click')
          document.querySelector('.searchquery').childNodes[1].childNodes[0].click();
          clearInterval(checkExist);
        }else{
          console.log('notClicked')
        }
      }, 100);
    }

is there a way to get the results without needing to do the document.querySelector('.searchquery').childNodes[1].childNodes[0].click(); part? because it fails in 99% of my tries. Or is this impossible without doing the search myself and manually going to that position?

Also: this aproach does most of the time just search but not click

if you have uploaded IITC should be comfortable use the special hook "search".
window.addHook('search', yourFunctionName);

does that give me the already found results? because in the iitc code I saw that always as an search handler for services to search at.

Nevermind I do see that I will try that :) (I close when it confirmed does work)

The hook return an object. there is an 'results' array. This is an example (work for the portals):
window.myFunc = function(r){
    console.log(r);
    if(r.results[0] && r.results[0].position && r.results[0].title !== 'No results on OpenStreetMap'){
        window.map.setView(r.results[0].position);
    }
}

window.addHook('search', window.myFunc);

@ZasoGD r.results[0] gives me undefinded even if the result array contains elements

You could try to fire the hook yourself and let the plugins report their
results directly to your code. You just have to provide the same API for
providing results as IITC. Note that results may come in asynchronously,
especially for OSM and missions.

ok fixed it by doing setInterval() stuff while waiting that the array is bigger than 0


Fixed License Text

  Please Check The Preview

Disable unused Widgets:

Packages

Releases

Disable unused Tabs:

Projects

Inserted missing license texts
This also fixed GitHub's detection of the projects
licenses, as can be seen in the right sidebar.

If you have any questions.

In case you do not agree with some of the changes made in this PR,
please first let me know about them, before disregarding it entirely so
we can possibly find a middle ground and have it not go to waste.

@sanity I think this is correct so we can merge this


Add pkg/dev for solder jumper 2P/3P

SUMMARY

The sym/cmp were already there, now adding pkg/dev for them. For now, only one footprint is added.

DATASHEETS / REFERENCES

None
OPEN QUESTIONS / UNRESOLVED ISSUES

None
CHECKLIST

[x] I have read and followed the library conventions¹.
[x] For packages, I followed IPC7351C (see details in library conventions).
[x] For modified elements, I bumped their version number².
[ ] I already used the new library elements in a design and verified their correctness (optional).
[x] I'm the copyright owner of the added content (i.e. the changes are made by myself, not copied/imported from somewhere else).
[x] I agree to publish all my changes under the CC0 Public Domain License³, allowing everyone to use and modify the content without any restrictions.

¹ Library Conventions: https://docs.librepcb.org/#libraryconventions
² Minor version bump if only metadata was modified (e.g. "0.1" -> "0.1.1"), major version bump if functional changes were made (e.g. "0.1" -> "0.2")
³ CC0 Public Domain License: https://en.wikipedia.org/wiki/CC0

Thanks! Added a description now :+1:


Android Download file not working

Hi,
I have configured your project and installed the apk on my device and on pressing download image button I received message box that file is downloaded to folder but in that folder file is not present.
Actually I tried your solution as a workout of my problem in which I am using pdfmake to make a pdf file and download but your download file also didn't worked so I think its an issue with ionic2.

How are you checking for the presence of that file? You can use either adb or the File module just after downloading it to confirm it's there

I am checking by navigating to folder and that folder is empty.

You won't be able to see it on Android using a file explorer (see the relevant mention of that here: https://ionicframework.com/docs/v2/native/transfer/).
They advise testing it using adb, but maybe using the relevant methods from File to confirm it's there programattically after download is more reusable

So what to do in case if I have to save that file and use that file in future using mobile app and share that file to someone

Download it, check that it downloaded ok etc. Then when you need it, you can retrieve it using methods provided by File. Then you'd use the upload method to send it elsewhere

Thanks for quick help on this. I will try to complete the flow as you explained.

No worries. Let me know how it goes!


googleearth-pro fails to start due to proj linking error

Describe the bug
googleearth-pro has a runtime linking error that prevents it from starting.
libgisingest.so: undefined symbol: pj_set_searchpath
NixOS/nixpkgs master@3f405ae
Steps To Reproduce
Steps to reproduce the behavior:
env NIXPKGS_ALLOW_INSECURE=1 nix-build -A googleearth-pro
/nix/store/a45c4w83y4a6lp794jf5qswfz8078nng-googleearth-pro-<IP_ADDRESS>86/bin/.googleearth-pro-wrapped_: symbol lookup error: /nix/store/a45c4w83y4a6lp794jf5qswfz8078nng-googleearth-pro-<IP_ADDRESS>86/opt/google/earth/pro/libgisingest.so: undefined symbol: pj_set_searchpath

Additional context
Linking gdal_2 to proj_7 instead of proj seems to fix the problem and allows the program to start. After it starts, it then just shows a blank black screen where the 3d view should be. Updating to the latest googleearth-pro release didn't fix anything.
Notify maintainers
@friedelino @SCOTT-HAMILTON
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
 - system: `"x86_64-linux"`
 - host os: `Linux 5.4.151, NixOS, 21.05.3740.ce7a1190a0f (Okapi)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.3.15`
 - channels(root): `"nixos-21.05.3740.ce7a1190a0f, nixpkgs-unstable-21.11pre320922.ee084c02040"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute: googleearth-pro
# a list of nixos modules affected by the problem
module:

The current package goes to some effort to use nixpkgs-provided dependencies instead of the ones bundled in the .deb. Using the bundled libraries instead makes it run correctly for me: https://github.com/squalus/nixpkgs/commit/5ff814823da9ec48ef6c5390877ba33f43618695
I haven't done the work to see which libraries are the causing the black screen problem.
I don't think there's a huge advantage in using nixpkgs-provided dependencies given the correctness problems created by doing so. Either way it's locked into using old versions of openssl, ffmpeg, gdal, and proj, so it's not like we're able to fix the security issues.


achart.config.DEFAULT_LEN = 12   achart.update() it doest work

Description
achart.config.DEFAULT_LEN = 12
achart.update()
it doest work
Suggested solution
0
Alternative
No response
Additional context
No response
Validations

[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Remember in the docs there is a part about update types?


LXD NUMA settings and pinning settings are broken

Description
Instantiation of a LXD container with NUMA settings and pinning enabled does not give expected results in container.
To Reproduce
Instantiate a lxd container with the following template settings:
TOPOLOGY = [
  CORES = "12",
  PIN_POLICY = "THREAD",
  SOCKETS = "2",
  THREADS = "2" ]

Ignores one numa node and assigns only half of the desired CPUs. Below the informations from the resulting container:
lxc config show one-889
architecture: x86_64
config:
  limits.cpu: 12,36,13,37,14,38,15,39,16,40,17,41,18,42,19,43,20,44,21,45,22,46,23,47
  limits.cpu.allowance: 4800%
  limits.memory: 256000MB

lstopo topo.png

Expected behavior
The assignment of CPUs should meet the defined template structure.
Details

Affected Component: Scheduler, container creation
Hypervisor: LXD
Version: 5.10

Additional context
Add any other context about the problem here.

Progress Status

[ ] Branch created
[ ] Code committed to development branch
[ ] Testing - QA
[ ] Documentation
[ ] Release notes - resolved issues, compatibility, known issues
[ ] Code committed to upstream release/hotfix branches
[ ] Documentation committed to upstream release/hotfix branches

The NUMA update on the LXD side of drivers only provides the ability to pin logical cores to the containers. The driver is working as expected. Read the NUMA docu for more information.


Add support to use the framework in Objective-C projects

Hey @ItsProf ,
Thank you for contributing to Clappr, we would like to ask you to provide a description to your Pull Request. Please use the following template:
Goal
Make it possible to use plugins on Objective-C projects.
How to test

Create a project with Objective-C language and setup the following:

WMPlayer *player = [WMPlayer alloc] initWithOptions:nil];
playerContainer.attachTo(player);

Run the app
Run all tests

@nabilsafatli thanks for the feedback. I have updated the description as requested. Thank you for reviewing my PR, I'm sure it's going to be very useful for many developer who still have Objective-C apps.

Hello @itsprof ,
During the last Pull Requests we had to change many things on our architecture and unfortunately we don't intend to support Objective-C code. Due to this fact, I have to close this Pull Request, but again I thank you for the contribution.


BUG: Fix missing packages in Dockerfile

To enable local binary pattern 2D and 3D, scipy, scikit-image and trimesh are additionally required, but these are not mentioned in the requirements (to allow installing without these packages).
To enable these filters in the CLI-docker, add pip install lines for these packages to the dockerfile.

This update builds successfully on dockerhub (tag Test): Docker container

Fixes #388

@JoostJM it looks good to me, but why don't we just list those packages in requirements.txt? I am probably missing something basic here, right?

@fedorov, the reason I don't want to list them in requirements.txt is because scipy is very difficult to install on windows. So I wrote the code in such a way that it works without those packages, except for the for the part using those packages of course.


Error on sync to redis and elastic when schema name is not public

PGSync version: 2.1.9
Postgres version: 14
Elasticsearch version: 7.13.4
Redis version: 6.2.6
Python version: 3.9
Problem Description:
Run pgsync will sync initial data successfully, but first data update in Db show this error:
TypeError: 'NoneType' object is not subscriptable
After that, any data update will make the logs will look like this:
Syncing mydata Db: [1] => Redis: [1] => Elastic: [0] ...
Syncing mydata Db: [1] => Redis: [1] => Elastic: [0] ...
Syncing mydata Db: [1] => Redis: [1] => Elastic: [0] ...
Syncing mydata Db: [1] => Redis: [1] => Elastic: [0] ...
Syncing mydata Db: [1] => Redis: [1] => Elastic: [0] ...
Syncing mydata Db: [1] => Redis: [1] => Elastic: [0] ...
Syncing mydata Db: [1] => Redis: [1] => Elastic: [0] ...
Syncing mydata Db: [2] => Redis: [1] => Elastic: [0] ...
Syncing mydata Db: [2] => Redis: [1] => Elastic: [0] ...
Syncing mydata Db: [2] => Redis: [1] => Elastic: [0] ...
Syncing mydata Db: [2] => Redis: [1] => Elastic: [0] ...
Syncing mydata Db: [2] => Redis: [1] => Elastic: [0] ...
Syncing mydata Db: [2] => Redis: [1] => Elastic: [0] ...
Syncing mydata Db: [2] => Redis: [1] => Elastic: [0] ...
Syncing mydata Db: [2] => Redis: [1] => Elastic: [0] ...
Syncing mydata Db: [2] => Redis: [1] => Elastic: [0] ...
Syncing mydata Db: [2] => Redis: [1] => Elastic: [0] ...
Syncing mydata Db: [2] => Redis: [1] => Elastic: [0] ...
Syncing mydata Db: [2] => Redis: [1] => Elastic: [0] ...
Syncing mydata Db: [2] => Redis: [1] => Elastic: [0] ...
Syncing mydata Db: [2] => Redis: [1] => Elastic: [0] ...
Syncing mydata Db: [3] => Redis: [1] => Elastic: [0] ...
It increases count in Db but not in Redis and ES
The issues does not reproduce when schema name is public, but we need to use a different schema name. Any hints on what is causing this @toluaina
Error Message (if any):
2021-12-22 05:03:46.439:ERROR:pgsync.sync: Exception 'NoneType' object is not subscriptable
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/pgsync/sync.py", line 875, in sync
    self.es.bulk(self.index, docs)
  File "/usr/local/lib/python3.8/dist-packages/pgsync/elastichelper.py", line 124, in bulk
    for _ in helpers.parallel_bulk(
  File "/usr/local/lib/python3.8/dist-packages/elasticsearch/helpers/actions.py", line 472, in parallel_bulk
    for result in pool.imap(
  File "/usr/lib/python3.8/multiprocessing/pool.py", line 868, in next
    raise value
  File "/usr/lib/python3.8/multiprocessing/pool.py", line 125, in worker
    result = (True, func(*args, **kwds))
  File "/usr/lib/python3.8/multiprocessing/pool.py", line 144, in _helper_reraises_exception
    raise ex
  File "/usr/lib/python3.8/multiprocessing/pool.py", line 388, in _guarded_task_generation
    for i, x in enumerate(iterable):
  File "/usr/local/lib/python3.8/dist-packages/elasticsearch/helpers/actions.py", line 155, in _chunk_actions
    for action, data in actions:
  File "/usr/local/lib/python3.8/dist-packages/pgsync/sync.py", line 714, in _payloads
    filters = self._update(
  File "/usr/local/lib/python3.8/dist-packages/pgsync/sync.py", line 435, in _update
    primary_values: list = [
  File "/usr/local/lib/python3.8/dist-packages/pgsync/sync.py", line 436, in <listcomp>
    payload_data[key] for key in node.model.primary_keys
TypeError: 'NoneType' object is not subscriptable
Exception in thread Thread-16:
Traceback (most recent call last):
  File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.8/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/lib/python3.8/dist-packages/pgsync/sync.py", line 904, in poll_redis
    self.on_publish(payloads)
  File "/usr/local/lib/python3.8/dist-packages/pgsync/sync.py", line 990, in on_publish
    self.sync(self._payloads(_payloads))
  File "/usr/local/lib/python3.8/dist-packages/pgsync/sync.py", line 875, in sync
    self.es.bulk(self.index, docs)
  File "/usr/local/lib/python3.8/dist-packages/pgsync/elastichelper.py", line 124, in bulk
    for _ in helpers.parallel_bulk(
  File "/usr/local/lib/python3.8/dist-packages/elasticsearch/helpers/actions.py", line 472, in parallel_bulk
    for result in pool.imap(
  File "/usr/lib/python3.8/multiprocessing/pool.py", line 868, in next
    raise value
  File "/usr/lib/python3.8/multiprocessing/pool.py", line 125, in worker
    result = (True, func(*args, **kwds))
  File "/usr/lib/python3.8/multiprocessing/pool.py", line 144, in _helper_reraises_exception
    raise ex
  File "/usr/lib/python3.8/multiprocessing/pool.py", line 388, in _guarded_task_generation
    for i, x in enumerate(iterable):
  File "/usr/local/lib/python3.8/dist-packages/elasticsearch/helpers/actions.py", line 155, in _chunk_actions
    for action, data in actions:
  File "/usr/local/lib/python3.8/dist-packages/pgsync/sync.py", line 714, in _payloads
    filters = self._update(
  File "/usr/local/lib/python3.8/dist-packages/pgsync/sync.py", line 435, in _update
    primary_values: list = [
  File "/usr/local/lib/python3.8/dist-packages/pgsync/sync.py", line 436, in <listcomp>
    payload_data[key] for key in node.model.primary_keys

could you possibly send me the db schema and pgsync config ?

My db schema named "blog" with table "Blogs".
My pgsync config:
'''
[
{
"database": "mydata",
"index": "blog",
"nodes": {
"table": "Blogs",
"schema": "blog",
"columns" : [
"Id",
"Title"
]
}
}
]
'''
First i thought it was because of multiple schemas config or foreign keys, so i removed all other schema and foreign keys but faced the same problem with the schema above.

Hi @toluaina,
Wishing you a happy new year!
Just pushed my config to a new repo:
https://github.com/camirus27/pgsync-test
I'm really interested to find a quick fix for this. I would really want to use pgsync. Thanks

Hi @toluaina,
Wishing you a happy new year!
Just pushed my config to a new repo:
https://github.com/camirus27/pgsync-test
I'm really interested to find a quick fix for this. I would really want to use pgsync. Thanks

This has been resolved in master can you please try now.

Closing as this has hopefully been resolved


Bad Z3 encoding (Unexpected output from Z3)

We are again seeing a lot of Z3 warnings about missing constants in the encoding. E.g.,
<dummy>(0,0-0,0): (Warning 276) FStar.Pointer.Base: Unexpected output from Z3: (error "line 18326 column 0: unknown constant fuel_12505")
See for instance this recent build log: https://raw.githubusercontent.com/project-everest/ci-logs/master/fstar-nightly-54915e07-19392.err
They are caused by changes in the encoding between these two commits:
https://github.com/FStarLang/FStar/compare/75baf8a639cf78e85c4c5293869ed9f7134f12db...6281056d
While discussing this in Cambridge, we were wondering if we could avoid this issue in the future by making Z3 warnings fatal by default (e.g. --warn_error @276). There are a couple of related open issues (#1222, #843).

Also related is issue #613: a fix to that issue resulted in the bug here.

The fix appears to work and @nik turned Unexpected output from Z3 warnings into fatal errors.
Closing


Reference the minified js files from templates

After we've removed the environment tag helpers, we ended up referencing the raw js files directly. Instead, we should have referenced the minified files.

My bad, I'll fix

@mkArtakMSFT fix is in one of my PR


Sync 2201.2.x

Purpose

Sync 2201.2.x

@Ibaqu can you please resolve the conflict to get this merged to master?

@Ibaqu can you please resolve the conflict to get this merged to master?

Working on it. Will send a PR for 2201.2.x

Closed with https://github.com/ballerina-platform/ballerina-lang/pull/37253 .


feat/add kubeflow training-operator

remove duplicated repos for tf-operator, pytorch-operator and mpi-operator
add kubeflow/traininig-operator repo to support kubeflow training on kubernetes 1.22+

/hold


Stale secret deletion

It looks like the following GitHub Actions secrets aren't being used in any of your workflows, at least on the default branch:

CC_TEST_REPORTER_ID

Please ping @iterative/security before 2023-09-22 if you'd like to preserve them.

It is used here: https://github.com/iterative/vscode-dvc/blob/main/.github/workflows/continuous-integration.yml#L47

@iterative/security do not delete that secret.

Sorry, @mattseddon! I saw the issue “closed as completed” and thought I closed it myself. 🙈

Can you please set that secret again?

Yep done.


Android 4.4.4

Why doesn’t work on Android 4.4.4 ?  Unable to compile!
Is there a way out for android 4.4.4?
Error:
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.

com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: Cannot merge new index 65544 into a non-jumbo instruction!

why do you think it's the fault of BIV?

If add to gradle -
compile 'com.github.piasy:BigImageViewer:1.5.7', then
error pops up on android 4.4 emulator, and on the emulator, android 5+ works fine.
if removed -
compile 'com.github.piasy:BigImageViewer:1.5.7',
then there are no errors and everything works fine on all androids.
Сhecked for Android Studio 2.3.3

That's strange, I have no idea about that now, could you please try to search about the error on the internet and try to fix it?

Closing it now, feel free to reopen it if necessary.


Set-PnPSearchConfiguration is not working with tenant scope

When i'm trying to apply search schema with:
Set-PnPSearchConfiguration -Path $searchSchemaPath -Scope Subscription
it fails with "Unknown error". I've checked my current context and URL of current context contains "-admin", so it should run provisioning but it just fails no matter what xml schema contains even it without any settings.

@SemionKovaliov Thank you for this feedback
We have a separate repo for the PnP PowerShell issues. We want your issue to get the proper attention it deserves.
Please open your issue in this repo: https://github.com/SharePoint/PnP-PowerShell
I am going to close this issue so that we can track to correct one in the PnP PowerShell repo.


Support for minikube v1.22

https://github.com/kubernetes/minikube/releases/tag/v1.22.0

1.23 has already been released and 1.24 will be released soon (beta available)
We can use the latest minikube version with the desired kubernetes version (we're using EKS 1.20 now)

Minikube 1.23.2 works OK for the local sandbox deployment.
However, it fails the healthchecks and the UI tests when running it in the GH-hosted actions.
Need to troubleshoot this.

Newer versions of minikube changed the format of the coredns configMap, and our custom patch fails to apply after the minikube startup. This patch is required for the proper ingress resolution from within the running pods.
Need to modify the coreDNS configMap patching logic to resolve this issue.

Added the DNS resolution test to the coredns_patch.sh script

https://github.com/trustbloc/sandbox/pull/1270


Feature Request: Allow creating new branch assoiated with work item OR allow associating branch with work item

It would be nice to have, where we can associate new or existing branch with work item while creating new item, or later by updating item

I would also like this.  From within the UI, our standard workflow is to pull up the work item, and then under the "Development" area, select "Create a new branch" to ensure that the branches we create are linked to the user story/bug/etc.

Functionality already exists to manage the associated work items for Pull Requests (vsts code pr)

command
description

vsts code pr work-items
Manage work items associated with pull requests.

vsts code pr work-items add
Link one or more work items to a pull request.

vsts code pr work-items list
List linked work items for a pull request.

vsts code pr work-items remove
Unlink one or more work items from a pull request.

It would be nice to have analogous functionality for branches in addition to PRs.


lightGray button color

@bradencanderson That should already be the case - the current gray is lightGray: https://github.com/pinterest/gestalt/blob/bb916d09685faf8a9ec0b3882a3acf8fe97edbf2/packages/gestalt/src/Button/Button.css#L50


Flatmap apply

The first two commits on this branch can be ignored; they were a prototype to allow me to test vector-valued expressions and evaluators without implementing a new Apply operator. The new interface for vector-valued expressions assumes that they return an Iterable-valued result, which should lazily materialize state whenever possible. The cartesian product implementation in the FlatteningApply operator exploits the Iterable type of expressions to avoid materializing not just the entire product, but the Iterators themselves. The new parallel inheritance hierarchy for flattening evaluators could probably use a refactoring at some point. Also, a FlatteningStatefulApply operator has yet to be implemented.

Coverage increased (+0.36%) to 59.74% when pulling 96cbe57f5b7a3ab869ae3729ffeecf25a9941584 on flatmap_apply into 69b25a0c210390d6a80f429159905b0d9ceb19c3 on master.

Coverage increased (+0.36%) to 59.74% when pulling 96cbe57f5b7a3ab869ae3729ffeecf25a9941584 on flatmap_apply into 69b25a0c210390d6a80f429159905b0d9ceb19c3 on master.

Coverage increased (+0.18%) to 59.55% when pulling 5ce3a7f5e44f821aa8f54bed2dbec4ddbfea5a20 on flatmap_apply into 69b25a0c210390d6a80f429159905b0d9ceb19c3 on master.

Coverage increased (+0.42%) to 59.8% when pulling 5ce3a7f5e44f821aa8f54bed2dbec4ddbfea5a20 on flatmap_apply into 69b25a0c210390d6a80f429159905b0d9ceb19c3 on master.

Coverage increased (+0.42%) to 59.8% when pulling 5ce3a7f5e44f821aa8f54bed2dbec4ddbfea5a20 on flatmap_apply into 69b25a0c210390d6a80f429159905b0d9ceb19c3 on master.

Coverage increased (+0.16%) to 59.54% when pulling 0e12f36e30576e2271357074a16da079280fa2c8 on flatmap_apply into 69b25a0c210390d6a80f429159905b0d9ceb19c3 on master.

Coverage increased (+0.36%) to 59.74% when pulling 6cdbd9018ff5457872c7b3af1c1b0d16a5ef1578 on flatmap_apply into 69b25a0c210390d6a80f429159905b0d9ceb19c3 on master.

Coverage increased (+0.36%) to 59.74% when pulling 6cdbd9018ff5457872c7b3af1c1b0d16a5ef1578 on flatmap_apply into 69b25a0c210390d6a80f429159905b0d9ceb19c3 on master.

Cool, I think the general idea of this PR is pretty clear, we just need some refactoring to be column-oriented :)

Coverage increased (+0.32%) to 59.75% when pulling 50ad66c0e80e8f7312ba7d43c8aa96fe7a539bec on flatmap_apply into 6b50d31ba9b2e8d7c8036d309594945c07fa2fc2 on master.

@jingjingwang could you comment on "Files changed" rather than "Commits"? I find that much easier to follow, since any individual commit may have little or no relation to the current state of the PR.

Coverage increased (+0.38%) to 59.81% when pulling 360f69c7b10bb876d2bbf8871c2872b2c164a34d on flatmap_apply into 6b50d31ba9b2e8d7c8036d309594945c07fa2fc2 on master.

Coverage increased (+0.26%) to 59.69% when pulling 2592e6b4c9ae394f90c1570896dd8ac3b9331944 on flatmap_apply into 6b50d31ba9b2e8d7c8036d309594945c07fa2fc2 on master.

Fixes #706.

Coverage increased (+0.6%) to 27.606% when pulling 004147429ed46245c6f7c768743a7f7671820f04 on flatmap_apply into 74337f610739f2bc5908f2aa464145b407d54843 on master.

@jingjingwang I refactored as we discussed and rebased on latest master; could you review so we can hopefully merge by end of this week?

Coverage increased (+0.5%) to 27.232% when pulling 870bef2f0030d5729b531e22a87ff33a0af65a58 on flatmap_apply into db0a179084346bdf21da056ee1b5254051a23726 on master.

Coverage increased (+0.4%) to 27.22% when pulling e578a0227128512bea5668640ca519bdc5b51477 on flatmap_apply into db0a179084346bdf21da056ee1b5254051a23726 on master.

Coverage increased (+0.4%) to 27.206% when pulling 45ba79c29a6df71ef8b4a408698f08bf1a97f26e on flatmap_apply into db0a179084346bdf21da056ee1b5254051a23726 on master.

Coverage increased (+0.4%) to 27.19% when pulling 658fe39d36c0fc2392cf3fefb21d71a598ba253d on flatmap_apply into db0a179084346bdf21da056ee1b5254051a23726 on master.

I think I addressed all comments in 76c9ee4. I'm still not satisfied with the interface of EvaluatorResult, but maybe we can improve it after discussion in person.

Coverage increased (+0.4%) to 27.217% when pulling 76c9ee41215d2e169ce6becf77fe4ca0b3d9e119 on flatmap_apply into db0a179084346bdf21da056ee1b5254051a23726 on master.

Yes, maybe we need to do some refactoring to those column/tuple classes to help EvaluatorResult.


typeof switch filters union types but does not narrow them

TypeScript Version: 83fe1ea

Search Terms: switch typeof narrowing narrows
Code
// @strictNullChecks: true
function narrowingNarrows(x: {} | undefined) {
    switch (typeof x) {
        case 'string': x; return; // x is {}, should be string
        case 'number': x; return; // x is {}, should be number
    }
}

Expected behavior:
Switching on typeof should narrow union members in addition to filtering.

In the first clause, undefined should be filtered and {} should be narrowed to string.
In the second clause, undefined should be filtered and {} should be narrowed to number.

Actual behavior:
Switching on typeof only filters unions.

In the first clause, undefined is filtered but {} is not narrowed.
In the second clause, undefined is filtered but {} is not narrowed.

Playground Link:  Link: N/A (Playground not on this version).

Should this have a fixed label or should it wait on merging a PR?

The PR's in a milestone, so the fixed label is fine. It's good for making sure nobody else picks up the issue accidentally while it's still open.

Cheers @weswigham. Might be worth adding a fixed label to #27180 as it handled by the same PR.

@weswigham assigning to you for tracking purposes

@RyanCavanaugh @weswigham
Is there any merit in trying to unify the if and switch narrowing code under typeof, at least to some degree?


parameterized_docker_build.sh fails

Issue
Executing parameterized_docker_build.sh fails to generate new docker image, throws out multiple error messages.
System information

I have used a stock example script provided in TensorFlow
Windows 10 professional
TensorFlow not installed (looking for generating a dockerfile)
TensorFlow version 1.3:latest (eventually looking for this version)
Python version 3 (eventually looking for this version)
Bazel version not yet installed
CUDA/cuDNN version not relevant (CPU install)
GPU model and memory not relevant (CPU install)

Set-up
>>> Docker run -it Ubuntu:latest /bin/bash
$ apt-get update
$ apt-get install curl
$ cd /opt
$ curl -O https://raw.githubusercontent.com/tensorflow/tensorflow/master/tensorflow/tools/docker/parameterized_docker_build.sh
$ curl -O https://raw.githubusercontent.com/tensorflow/tensorflow/master/tensorflow/tools/docker/parameterized_docker_build.sh
$ chmod +x opt/parameterized_docker_build.sh
$ export TF_DOCKER_BUILD_IS_DEVEL=NO
$ export TF_DOCKER_BUILD_TYPE=CPU
$ export TF_DOCKER_BUILD_PYTHON_VERSION=PYTHON3
$ export NIGHTLY_VERSION="1.head"
$ export TF_DOCKER_BUILD_CENTRAL_PIP=$(echo ${TF_DOCKER_BUILD_PYTHON_VERSION} | sed s^PYTHON2^http://ci.tensorflow.org/view/Nightly/job/nightly-matrix-cpu/TF_BUILD_IS_OPT=OPT,TF_BUILD_IS_PIP=PIP,TF_BUILD_PYTHON_VERSION=${TF_DOCKER_BUILD_PYTHON_VERSION},label=cpu-slave/lastSuccessfulBuild/artifact/pip_test/whl/tensorflow-${NIGHTLY_VERSION}-cp27-cp27mu-manylinux1_x86_64.whl^ | sed s^PYTHON3^http://ci.tensorflow.org/view/Nightly/job/nightly-python35-linux-cpu/lastSuccessfulBuild/artifact/pip_test/whl/tensorflow-${NIGHTLY_VERSION}-cp35-cp35m-manylinux1_x86_64.whl^)

Command triggering issue
$ sh opt/parameterized_docker_build.sh
Error messages

opt/parameterized_docker_build.sh: 70: opt/parameterized_docker_build.sh: Bad substitution
opt/parameterized_docker_build.sh: 71: opt/parameterized_docker_build.sh: source: not found
opt/parameterized_docker_build.sh: 81: opt/parameterized_docker_build.sh: to_lower: not found
opt/parameterized_docker_build.sh: 82: opt/parameterized_docker_build.sh: to_lower: not found
opt/parameterized_docker_build.sh: 83: opt/parameterized_docker_build.sh: to_lower: not found
opt/parameterized_docker_build.sh: 84: opt/parameterized_docker_build.sh: to_lower: not found
Required build parameters:
TF_DOCKER_BUILD_TYPE=
TF_DOCKER_BUILD_IS_DEVEL=
TF_DOCKER_BUILD_DEVEL_BRANCH=
Optional build parameters:
TF_DOCKER_BUILD_CENTRAL_PIP=http://ci.tensorflow.org/view/Nightly/job/nightly-python35-linux-cpu/lastSuccessfulBuild/artifact/pip_test/whl/tensorflow-1.head-cp35-cp35m-manylinux1_x86_64.whl
TF_DOCKER_BUILD_IMAGE_NAME=
TF_DOCKER_BUILD_VERSION=
TF_DOCKER_BUILD_PORT=
TF_DOCKER_BUILD_PUSH_CMD=
opt/parameterized_docker_build.sh: 102: opt/parameterized_docker_build.sh: [[: not found
opt/parameterized_docker_build.sh: 114: opt/parameterized_docker_build.sh: [[: not found
opt/parameterized_docker_build.sh: 121: opt/parameterized_docker_build.sh: [[: not found
opt/parameterized_docker_build.sh: 124: opt/parameterized_docker_build.sh: die: not found
opt/parameterized_docker_build.sh: 128: opt/parameterized_docker_build.sh: [[: not found
opt/parameterized_docker_build.sh: 130: opt/parameterized_docker_build.sh: [[: not found
opt/parameterized_docker_build.sh: 141: opt/parameterized_docker_build.sh: die: not found
opt/parameterized_docker_build.sh: 145: opt/parameterized_docker_build.sh: [[: not found
opt/parameterized_docker_build.sh: 147: opt/parameterized_docker_build.sh: [[: not found
opt/parameterized_docker_build.sh: 150: opt/parameterized_docker_build.sh: die: not found
opt/parameterized_docker_build.sh: 156: opt/parameterized_docker_build.sh: [[: not found
FINAL_IMAGE_NAME: tensorflow/tensorflow
FINAL_TAG: latest
Original Dockerfile: //Dockerfile
Docker build will occur in temporary directory: /tmp/tmp.IItoQQJuhx
cp: error reading '//proc/1/task/1/personality': Operation not permitted
cp: error reading '//proc/1/task/1/syscall': Operation not permitted
cp: cannot open '//proc/1/task/1/mem' for reading: Permission denied
cp: error reading '//proc/1/task/1/clear_refs': Invalid argument

Use tensorflow's official docker image
CPU and GPU Support also available with their docker image just choose the right tag
docker run -it -p 8888:8888 tensorflow/tensorflow

Thank you but sorry the image launches a number of processes I don't need/like in particular Jupyter and I would like to build my own stripped down docker image.

You are correct thank you very much.
Let me explicit a bit your solution because I nearly failed to grasp it and this can be useful for future readership and eventual documentation.
If one docker pulls a developer image, it will contain the code. So for example let's docker pull tensorflow/tensorflow:1.3.0-devel-py3, then one should be able to run parameterized_docker_build.sh in the /tensorflow/tensorflow/tools/docker folder just  fine.
The smallest command line to generate a docker image will then be:
docker run -it tensorflow/tensorflow:right tag
Port mapping at 8888 -p 8888:8888 is nice to have.


Will no longer be updated to the Raku ecosystem

Hello,
Thank you for the time and effort you have put in what is now the Raku Programming Language.  The language and its ecosystem are moving forward.
This means that these distributions:

https://github.com/adaptiveoptics/Crust-Middleware-Session-Store-DBIish
https://github.com/adaptiveoptics/P6-Finance-GDAX-API
https://github.com/adaptiveoptics/P6-Prompt-Gruff

will no longer be checked for updates by the Raku ecosystem.
This means that you will need to move your module to the zef ecosystem on the next update you make to these distributions.  Otherwise your update will simply not be seen by the ecosystem.
If you are no longer interested in maintaining these distributions, you can have these distributions moved to Raku Community Modules Adoption Center, where members of the Raku Community will take care of them.
This can be as easy as confirming that in a response to this issue.
Again, thank you for your time and efforts!
On behalf of the Raku Steering Council,
Elizabeth Mattijsen

Removed the above modules from p6c with https://github.com/Raku/ecosystem/commit/995e27e153
These versions remain available through the Raku Ecosystem Archive


Moving Modules To Root

This moves the module support to the root of the repo. It also cleans up some linter issues. There is some more linting fixes to perform.

Not sure why tests are failing and I guess I don't have what I need on my local machine to know more. But I am super curious.


Break Blocks Quest

What does your feature do?
let people break Iron Ore and other kinds of Ore In the blocks for stages.
( I Tried Typing in Iron Ore it does not work so i dont even think I can choose iron ore or even any ore as it does not know that block)
How would people use it?
It will allow players to complete their quest by breaking this block

This is already a feature. Ask for help in Discord or create a bug report with quest example.

My bad cz I did try adding the Iron Ore and it did not work i did try with other ores but i think i will test out again if really cant i will ask for help in discord


Addition of an EchoCommand

command/EchoCommand
Kyle echos a given text passed "Kyle echo (text)", if nothing is passed, Kyle will say "Type something dummy".

@ChiengBang Fix the CodeFactor issue that it's raising


Feature Request: Add BTC-focused layers

Hey! Love what you are doing with L2Beat for the ETH ecosystem. Refreshing to see an independent analysis where people can compare claims vs the current state of tech.
I think it would be amazing to have a tab for Bitcoin. There are numerous projects already building / upcoming and right now there are a lot of claims / "terminology hacking" that I am sure ppl would celebrate a proper analysis.
Glad to help / collab!
Since Bitcoin has no "rollups" per se, the page should cover L1s that specialize in bringing smart contract functionality to Bitcoin, like RSK, Stacks, and Interlay.
Apart from TVL metrics, I suggest including the following:

BTC bridge type (centralized, permissioned multi-sig/threshold sig, open threshold sig,  collateralized, ...)
Chain type (EVM, Rust, custom, ...)

I want to second this request, and have people who would be willing to do some of the research work to populate this data.
There are also quite a few meta-protocols (Ordinals, Counterparty) as well as other layers that might be worth including on the Bitcoin side, as the true L2 layers are less developed than on ETH.
What are the plans for L2Beat regarding Bitcoin? Lots of us on the Ordinals side are interested in helping out.

I'm the third. We're Hacash.com, a multi-layer scaling solution based on one-way transfer of bitcoin.
As we pushed forward, we realized that there was a lack of a platform in the market that converged Bitcoin layer 2 information and data.
I think L2Beat success with Ethereum layer 2 can continue to be extended to the Bitcoin layer 2 ecosystem.
Meanwhile our team is willing to contribute.

Hi L2Beat team, I believe I chatted with @sz-piotr at L2Days Istanbul about this. We've developed a website to act as an "L2Beat" for Bitcoin L2s, L3s, sidechains and more. The general risk framework will be a bit different as we have to consider solutions like payment channels, ecash protocols, statechains, etc., but there is a lot of overlap.
And a lot of the "Bitcoin L2s" we'll be covering are actually rollups, validiums, or optimiums that settle on Ethereum, but have connections to Bitcoin.
Let me know if you all would be interested in providing feedback on the site / framework. Would also love to collaborate on reviews for "Bitcoin-aligned" Ethereum L2s for L2Beat.
Massive thanks to you all for giving us the framework to kick start this 🙏


Update public config to pass cors in the right locations

Related to mage/mage-sdk-js#5
This changes getPublicConfig in both the commandCenter and msgServer to pass around the cors configuration to transports.
This currently prevents stick sessions from working on AWS ELB.

Thanks!


Some fonts' NameRecord can't be decoded correctly, and also can't be subsetted correctly

I found some old fonts' name tables' record can't be decode correctly, maybe this also lead to the error that they can't be subsetted correctly
These fonts' subsetted fonts can't be recognized by Windows 10. And when I dumped their ttx, I found Glyph table is lost, only ".notdef" remaining.
I try my best to understand what textcoding they use. I mark them below the fonts' name.
This is the list of error decoding and error subsetting fonts:
[Microsoft微软] 微软简XX Simplified Chinese Family
Such as

微软简标宋
微软简粗黑
微软简仿宋
...

Code
>>> t = ttLib.TTFont(r'C:\Users\yyfll\AppData\Local\Microsoft\Windows\Fonts\微软简标宋.TTF')
>>> t['name'].names[9].toStr()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\yyfll\AppData\Local\Programs\Python\Python39\lib\site-packages\fontTools\ttLib\tables\_n_a_m_e.py", line 458, in toUnicode
    string = tostr(string, encoding=encoding, errors=errors)
File "C:\Users\yyfll\AppData\Local\Programs\Python\Python39\lib\site-packages\fontTools\misc\textTools.py", line 124, in tostr
    return s.decode(encoding, errors)
UnicodeDecodeError: 'gb2312' codec can't decode byte 0xce in position 1: illegal multibyte sequence

They are GB-2312/GBK Textcoding, but with '\x00' ASCII char between two bytes
t['name'].names[9].toBytes()
b'\x00\xce\x00\xa2\x00\xc8\x00\xed\x00\xbc\x00\xf2\x00\xb1\x00\xea\x00\xcb\x00\xce'
'微软简标宋'.encode('gbk')
b'\xce\xa2\xc8\xed\xbc\xf2\xb1\xea\xcb\xce'

THESE FONTS CAN'T BE SUBSETTED SUCCESSFULLY
[Microsoft微软] 微软繁XX Tranditional Chinese Family
Such as

微软繁宋体
微软繁细圆
微软繁粗圆
...

Like the first one, GB-2312/GBK Textcoding, but also have '\x00' between two bytes.
THESE FONTS CAN'T BE SUBSETTED SUCCESSFULLY
[DynaFont華康] Chinese Fonts Family
Such as

DFLiKaiShu-Md / 華康儷楷書 / DFPLiKaiShu-Md / 華康儷楷書(P)
華康海報體W12 / 華康海報體W12(P)
華康墨字體 / 華康墨字體(P)
...

And these Simplified Chinese fonts:

华康简宋
华康简标题宋
华康简楷
华康简综艺
华康简黑

\x00
THESE FONTS CAN'T BE SUBSETTED SUCCESSFULLY
I have tested subsetting 華康特粗圓體.TTF, with the text: 大家齊心協力共建美好城市
WARNING: too much 'hmtx' table data

There is only .notdef remaining in Glyph table of the output file
[Arphic文鼎] Traditional Chinese Fonts Family
Such as

文鼎中特廣告體
文鼎中鋼筆行楷
文鼎圓立體
文鼎瀟灑體
....

Strange fonts, only PlatformID=3; LanguageID=1028 name table. BIG5 Textcoding.
Windows 10 20H1 also can't read the name table, but it is also like the first one, with a \x00 between 2 bytes
>>> t['name'].names[4].toBytes()
b'\x00\xa4\x00\xe5\x00\xb9\x00\xa9\x00\xa4\x00\xa4\x00\xaf\x00S\x00\xbc\x00s\x00\xa7\x00i\x00\xc5\x00\xe9'
>>> '文鼎中特廣告體'.encode('big5')
b'\xa4\xe5\xb9\xa9\xa4\xa4\xafS\xbcs\xa7i\xc5\xe9'

HAVEN'T TEST SUBSET
Mainly problem of the Japanese fonts below is its UTF-16-BE Textcoding can't be recognize and fontTools try to decode them with Shift-JIS
[RICOH理光] HG Japanese Fonts Familiy
Such as

HGHigemoji / HGひげ文字 / HGPHigemoji / HGPひげ文字 / HGSHigemoji / HGSひげ文字
HG行刻
HG行書体
... (More than 20 fonts)

They are UTF-16-BE Textcoding, but maybe didn't note that it's UTF-16-BE?
ttxdump:
<namerecord nameID="1" platformID="3" platEncID="2" langID="0x411" unicode="False">
  �H�G½ˆc�B

python:
>>> t = ttLib.TTFont(r'C:\Users\yyfll\AppData\Local\Microsoft\Windows\Fonts\Hgrah2sj.TTC', fontNumber=0)
>>> t['name'].names[17].toStr()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\yyfll\AppData\Local\Programs\Python\Python39\lib\site-packages\fontTools\ttLib\tables\_n_a_m_e.py", line 458, in toUnicode
    string = tostr(string, encoding=encoding, errors=errors)
File "C:\Users\yyfll\AppData\Local\Programs\Python\Python39\lib\site-packages\fontTools\misc\textTools.py", line 124, in tostr
    return s.decode(encoding, errors)
UnicodeDecodeError: 'shift_jis' codec can't decode byte 0x87 in position 9: illegal multibyte sequence
>>> t['name'].names[17].toBytes()
b'\x00H\x00G0r0Re\x87[W'
>>> t['name'].names[17].toBytes().decode('utf-16-be')
'HGひげ文字'
>>> t['name'].names[17]
<NameRecord NameID=1; PlatformID=3; LanguageID=1041>

HAVEN'T TEST SUBSET
"FG" Japanese Fonts Family

FG平成角ｺﾞｼｯｸ体W3
FGＣ＆Ｇ半古印 / FGPＣ＆Ｇ半古印

UTF-16-BE Textcoding
HAVEN'T TEST SUBSET
CRＣ＆Ｇ半古印 / CRPＣ＆Ｇ半古印
UTF-16-BE Textcoding
HAVEN'T TEST SUBSET
麗流隷書
UTF-16-BE Textcoding, but maybe didn't note that it was Unicode
t = ttLib.TTFont(r'C:\Users\yyfll\AppData\Local\Microsoft\Windows\Fonts\麗流隷書.TTF')
>>> t['name'].names[9].toStr()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\yyfll\AppData\Local\Programs\Python\Python39\lib\site-packages\fontTools\ttLib\tables\_n_a_m_e.py", line 458, in toUnicode
    string = tostr(string, encoding=encoding, errors=errors)
File "C:\Users\yyfll\AppData\Local\Programs\Python\Python39\lib\site-packages\fontTools\misc\textTools.py", line 124, in tostr
    return s.decode(encoding, errors)
UnicodeDecodeError: 'shift_jis' codec can't decode byte 0xf8 in position 7: illegal multibyte sequence
>>> t['name'].names[9].toBytes().decode('utf-16-be')
'麗流隷書'

THIS FONT CAN'T BE SUBSETTED SUCCESSFULLY
Maybe more.
They are really old fonts. My python technique is too poor to fix these problem by myself.

Here is an actual that can't be decoded: https://mega.nz/file/S9ERDRpQ#bcPhS06kv-D5jt64aTNDbZVd6gZr6ZfJDYT91yYsoWk

Here is an example with an actual font: https://mega.nz/file/S9ERDRpQ#bcPhS06kv-D5jt64aTNDbZVd6gZr6ZfJDYT91yYsoWk
If I try to get the encoding of the fontName, I get "mac_roman" when I should get "shift-jis"
If I print the names of the font, I have this:
[<NameRecord NameID=0; PlatformID=1; LanguageID=11>, <NameRecord NameID=1; PlatformID=1; LanguageID=11>, <NameRecord NameID=2; PlatformID=1; LanguageID=11>, <NameRecord NameID=3; PlatformID=1; LanguageID=11>, <NameRecord NameID=4; PlatformID=1; LanguageID=11>, <NameRecord NameID=5; PlatformID=1; LanguageID=11>, <NameRecord NameID=6; PlatformID=1; LanguageID=11>, <NameRecord NameID=0; PlatformID=3; LanguageID=1041>, <NameRecord NameID=1; PlatformID=3; LanguageID=1041>, <NameRecord NameID=2; PlatformID=3; LanguageID=1041>, <NameRecord NameID=3; PlatformID=3; LanguageID=1041>, <NameRecord NameID=4; PlatformID=3; LanguageID=1041>, <NameRecord NameID=5; PlatformID=3; LanguageID=1041>, <NameRecord NameID=6; PlatformID=3; LanguageID=1041>]
I think the PlatformID=1 return "mac_roman" but the PlatformID=3 would return "shift-jis".
https://docs.microsoft.com/en-us/typography/opentype/spec/name#platform-encoding-and-language-ids