Dynamically imported SVGs result in jumping content on each component render

Describe the bug
Steps to reproduce:

Inside a Vue SFC use dynamic import syntax to import a svg:

<template>
  <component :is="svg"  /> Logo
</template>

<script setup>
import { computed, defineAsyncComponent } from 'vue'
const svg = computed(() => defineAsyncComponent(() => import('./logo.svg?component')))
</script>

Use this component in another component and add a method for conditional rendering:

<template>
  <button @click="show = !show">Toggle Logo</button>
  <Logo v-if="show" />
</template>

<script setup>
import { ref } from 'vue'
import Logo from './components/Logo.vue'

const show = ref(true)
</script>

Build and preview the site using vite build && vite preview
Toggle the component in and out

Actual behavior:
On each render, the imported SVG is rendered after a short delay. This creates a jumping effect, as it pushes aside other content after getting rendered.
Expected behavior:
On first render the SVG is rendered after a short delay. On every subsequent render, the SVG is rendered instantly.
Details
The reproduction example is obviously not a common use case. However a lot of generic icon components rely on dynamic imports for SVG files.
This issue did not appear when bundling the application with vue-cli / webpack. It also appears when using vite with Vue2 and vite-plugin-vue2-svg so I assume it has to do with vite / rollup.
Workaround

attention the workaround requires overwriting vite's own manualCunks function, which might not be what you want

Bundling all SVG files with main.js resolves this issue:
import vue from '@vitejs/plugin-vue'
import svgLoader from 'vite-svg-loader'

export default {
  plugins: [vue(), svgLoader()],
  build: {
    rollupOptions: {
      output: {
        manualChunks: (id) => {
          if (id.includes('.svg') || id.includes('main.js')) {
            return 'main'
          }
        },
      },
    },
  },
}

Reproduction
<EMAIL_ADDRESS>System Info
System:
    OS: Linux 5.11 Debian GNU/Linux 9 (stretch) 9 (stretch)
    CPU: (4) x64 Intel(R) Xeon(R) CPU @ 2.30GHz
    Memory: 8.72 GB / 25.45 GB
    Container: Yes
    Shell: 4.4.12 - /bin/bash
  Binaries:
    Node: 12.22.6 - /usr/local/bin/node
    Yarn: 1.22.5 - /usr/local/bin/yarn
    npm: 6.14.15 - /usr/local/bin/npm
  npmPackages:
    @vitejs/plugin-vue: ^1.2.4 => 1.2.4
    vite: ^2.3.8 => 2.3.8

Used Package Manager
yarn
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/vue-next instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

in your case, i think you can wrap 'Logo' component with 'keep-alive' to cache it.
<template>
  <button @click="show = !show">Toggle Logo</button>
  <keep-alive>
     <Logo v-if="show" />
  </keep-alive>
</template>

<script setup>
import { ref } from 'vue'
import Logo from './components/Logo.vue'

const show = ref(true)
</script>

then it will be like "only show delay on first render."

That is correct. However, as mentioned above the reproduction example is pretty mundane. In a more common usecase, like icon components one should probably not use keep-alive on every icon inside the application. Not 100% sure, but I can imagine this would create unneeded performance issues.

When I run the replit repro, I don't see a jump on subsequent toggles though. It's pretty snappy afterwards. Can you confirm this is still an issue today?

Just checked it and the issue still persists:

However it isn't as obvious, when you click the toggle button rapidly. Doing it at a slower pace will still results in the same issue.

Interesting, yeah after a couple more clicks, I can reproduce this now. Dynamic imports should be cached by the browser, so I'm not sure what's causing the jumpiness (There's also no extra network requests). Perhaps it has something to do with the inner workings of defineAsyncComponent but I'm not familiar with it.

I found that if you move defineAsyncComponent to a normal <script>, it does not happen.
<template>
  <component :is="svg"  /> Logo
</template>

<script>
const svg = defineAsyncComponent(() => import('./logo.svg?component'))
</script>

<script setup>
import { computed, defineAsyncComponent } from 'vue'
</script>

https://replit.com/@sapphi-red/ViteJumpingSVG?v=1

That is quite interesting. So basically putting the defineAsyncComponent part inside the setup function is what causes the issue.
Jumps:
<template>
  <component :is="vueLogo"  /> Logo
</template>

<script>
import { defineAsyncComponent } from 'vue'

export default {
  setup() {
    const vueLogo = defineAsyncComponent(() => import('./vue-logo.svg?component'))

    return {
      vueLogo,
    }
  }
}
</script>

Does not jump:
That is quite interesting. So basically putting the `defineAsyncComponent` part inside the `setup` function is what causes the issue.

```vue
<template>
  <component :is="vueLogo"  /> Logo
</template>

<script>
import { defineAsyncComponent } from 'vue'

const vueLogo = defineAsyncComponent(() => import('./vue-logo.svg?component'))

export default {
  setup() {
    return {
      vueLogo,
    }
  }
}
</script>

In that case, I think it's a usage issue and not related to Vite. @visualjerk do you think this issue can be closed now?

@bluwy I think the issue is still relevant, as a common use case is to choose the imported component with a prop.
Example:
<template>
  <component :is="iconComponent" />
</template>

<script>
import { computed, defineAsyncComponent } from 'vue'

export default {
  props: {
    icon: {
      type: String,
      required: true
    }
  },
  setup(props) {
    const iconComponent = computed(
      () => defineAsyncComponent(() => import(`./${props.icon}.svg?component`))
    )

    return {
      iconComponent,
    }
  }
}
</script>

In that case it is not possible to put defineAsyncComponent outside of the setup function, or am I missing something?

I think this is not happening because of Vite.
While it happens with Vite (stackblitz) and it does not happen with Webpack somehow, it does happen with Webpack if I add await new Promise(resolve => setTimeout(resolve, 0)) before import (stackblitz).
I guess why webpack work is because webpack converts import into a sync function.
Closing as I believe this needs to be fixed on Vue side.


Incorrect Data Types in JSON Serialization from Python Client to Server

Bug Description
    d = {'lid': int(lid), 'start': None, 'field_name': 'mobile', 'field_value': number }
    h = {'Content-Type': 'application/json;'}
    r = requests.post('https://xxxxx/api/pimeditor/openField', json = d, headers = h)

I send: {'lid': 570, 'start': None, 'field_name': 'mobile', 'field_value': '111000111'}
@app.post("/api/pimeditor/openField")
async def openField(request):
    j = request.json()
    logger.info(f"{request.headers['x-real-ip']}:{request.query_params.get('app','?')} {request.url.path} {j}")

I got: {'field_name': 'mobile', 'field_value': '111000111', 'lid': '570', 'start': 'null'}
So, the JSON data received on the server has incorrect data types for some fields:
The lid field is sent as an integer (570) but is received as a string ("570").
The start field is sent as None but is received as the string "null".
Steps to Reproduce
No response
Your operating system
Linux
Your Python version (python --version)
3.11
Your Robyn version
latest
Additional Info
No response

Hey @areqq 👋
Thanks for raising this. This is a limitation as of now. We are working on fixing this.


add qtpdf as dedicated recipe

Provide qtpdf[0] as a dedicated package.
[0] https://doc.qt.io/qt-5/qml-qtquick-pdf-pdfdocument.html

I think it might be desirable to improve qtwebengine_git.bb to explicitly PACKAGES += "qtpdf" too.
I am not so sure about the state of python2 vs python3 wrt the other components though. Maybe somebody who actually uses qtwebengine could try to build and run this while using python3 to build it?

Merged, thanks.


AttributeError: 'Overview' object has no attribute 'home_probable_pitcher_s_era'

for game in games:
        stats = mlbgame.team_stats(game.game_id)
        overview = mlbgame.overview(game.game_id)
        player_stats = mlbgame.player_stats(game.game_id)
        winning_team_SP_era = overview.home_probable_pitcher_s_era

is the wrong XML being parsed. I get the correct values here: http://gd2.mlb.com/components/game/mlb/year_2016/month_08/day_05/gid_2016_08_05_miamlb_colmlb_1/gamecenter.xml

What's the game ID you're using for overview?
Also those changes were just merged into master a couple days ago, if you're using a released version of mlbgame those attributes won't work till next release.

Overview doesn't have a home_probable_pitcher_s_era key. It comes from linescore.xml: https://github.com/panzarino/mlbgame/blob/master/mlbgame/data.py#L80-L82
http://gd2.mlb.com/components/game/mlb/year_2016/month_08/day_05/gid_2016_08_05_miamlb_colmlb_1/linescore.xml

@trevor-viljoen so games in the past won't have those attributes, but future games will (as of 3/2, this game is future http://gd2.mlb.com/components/game/mlb/year_2018/month_03/day_03/gid_2018_03_03_arimlb_lanmlb_1/linescore.xml)
I recently did https://github.com/panzarino/mlbgame/pull/64 which grabbed the home and away probable starter attributes and if they don't exist, they should all be defaulting to an empty string, which prompted my question to the OP on if they're using a released version of mlbgame or master.

@ajbowler @panzarino Maybe we should create a FAQ for common issues/assumptions?

@trevor-viljoen FAQ could be a good idea. Will add these new stats in the next release.

Copy that, just so you know where I am looking:
class Overview(mlbgame.object.Object):
    """Object to hold an overview of game information
    Properties:
          ....
        away_probable_pitcher_first
        away_probable_pitcher_first_name
        away_probable_pitcher_id
        away_probable_pitcher_last
        away_probable_pitcher_last_name
        away_probable_pitcher_losses
        away_probable_pitcher_name_display_roster
        away_probable_pitcher_number
        away_probable_pitcher_s_era
        away_probable_pitcher_s_losses
        away_probable_pitcher_s_wins
        away_probable_pitcher_stats_season
        away_probable_pitcher_stats_type
        away_probable_pitcher_throwinghand
        away_probable_pitcher_wins

I need some of this data for stuff I am working on, so I might go ahead and make some changes to grab additional stats via those gamecenter, and linescore structures. Will submit a PR with the updates if that happens.

Quick question for you guys: Do you know any place to grab the hbp for pitchers?

@Hisairnessag3 Slack is probably a more appropriate place for questions and you'd get more eyes and a quicker response.
This would get you key, value pairs for pitcher player IDs and how many hit by pitch.  I don't see where MLB has supplied this information in any of the available XML files.
import mlbgame
from collections import Counter

# game_id = 'your_game_id'
events = mlbgame.events(game_id)
half_inn = ['top', 'bottom']
hbp_list = []

for inning in events:
    for half in half_inn:
        for ab in inning.__dict__[half]:
            if ab.event == 'Hit By Pitch':
                hbp_list.append(ab.pitcher)

hbp = Counter(hbp_list)

Or with a list comprehension
import mlbgame
from collections import Counter

# game_id = 'your_game_id'
events = mlbgame.events(game_id)
half = ['top', 'bottom']
hpb_list = [ab.pitcher for inn in events for h in half for ab in inn.__dict__[h] if ab.event == 'Hit By Pitch']
hbp = Counter(hbp_list)

import mlbgame
from collections import Counter

game = mlbgame.day(2017, 11, 1, away='Astros')[0]
events = mlbgame.game_events(game.game_id)
hpb = Counter([ab.pitcher for inn in events for h in half for ab in inn.__dict__[h] if ab.event == 'Hit By Pitch'])

Counter({621121: 4})

2017 WS Game 7
McCullers hit 4:
Turner (by McCullers Jr.); Puig (by McCullers Jr.); Hernandez (by McCullers Jr.); Turner (by McCullers Jr.).

Whats the slack? Thanks, I am assuming I cannot grab the season HBP per game based on the xml(unless you can think of something), so I will calculate it per game and then sum after.

Slack: https://mlbgame-slack-invite.herokuapp.com/
The XML files used by mlbgame are the same files generated by the Game Day application during a given game. Season stats would be stored in a database and not generated at run time by the application. So any season stats shown in the app would likely be the result of an API/DB query made by the application.
I'm working on v3 of mlbgame which uses the MLB stats APIs, but they aren't well documented and some of the APIs don't seem to work, including the endpoint to get season stats.
This is all you get for player pitching stats. The stat would be hb for hit batsmen, but isn't part of their pitching stats.
{
  "id": 621121,
  "name": "McCullers Jr.",
  "name_display_first_last": "Lance McCullers Jr.",
  "pos": "P",
  "out": 7,
  "bf": 13,
  "er": 0,
  "r": 0,
  "h": 3,
  "so": 3,
  "hr": 0,
  "bb": 0,
  "np": 49,
  "s": 27,
  "w": 1,
  "l": 0,
  "sv": 0,
  "bs": 0,
  "hld": 0,
  "s_ip": 7.2,
  "s_h": 7,
  "s_r": 3,
  "s_er": 3,
  "s_bb": 4,
  "s_so": 6,
  "game_score": 51,
  "era": 3.52
}


feat: replace html-button to Button-component from uikit

@JeikZim  please rename this PR like feat:

https://github.com/gravity-ui/uikit/blob/main/src/components/Button/Button.scss Control sizes are not equal uikit Button sizes

It really is. However, is this a problem? This component is used only in one place (in MobileMenuButton), and there it has an "l" value equal to this value in uikit

https://github.com/gravity-ui/uikit/blob/main/src/components/Button/Button.scss Control sizes are not equal uikit Button sizes

It really is. However, is this a problem? This component is used only in one place (in MobileMenuButton), and there it has an "l" value equal to this value in uikit

Yes, it's problem because it's breaking change for our users
We are need to release it in major version and receive 'ok' from design


Add builtin support for starting a task on a specific executor

@swift-ci Please test

Looks good :)

@swift-ci Please smoke test macOS

The full macOS test run failed with some unrelated DocC thing; trying a smoke test.

@swift-ci Please smoke test macOS


[WFCORE-3417] - JmxControlledStateNotificationsTestCase fails with se…

…curity manager with IBM JDK in WF core
Issue: https://issues.jboss.org/browse/WFCORE-3417

Full integration - Windows Build 4582 outcome was FAILURE using a merge of ae305bfe4cfaea5f2011db6e3bbc105a5a63c0b3
Summary: Execution timeout (new); tests passed: 4034, ignored: 97 Build time: 02:30:20

Full integration - Windows Build 4591 outcome was FAILURE using a merge of b83fb1b1ba6477d1e7090b8e47b5c0e0a610ef1a
Summary: Execution timeout; tests passed: 4196, ignored: 99 Build time: 02:30:19


Infer DB type in CAST

We could infer database type based on attribute's ROM type when calling the CAST expression:
# now
int::cast(string_column, :integer).as(:int_value)

# could be
int::cast(string_column).as(:int_value)

The problem is that this ROM type <-> DB type mapping actually depends on the used database. For instance, Oracle uses VARCHAR2 for strings rather than VARCHAR (the latter does exist but has been deprecated for ages). I would be great to infer DB type for PG and MySQL at least.
See https://github.com/rom-rb/rom-sql/pull/201 for more info on this

-      def cast(expr, db_type)
+      def cast(expr, db_type = TypeSerializer[:default].call(type))
         Attribute[type].meta(sql_expr: ::Sequel.cast(expr, db_type))
       end

@GustavoCaso somthing like this^ should work good enough

Great @flash-gordon Thanks I will create a PR with it


RuntimeError: CUDA error: the launch timed out and was terminated

RuntimeError: CUDA error: the launch timed out and was terminated
CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.

how to fix it


Remove the serializers generation and see if JSON::Resources can be put in its place

Serializers show up in app/serializers currently when generating a new resource because of AMS.

Serializers removal has been handled, will leave this open for the JSON::Resources component


added old links from sept. I didn't choose a name for the meet.

@kaBeech It's fine to delete my branches after merging. That's my usual practice, too. I usually prefer trunk-based where there is only one long-lived branch.


Add ability to add props to script and noscript tags

We've been using react-gtm for a while and we've hit the issue of the noscript iframe being visible on various platforms, thereby causing accessibility problems. We put this PR together to address this by allowing arbitrary attributes to be assigned to the <noscript> tag, but figured we should do it to the <script> tag as well, to ensure we could do the same to it as well.
Sorry about all the edits -- looks like my local prettier instance has made a lot of changes.

Occurs to me that this might conflict with #46. Happy to go back and do another pass.

I would appreciate this new feature very much. To ensure a good and save implementation of a new cookie consent manager in our website, I have to use text/plain type prop to the GTM implementation. Do you know when you will merge this PR?


Add 'operatorgroups' to edit and view clusterroles

Access to 'operatorgroups' resources is missing from clusterroles aggregated-olm-edit and aggregated-olm-view.
related to #742
/cc @jewzaam

We added operatorgroup get/list/watch to those roles, but not any of the write verbs. It requires higher-than-namespace-admin privileges to create an operatorgroup (because OperatorGroups target other namespaces and control how extensions are installed into the control plane)


nginx: HTTP header fixes

nginx: Don’t override HSTS, X-Frame-Options with other add_headers.
The nginx add_header directive doesn’t inherit the way you’d want, so we need to manually simulate inheritance using include, like we previously did with api_headers.

nginx: Set X-Content-Type-Options: nosniff globally.

nginx: Set X-XSS-Protection: 1; mode=block.

Testing Plan: curl -i https://andersk.zulipdev.org/api/v1/server_settings

Looks good, merged, thanks @andersk!


Feat: to_additive warns if simps is not applied to the additive version

Note: the changes in the test file are unrelated, but that removes some linter warnings

Thanks! :tada:
bors merge

Build failed
bors r-
bors d+


ORC-228 Make MemoryManagerImpl.ROWS_BETWEEN_CHECKS configurable

@prasanthj  could you review please

added validation, fixed comments


Update Build and Publish Pipeline

numpy 2.0 came out and is not compatible to the latest release of treams. With this PR the automated build pipeline is updated to also build for python=3.12 furthermore the tagged releases are automatically pushed to PyPi.
There were problems with the newest setuptools being incompatible to the compiler on windows, which is mitigated by pinning setuptools<=70.1.1 (see https://github.com/pypa/setuptools/issues/4456)
Addresses #2.

Integration tests fail: Direct lattice sums yield nan for complex (lossy) k


WIP: flang

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

@conda-forge-admin Please rerender.


ML- MI now supports ONNX runtime so the extension should support is as well

MI now supports ONNX runtime so the extension should support is as well

Coverage decreased (-0.0006%) to 34.199% when pulling 55a3a3f3226a31c487543c8a901cbb304c4370e8 on llali/ml-supportmi into 9db16c1f26ab3b6e72d5c4dfd849a1b45b37b74d on master.


Maintenance and upgrades

Does it pass locally for you?

I'm getting the same error locally -- it's a mismatch in a testing fixture (in mep/pages/fixtures/wagtail_pages.json).

        It's expected that you pass the Python objects themselves (instead of a
        stream or a string) to the constructor
        """
        handle_forward_references = options.pop('handle_forward_references', False)
        field_names_cache = {}  # Model: <list of field_names>

        for d in object_list:
            # Look up the model and starting build a dict of data for it.
            try:
                Model = _get_model(d["model"])
            except base.DeserializationError:
                if ignorenonexistent:
                    continue
                else:
                    raise
            data = {}
            if 'pk' in d:
                try:
                    data[Model._meta.pk.attname] = Model._meta.pk.to_python(d.get('pk'))
                except Exception as e:
                    raise base.DeserializationError.WithData(e, d['model'], d.get('pk'), None)
            m2m_data = {}
            deferred_fields = {}

            if Model not in field_names_cache:
                field_names_cache[Model] = {f.name for f in Model._meta.get_fields()}
            field_names = field_names_cache[Model]

            # Handle each field
            for (field_name, field_value) in d["fields"].items():

                if ignorenonexistent and field_name not in field_names:
                    # skip fields no longer on model
                    continue

                field = Model._meta.get_field(field_name)

                # Handle M2M relations
                if field.remote_field and isinstance(field.remote_field, models.ManyToManyRel):
                    try:
                        values = base.deserialize_m2m_values(field, field_value, using, handle_forward_references)
                    except base.M2MDeserializationError as e:
                        raise base.DeserializationError.WithData(e.original_exc, d['model'], d.get('pk'), e.pk)
                    if values == base.DEFER_FIELD:
                        deferred_fields[field] = field_value
                    else:
                        m2m_data[field.name] = values
                # Handle FK fields
                elif field.remote_field and isinstance(field.remote_field, models.ManyToOneRel):
                    try:
                        value = base.deserialize_fk_value(field, field_value, using, handle_forward_references)
                    except Exception as e:
                        raise base.DeserializationError.WithData(e, d['model'], d.get('pk'), field_value)
                    if value == base.DEFER_FIELD:
                        deferred_fields[field] = field_value
                    else:
                        data[field.attname] = value
                # Handle all other fields
                else:
                    try:
                        data[field.name] = field.to_python(field_value)
                    except Exception as e:
>                       raise base.DeserializationError.WithData(e, d['model'], d.get('pk'), field_value)
E                       django.core.serializers.base.DeserializationError: Problem installing fixture '/Users/ryanheuser/github/mep-django/mep/pages/fixtures/wagtail_pages.json': 'GenericRel' object has no attribute 'to_python': (wagtailcore.revision:pk=1) field_value was '14'

venv/lib/python3.8/site-packages/django/core/serializers/python.py:146: DeserializationError

Google isn't turning up anything explicitly about this error; let me know if you sense any immediate clues here about the fixtures?, otherwise I'll keep looking.

Not sure what's going on exactly; I do remember that the pages fixture is a little brittle, since it's so specific to the version of the database. I suspect that more fields have been changed than what they put in the release notes, since they probably don't expect people to be using the internals of page and revision models much.
It might be easiest if we can get wagtail to migrate the fixture for us. The way to do that would be to create an empty database, reverse data migrations back to before this wagtail upgrade (or maybe easier: create the empty db in a different branch first), load the fixture, run migrations, and then reexport with dumpdata (or django fixture magic if necessary) and update the fixture with the new version.
Another option would be to export some current wagtail pages and revisions and inspect them to see how the structure of our fixture needs to change.
You can test loading the fixture using loaddata:
./manage.py loaddata mep/pages/fixtures/wagtail_pages.json

How does one export the current wagtail pages? That seems more straightforward approach (copying their structure) worth trying first?

How does one export the current wagtail pages? That seems more straightforward approach (copying their structure) worth trying first?

Look at the dumpdata manage command. You can specify an app or model to limit to a particular set of records - like wagtailcore.revision or wagtailcore.page.  You'll get all the records of that type, I recommend using --indent 2 to make it readable and piping to less or your favorite pager.

Ok, making progress on these tests beyond the issues described here by turning to wagtail-factories, which in turn uses factory boy, a package which tries to replace fixtures and turn them into class factories for a few a different ORMs, including Django.
I was able to get the home page tests working using the following code. I added some tests to make sure the content is correct as well. I can condense them, but I wanted to paste this here for my and our future reference. I'm pushing this change and working on converting other tests now.
class HomePageFactory(wagtail_factories.PageFactory):
    title=HOMEPAGE_TITLE
    slug=HOMEPAGE_SLUG
    body=wagtail_factories.StreamFieldFactory({
        "paragraph":factory.SubFactory(wagtail_factories.CharBlockFactory),
        "footnotes":factory.SubFactory(wagtail_factories.CharBlockFactory)
    })

    class Meta:
        model = HomePage

class TestHomePage(WagtailPageTests):
    fixtures = ["wagtail_pages"]

    def setUp(self):
        self.homepage = HomePageFactory.create(
            body__0__paragraph=RichText(HOMEPAGE_PARA),
            body__1__footnotes=RichText(HOMEPAGE_FOOT),
        )
        self.site = Site.objects.first()
        self.site.root_page = self.homepage
        self.site.save()
        self.site.refresh_from_db()

    def test_can_create(self):
        self.assertIsNotNone(self.homepage.pk)
        assert self.homepage.title == HOMEPAGE_TITLE
        assert self.homepage.slug == HOMEPAGE_SLUG
        body = self.homepage.body

        assert len(body) == 2
        block1,block2 = body
        type1,type2=block1.block_type, block2.block_type
        val1,val2=str(block1), str(block2)

        assert type1 == 'paragraph'
        assert HOMEPAGE_PARA in val1
        assert val1 == f'
{HOMEPAGE_PARA}
'

        assert type2 == 'footnotes'
        assert HOMEPAGE_FOOT in val2
        assert val2 == f'
{HOMEPAGE_FOOT}
'

    def test_parent_pages(self):
        self.assertAllowedParentPageTypes(HomePage, [Page])

    def test_subpages(self):
        self.assertAllowedSubpageTypes(
            HomePage, [ContentLandingPage, EssayLandingPage, ContentPage]
        )

    def test_template(self):
        url = self.homepage.relative_url(self.site)
        response = self.client.get(url)
        self.assertTemplateUsed(response, "base.html")
        self.assertTemplateUsed(response, "pages/home_page.html")

All but one test passing, which I believe is related to this unanswered stackoverflow question.
It's test_template below, because the url it's retrieving /analysis2/2023/11/new-essay/ returns 404. (analysis2 is the slug for EssayLandingPageFactory).
SECONDESSAYPAGE_TITLE="A new analysis esssay"
SECONDESSAYPAGE_SLUG="new-essay"
SECONDESSAYPAGE_PARA="this page lives right under analysis"

class TestEssayPage(PageTester):
    def setUp(self):
        super().setUp()
        self.landingpage = EssayLandingPageFactory.create(
            body__0__paragraph=RichText(ESSAYLANDINGPAGE_PARA),
            parent=self.homepage
        )
        self.page = EssayPageFactory.create(
            title=SECONDESSAYPAGE_TITLE,
            slug=SECONDESSAYPAGE_SLUG,
            body__0__paragraph=RichText(SECONDESSAYPAGE_PARA),
            parent=self.landingpage
        )

    def test_template(self):
        url = self.page.relative_url(self.site)
        print('getting url:', url)
        response = self.client.get(url)
        self.assertTemplateUsed(response, "base.html")
        self.assertTemplateUsed(response, "pages/base_page.html")
        self.assertTemplateUsed(response, "pages/essay_page.html")

@rlskoeser Thanks for the first_published_at tip: coding that into the factory class fixed it! Re-tagging you for review. Hoping we can merge this, finish maintenance work and get onto new data exports.


All exercises: Restucture folders so they reflect the structure of the curriculum

Complete the following REQUIRED checkboxes:

[x] I have thoroughly read and understand The Odin Project Contributing Guide
[x] The title of this issue follows the location for request: brief description of request format, e.g. Foundations exercises: Add exercise for XYZ

The following checkbox is OPTIONAL:

[ ] I would like to be assigned this issue to work on it

1. Description of the Feature Request:

There are multiple users (from the Discord) that accidentally worked through more advanced exercises. I believe that structuring the css-exercises repo similar to the curriculum's structure would serve as a bit of a "fail-safe".
It will also make it easier for everyone else to navigate to the correct exercises.
i.e.
Instead of the folders being laid out like they currently are:
animation  flex  foundations  grid  margin-and-padding

we can structure them just like they appear in the curriculum:
foundations  intermediate-html-and-css  advanced-html-and-css

and the nesting can go deeper if deemed necessary.
However, the drawback is that any potential, future updates to the curriculum's structure will require an update in the css-exercises repo as well. This will, in a way, "couple" this repo's layout to the curriculum's layout.
2. Acceptance Criteria:

N/A
3. Additional Information:

Relevant PR that helped address this concern: https://github.com/TheOdinProject/curriculum/pull/28754
I prefer that a first-time/new contributor takes this one. If no one volunteers after some time, I will likely ask to be assigned to this if the suggestion is accepted.

Hey @Eduardo06sp
This makes a lot of sense to have a folder structure this way: foundations, intermediate-html-and-css, advanced-html-and-css.
A little bit different perspective from my side👇🏼
The problem -
From a Foundations student’s point of view, what was happening before the recent PR changes is that the student would complete exercises 1 to 6, then go back to the main directory and click the animations folder, as it was the first visible option after pressing back. Since they were unaware, they naturally clicked the animations folder and got stuck.
The update -
Now, with the updated assignment, which is split into Step 1 and Step 2, we still leave the learner with the full directory (i.e., we show them all the folders). However, this time we ask them to read the README file. I think we can directly link the README file instead of showing them the root directory.
My thoughts on @Eduardo06sp  solution -
What @Eduardo06sp said works and it twould give a lot of clarity but when we show them root folder directory I still know atleast 5/100 are going to still go to intermediate html css folder.
A solution -
Of course, they can still click on the root directory if they want, but if they click on Step 1, they should be given a link to the README file like this: https://github.com/TheOdinProject/css-exercises/blob/main/README.md, and in Step 2, we have already properly linked them to the Foundations directory.
Why this solution -
We can minimize the chances of them navigating to the root directory and accessing the flex or animations folders. They still have access, but it's less likely they'll end up there compared to the current setup, where Step 1 links to the directory containing the animations folder, which a new learner might instinctively click on.

Hi @Eduardo06sp, I'm interested in working on this issue to restructure the folders in the css-exercises repository to align with the curriculum. Could I be assigned to this task? Thank you!

Thanks for opening the issue and discussion from the original issue/PR in the other repo.
To make a point, there's only so much we can do in terms of people not following instructions. While we can try to make the repo structure more intuitive, there simply will be people who don't read instructions, or get a bit carried away with momentum and forget what they were told to only do.
I think it makes sense to restructure this repo a bit and agree with the top level being the 3 courses separately. This is the directory structure I'm proposing - let me know your thoughts:
├── advanced-html-css
│   └── animation
│       ├── 01-button-hover
│       ├── 02-pop-up
│       └── 03-dropdown-menu
├── foundations
│   ├── cascade
│   │   └── 01-cascade-fix
│   ├── flex
│   │   ├── 01-flex-center
│   │   ├── 02-flex-header
│   │   ├── 03-flex-header-2
│   │   ├── 04-flex-information
│   │   ├── 05-flex-modal
│   │   ├── 06-flex-layout
│   │   └── 07-flex-layout-2
│   ├── intro-to-css
│   │   ├── 01-css-methods
│   │   ├── 02-class-id-selectors
│   │   ├── 03-grouping-selectors
│   │   ├── 04-chaining-selectors
│   │   └── 05-descendant-combinator
│   └── margin-and-padding
│       ├── 01-margin-and-padding-1
│       └── 02-margin-and-padding-2
├── intermediate-html-css
│   └── grid
│       ├── 01-grid-layout-1
│       ├── 02-grid-layout-2
│       └── 03-grid-layout-3

We can't change the alphabetical ordering but we can structure it as course -> exercise group -> exercises. Note that foundations/06-cascade-fix has been moved to its own cascade subdirectory and renumbered to 01. This will hopefully help avoid the common situation where people get carried away and forget the lesson only says to do 1-5, then struggle trying to do 6 too early.
The appropriate lesson files in the curriculum will need updating accordingly, and I think it's sensible to link directly to the relevant exercise group folder for convenience. We'll deal with that later though - get a PR here approved first, then hold off until the curriculum PR is approved, then I can merge together.
Any additional/differing thoughts from the above?

@MaoShizhong I think that instead of the margin-and-padding folder, it could be named block-and-inline. That would reflect the name of the lesson where those exercises are to be done.
The grid lessons are split into two different lessons.
We can have
└── intermediate-html-css
    └── positioning-grid
        ├── 01-grid-layout-1
    └── advanced-grid
        ├── 02-grid-layout-2
        └── 03-grid-layout-3

It does not look as clean, but with these final changes, everything would consistently match the course/lessons as they appear in the curriculum. I skimmed through the lessons just to be sure.

@MaoShizhong I think that makes a lot more sense than what we currently have in this repo.
I'm willing to create a PR in the curriculum repo to update the lessons with the new structure.
Let me know what format/naming you decide on!

@Eduardo06sp Feel free to PR for all of the relevant lessons to reflect the new repo structure as above. You can do so in a single PR and add "Related to (https://github.com/TheOdinProject/css-exercises/issues/593)" in the PR form in place of the usual "Closes #XXXXX" bit. You should also be able to request a review from me via the reviewers drop-down since you're an org member.
@oceanthunder Let me know if you're happy to PR a restructuring of this repo according to the tree above, and I can assign you.

@MaoShizhong Yup! It would be an honor, sir.

Hey @MaoShizhong I did a PR can you please review it. #604

@MaoShizhong Just noticed that the advanced HTML/CSS exercises are under the lesson titled Keyframes.
For the sake of consistency, I am not sure if you want that small bit to look like:
├── advanced-html-css
│   └── keyframes
│       ├── 01-button-hover
│       ├── 02-pop-up
│       └── 03-dropdown-menu

@MaoShizhong Just noticed that the advanced HTML/CSS exercises are under the lesson titled Keyframes.
For the sake of consistency, I am not sure if you want that small bit to look like:
├── advanced-html-css
│   └── keyframes
│       ├── 01-button-hover
│       ├── 02-pop-up
│       └── 03-dropdown-menu

We'll leave it as it is for now. The exercise group names aren't all 100% the same as the lessons


slicing: algorithm incorrectly assumes at least one assert is needed for an error

The slicing for errors algorithm incorrectly assumes that at least one assert is needed to obtain an error. It therefore sets a search interval of 1..slice_vars for the PartialMinimizer. However, when the slice solver actually returns a counterexample with zero slice vars enabled, then PartialMinimizer::add_result will encounter an assertion failure since zero is not in the search interval.
An input program that crashes Caesar because of this is the following:
coproc cex() -> ()
    pre 0
    post 0
{
    tick 1
}

In addition, simply fixing the search interval does not fully solve the problem. Now the slicer can remove all assertions while getting a counterexample, thus showing no indication at all to the user what the problem might be. We should probably mark tick statements as assume-like in procs and assert-like in coprocs so they can be sliced too.


Is Notify on Spawn really works?

The Notify on Spawn sound alarm never worked for me. But the Card / Rapport is normal.

Soooo that's a bit of an odd one honestly, the notify on spawn doesn't trigger the "sound" setting, but it does use trigger "use in-browser notifications" setting.


Release new version

Hello,
I'm wondering if a new version could be released sometime soonish addressing the incompatibility with records.
Kind regards

sure thing

released as 2.7.0 ... still waiting for maven central to sync

Thanks!


Add python sdk snapshot test.

Hi @lebronJ , thanks for the tests! LGTM!

Hi @lebronJ @acured I actually have a small comment that should be super fast to care of ;)


numpy-style broken on class docstring

Describe the bug
I'm working on to generate the documentation for my library ineqpy which use numpydoc as docstring-format. When I run the command mkdocs build fails with the following traceback (which is hard to debug):
IneqPy docs/add-mkdocs* (15:15|77s) $ pipenv run mkdocs build && pipenv run mkdocs serve
INFO     -  Cleaning site directory
INFO     -  Building documentation to directory: /home/mgreco/github/mmngreco/IneqPy/site
ERROR    -  Error reading page 'index.md': 'NoneType' object has no attribute 'strip'
Traceback (most recent call last):
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/bin/mkdocs", line 8, in <module>
    sys.exit(cli())
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/lib/python3.8/site-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/lib/python3.8/site-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/lib/python3.8/site-packages/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/lib/python3.8/site-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/lib/python3.8/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/lib/python3.8/site-packages/mkdocs/__main__.py", line 187, in build_command
    build.build(config.load_config(**kwargs), dirty=not clean)
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/lib/python3.8/site-packages/mkdocs/commands/build.py", line 292, in build
    _populate_page(file.page, config, files, dirty)
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/lib/python3.8/site-packages/mkdocs/commands/build.py", line 174, in _populate_page
    page.render(config, files)
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/lib/python3.8/site-packages/mkdocs/structure/pages.py", line 174, in render
    self.content = md.convert(self.markdown)
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/lib/python3.8/site-packages/markdown/core.py", line 264, in convert
    root = self.parser.parseDocument(self.lines).getroot()
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/lib/python3.8/site-packages/markdown/blockparser.py", line 90, in parseDocument
    self.parseChunk(self.root, '\n'.join(lines))
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/lib/python3.8/site-packages/markdown/blockparser.py", line 105, in parseChunk
    self.parseBlocks(parent, text.split('\n\n'))
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/lib/python3.8/site-packages/markdown/blockparser.py", line 123, in parseBlocks
    if processor.run(parent, blocks) is not False:
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/lib/python3.8/site-packages/mkdocstrings/extension.py", line 120, in run
    html, handler, data = self._process_block(identifier, block, heading_level)
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/lib/python3.8/site-packages/mkdocstrings/extension.py", line 199, in _process_block
    rendered = handler.renderer.render(data, rendering)
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/lib/python3.8/site-packages/mkdocstrings/handlers/python.py", line 96, in render
    return template.render(
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/lib/python3.8/site-packages/jinja2/environment.py", line 1291, in render
    self.environment.handle_exception()
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/lib/python3.8/site-packages/jinja2/environment.py", line 925, in handle_exception
    raise rewrite_traceback_stack(source=source)
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/lib/python3.8/site-packages/mkdocstrings/templates/python/material/module.html", line 53, in top-level templ
ate code
    {% include "children.html" with context %}
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/lib/python3.8/site-packages/mkdocstrings/templates/python/material/children.html", line 30, in top-level tem
plate code
    {% include "class.html" with context %}
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/lib/python3.8/site-packages/mkdocstrings/templates/python/material/class.html", line 54, in top-level templa
te code
    {% include "docstring.html" with context %}
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/lib/python3.8/site-packages/mkdocstrings/templates/python/material/docstring.html", line 8, in top-level tem
plate code
    {% include "attributes.html" with context %}
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/lib/python3.8/site-packages/mkdocstrings/templates/python/material/attributes.html", line 16, in top-level t
emplate code
    <td>{{ attribute.description|convert_markdown(heading_level, html_id) }}</td>
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/lib/python3.8/site-packages/mkdocstrings/handlers/base.py", line 158, in do_convert_markdown
    return Markup(self._md.convert(text))
  File "/home/mgreco/.local/share/virtualenvs/IneqPy-eI7PkriJ/lib/python3.8/site-packages/markdown/core.py", line 248, in convert
    if not source.strip():
AttributeError: 'NoneType' object has no attribute 'strip'

To Reproduce
Fortunately, I could isolate the issue or I think I do it:
Create a file with the following content  (I called module for debugging reasons) :

Here's how to document  a class using numpy-style

# module.py
class Survey:
    """Survey it's a data structure that handles survey data.

    Attributes
    ----------
    df : pandas.DataFrame
        Data source.

    Methods
    -------
    foo(a=None, b=0.5)
        foo method.
    """
    def __init__(self, df) -> None:
        self.df = df

    def foo(self, a=None, b=0.5):
        pass

Here's my mkdocs.yml:
site_name: IneqPy's Documentation
theme: material
plugins:
- mkdocstrings:
    default_handler: python
    handlers:
      python:
        selection:
          docstring_style: numpy
        rendering:
          show_source: true
    watch:
      - src/ineqpy

Here's the index.md
# Welcome to IneqPy's documentation!

# Reference

::: ineqpy.module

Execute mkdocs build and see the error.
Information (please complete the following information):

OS: Ubuntu 20.04
mkdocstrings version: 0.17.0

mkdocs                        1.2.3
mkdocs-autorefs               0.3.1
mkdocs-material               8.1.8
mkdocs-material-extensions    1.0.3
mkdocstrings                  0.17.0

Additional context
This only happens using numpy doc style. I've tried google style and the build works but the html has some problems.

Looks like https://github.com/mkdocstrings/mkdocstrings/issues/365, can you check your docstring is properly formatted?

all looks ok to me, I use pydocstyle to check and it seems to be ok. Apparently if I drop the Method's section it works:
File content:
# module.py
class Survey:
    """Survey it's a data structure that handles survey data.

    Attributes
    ----------
    df : pandas.DataFrame
        Data source.

-    Methods
-    -------
-    foo(a=None, b=0.5)
-        foo method.
    """

Note: The same happens using the numpydoc's example (which should be well formatted).

It seems the underlying parser, docstring_parser, does not support Methods sections.
Feel free to open an issue there, then, if support is implemented, a PR in pytkdocs. Note that the next Python handler does not have support for Methods section either,. I chose not to support it because with the current tooling (inventories, cross-refs, permalinks, material sidebars) such sections feel a bit redundant: you can easily replicate them with a simple Markdown list. The other reason is that I want all parsers to share common features, and I think Methods sections only exist in Numpydoc.

Ok, Thank you, I will try to open a issue there. To me hardest part was trying to figure out where was the problem. It's pity. I really wanted to make it works. You may want to add this information in your readme in order to warn to future users of this issue.

Sure, I will try it! ;-)

I want to add a comment here. There are other sections that are not supported like Notes, However, having those sections will not raise an exception and they get silently ignored. However Methods raise and exception, I think there is a bug there that does not ignore Methods.


Swift 4.2 Migration

What this does:

Updated for Swift 4.2 source compatibility
Updated project file to reflect that
Project test passing
Travis test passing

LGTM @asowers1! Thanks for the PR. Would you mind adding a changelog entry?
PS. I don't really maintain this repo anymore — I can give you GitHub and CocoaPods access if you want to take over

Sounds good to me! I can take care of that.

@radex, the changelog is set. I can move ahead with the new tag and pod repo update whenever you're ready.

@asowers1 Added you as GitHub collaborator and given you access to CocoaPods. Go ahead with pushing the changes. Feel free to update the readme to give yourself credit as the maintainer ;)


NavVis export to Capture format with rig support.

This PR adds support for rigs (it creates the rig.txt described in Capture format). Also adds a flag --export_as_rig (default is False). I tested with one dataset using the default --no-export_as_rig option, and I get the exact same output which means this won't affect the Lamar pipeline.

Thanks - lgtm! Given that no-export_as_rig is the default and the results are identical on that branch,  I expect no changes on the GT.


Remove jobs for foreman_openscap

There is no longer use in jenkins job: https://github.com/theforeman/foreman_openscap/pull/545#issuecomment-1737403073
Leaving job for smart_proxy_openscap since we don't have it covered via Github Actions.

Closing due to https://projects.theforeman.org/issues/36804.


modified time picker spinner to show hours before minutes

I am using this package in my application. Since my default local language is Arabic, which is right-to-left. All widgets' order is consequently changed & reversed to be right to left. In Arabic, you still set the hours before the minutes, hours should be on the left, followed by the minutes. This PR addressed this issue by enforcing that hours be displayed first before minutes.

Fixed in v2.0.0


 Any Ideas?
02-26 17:13:36.117 E/AndroidRuntime(10529): FATAL EXCEPTION: AppCenter.Looper
02-26 17:13:36.117 E/AndroidRuntime(10529): Process: com.companyname.CleanbirdApp, PID: 10529
02-26 17:13:36.117 E/AndroidRuntime(10529): java.lang.AbstractMethodError: abstract method "boolean com.microsoft.appcenter.channel.Channel$Listener.shouldFilter(com.microsoft.appcenter.ingestion.models.Log)"
02-26 17:13:36.117 E/AndroidRuntime(10529): 	at com.microsoft.appcenter.channel.DefaultChannel.enqueue(DefaultChannel.java:551)
02-26 17:13:36.117 E/AndroidRuntime(10529): 	at com.microsoft.appcenter.AppCenter.sendStartServiceLog(AppCenter.java:599)
02-26 17:13:36.117 E/AndroidRuntime(10529): 	at com.microsoft.appcenter.AppCenter.finishStartServices(AppCenter.java:586)
02-26 17:13:36.117 E/AndroidRuntime(10529): 	at com.microsoft.appcenter.AppCenter.access$400(AppCenter.java:52)
02-26 17:13:36.117 E/AndroidRuntime(10529): 	at com.microsoft.appcenter.AppCenter$5.run(AppCenter.java:562)
02-26 17:13:36.117 E/AndroidRuntime(10529): 	at android.os.Handler.handleCallback(Handler.java:739)
02-26 17:13:36.117 E/AndroidRuntime(10529): 	at android.os.Handler.dispatchMessage(Handler.java:95)
02-26 17:13:36.117 E/AndroidRuntime(10529): 	at android.os.Looper.loop(Looper.java:148)
02-26 17:13:36.117 E/AndroidRuntime(10529): 	at android.os.HandlerThread.run(HandlerThread.java:61)
02-26 17:13:36.167 D/ViewRootImpl(10529): ViewPostImeInputStage processPointer 1

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

ID: 5d72f6fe-74d6-696e-e709-5f6d577c0a58
Version Independent ID: b3d0ea8b-5a1f-bf71-7dc2-9685cf23c00b
Content
Content Source
Service: vs-appcenter

@TiBall To get help with a particular feature, use the blue chat button in the lower-right corner of the App Center dashboard window. We have a dedicated team of support personnel who are there to answer your questions.

@TiBall You can enable Verbose logging in your application right before the AppCenter.Start() API by using the API below and share the logs with us for debugging.
AppCenter.LogLevel = LogLevel.Verbose;

Thx for getting back to me!
However, I "sadly" can´t reproduce the error. Updated from Appcenter v1.2 to v1.4 and cleaning the repository did the job. I tried to reset my branch to the previous version, but the error does not show any more. Sometimes Android with Xamarin has some really strange behaviours, sry.

It's unfortunately common that updating any library can lead to errors if bin/obj folders are not cleaned, xamarin has a build cache that can get stale quickly. We advise to always perform a full clean build when such an error is experienced.

@TiBall Thanks for the update. I will close this issue but feel free to reach out to us in case of any question.

getting same exact issue, any resolution to this.

@kyunghoon have you tried closing VS, cleaning bin/obj folders and retry? If it does not work, please create a support ticket using the blue chat button on any page of https://appcenter.ms portal.


The invalid type Record<never, never> removed from return type

Explanation

The Record<never, never> type assigned to a response of convertEip1193RequestToJsonRpcRequest function does not belong here (link to the code), no possible return value is represented by that type.
References

Fixes #4608

Changelog

@metamask/eth-json-rpc-provider

FIXED: The invalid Record<never, never> type has been removed from response of convertEip1193RequestToJsonRpcRequest. And also type assignment simplified.

Checklist

[ ] I've updated the test suite for new or updated code as appropriate
[ ] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
[ ] I've highlighted breaking changes using the "BREAKING" category above as appropriate

In general Record<never, never> can be useful as a substitute for the {} type, which actually means NonNullable<unknown> instead of "empty object". The never index signature ensures that no property can be assigned to this type object.

@metamaskbot publish-preview


Fix null byte termination in String#split

The last push to the result array created a String based on a const char* without a length. This means an embedded null byte in the last part of the String would prematurely end the last value in the result.

GitHub won't let me comment directly on the lines, so I'll comment here:
We should make the same changes on these two lines:
https://github.com/natalie-lang/natalie/pull/804/files#diff-42e7d24554cea8cdc4e2ba1d1414204721b3112f0d609734dcba4862c723987bR1940
https://github.com/natalie-lang/natalie/pull/804/files#diff-42e7d24554cea8cdc4e2ba1d1414204721b3112f0d609734dcba4862c723987bR1915

You're right, I've added those as well.
I noticed this one when I was working on the implementation of String#lines and kind of fixed them both at the same time, so I guess I missed those because the lines method does not have a max


chore: bump arrow-rs

Thank you @sundy-li
The integration IPC test failure on this PR https://github.com/jorgecarleitao/arrow2/actions/runs/4528720649/jobs/7975761365
Appears to also be failing on the main branch (aka not caused by this PR)
Most recent CI run on master seems to fail the same way
https://github.com/jorgecarleitao/arrow2/actions/runs/4528720649/jobs/7975761365

Thank you! was this also bumped on #1446 by @tustvold and thus this PR is superseeded?


ci: optimize PR runs

Signed-off-by: Lizan Zhou<EMAIL_ADDRESS>Description:

Cancel pipeline when one of bazel jobs fails. (only for PR)
Re-sort bazel jobs so it fails earlier.

Risk Level:
Testing:
Docs Changes:
Release Notes:

test run was here: https://dev.azure.com/cncf/envoy/_build/results?buildId=19193


Refactor staking not found

Goal
The goal of this PR is to remove StakingNotFound with NotAStakingAccount, update the comment to be more semantic
Closes
https://github.com/LibertyDSNP/frequency/issues/1560
Discussion
The spec_version should be updated due to the removal of the StakingNotFound Error member.
Checklist

[ ] Chain spec updated
[ ] Custom RPC OR Runtime API added/changed? Updated js/api-augment.
[ ] Design doc(s) updated
[ ] Tests added
[ ] Benchmarks added
[ ] Weights updated

@f-gate Thanks for the PR! I triggered CI which might throw an error that the spec_version needs to be incremented, but otherwise it looks good!
If it does throw that error it is an easy fix, just bump it like this PR did: https://github.com/LibertyDSNP/frequency/pull/1653/files


Issue 118: Topic Filter in Logs (Rebased)

As described in #118 when submitting queries that have the log(filter: {topics: []}) filter engaged, all logs get returned no matter what is in the topic filter. I found that the topic argument was not getting passed into getPastLogs and in the case of the log resolver specifically, we are using a the getTransactionReceipt call which does not provide a topic filter.
This PR attempts to pass the filter through the various places where logs are getting attached to the result set.
Edit: I've reopened this PR due to some misconfigurations in my local repository. This PR should be clean.

Ported fixes in #128


Proto.Cluster => 'Cluster' is a namespace but is used like a type

Expected Behavior

Actual Behavior
Steps to Reproduce the Problem

Create a new class project .Net 6
Update the .csproj file with the following Package References

  <PackageReference Include="Google.Protobuf" Version="3.19.4" />
  <PackageReference Include="Grpc.Tools" Version="2.43.0">
    <PrivateAssets>all</PrivateAssets>
    <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
  </PackageReference>
  <PackageReference Include="Proto.Cluster.CodeGen" Version="0.27.0" />

Use the following .proto file

syntax = "proto3";
package GroupMessages;
option csharp_namespace = "Proto.Clustered.Shared";

message GroupCreate {
	string GroupId = 1;
	string Name = 2;
}

message GroupUpdate {
	string GroupId = 1;
	string Name = 2;
}

message GroupDelete {
	string GroupId = 1;
}

message GroupStatus {
	string GroupId = 1;
}

message Error {
	string Message = 1;
}

message Group {
	string Id = 1;
	string Name = 2;
}

message GroupResponse {
	oneof Result {
		Error Error = 1;
		Group Group = 2;
	}
}

service GroupGrain {
	rpc Create(GroupCreate) returns (GroupResponse) {}
	rpc Update(GroupUpdate) returns (GroupResponse) {}
	rpc Delete(GroupDelete) returns (GroupResponse) {}
	rpc Status(GroupStatus) returns (GroupResponse) {}
}

Import into a console application build and run; results in this:

Specifications

Version: 0.27.0
Platform: Windows +  Visual Studio

StackTrace

I think you miss
<ProtoGrain Include="Grains.proto" /> grain build in your csproj.
You can check tutorial here for more details: https://proto.actor/docs/cluster/getting-started-net/

I have both <ProtoGrain & <Protobuf included:

Ok, now I spotted what is wrong :) Your proto namespace is:
option csharp_namespace = "Proto.Clustered.Shared";
so your classes are generated under Proto namespace and that is why it doesnt work. Try to change a first namespace part in proto file e.g. for Protos.Clustered.Shared and the issue should go away.

@pblachut @mhelleborg this hints that it might be a good idea for us to use fully qualified typenames in the generated code:
global::Proto.xxxx


acodex-server not found

acodeX-server installed successfully. Run acodeX-server to start the server.
acodeX-server
acodeX-server: command not found

Installation stops because there is no space available on your device. Try by clearing some spaces


Add json interface for sendsms

Its time to introduce a new interface because the sendsms URL get | post interface is really old and is only useful for backward compatibility. And of course it lacks a lot of useful features.
The new interface should make things easier and more informational. For telephone number validation we should use https://github.com/daviddrysdale/python-phonenumbers.
The structure of the send interface should be like:
{
  "targetnr": "+4312345678",
  "validate": true,
  "appid": "4dd658b4-6b86-11e5-9d70-feff819cdc9f",
  "prioriry": 2,
  "content": "This is the SMS content text"
}

The answer should be like:
{
  "status": 0,
  "description": "success",
  "smsid": "e007c7ea-6b86-11e5-9d70-feff819cdc9f"
}

:+1:


The output video stutters every few seconds？

The output video stutters every few seconds. When you slow the framerate in Pr or Final Cut Pro X，  it's utterly obvious, do you have this issue? I have tried different resolutiosns and bitrates，your mode and my model， but the problem still persists.

Hi. In case the issue is not resolved, it is most likely due to duplicate frames getting generated by ffmpeg. This causes interpolation between static frames which looks like stuttering. You can also try using another opencv based video conversion script.


Impl displaying signature from LSP

[x] Added an entry to CHANGELOG.md if this change could be valuable to users

This PR adds support for displaying the signature of a function when it is being called, by asking the language server for the information.
It binds this to Ctrl+Shift+Space, since that is a common binding for showing it when it is closed.

Notes:

I put the get_signature keybinding in both keymaps-macos.toml and keymaps-nonmacos.toml, but they are the same. I did that due to get_completion being defined in both, but is that really intended? Shouldn't it just be in keymaps-common.toml?
This doesn't yet implement switching between signatures (like in overloads), but I believe it should change the selection based on what LSP tells us; which covers many of the cases of using it. It would be good to support that eventually.

Codecov Report

Merging #1720 (509007c) into master (e65d64b) will decrease coverage by 0.04%.
The diff coverage is 0.00%.

 Learn more


add new feature podLabels

What this PR does:
New feature which allows to define additional podLabels for all products.
This is necessary because additionalLabels is only used for statefulset/deployment, but not for the labels of the pods.

Thank you @janfuhrer for raising this PR!
While we're working on reviewing it, do you mind adding some unit tests for it? Cheers.

I have added some unit tests, thanks for the review.

@janfuhrer , Thanks for the contribution. :)


[BEAM-8446] Retrying BQ query on timeouts

r: @udim

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

Run Python PostCommit

Run Python 3.7 PostCommit

Run Python 3.7 PostCommit

First instance of job running:
https://builds.apache.org/job/beam_PostCommit_Python37_PR/42/

Run Python 3.7 PostCommit

Run Python 3.7 PostCommit

Run Python PreCommit

The build passed, but then timed out: https://builds.apache.org/job/beam_PostCommit_Python37_PR/44/console

Run Python 3.7 PostCommit

Again timeout without errors.

Run Python 3.7 PostCommit

Run Python PreCommit

Run Python 3.7 PostCommit

Run Python 3.7 PostCommit

Again timeout without failures: https://builds.apache.org/job/beam_PostCommit_Python37_PR/46/

Again timeout without failures: https://builds.apache.org/job/beam_PostCommit_Python37_PR/46/

I've tried looking at these with no luck. :(

Hm I added it because the Pydoc specifies it is a possibility. I did not reproduce it because the job is flaky...
https://googleapis.dev/python/bigquery/latest/generated/google.cloud.bigquery.job.QueryJob.html#google.cloud.bigquery.job.QueryJob.result

@udim do you think it makes sense to add this?

@udim

@udim

Hm I added it because the Pydoc specifies it is a possibility. I did not reproduce it because the job is flaky...
https://googleapis.dev/python/bigquery/latest/generated/google.cloud.bigquery.job.QueryJob.html#google.cloud.bigquery.job.QueryJob.result

If it's listed then we should definitely handle it.


Using SKIP LOCKED on Postgres 9.5

It looks like lock_head is a perfect candidate for the new SKIP LOCKED feature in Postgres 9.5: http://michael.otacoo.com/postgresql-2/postgres-9-5-feature-highlight-skip-locked-row-level/
If I'm not missing something then using SKIP LOCKED lock_head can be simplified to this:
UPDATE queue_classic_jobs
SET locked_at = now(), locked_by = pg_backend_pid()
WHERE id IN (
  SELECT id FROM queue_classic_jobs
  WHERE locked_at IS NULL AND q_name = $1 AND scheduled_at <= now()
  LIMIT 1
  FOR NO KEY UPDATE SKIP LOCKED
)
RETURNING *

If someone do it, it would be interesting to see benchmarks, because from experience this is the bottleneck with a lot of load...when we had say over 100 workers hitting lock_head at the same time, lock_head was using a lot of the DB CPU time.
What do you think @senny?

@jipiboily I don't have a qualified opinion on it. I'm also no longer using QC as heavily as I used to.

I'd happily send a PR (I actually patched the SQL locally already and all tests pass) but don't have a benchmark harness setup.
Just thinking about what SKIP LOCKED does I'd bet money that it is a huge improvement, since it doesn't have to churn through subtransactions when NOWAIT raises and doesn't have to do a Count(*) either. After skimming the change I'm willing to raise that bet further ;)

This is a promising idea. Would it be possible to preserve backward compatibility with postgres 9.3/9.4?

Just FYI, I am not using QC anymore at all...so I guess if you send a PR it might take some time for it to be reviewed & merged...
@smathieu are you still using QC?
@ukd1 you are still using QC, right? Anyone from your teams up for some QC maintenance? I think that if this turns into a PR, this could be super useful for you. /cc @shosti

I've forked queue-shootout here and updated it to queue_classic master here: https://github.com/MSch/queue-shootout
The results of comparing queue_classic master vs queue_classic with SKIP LOCKED vs que on my MacBook are here: https://gist.github.com/MSch/b4588b20d7116b4e78667cc474a19e8b
master:
queue_classic jobs per second: avg = 929.6, max = 1455.6, min = 659.2, stddev = 340.9
que jobs per second: avg = 2814.3, max = 3002.3, min = 2685.9, stddev = 123.6

With SKIP LOCKED from https://github.com/MSch/queue_classic/commit/83944897cc51768088ebb1ddfac76b7519e3d97a:
queue_classic jobs per second: avg = 2352.9, max = 2862.4, min = 1803.1, stddev = 476.6
que jobs per second: avg = 2872.2, max = 2999.5, min = 2801.0, stddev = 77.9

Query plan with SKIP LOCKED: http://explain.depesz.com/d/UdRW/AWFqQvjBHxys9j2KM5F3atYSeuq2Vr7fOMWpHF0YDzRLjTf6Yu
lock_head doesn't utilize any indices, which makes me wonder if it wouldn't be worth it to remove those two indices since they will prevent HOT updates when locking:
    "idx_qc_on_name_only_unlocked" btree (q_name, id) WHERE locked_at IS NULL
    "idx_qc_on_scheduled_at_only_unlocked" btree (scheduled_at, id) WHERE locked_at IS NULL

I tried that and added a VACUUM FULL between runs, then reran the benchmarks: https://gist.github.com/MSch/7464aa8454cc3bfb5e64c7f10d9e4756
master:
queue_classic jobs per second: avg = 914.2, max = 1507.4, min = 449.1, stddev = 454.5
que jobs per second: avg = 2873.8, max = 3079.4, min = 2708.8, stddev = 179.6

SKIP LOCKED:
queue_classic jobs per second: avg = 2614.1, max = 2991.1, min = 2355.4, stddev = 238.5
que jobs per second: avg = 2788.1, max = 3087.1, min = 2637.2, stddev = 180.8

SKIP LOCKED + HOT updates:
queue_classic jobs per second: avg = 2900.3, max = 3013.3, min = 2746.0, stddev = 114.4
que jobs per second: avg = 2900.0, max = 3223.9, min = 2777.5, stddev = 184.4

@jipiboily we are still using it, but personally I don't think I'm up for serious maintenance work or a Big Upgrade (I think we'll probably migrate to another solution instead at some point). Maybe @ukd1 feels differently though?

@shosti totally understand that. "Back in the days", I have been an advocate to remove QC from RF's stack (for various reasons).
@MSch looks like pretty cool upgrades! I guess we now need to figure out what to do in terms of maintenance with QC...as apparently most maintainers are either inactive or are not using it anymore.
@smathieu are you using QC at your job?

@shosti late reply; I think we should do this...though we need to move to 9.5 first...

Hi,
@jipiboily just out of curiosity what are you using to accomplish the same QC does?
Thanks :)

@shalomabitan I'm using exclusively Sidekiq via ActiveJob nowadays for my Ruby projects. I am considering using SQS too at some point.

@jipiboily you don't have beef with transactions?

@ukd1 not a problem for my use case. Not saying it would not be better, but nothing really bad can happen in my case.

Heads up @MSch, the link in the header is dead and redirects to ad sites.

@jipiboily @MSch @senny @smathieu - it's been ...years... but @JasonHerr's code was merged in #311! Closing!


Examples of 1/4 npt female / male threads and Schrader bike valve adapters

Are there any examples of 1/4 NPT female / male threads and Schrader bike valve adapters?
I know I can create various threads using BOSL2 but how does one adapt the code to create 1/4 NPT female and Schrader bike valves https://www.liquisearch.com/schrader_valve/dimensions
External thread
Metric: 7.7 mm OD, thread root diameter is 6.9 mm × 0.794 mm pitch.
Imperial: 0.305 in OD, thread root diameter 0.271 in × 32 tpi (threads per inch)

Internal thread (to accept the threaded valve core)
Metric: 5.30 mm OD × 0.706 mm pitch
Imperial: 0.209 in OD × 36 tpi.

Is there a example code / database to make these threads?

Example:
include <BOSL2/std.scad>
include <BOSL2/threading.scad>
pitch = (2.16); //pitch Distance between threads. Default: 2mm/thread (2.28)
depth_a = pitch * cos(30)*5/8; // change 5/8 to adjust thread length
// d Inside base diameter of threads. Default: 10
thread_helix(d=39.34, starts=2, twist=190,profile = [
[-5/16, 0           ],
[-1/16, depth_a/pitch ],
[ 1/16, depth_a/pitch ],
[ 6/16, 0           ],
], higbee=3, $fn=72);

Do you think there is some connection between 1/4 NPT threading and Schrader threading?
There are examples of 1/2 inch NPT here:
https://github.com/revarbat/BOSL2/wiki/threading.scad#module-npt_threaded_rod
and it is very easy to change 1/2 to 1/4.  However, they are all male threading.  Probably there should be some examples of the internal female threads, though it's not hard: set internal to true and subtract from a cylinder, making sure you orient the taper the right way of course.
I think thread_helix is the method of last resort.  You should be starting with one of the threaded rod options first.

Thanks for the NPT information, I needed to download the new version of
BOSL2 to get it to work.  No I don't think 1/4 NPT is connected to Schrader
threading but I'm creating a 3D adapter to test the pressure of PLA /
PETG.  The pressure gauge is NPT and I'm goiing to use a Schrader connector
to pump air into to see where it fails.
On Mon, Aug 9, 2021 at 10:06 PM adrianVmariano @.***>
wrote:

Do you think there is some connection between 1/4 NPT threading and
Schrader threading?
There are examples of 1/2 inch NPT here:
https://github.com/revarbat/BOSL2/wiki/threading.scad#module-npt_threaded_rod
and it is very easy to change 1/2 to 1/4. However, they are all male
threading. Probably there should be some examples of the internal female
threads, though it's not hard: set internal to true and subtract from a
cylinder, making sure you orient the taper the right way of course.
I think thread_helix is the method of last resort. You should be starting
with one of the threaded rod options first.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/revarbat/BOSL2/issues/620#issuecomment-895672254, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AG5EPYU6DCMML6ALRXKMMX3T4CCTBANCNFSM5BZ5E6EA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

--
"There are two modes of being those in bliss and those seeking bliss,
may each step you take and each thought you make be made in a mindful and
blissful state."
This message is confidential and is intended only for the individual(s) or
entity named above and others who have been specifically authorized to
receive it. If you are not the intended recipient, please do not read,
copy, use or disclose the contents of this communication to others. Please
notify the sender that you have received this e-mail in error by replying
to the e-mail and then delete this email and any copies of it. Under no
circumstances may the contents hereof be disclosed to the public without
the sender's prior written permission.

https://www.ring-plug-thread-gages.com/PDChart/Tire-Valve-thread-data.html
Appears to have schrader specs.  The thread is vg8.  Presumably you should do OK if you use the average of the min and max diameters.  Note angle is 60 deg (what BOSL calls 30 deg) which would match the pattern of the triangular_threaded_rod, so maybe you can get that to make what you need.   These would be very demanding to print, I think, at 32 threads per inch.

Thanks, I'll check it out.
On Tue, Aug 10, 2021 at 7:31 PM adrianVmariano @.***>
wrote:

https://www.ring-plug-thread-gages.com/PDChart/Tire-Valve-thread-data.html
Appears to have schrader specs. The thread is vg8. Presumably you should
do OK if you use the average of the min and max diameters. Note angle is 60
deg (what BOSL calls 30 deg) which would match the pattern of the
triangular_threaded_rod, so maybe you can get that to make what you need.
These would be very demanding to print, I think, at 32 threads per inch.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/revarbat/BOSL2/issues/620#issuecomment-896379541, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AG5EPYR73F7KAYN23QBSTFTT4GZFNANCNFSM5BZ5E6EA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

--
"There are two modes of being those in bliss and those seeking bliss,
may each step you take and each thought you make be made in a mindful and
blissful state."
This message is confidential and is intended only for the individual(s) or
entity named above and others who have been specifically authorized to
receive it. If you are not the intended recipient, please do not read,
copy, use or disclose the contents of this communication to others. Please
notify the sender that you have received this e-mail in error by replying
to the e-mail and then delete this email and any copies of it. Under no
circumstances may the contents hereof be disclosed to the public without
the sender's prior written permission.


Create questionaire for onboarding CAV

Is your feature request related to a problem? Please describe.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

ZenHub Information
This information is updated automatically. To modify it, please use ZenHub.

The CAV doesn't have any additional requirements. We may want to leverage a questionnaire that requests a generic address so that a CAV can say, "I'm in this general area", but at the same time we can also just anonymize their given address for them. For the MVP this may be best.
^ Given the above my recommendation may be to not work on this ticket as part of the MVP.


Documentation issue: npm is not installed on all Travis workers

The documentation says,

Note: travis-after-all is written in JavaScript, however, since Travis includes the Node runtime by default, it can be use no matter what build environment you have.

However, if you use language: generic in your .travis.yml, then npm is not installed and you get an error
$ npm install --save-dev travis-after-all
The program 'npm' is currently not installed. To run 'npm' please ask your administrator to install the package 'npm'
The command "npm install --save-dev travis-after-all" failed and exited with 127 during .

(For an example, see https://travis-ci.org/codespecs/daikon/jobs/144684847 .)
Interestingly, using language: java is enough to guarantee that npm is installed.

However, if you use language: generic in your .travis.yml, then npm is not installed

@mernst It is, and here is a quick example to demonstrate that.
Having only the following in the .travis.yml file:
language: generic

script:
  - npm --version

the build will produce this output:
# ...
$ npm --version
1.4.28
# ...


virtual refs test failing because remote netCDF is missing

aws s3 cp s3://noaa-nos-ofs-pds/dbofs/netcdf/202410/dbofs.t00z.20241009.fields.f030.nc .                                               [deepak/better-deletion-changeset|✚1…13⚑4]
fatal error: An error occurred (404) when calling the HeadObject operation: Key "dbofs/netcdf/202410/dbofs.t00z.20241009.fields.f030.nc" does not exist

can we replace it with a minio test where we write the data first?

We should. The reason I did this in the first place was to test with anonymous access


Amend RFC 1242 to require an RFC for deprecation of crates from the nursery

Rendered

I think this generally comes under the 1.0-level crates objective of the 2017 roadmap or maybe the high quality crates goal rooted in the Rust platform discussion.
An approach might be to open a well informed "What do we want for 1.0 discussion?" issue on each of the nursery crates named in this RFC, and link them from the 1.0-level crates objective issue.  Is a log vs slog discussion needed?  I know rand has numerous open issues and pull requests, but maybe the existing functionality could be declared "stable enough", even if not 1.0.  etc.  Also, I think declaring rustfmt to be 1.0 sounds really hard, but it has an RFC process and zero risk of depreciation, so maybe just skip that one.
As an aside, I'd suspect the name "nursery" would be inappropriate for crates the language developers view as stable and ship with the compiler.  There is no breaking change in merely moving a crate from the nursery to another github url though.

I know rand has numerous open issues and pull requests, but maybe the existing functionality could be declared "stable enough", even if not 1.0. etc.

I've been hearing rumors about a "big rewrite/redesign" for quite a while now, but nothing seems to be happening on that front.

cc @rust-lang/libs: TL;DR, require an RFC to deprecate nursery crates. I agree with the rationale here; since the whole point of rust-lang crates is to put these libraries under full community governance, that should certainly apply to deprecation too.
@rfcbot fcp merge

What happens if an RFC to deprecate a nursery crate is rejected? Does the libs team have some kind of SLA on maintenance of a library none of them want to maintain?

@jethrogb a rand overhaul is blocked on someone with the time and interest stepping up and owning the design and implementation.

@sfackler Keep in mind that it's the libs team that would make the decision on such RFCs. So it's really more about consulting the broader community and opening up a discussion, ensuring that it's not a "libs team against the world" type situation. I would imagine these RFCs would be pretty short, but that in at least some cases discussion would lead to discovery of people who do want to maintain the library (in the case that it's not being deprecated in favor of something else).

So the only real change here is adding a ~month to the time it takes from our decision to do this to actually making the move? I don't really see a world in which there's some huge outcry that we have to continue maintaining something.

@rfcbot fcp cancel
We discussed this RFC in libs team triage, and it has led us to want to re-think the rust-lang-* orgs altogether (in light of the Blitz). @sfackler and I are going to work together to write up our thoughts as a counter-proposal.

I'm going to propose to close this RFC, for two reasons:

Almost all of the crates listed are undergoing work toward 1.0 as part of the libz blitz or other efforts this year.

The libs team no longer plans to introduce new crates through the nursery process, instead focusing on supporting the decentralized ecosystem.

In any case, any move to deprecate any of the existing crates will certainly involve public discussion.
@rfcbot fcp close

The libs team no longer plans to introduce new crates through the nursery process, instead focusing on supporting the decentralized ecosystem.

Has there been any discussion on this change? I understand that the libs team is very busy and the community can't just expect the libs team to do everything we throw at them. Therefore it's entirely reasonable that the libs team changes the way they operate if they think that will balance their workload. I do think it's important that if the libs team wants to make those changes that there is some public discussion about this, so that the community can see if there's any slack left that needs to be picked up elsewhere.
One main question I have is: what will be the process to move things into std?
Please elaborate https://twitter.com/fitzgen/status/889980459953692674 with regards to your earlier statement.

In any case, any move to deprecate any of the existing crates will certainly involve public discussion.

This is basically all that this RFC proposes to change, so why not just merge?

Is there a counter-proposal (https://github.com/rust-lang/rfcs/pull/1983#issuecomment-300295429) yet?
I would be inclined to accept the RFC. So far the main argument against sounds like "we will never again deprecate anything from the nursery" which I don't find compelling.

So the only real change here is adding a ~month to the time it takes from our decision to do this to actually making the move?

I don't expect a practical difference between how people treat a deprecation announcement without this RFC, vs a deprecation RFC per this RFC. People who care will take either as an indication to look for an alternative library—or raise concerns that a suitable alternative does not exist, which the RFC provides a place to do.
@rfcbot concern let's do it

@rfcbot fcp cancel

Alright, after talking last week in the libs team, we're just gonna go forward with this.
Several of the nursery crates are being tackled as part of the Blitz, and are expected to head toward rust-lang proper. The others, we'll probably propose deprecation for in a single RFC.
@rfcbot fcp merge

(I ticked everyone's boxes based on the discussion in the meeting.)

This RFC has now been merged. Thanks @jethrogb!


LeadingComments affect breaking

This affects ConstructorDeclarationSyntax and BaseMethodDeclarationSyntax.
IfStatementSyntax was easy to pull out the LeadingTrivia. This was less obvious. But looking at that may help.
Expected Formatting
namespace SomeNamespace
{
    public class ClassName
    {
        public void Exactly80(IApplicationBuilder app, IWebHostEnvironment env)
        {
            return;
        }

        // this shouldn't affect breaking
        public void Exactly80(IApplicationBuilder app, IWebHostEnvironment env)
        {
            return;
        }
    }
}

Actual Formatting
namespace SomeNamespace
{
    public class ClassName
    {
        public void Exactly80(IApplicationBuilder app, IWebHostEnvironment env)
        {
            return;
        }

        // this shouldn't affect breaking
        public void Exactly80(
            IApplicationBuilder app,
            IWebHostEnvironment env
        ) {
            return;
        }
    }
}

There are some more edge cases that need to be handled
public class ClassName
{
    void Method()
    {
        var fileContents = File.ReadAllText(file,
                // leading here should break parameters
                encoding ? GetEncoding(1252) : encoding, cancellationToken);

        var fileContents = File.ReadAllText(file,
                // leading here should break parameters and GetEncoding should still group
                encoding ? GetEncoding(
                        1252
                    ) : encodinggggggggggggggg, cancellationToken);

        var editorConfig = new Dictionary<string, string>() {
            // should break braces correctly
            ["asdfasdf"] = "none", ["asdf"] = "error", };
    }
}


⚠ Bofrost.at has degraded performance

In 6258c08, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1108 ms

Resolved: Bofrost.at performance has improved in 34255c2 after 7 minutes.


Organization dataset listing should list unreleased datasets

E.g. the list here - https://sleepdata.org/orgs/bwh - seems to only show a dataset after it has been released. Even though this dataset listing is not all that useful, this confused me regarding whether or not WSC was in fact a part of the BWH organization. Maybe for unreleased datasets the "Release date" column could read "Unreleased".

Unreleased datasets will now be listed first (for viewers/editors of the organization).


(feature): Implement pagination

Re: https://github.com/fern-api/fern/pull/2985
This implements the pagination validation rule (run w/ fern check), and updates the fern CLI to include pagination in the generated IR. Note that this change does not include the implementation required to map the x-fern-pagination OpenAPI extension to the Fern IR.

@amckinney think we'll need to run seed here

Split everything out into separate files so that it's a lot easier to follow. I will explore the PropertyValidator refactor when we introduce another pagination type (e.g. link pagination).


Update standalone dockerfile and docs

Todo: integration tests for http endpoints

Coverage remained the same at 100.0% when pulling 90f773e678a4cf2d752bc9f921ae0a207f21b715 on update-standalone-dockerfile into f6bca1c1d9e385323eeb5012a41cfe2955eb7c08 on master.

Coverage remained the same at 100.0% when pulling c334b242696ce2aa21de6dc6d575e94d56ad284d on update-standalone-dockerfile into f6bca1c1d9e385323eeb5012a41cfe2955eb7c08 on master.


InvalidInput Error

[jupyter-black]
 Error: InvalidInput
Cannot parse: 5:0: temp_graph = erdos_renyi_graph(4, 0.7, 0, directed = False)

While reformatting the cell:
class GraphGenerator():
    def __init__(self, number_of_nodes =200):

temp_graph = erdos_renyi_graph(4, 0.7, 0, directed = False)
nx.draw(temp_graph)

Well after a month I tried to install it again, there was no error :D


Specify full path to README and open it with utf-8

This fix prevents the crash during the installation on machines with non-standard locales:
https://github.com/RGF-team/rgf/issues/65
https://github.com/henry0312/pytest-codestyle/pull/34

ping @judy2k for the review


Error While receiving access token

When I go to the tileboard URL and sign in, I get "Error while receiving access token"
Problem:
Error While receiving access token
Expected:
To see tileboard dash.
Fixed
Improperly configurated tileboard.

What are those settings set to: serverUrl, wsUrl?
(You should redact the domain if it's not local).


Tests for versioned layer client

Adding a few unit tests for testing versioned layer client
with version 0 in the constructor.
The first test checks if the version 0 have been set to the instance.
The second test checks if the method getPartitions calls service for partitions of the 0 version of the layer and shows how we can mock some class used in the testing method.
3rd test checks if the getData method does not override the version of the instance if version is present and also shows how we can mock some private method.
Relates-To: OLPEDGE-1617
Signed-off-by: Oleksii Zubko<EMAIL_ADDRESS>

Codecov Report

Merging #194 into master will increase coverage by 0.1%.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           master    #194     +/-   ##
========================================
+ Coverage    67.4%   67.6%   +0.1%
========================================
  Files          55      55
  Lines        1501    1501
  Branches      177     177
========================================
+ Hits         1012    1015      +3
+ Misses        444     442      -2
+ Partials       45      44      -1

Impacted Files
Coverage Δ

...olp-sdk-dataservice-read/lib/utils/QuadKeyUtils.ts
72.3% <0%> (+2.1%)
:arrow_up:

...k-dataservice-read/lib/DataStoreDownloadManager.ts
94% <0%> (+4%)
:arrow_up:

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 4848e17...17bcfc5. Read the comment docs.


KEP-3836 Kube-proxy improved ingress connectivity reliability

/sig network
Placeholder for KEP-3836
/cc @alexanderConstantinescu

/close
Alex is back :) https://github.com/kubernetes/website/pull/47048


Added User Permissions

Description

Added permission fields to the user profile object
Modified / POST route to prevent users from setting their own permissions
Adjusted /:userId route so that only users with exec or admin permissions can update permission fields
Updated / GET route to filter by user permissions

Issues

#57

Looks great to me!


Bug: segmentation fault when call "find" method

Impact Target

v0.7.0
v0.8.0-unstable

Steps
$ ydsh --quiet --norc
ydsh-0.8$ $reply.find()
(stdin):1: [semantic error] not match parameter, require size is 1, but is 0
$reply.find()
^~~~~~~~~~~~~
ydsh-0.8$ var a = $reply.find("")
Segmentation fault (core dump)

Problem
segmentation fault
Note
In first evaluation, after semantic error happened, remove currently generated type from TypePool.
In second evaluation, resolve the return type of "find" method, but the type is invalid pointer.

temporary disable type cache in commit 31d2d3ad62d700eb4be2d7dc8a6c2eb1497b0ae0,
so not occur this problem.


SOLR-16820: Allow semVer style collection names (amongst others) VERSION 2

https://issues.apache.org/jira/browse/SOLR-16820
Somehow when I edited solr/CHANGES.txt I ended up with lots of merge conflicts.   I can't get the original PR https://github.com/apache/solr/pull/1688 to update, so starting a new one. <-- @epugh .
Description
The previous collection name validation didn't match the validation used in the CreateCollectionAPI, so it was possible to create a collection name (e.g. foobar-1.2.3) that wouldn't pass validation at this stage via the PackageTool deploy/undeploy commands.
Solution
Use the existing SolrIdentifierValidator::validateCollectionName method and regex to ensure consistency of collection names going forwards.
Tests
Request for guidance please: I haven't attached any unit tests to this PR yet. The PackageTool at the head of this workflow doesn't have any existing automated tests that I can find - I'm not sure whether to add a very small scope unit test in the org.apache.solr.packagemanager package, or whether that's a bit unhelpful compared to something testing the end-to-end behaviour in org.apache.solr.cli, which I'm not sure I'm capable of doing at this stage.
Alternatively, I can upload screenshots of manually-driven tests on my machine if that's a suitable option?
Concerns / Risks
This PR changes the allowed collection names deployed/undeployed by the PackageTool. As discussed on the PR here and in the email thread here, the change is mostly widening the allowed options, mitigating the risk of backwards-breaking changes.
That said, this change does have one backwards-impacting change, which is collections targeted by deploy/undeploy commands can no longer start with a - character. I don't believe this is a major risk - as mentioned on JIRA/email, the widening element of this PR should be risk free - but I'd like to call out that it's not 100% additive. Going from [...]* to [...]+ in the regex is a repeat of SOLR-9016, but that's pretty incidental here I think.
Checklist
Please review the following and check all that apply:

[x] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
[x] I have created a Jira issue and added the issue ID to my pull request title.
[x] I have given Solr maintainers access to contribute to my PR branch. (optional but recommended)
[x] I have developed this patch against the main branch.
[x] I have run ./gradlew check.
[x] I have added tests for my changes.
[ ] I have added documentation for the Reference Guide

Merged main into https://github.com/apache/solr/pull/1688 so no need for this PR.


Homepage: add the REPL to the top

Anyone can help with this but @existentialism made a cool mock of it in photoshop already as well

(can fix the margins between the repl to be smaller)

I'm lagging a bit, but actually almost done with sort of a working prototype, will post soon, but feedback/thoughts welcome for sure.
Initial idea is that it mimics typing a few examples to show their various transformed output, then will invite the user to experiment more with the full REPL.

Actually we totally need some example dropdowns in the repl of syntax anyway


Custom Action adds "custom_" on Android SDK

Describe the bug
When creating a custom action on iOS the action returns the action as we wrote it, for example:
let action = RecaptchaAction(customAction: "TEST")

This will create an action with "TEST", however when doing the same thing on Android the string "custom_" is added to the front of the action name, for example:
val action = RecaptchaAction.custom("TEST")

This Android action will create the action with "custom_TEST"
This means in our back end we have to deal with both types of custom actions: "TEST" and "custom_TEST".
SDK Version (e.g. 18.0.1):
18.0.3 for iOS
18.0.1 for Android
To Reproduce
Steps to reproduce the behavior:

Create a custom action on Android and execute it on the RecaptchaClient and notice how it adds "custom_" in front of the name you set.
Create a custom action on iOS and execute it on the RecaptchaClient, you will notice it does not add "custom_" in front.

Expected behavior
I would expect both iOS and Android to return the same value when creating a CustomAction with the same action name.

Yes, we know about this one and the fix (removing custom_ on Android) is slated for the next release.

Almost out....

This is fixed in 18.1.1 (there will be no 18.1.0 for android). Rolling out to gmaven now.


feat(Timeline): added Timeline component

As per request #2141,and #949 .
And not only them it's many users request to Develop a Timeline Component so i have developed the Entire Timeline component.
Here users can add  their Chronological data in the Timeline component.

@Febin-Joseph  Can you help me with this? 🙌 https://github.com/shadcn-ui/ui/discussions/2334

@Febin-Joseph Good work but could you also add a horizontal timeline option?

This looks great!! Do we know when it can be pushed to production? @Febin-Joseph

This looks great!! Do we know when it can be pushed to production? @Febin-Joseph

exactly i dont know about that. but i think some of the maintainers of the project like @shadcn or somebody needed to check and verify it then only it will be available on the production i think so.

@Febin-Joseph Good work but could you also add a horizontal timeline option?

Let me check it and if possible i will upadate that feature too. @edereagzi

@Febin-Joseph any updates on this ? need to use this for a project