[Feature]: Support lazy load by intersection prop of <Suspense/>

Package Scope
etc
Description
@suspensive/intersection to trigger fetch on view inside of window
Possible Solution
const posts = useSuspenseQuery(postsQueryOptions(...))

return posts.map((post) => (
    <Intersection fallback={<Skeleton />}>
      <Suspense fallback={<Skeleton />}>
        <SuspenseQuery {postQueryOptions(post.id)}>
          {(post) => <Post {...post} />}
        </SuspenseQuery>
      </Suspense>
    </Intersection>
  )
)

etc.
No response

const posts = useSuspenseQuery(postsQueryOptions(...))

return posts.map((post) => (
  <Suspense intersection fallback={({ intersectionRef }) => <Skeleton ref={intersectionRef} />}>
    <SuspenseQuery {postQueryOptions(post.id)}>
      {(post) => <Post {...post} />}
    </SuspenseQuery>
  </Suspense>
  )
)

@gwansikk @kangju2000 @bigsaigon333
This could be new intersection prop of Suspense to lazy load??

const posts = useSuspenseQuery(postsQueryOptions(...))

return posts.map((post) => (

  <Suspense intersection fallback={({ intersectionRef }) => <Skeleton ref={intersectionRef} />}>

    <SuspenseQuery {postQueryOptions(post.id)}>

      {(post) => <Post {...post} />}

    </SuspenseQuery>

  </Suspense>

  )

)

@gwansikk @kangju2000 @bigsaigon333
This could be new intersection prop of Suspense to lazy load??

Oh, that's a great idea! It seems useful for gradually loading the necessary data for users through lazy loading

However, I think Intersection Observe should have more options.
For example,
rootMargin
thresholds
I thought, "How do I set these options?"

const posts = useSuspenseQuery({
  ...otherOptions,
  observeRef: ref
})

return <div ref={ref}

How about this approach:
if we get a ref, we'll treat it like an enable, and it'll work then, so the user doesn't have to know about the intersection observe api.

We should support react-native and web at once too!

In my opinion, we could make it as experimental pacakge (@suspensive/inview or @suspesive/intersection)
<InView>
  {(trigger) => <Suspense fallback={<Spinner/>}>
    {trigger.isInView ? <SuspensQuery /> :
trigger
}
  </Suspense>}
</InView>

  {(target) => (

}>
        {target.isInView ?  : }

  )}


Undo few changes done by app & upload logo

How do i not make below changes

Hide Help Menu
Update onboard steps for remove video and documentation link(Version13)

Also where do i upload the logo to replace the login page image & the brand icon on the desk Navbar

I did not anything for that but I will add that in the setting so the user can ignore it.

We added a setting to ignore onboard steps and show the help menu.


Infinite recursion in NormalProtocolConformance::finishSignatureConformances()

Describe the bug
$ swift BitSet.swift
[1]    30669 illegal hardware instruction  swift BitSet.swift
$

To Reproduce
See above; use this file BitSet.swift.txt
Expected behavior
No crash

$ swift --version
swift-driver version: 1.45.2 Apple Swift version 5.6.1 (swiftlang-<IP_ADDRESS>3.66 clang-13<IP_ADDRESS>)
Target: arm64-apple-macosx12.0

Also this one.  Uncomment the typealias on line 83 to make it compile.

https://github.com/apple/swift/pull/70311


How to access global functions in component markup

I'm not able to access global functions in the markup of a component.
var mySingleton = {     myFunction : function()     {     } }
<my_component v-on:click="mySingleton.myFunction()"></my_component>
mySingleton will be UNDEFINED because of:
(function(scope /**/) { return  scope.window.mySingleton.myFunction(); })
If I try to access via
<my_component v-on:click="window.mySingleton.myFunction()""></my_component>`
It is still UNDEFINED because of:
(function(scope /**/) { return  scope.window.mySingleton.myFunction(); })
Shouldn't at least case 2 work so that vue does not prepend scope. because I try to access window. ?

You can always define a component-method and do there whatever you want. You could also expose the window reference within the component's data.
Generally, it's a good thing that you can't access stuff that is not part of your scope.

Yes, in a function is works as expected. But sometimes it is convenient to use it directly in the markup.
Declaring it in data works, but I do not want my singletons (complex services) to be 'reactivated'.
Regarding you concern about the scope: yes, but singletons provide generic and globally available services and as such in our case it is designed in a way that they can be used from everywhere.
I'm just wondering why vue prepends scope. to window. at all. I have the feeling (without going into the vue source) that window. should be some kind of exception (unless vue is dogmatic about accessing window. scope from the component markup).

Because implicitly falling back to globals will be a maintainability nightmare. When you look at a template you will have no idea whether a variable belongs to the component, or some globals defined by someone  you have no idea where.

Understood. So what is your recommended way to access singletons from component markup without adding them to data (which would make them reactive and this is not wanted). In fact no reactivity here is intended.

So what's the recommended way? Reference of a global function should be fairly easy, as is plain javascript.

I've found that questions about conveniently accessing objects such as singletons always gets shot down in the reactive front-end community because of the principles enforced by the framework. Vue does so much to try and stop you from making bad code that it makes it hard to work with sometimes.
I never understood the idea of a maintainability from this point of view, because 95% of what I want to make a globally accessible singleton instance is stuff like lodash, jQuery, momentjs, etc. We aren't just sticking random objects onto the window and using them. Instead, you only force things to the window that make sense to be there, such as helpers (lodash, jquery, you get it).
I guess the answer is probably just to do an import every time you want that object (tons of duplicated imports, yugh), but that seems the best way to me. And if you need some kind of shared state, I would suggest using VueX.
When it comes down to it, the Vue and collaborators tend to ignore these questions because they've answered it so many times. If people are sick of answering questions about design patterns with Vue, then just post an example on the docs. There's little to no talk about the actual patterns you should implement with Vue in their docs.

Vue.prototype.whatever = yourGreatLibrary should work.
https://jsbin.com/pemugaketi

Or you could as well do Vue.prototype.window_portal = window; ;)

But, if I want to do something like
 <el-checkbox
      v-model="value"
      label="test"
      @change="Object.assign(config, defaultConf)"
    ></el-checkbox>

Then I have to do ?
Vue.prototype.Object=Object
// and next time
Vue.prototype.Array=Array
//....

Is this mode good?
Or I can do this by:
<template>
 <el-checkbox
      v-model="value"
      label="test"
      @change="setDefault"
    ></el-checkbox>
</template>
//...
  setDefault(){
      Object.assign(this.config, this.defaultConf)
  }
//...

But isn't this too troublesome? just one line code but I have to write 3 lines more? and what troubles me is that I have to think of  a new method name ...
So, I was seeking for a better recommended way? Anyone  can help?

your solution is like vm.Object=Object.  I think it's not better than Vue.prototype.Object=Object.

@xianshenglu if you are only using setDefault in one component, I would do like in your second example as it adds readability and its more clear to other developers reading your code.
If this is something you will use across the app, I would consider writing a little private library, loading it into the Vue.prototype object and then use it. Like so:
Vue.prototype.MyClassThatDoesThings = MyClassThatDoesThings
Then, in your component's html:
@change = MyClassThatDoesThings.setDefault(...)

Try this
Vue.prototype.global = window;
Then you can use global variable in Vue template like this
@change="global.Object.assign(A, B)"
@change="global.YourClass.yourFunction()"
Happy coding!

Why not just Vue.prototype.window = window...?
On Thu, Feb 14, 2019, 03:30 ithieund<EMAIL_ADDRESS>wrote:

Try this
Vue.prototype.global = window;
Then you can use global variable in Vue template like this
@change https://github.com/change="global.Object.assign(A, B)"
@change https://github.com/change="global.YourClass.yourFunction()"
Happy coding!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/vuejs/vue/issues/2417#issuecomment-463495039, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAvMHTbvg4U9VLEmCfwKUFR9ykzZVVbMks5vNPRsgaJpZM4HnhD3
.


Consider alternative healpix libraries

We're currently using healpy, which is a somewhat bloated library (also contains matplotlib, cfitsio, etc), and has installation issues on macOS, and is incompatible with Windows.
Alternatives suggested so far:

https://hpgeom.readthedocs.io/en/latest/index.html
cdshealpix
astropy.healpix

If any of these are a little behind healpy in terms of raw performance, but otherwise a good replacement, it may be worthwhile to contribute improvements to their code bases.

Performance comparison for healpy, hpgeom, cdshealpix and astropy-healpix on my laptop:

healpy 28.4 ms ± 78.7 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)
hpgeom 37.1 ms ± 377 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)
cdshealpix single thread 26.1 ms ± 202 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)
cdshealpix 8 threads 12.8 ms ± 75 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
astrop-healpix 132 ms ± 261 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)

import healpy
import hpgeom
import cdshealpix
import astropy_healpix

import astropy
import numpy as np

n = 1_000_000

rng = np.random.default_rng(0)
ra = rng.uniform(0, 360, n)
dec = np.degrees(np.arccos(rng.uniform(-1, 1, n))) - 90

%timeit healpy.ang2pix(1 << 29, ra, dec, lonlat=True, nest=True)
%timeit hpgeom.angle_to_pixel(1 << 29, ra, dec, lonlat=True, degrees=True, nest=True)
%timeit %timeit cdshealpix.nested.lonlat_to_healpix(astropy.coordinates.Longitude(ra[0], 'deg'), astropy.coordinates.Latitude(dec[0], 'deg'), 29, num_threads=1)
%timeit %timeit cdshealpix.nested.lonlat_to_healpix(astropy.coordinates.Longitude(ra[0], 'deg'), astropy.coordinates.Latitude(dec[0], 'deg'), 29, num_threads=8)
%timeit astropy_healpix.lonlat_to_healpix(ra * u.deg, dec * u.deg, nside=1 << 29, order='nested')

# and the same for a single angle:

Keeping this for posterity. If we can get a Windows-compatible healpix library, we can enable a windows-file-system checking regression test workflow:
# This workflow will install Python dependencies and run tests in a Windows environment.
# This is intended to catch any file-system specific issues, and so runs less
# frequently than other test suites.

name: Windows unit test

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  build:

    runs-on: windows-latest
    strategy:
      matrix:
        python-version: ['3.10']

    steps:
    - uses: actions/checkout@v3
    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v4
      with:
        python-version: ${{ matrix.python-version }}
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install .
        pip install .[dev]
    - name: Run unit tests with pytest
      run: |
        python -m pytest tests

Ugh. Another ding.
https://github.com/astronomy-commons/hipscat/pull/65

going through all the available healpix implementations and checking to see if they've ported all the healpy functions that we need to handle margin caching.
hpgeom

has everything!

cdshealpix

no boundaries function 😭
however they do have external_neighbors, which is essentially our get_margin code but implemented in rust 👀

astropy-healpix

has everything!
has boundaries_lonlat which does the conversion of boundary coords into ra/dec, which healpy annoyingly doesn't do by default so that's kinda nice.

was really rooting for cdshealpix but it unfortunately doesn't have all the necessary functions ported over. if they do end up implementing healpy.boundaries we should consider using it as it's fast and could even up allowing us to delete some code.

small update on this, since the margin cache code has been significantly changed: we're still reliant on the healpy.boundaries function, probably more so now in fact 😭

Coming back here after some out-of-band discussion at a hipscat WG meeting: am I reading it right that astropy-healpix is compatible with everything, but the main restriction is performance? (basing that on https://github.com/astronomy-commons/hipscat/issues/53#issuecomment-1472677860)  And if so, any insight on where the performance hotspot is @delucchi-cmu ?

@eteq @delucchi-cmu I slightly updated the original benchmarking comment https://github.com/astronomy-commons/hipscat/issues/53#issuecomment-1472677860, basically fixing typos in the code. The performance of the packages hasn't change since I tested it last time.

I just happened to need cdshealpix for another project and in reading the docs noticed that another package it can use (mocpy) had a get_boundaries function. As a old-school astronomer rather than a modern developer I just wondered if this would solve the missing boundaries issue mentioned earlier and allow a switch to cdshealpix? I'm stuck on windows and would love a version I can use locally.

Hi,
I am the developer of cds-healpix-rust, @tboch talked to me about this issue.
I think that  the equivalent of boundaries in cdshealxpix is path_along_cell_edge.
If needed, we can add it in the cdshealpix python wrapper (cc @bmatthieu3, @ManonMarchand).
In such cases (feature requests), do not hesitate to open issues.

Yes, don't hesitate to interact either on mocpy or cdshealpix repos. You're more than welcome to ask for features, point places in the docs where we're not clear, point to bugs or slow methods... or even contribute :slightly_smiling_face:
If github issues are not your preferred communication canal, our emails are also in the documentation

I just checked the code.
Using vertices_skycoord with step>1 corresponds to the boundaries method: when step is >1 the Rust method path_along_cell_edge  is used internally. See this line of code.

As discussed today, @delucchi-cmu will make a list of all tickets that need to completed before we make make this switch.

[ ] #398
[ ] #399
[ ] #400
[ ] #401
[ ] #402

As of the most recent releases, we are no longer depending on healpy for hats operations.


Meteor impact sites could temporarily smoke to make them easier to find.

This could be turned off by default, and flipped on via a config option if a player wants it.

Made a primary feature in version 1.1.0


Determine if child route or not (breadcrumbs + nav)

For nav/breadcrumb purpose, it would be really nice to reverse check if a given URL is
There's probably edge cases here to consider since breadcrumbs are complicated, but at the least if we can have an utility fn to:

Given pathname, determine the actual route
Given two routes (or two pathnames), check if one is a child of another.

The use case would be for a nav item to determine whether the item should be selected or not.
rough sketch of the contract:
url.pathname = '/settings/account';

isChildOf(AppRoute.settings(), url.pathname) => true
isChildOf(AppRoute.settings(), AppRoute.settings.account()) =>  true
isChildOf(AppRoute.settings(), AppRoute.settings.hello({ hey: 123 })) => true
isChildOf('/settings', AppRoute.settings.account()) => true
isChildOf('/settings', '/settings/account') => true

isChildOf(AppRoute.settings(), '/randompage') => false
...

Edit: on a second thought, this just seems like some notion of URL parsing and i am sure such libraries exist already.
Maybe something we can benefit from ts-route side is since we already have more definition than raw strings ("nested"-ness with children prop, various param + names, etc.) we could leverage that for something?

const isChildOf = (maybeParentPathname: string, maybeChildPathname: string) => {
	// since / is a parent of all pathnames, do explicit matching.
	if (maybeParentPathname === '/') {
		return maybeParentPathname === maybeChildPathname;
	}
	return maybeChildPathname.startsWith(maybeParentPathname);
};

using this for now which works (for now) since our nav bar items are all at first level.

Hi, it looks like something that we should be able to integrate into the library. We'll soon check what can be done.


New version: Cloudflare.cloudflared version 2024.11.0

Checklist for Pull Requests

[ ] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.6 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

Installation failed with exit code -1978335187
2024-11-06 07:45:26.391 [FAIL] Installer failed security check. Url: https://github.com/cloudflare/cloudflared/releases/download/2024.11.0/cloudflared-windows-386.msi Result: 0x80004005

Automated error analysis suggests -1978335187 may mean Installer failed security check. Another script should retry this every 18 hours.
Automated error analysis suggests 80004005 may mean Resource missing
(Automated response - build 897.)


Actual Code

Thanks for sharing your ICCV21' paper!
Do you plan to release the actual code before the ICCV takes place? I would be very happy to get some insights into your code, as I think your paper would fit my use case very well.

Sorry, I have been quite occupied lately and will release the code as soon as possible.


output to terminal when we are just waiting for cache uploads

As a stopgap before we move cache uploads to the daemon, I added some terminal output if uploading is blocking process completion.
While obviously not ideal that users are just waiting for cache population, I think it's at least better that they know that that is what is happening, rather than the process appearing to hang.

We could possibly improve the UX here with something like a progress bar or spinner

Added a spinner. Here's what it looks like (only triggers after 1.5s of waiting)

.


SAK-25544 Fixed for Quartz Oracle migration script

Changes for Oracle compatibility:

bool is VARCHAR2(1)

NOT NULL needs to go after DEFAULT

BIGINT(13) is NUMBER(13)

Dropping foreign key requires a PLSQL dance

Replacing primary keys requires two statements

Needed to drop existing indexes before recreating them

There is another PR with the same changes here:
SAK-30082
https://github.com/sakaiproject/sakai/pull/1308

Ah good!  Looks like it covers all of mine, and your Oracle-wrangling is neater :)  Closing this one.
Thanks,
Mark


Proposal: Move linkify into core

Context
The linkify addon has been broken for some time with little attention to it, yet it remains quite a popular request to have be have active links for VS Code (https://github.com/Microsoft/vscode/issues/7321). I'm proposing we pull the linkify logic into the core and expose it as an option.
Why?
One of the reasons linkify is currently broken with no way forward as it is implemented as an addon outside of xterm.js, dealing with things that are very much internal. In addition, with all the performance changes on their way in (particularly this one https://github.com/sourcelair/xterm.js/pull/450), it is not safe to modify .xterm-rows. This is also very performance critical so it should not be messed with at all my addons.
How it will work
When linkify gets triggered
In order to prevent this from causing a big performance hit I propose we only check for links a certain period of time (100ms, 200ms?) after there has been no changes to the viewport's buffer. This is in contrast to the current implementation which I believe requires an external call.
Web vs local
The current implementation only linkifies hyperlinks as it was designed just for the browser. One of the most compelling use cases however is to linkify local files so that they can be opened in the editor.
Obviously regular  tags won't cut it for non-hyperlinks as they won't know how to handle them, we will need something like an attachLinkifyHandler function (even better deprecate and merge attachCustomKeydownHandler into some generic attachHandler/registerHandler function).
It's also important to note that in Electron it's probably not desirable to jump use  tags but handle them custom as well. We do however want to keep  tags for web files to get the nice middle click/ctrl+click behavior. So the links will be:

web:  with href set
local:  with no href provided a linkify handler has been attached, otherwise don't check for local links

Better viewport row reuse
How Terminal.refresh works currently, all links would disappear when a single line is added to bottom of the buffer. To better support linkify and also save some CPU cycles while we're at it, we should look into reusing rows by informing Terminal.rowContainers that we simply shifted some elements whenever possible and only run a targeted refresh on a specific row.
Make the span object pool aware of the links
The DomElementObjectPool logic within Terminal.refresh which keeps s around so not as many DOM nodes are constructed will need to be made aware of the potential for  tags wrapping  and even splitting s in some cases.

This is probably a good idea. However, it raises the question of just what addons are good for in their current state. If it's not possible to make an addon that turns links into, well, links performantly, what can they do?

Well the other ones are to do with fitting the content and attaching xterm.js under various environments. Another idea I had was to make one that makes the selection invert like gnome-terminal. Basically anything that can be done without touching private apis, unless there are tests I'm place being the exception to that.

I've started working on this, web links were relatively easy to implement. Still thinking about it but I'm leaning towards exposing generic register link regex/handler support and then creating an addon to easily expose decent local link support.


etcdctl: an option for granting permission with key prefix

This commit adds a new option --prefix to "role grant-permission"
command. If the option is passed, the command interprets the key as a
prefix of range permission.
Example of usage:
$ ETCDCTL_API=3 bin/etcdctl --user root:p role grant-permission --prefix r1 readwrite /dir/
Role r1 updated
$ ETCDCTL_API=3 bin/etcdctl --user root:p role get r1
Role r1
KV Read:
[/dir/, /dir0)
[k1, k5)
KV Write:
[/dir/, /dir0)
[k1, k5)
$ ETCDCTL_API=3 bin/etcdctl --user u1:p put /dir/key val
OK
/cc @glycerine

can we add a e2e test case for this? Thanks!

/cc @glycerine It would be great if you can try this out. Thanks!

I like it. It seems to work well from etcdctl at the bash prompt.
The logic inside clientv3.GetPrefixRangeEnd() makes no sense to me, but I'll file a separate ticket about that.

@xiang90 sure, I'll add a new e2e test for this tomorrow.

@glycerine

The logic inside clientv3.GetPrefixRangeEnd() makes no sense to me, but I'll file a separate ticket about that.

Is this still the case? I saw you closed the issue you just created? Is there any other issue with prefix calculation? would like to get it fixed.

No it finally made sense to me after really thinking about it. I think the current code is indeed correct.

@glycerine Thanks for taking time to review the code. We will get this merged once e2e test is ready.

@xiang90 added an e2e test, PTAL

LGTM after fixing the minor issue mentioned in the comment.

@xiang90 updated for the place of the prefix option, PTAL

Awesome! Thanks! Merging.


View Creation Slow

See:
http://localhost:8000/js/foam/demos/sevenguis/Cells.html

This was fixed in the demo, as well as a minor improvement to AsyncViewLoader's argument merging.


Adding "Discussion" and "Comment" capabilities

First of all, I wanted to say thank you for this implementation of the Notion API 🙌
It is really really useful, it is crazy all the automation opportunities it brings and shows the real potential of Notion.
I was wondering if you had explored the possibility to handle Discussion and Comment? Allowing to open a new Discussion on a block, to add a Comment to a Discussion – and even to listen to new Comments – like you manage to do it with live-update of Blocks?
Once again, thank you for this repo – it is already really amazing 👍

This would be great! It shouldn't be too hard to do, with a bit of poking around in the API in the browser's network tools to understand the endpoints, and then creating some classes and methods to serve as the notion-py interface.
Would be a great community contribution! Marking it as "needing help" -- if anyone wants to try it, and has any questions, feel free to ask here!

I wrote my own code to handle the edits and comments. Please note that the code is highly customized and you need to modify it to suit your own need.
result = cv.build_query(filter=cv.get('query2')['filter']).execute()
for record in result:
    record_updates = {
            'name': record.name,
            'project_ids': record.项目ID,
            'assign': record.负责人[0].full_name if len(record.负责人)>0 else '',
            'status': record.状态,
            'risk': record.风险,
            'comments': [],
            'changes': [],
        }
    # fetch activities
        query = {
            'limit': 10,
            'navigableBlockId': record.id,
            'spaceId': record.get('space_id')
        }
        r = client.post('getActivityLog', data=query)
        for id, activity in r.json()['recordMap']['activity'].items():
            if (time.time() - int(activity['value']['end_time'])/1000)>delta:
                continue
            v = activity['value']
            record_updates['type'].append(v['type'])
            record_updates['time'].append(v['end_time'])
            # block updates
            if v['type'] == "block-edited":
                try:
                    changes = {}
                    # group changes
                    for edit in v['edits']:
                        if edit['type'] in ['block-edited', 'block-changed']:
                            btype = edit['block_data']['before']['block_value']['type']
                            # prevent page change to be displayed
                            if btype not in ['text', 'page', 'bulleted_list']:
                                print('unhandled edit change type->', btype)
                            # only handle edits that have both "before" and "after" values
                            if 'properties' not in edit['block_data']['after']['block_value'] or 'properties' not in edit['block_data']['before']['block_value']:
                                continue
                            after = edit['block_data']['after']['block_value']['properties']
                            before = edit['block_data']['before']['block_value']['properties']
                            change = {k2: diffStr(v1[0][0], v2[0][0]) for k1, v1 in before.items() for k2, v2 in after.items() if v1 != v2 and k1==k2}
                            # change id to name
                            if 'block_schema' in edit:
                                schema = edit['block_schema']
                                change = {schema[k]['name']: v for k, v in change.items()}

                        elif edit['type'] == 'block-created':
                            if 'properties' not in edit['block_data']['block_value']:
                                continue
                            change = edit['block_data']['block_value']['properties']
                            change = {k: diffStr('', v[0][0]) for k, v in change.items()}

                        else:
                            if edit['type'] not in ['block-deleted']:
                                print('unhandled block change type->', edit['type'])
                            continue

                    record_updates['changes'] += changes

                except KeyError as e:
                    print('Unhandled Key in updates:', e)
            # comments
            elif v['type'] == 'commented':
                comments = []
                for comment in v['edits']:
                    if comment['type'] == 'comment-changed':
                        before = comment['comment_data']['before']['text'][0][0]
                        after = comment['comment_data']['after']['text'][0][0]
                        comments.append(diffStr(before, after))
                    else:
                        comments.append(comment['comment_data']['text'][0][0])
                record_updates['comments'] += comments
            else:
                print('unhandled activity type->', v['type'], 'details:\n', v)
                continue
        records_updated.append(record_updates)

The diffStr function is just to transfer the changes to readable format:
def diffStr(a: str, b: str):
    """Unify operations between two compared strings
    seqm is a difflib.SequenceMatcher instance whose a & b are strings"""
    seqm = difflib.SequenceMatcher(None, a, b)
    output = []
    for opcode, a0, a1, b0, b1 in seqm.get_opcodes():
        if opcode == 'equal':
            output.append(seqm.a[a0:a1])
        elif opcode == 'insert':
            output.append("" + seqm.b[b0:b1] + "")
        elif opcode == 'delete':
            output.append("" + seqm.a[a0:a1] + "")
        elif opcode == 'replace':
            output.append("" + seqm.a[a0:a1] + "")
            output.append("" + seqm.b[b0:b1] + "")
        else:
            raise RuntimeError("unexpected opcode")
    return ''.join(output)

An API for writing comments would be super useful, I'd be happy to contribute to this repo, but my Python skills are severely limited at best 😅, I did some sniffing of the web API request, and came up with this, maybe it's helpful?
{
    "requestId": "...",
    "transactions": [
        {
            "id": "...",
            "spaceId": "...",
            "operations": [
                {
                    "pointer": {
                        "table": "comment",
                        "id": "..."
                    },
                    "path": [],
                    "command": "set",
                    "args": {
                        "parent_id": "...",
                        "parent_table": "discussion",
                        "text": [
                            [
                                "Test Comment"
                            ]
                        ],
                        "created_by_table": "notion_user",
                        "created_by_id": "...",
                        "alive": true,
                        "id": "...",
                        "version": 1
                    }
                },
                {
                    "pointer": {
                        "table": "discussion",
                        "id": "..."
                    },
                    "path": [
                        "comments"
                    ],
                    "command": "listAfter",
                    "args": {
                        "id": "..."
                    }
                },
                {
                    "pointer": {
                        "table": "comment",
                        "id": "..."
                    },
                    "path": [
                        "created_time"
                    ],
                    "command": "set",
                    "args":<PHONE_NUMBER>000
                },
                {
                    "pointer": {
                        "table": "comment",
                        "id": "..."
                    },
                    "path": [
                        "last_edited_time"
                    ],
                    "command": "set",
                    "args":<PHONE_NUMBER>000
                }
            ]
        }
    ]
}

Maybe with a little bit of guidance, I could try and submit something :)

I'm working on a version for own use from discussion in this thread.
This is what I learned from the comment above https://github.com/jamalex/notion-py/issues/45#issuecomment-731703088
ret = client.post('getActivityLog', data = {'limit': <limit>, 'navigableBlockId': <record.id>, 'spaceId': <record.get('space_id'>
All the data needed for reading the discussions are included in ret.json()
You may be able to read comments and all other stuffs from filtering this response.


Bug fix/agency inquiry 503 fix

Scope & Purpose
Fixes a bug, which the new testagent revealed in async agency comm's handling of 503 responses from agents.

[X] :hankey: Bugfix (requires CHANGELOG entry)
[ ] :pizza: New feature (requires CHANGELOG entry, feature documentation and release notes)
[ ] :fire: Performance improvement
[ ] :hammer: Refactoring/simplification
[ ] :book: CHANGELOG entry made

Backports:

[ ] No backports required
[ ] Backports required for: 3.7, 3.6

Related Information
BTS-356

[ ] Docs PR:
[ ] Enterprise PR:
[ ] GitHub issue / Jira ticket number:
[ ] Design document:

Testing & Verification
(Please pick either of the following options)

[ ] This change is a trivial rework / code cleanup without any test coverage.
[ ] The behavior in this PR was manually tested
[ ] This change is already covered by existing tests, such as (please describe tests).
[ ] This PR adds tests that were used to verify all changes:

[ ] Added new C++ Unit tests
[ ] Added new integration tests (e.g. in shell_server / shell_server_aql)
[ ] Added new resilience tests (only if the feature is impacted by failovers)

[ ] There are tests in an external testing repository:
[ ] I ensured this code runs with ASan / TSan or other static verification tools

https://jenkins.arangodb.biz/view/PR/job/arangodb-matrix-pr/14780/
Documentation

All new features should be accompanied by corresponding documentation.
Bugs and features should furthermore be documented in the CHANGELOG so that
support, end users, and other developers have a concise overview.

[ ] Added entry to Release Notes
[ ] Added a new section in the Manual
[ ] Added a new section in the HTTP API
[ ] Added Swagger examples for the HTTP API
[ ] Updated license information in LICENSES-OTHER-COMPONENTS.md for 3rd party libraries

External contributors / CLA Note
Please note that for legal reasons we require you to sign the Contributor Agreement
before we can accept your pull requests.

This is probably obsolete by https://github.com/arangodb/arangodb/pull/13942 but the test is still missing there.

Obsolete.


[Python docs feedback]

Problem description
The instructions for setting up the docker container pull in both Python requirements and OS requirements and it throws an error when you try to build the docker container.
Problem location

I saw a problem on the following URL: https://docs.docker.com/language/python/build-images/

Project version(s) affected

Suggestions for a fix
https://stackoverflow.com/questions/66100767/from-dockers-doc-could-not-find-a-version-that-satisfies-the-requirement-aptur

Thanks for sharing the issue. Looks like this was fixed by https://github.com/docker/docker.github.io/commit/a9a8311643622a802932b752e49f285efa878c80
If the issue still persists, please let us know.


Errorcode 139 when indexing

Also I got segment fault when running from console:
[2016-07-31 12:00:09] completer.INFO: Found 1 nodes [] []
[2016-07-31 12:00:09] completer.INFO: Parsing: [0.00057792663574219]s [] []
[2016-07-31 12:00:09] completer.DEBUG: Processing nodes 1 [] []
[2016-07-31 12:00:09] completer.DEBUG: Processing node Symfony\Component\VarDumper\Tests\Fixtures\NotLoadableClass [] []
[1]    15310 segmentation fault  padawan generate

hi @mblarsen current workaround for this issue is temporary remove Symfony\Component\VarDumper\Tests\Fixtures\NotLoadableClass
for more details follow https://github.com/mkusher/padawan.php/issues/42


Fix VFN compile error, update doc

Motivation
I was testing out the VFN changes. I found a compile error that needed to be fixed to proceed (refresh_chain_info no longer returns a Result), and a necessary update to the doc to be able to run the upgrade instructions.
Test Plan
N/A

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


CONST_SET_ELEMENT_TYPE_IMPLEMENTS_EQUALS is checked for list element

The dart analyzer error code CONST_SET_ELEMENT_TYPE_IMPLEMENTS_EQUALS is misleading because it checks equal override for both lists & set elements. Or should the error be triggered only for set/map elements?
Sample Code
const a = [1.0, 2.0];
const b = [3.0, ...a];

It should only be an error for set literals. List literals do not care whether their elements implements ==.

@lrhn Dartpad is showing me error.

Version - 2.9.0-316591527  (Google internal)
Looks like problem is here.

ACK, it's the spread. And yes, the lie you are pointing to could very well be the reason.

So the fix should be trigger this only for the set? I could help with a fix :-)

This actually has real-world use cases, for example, I cannot specify a const matrix using spread operators as such:
  static const filter = ColorFilter.matrix([
    ...[0.2126, 0.7152, 0.0722, 0, 0],
    ...[0.2126, 0.7152, 0.0722, 0, 0],
    ...[0.2126, 0.7152, 0.0722, 0, 0],
    ...[0, 0, 0, 0.4, 0],
  ]); // this code fails to compile

But if I don't use the spread operator, the array will be auto-formatted into a single column 🤣

Considering the formatting part alone (that is, ignoring the actual topic of this issue for a moment ;-) you can use // to mark each desired line break:
class ColorFilter {
  const ColorFilter.matrix(_);
}

class A {
  static const filter = ColorFilter.matrix([
    0.2126, 0.7152, 0.0722, 0, 0, //
    0.2126, 0.7152, 0.0722, 0, 0, //
    0.2126, 0.7152, 0.0722, 0, 0, //
    0, 0, 0, 0.4, 0,
  ]);
}

@scheglov

https://dart-review.googlesource.com/c/sdk/+/211880


VMware Packer build 0.4.0 error on ros install

I am working on a Packer vmware-iso build for RancherOS and ran into the following docker error.
Error pulling image (v0.4.0) from docker.io/rancher/os, ApplyLayer exit status 1 stdout:  stderr: write /usr/lib/x86_64-linux-gnu/gconv/IBM1157.so: no space left on device

I tested the same build with RancherOS 0.3.3 and was able to install successfully. If this issue should be against docker itself let me know!
vmware-iso output will be in this color.

Warnings for build 'vmware-iso':

* A shutdown_command was not specified.
Build 'vmware-iso' errored: Script exited with non-zero exit status: 1

==> Some builds didn't complete successfully and had errors:
--> vmware-iso: Script exited with non-zero exit status: 1

cloud-config.yml
#cloud-config
ssh_authorized_keys:
  - ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key
rancher:
  network:
    interfaces:
      eth*:
        dhcp: false
      eth0:
        dhcp: true
      lo:
        address: <IP_ADDRESS>/8
  services_include:
    ubuntu-console: true

packer.json
{
    "variables": {
        "version": "{{env `RANCHEROS_VERSION`}}",
        "iso_checksum": "{{env `RANCHEROS_MD5_ISO_CHECKSUM`}}"
    },
    "builders": [
        {
            "type": "vmware-iso",
            "guest_os_type": "other",
            "iso_url": "https://github.com/rancherio/os/releases/download/v{{user `version`}}/rancheros.iso",
            "iso_checksum": "{{user `iso_checksum`}}",
            "iso_checksum_type": "md5",
            "boot_wait": "40s",
            "disk_size": 10000,
            "vmdk_name": "rancheros",
            "http_directory" : ".",
            "ssh_username": "rancher",
            "ssh_password": "rancher",
            "ssh_wait_timeout": "60s",
            "ssh_port": "22"

        }
    ],
    "provisioners": [
        {
            "type":"file",
            "source": "cloud-config.yml",
            "destination": "/tmp/cloud-config.yml"
        },
        {
            "type": "shell",
            "inline": [
                "sudo ros install -d /dev/sda -f -t generic -c /tmp/cloud-config.yml"
            ]
        }
    ],
    "post-processors": [
        [{
            "type": "vagrant",
            "output": "./output/vagrant/x86_64/prod/{{user `version`}}/rancheros_{{.Provider}}.box"
        }]
    ]
}

The docker pull operation happens in memory, try increasing the qemu builders memory allocation.
Below is an example using qemuargs
{
  "builders": [
    {
      "type": "qemu",
      ...
      ...
      "qemuargs": [
        [ "-m", "1024m" ]
      ]
    }
  ]
}

@ldejager Thanks for the suggestion! I will give it a shot and reopen the issue if needed!


DOC: simplify wording for rye sync after rye add

This PR improve text in the doc so a new user of rye doesn't miss the need to rye sync after adding a dependency to actually install it. I skimmed past the original text so hopefully this will help the next reader.

Isn't sync run automatically after add or is that just for uv? Should that be mentioned?

Isn't sync run automatically after add or is that just for uv? Should that be mentioned?

Yeah, although uv isn't the default yet so I think it's better not to introduce that complexity at this point in the docs.


bindparams are not passed correctly

The statement
stmt = sql.text('select count(*) from _v_table where objid > 200000 and tablename = :name and schema = :schema')

ist processed to
'select count(*) from _v_table where objid > 200000 and tablename = ? and schema = ?'

which is transformed by nzpy to
'select count(*) from _v_table where objid > 200000 and tablename = NULL and schema = NULL`

This is the final statement which is executed.
As a result the has_table method returns a wrong value, namely False instead True. Is this somehow an interference of nzpy and nzalchemy?

Tried similar piece of code with bind parameters which is working fine.
engine = create_engine("netezza+nzpy://admin:password@localhost:5480/testpy")
conn = engine.connect()
stmt = text('select count(*) from _v_table where objid > 200000 and tablename = :name and schema = :schema')
result = conn.execute(stmt, name='TEST', schema='ADMIN')

Output:
$ python3 nzpyparam.py
count: 1

Query is processed in below order(from logs):
select count(*) from _v_table where objid > 200000 and tablename = NULL and schema = NULL
select count(*) from _v_table where objid > 200000 and tablename = \'TEST\' and schema =                \'ADMIN\'
Could you please elaborate issue you are facing and provide sample application with logs for further investigation.


Does pretrained model "resnet50_weights_th_dim_ordering_th_kernels.h5" produce acceptable results?

I downloaded the resnet50_weights_th_dim_ordering_th_kernels.h5 pretrained model and trained for a single epoch with a single example, so the program will produce a model_frcnn.hdf5. After that, I tested the model but couldn't get any outcome. All instances will not pass the "np.max(P_cls[0,ii,:]) < 0.5" on line 153 in test_frcnn.py. Is this normal or that something went wrong?

My keras.json:
{
"image_dim_ordering": "tf",
"image_data_format": "channels_last",
"floatx": "float32",
"epsilon": 1e-07,
"backend": "tensorflow"
}

The pretrained model resnet50_weights_th_dim_ordering_th_kernels.h5 is an image classifier trained on imagenet, not an image detector trained on pascal voc. It does not produce satisfactory results. About 80k iterations of training are required to converge on good results for pascal voc (less for simpler challenges).


Is this library available in java?

Library information:

Version: [e.g. 2.0.0]
View or Compose module: [e.g. View]

Question:
[e.g. How do I do X or Y?]

Yes, the library is available in Java. It is written in Kotlin but fully compatible with Java.


refactor(e2e): use address_book.seed rather than bootstrap peer

Generate the address_book.seed file for zetaclient when running in localnet. This is to ensure that the localnet/e2e setup matches the testnet/mainnet zetaclient configuration where we configure an address book.
This command lives under zetae2e rather than zetaclient as this is localnet/e2e specific functionality.
Related to https://github.com/zeta-chain/go-tss/pull/40 (Remove all dynamic peer discovery)

Summary by CodeRabbit

New Features

Introduced a new CLI command for retrieving bootstrap address book entries for the Zeta client.
Enhanced the zetae2e command-line interface with the new command registration.
Modified the start-zetaclientd.sh script to streamline the initialization process and retrieve the bootstrap address book.

Bug Fixes

Improved error handling for gRPC client creation and hostname resolution in the new command.

NodeAccounts list can contain accounts which are not part of the TSS yet , is it okay to use the list for the seed ?
Okay dont hink its a problem since we are using for starting the network only

Yes I think the address book should contain all possible peers. Only those that are needed will be actually used.


Simplest Demo

https://github.com/iraycd/TestCouchLiteAndroid
Add to README, if you like it.

I think it is already added to README.

@hideki Forgot to close it. :+1:


run error for object-detector-python with artpec8 camera

Environment

Axis device model: [e.g. P3265-LVE ]
Axis device firmware version: [e.g. 10.12.114]

tit works for Q1615 mkiii, but when compile with aarch64 for arpec8， it has error, here is the error
user@ubuntu:~/Downloads/acap-computer-vision-sdk-examples-main/object-detector-python$ docker-compose  --host tcp://<IP_ADDRESS>:2375 --env-file ./config/env.aarch64.artpec8 up
Starting object-detector-python_object-detector-python_1 ... done
Recreating object-detector-python_inference-server_1     ... done
Starting object-detector-python_acap_dl-models_1         ... done
Attaching to object-detector-python_object-detector-python_1, object-detector-python_acap_dl-models_1, object-detector-python_inference-server_1
acap_dl-models_1          | COPYRIGHT
acap_dl-models_1          | coco_labels.txt
acap_dl-models_1          | ssd_mobilenet_v2_coco_quant_postprocess.tflite
acap_dl-models_1          | ssd_mobilenet_v2_coco_quant_postprocess_edgetpu.tflite
object-detector-python_acap_dl-models_1 exited with code 0
object-detector-python_1  | object-detector-python connect to: unix:///tmp/acap-runtime.sock
object-detector-python_1  | Failed to initialize vdo stream
object-detector-python_1  | Traceback (most recent call last):
object-detector-python_1  |   File "detector.py", line 136, in
object-detector-python_1  |     Detector().run()
object-detector-python_1  |   File "detector.py", line 103, in run
object-detector-python_1  |     self.run_camera_source()
object-detector-python_1  |   File "detector.py", line 114, in run_camera_source
object-detector-python_1  |     succeed, bounding_boxes, obj_classes, _ = self.detect(frame)
object-detector-python_1  |   File "detector.py", line 39, in detect
object-detector-python_1  |     image = image.astype(np.uint8)
object-detector-python_1  | TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'
object-detector-python_object-detector-python_1 exited with code 1

Hi, after upgrade firmware to 11.1. 55, it works. so it seems to be OS and SDK version issue.


lottie: memory leak reported by XCode Instruments

A possible memory leak was found by XCode instruments, can help confirm it?

@RuiwenTang Hi, tested with Lottie in the example. right?

@RuiwenTang Hi, tested with Lottie in the example. right?

Yes, or just test with the guitar.json or expressions/intelia_logo_animation.json


Error: release id for tag v1.2.4 not found, and could not be created

Hello,
I try to use you github workflow<EMAIL_ADDRESS>but when Github action try to create release i have this error message :
Error: release id for tag v1.2.4 not found, and could not be created
When i check on github, tag is correctly created, but not release :/
[10:25:33] INFO     [semantic_release.cli.util] INFO                  util.py:78
                    util.load_raw_config_file: Loading configuration
                    from pyproject.toml
           INFO     [semantic_release.cli.config] INFO             config.py:238
                    config.select_branch_options: Using group
                    'main' options, as '(main|master)' matches
                    'main'
           WARNING  [semantic_release.cli.config] WARNING          config.py:357
                    config.from_raw_config: the token for the
                    remote VCS is configured as stored in the
                    GH_TOKEN environment variable, but it is empty
           INFO     [semantic_release.version.algorithm] INFO    algorithm.py:60
                    algorithm.tags_and_versions: found 7
                    previous tags
           INFO     [semantic_release.version.algorithm] INFO   algorithm.py:255
                    algorithm.next_version: Found 7 full
                    releases (excluding prereleases)
           INFO     [semantic_release.version.algorithm] INFO   algorithm.py:277
                    algorithm.next_version: The last full
                    release was 1.2.3, tagged as 'v1.2.3'
           INFO     [semantic_release.version.algorithm] INFO    algorithm.py:96
                    algorithm.bfs: found latest version in
                    branch history: '1.2.3' (50f2067)
           INFO     [semantic_release.version.algorithm] INFO   algorithm.py:1[15](https://github.com/XXXX/XXXXX/actions/runs/7396102248/job/20120572474#step:5:16)
                    algorithm._bfs_for_latest_version_in_histor
                    y: the latest version in this branch's
                    history is 1.2.3
           INFO     [semantic_release.version.algorithm] INFO   algorithm.py:302
                    algorithm.next_version: The last full
                    version in this branch's history was 1.2.3
           INFO     [semantic_release.version.algorithm] INFO   algorithm.py:380
1.2.4
                    algorithm.next_version: The type of the
                    next release release is: patch
           INFO     [semantic_release.version.algorithm] INFO    algorithm.py:60
                    algorithm.tags_and_versions: found 7
                    previous tags
The next version is: 1.2.4! 🚀
No build command specified, skipping
           INFO     [semantic_release.version.algorithm] INFO    algorithm.py:60
                    algorithm.tags_and_versions: found 7
                    previous tags
           INFO     [semantic_release.cli.commands.version] INFO  version.py:422
                    version.version: Path
                    '/github/workspace/templates' not found,
                    using default changelog template
           INFO     [semantic_release.hvcs.github] INFO            github.py:270
                    github.remote_url: requested to use token for
                    push but no token set, ignoring...
[10:25:35] INFO     [semantic_release.hvcs.github] INFO            github.py:[16](https://github.com/XXXX/XXXXX/actions/runs/7396102248/job/20120572474#step:5:17)7
                    github.create_or_update_release: Creating
                    release for v1.2.4
           INFO     [semantic_release.hvcs.github] INFO            github.py:107
                    github.create_release: Creating release for
                    tag v1.2.4
[10:25:36] ERROR    [semantic_release.cli.commands.version] ERROR version.py:592
                    version.version: release id for tag v1.2.4
                    not found, and could not be created
                    ╭──── Traceback (most recent call last) ────╮
                    │ /semantic-release/semantic_release/cli/co │
                    │ mmands/version.py:586 in version          │
                    │                                           │
                    │   583 │   │   │   noop_report(f"would hav │
                    │   584 │   │   else:                       │
                    │   585 │   │   │   try:                    │
                    │ ❱ 586 │   │   │   │   release_id = hvcs_c │
                    │   587 │   │   │   │   │   tag=new_version │
                    │   588 │   │   │   │   │   release_notes=r │
                    │   589 │   │   │   │   │   prerelease=new_ │
                    │                                           │
                    │ /semantic-release/semantic_release/helper │
                    │ s.py:53 in _wrapper                       │
                    │                                           │
                    │    50 │   │   │   )                       │
                    │    51 │   │   │                           │
                    │    52 │   │   │   # Call function         │
                    │ ❱  53 │   │   │   result = func(*args, ** │
                    │    54 │   │   │                           │
                    │    55 │   │   │   # Log result            │
                    │    56 │   │   │   logger.debug("%s -> %s" │
                    │                                           │
                    │ /semantic-release/semantic_release/hvcs/g │
                    │ ithub.py:[17](https://github.com/XXXX/XXXXX/actions/runs/7396102248/job/20120572474#step:5:18)6 in create_or_update_release  │
                    │                                           │
                    │   1[73](https://github.com/XXXX/XXXXX/actions/runs/7396102248/job/20120572474#step:5:74) │   │                               │
                    │   1[74](https://github.com/XXXX/XXXXX/actions/runs/7396102248/job/20120572474#step:5:75) │   │   release_id = self.get_relea │
                    │   1[75](https://github.com/XXXX/XXXXX/actions/runs/7396102248/job/20120572474#step:5:76) │   │   if release_id is None:      │
                    │ ❱ 1[76](https://github.com/XXXX/XXXXX/actions/runs/7396102248/job/20120572474#step:5:77) │   │   │   raise ValueError(       │
                    │   1[77](https://github.com/XXXX/XXXXX/actions/runs/7396102248/job/20120572474#step:5:78) │   │   │   │   f"release id for ta │
                    │   1[78](https://github.com/XXXX/XXXXX/actions/runs/7396102248/job/20120572474#step:5:79) │   │   │   )                       │
                    │   1[79](https://github.com/XXXX/XXXXX/actions/runs/7396102248/job/20120572474#step:5:80)                                     │
                    ╰───────────────────────────────────────────╯
                    ValueError: release id for tag v1.2.4 not
                    found, and could not be created
Usage: python -m semantic_release version [OPTIONS]
Try 'python -m semantic_release version -h' for help.

My Github action :
name: "[PRODUCTION] Generate release"
on:
  push:
    branches:
      - main
      - staging

jobs:

  Semantic-Release:
    runs-on: [self-hosted, decathlon]
    concurrency: release
    permissions:
      contents: write
      id-token: write
    steps:
      - uses: actions/checkout@v2
        with:
          fetch-depth: 0

      ################################################################################################
      # GENERATE RELEASE
      - name: Release
        uses<EMAIL_ADDRESS>        with:
         directory: ./app
         push: true

Have you idea why it can't create release ?

I just forget srt github_token variable...


Fix calling EscapePathSpaces on Windows and add [VSCode] to "not found" error message

Is there something wrong with the commit? @reapazor

I havent had a chance to check the changes locally, unfortunately i merged a few peoples requests in the past which broke the plugin so im a little more cautious. I'll review it shortly, just waiting for the machine to boot.


WIP: Vtcompose debugging

Preliminary PR before I try to upstream this.

Summary of changes:

Refactored for testability
Added some tests in vtcompose_test.go
Add -debug flag so that we can attach a remote debug process to the running containers. This:

Exposes port 40000 on the vtgate and 40001 on the vtworker;
Uses the vitess/debug container instead of vitess/base
Is based off Aaron's previous work in vitess-docker

I'm actually gonna split this into two PRs. One for the refactoring, and another for the new debugging feature.


Fedora 23 support

First of all, thank you thank you thank you for this project. You are all great guys and I love you all. :)
Just wanted to let you know that I've managed to get Fedora 23 to work with Crouton and wrote about it on my blog here:
http://nmilosev.svbtle.com/crouton-with-fedora-chroot-chromebook
All the code is there, but sadly I don't think it can be merged and it's really ugly. I will try to keep it updated with new versions for as much as I can. I only got my Chromebook 2 days ago, and already I'm loving it!
Again thank you so much @dnschneid and the rest of you guys for this wonderful software.
Have a great day, cheers!
-Nemanja

Hello all, a small update! :)
Since my last writing here, I've updated my version of the script. It no longer depends on the Fedora 20 as a base and therefore installs much faster. You can read all about it here:
http://nmilosev.svbtle.com/crouton-with-fedora-chroot-2-0
I've also made a small chrome app which uses noVNC to connect to the local VNC server running inside Fedora 23 chroot. (There is even a GIF of it in action, yay!)
http://nmilosev.svbtle.com/fedora-crouton-connector-chrome-app
Anyway I need your help... Can somebody please just point me in the right direction of completely passing this VNC stuff and connecting to the local X server? If I understand correctly, the X server is gone in newer ChromeOS versions because Freon has replaced it? Where can I find about Freon? And can I "override" the tty I'm seeing when I press CTRL ALT and arrow keys? Is there a way for me to integrate with xiwi? Just a nudge in a right direction would be great! The VNC server works fine and CPU usage isn't that bad (4-5% in idle) but I would love to just go the proper way of doing it.
Thank you all in advance!
And a quick info about my modified script, I can somehow run Fedora with really minimal modification to the original Crouton scripts, so a version which could be merged is maybe possible. However it will require a lot of work, which is something I'm not sure I could do alone... Especially when there is so little interest for an RPM distro in Crouton.
Anyway, thank you again and I really hope somebody can help me with the X stuff.
Cheers!

That is cool! Is VNC faster than it used to be to connect to chroot GUIs?

It's really fast, I don't know how was it before, but it takes less than a second to load and is very very responsive afterwards. You can get it to work even faster if you play with the VNC client settings for compression and check rate. For video and graphics stuff it sucks obviously, but for what I'm mostly using it (IntelliJ Idea) it works great! I'm using TigerVNC from the fedora repository, for the record. CPU usage is from 5-10% mostly from rendering it in Chrome app. I would to have full X display though, but the more I'm reading about it, the more impossible it seems. :(

Well, seems like impossible is nothing.

I've used the compiled croutonfreon.so because it was easier for me.
sudo DBUS_SYSTEM_BUS_ADDRESS='unix:path=/var/host/dbus/system_bus_socket' LD_PRELOAD='/usr/local/lib/croutonfreon.so' XARGS='-nolisten tcp' croutonpowerd -i startx :1
I've decided to put my code to GitHub since it is much easier to read, and it can be probably used to port any distribution to Crouton since it is very generic. The repository is here:
https://github.com/nmilosev/crouton-fedora
Yay for my first repo, directly from the Fedora chroot. :)
I wasn't sure if I needed to sign the CLA so I did it anyway. Thanks again to the authors, it's been one hell of a ride to run this but so worth it. I will update this with every big Fedora release.
Till then.

This is an awesome effort.  Great job in getting it working!
Now that you have a stable baseline, do you have any interest in working towards something mergeable?

Hello, and thanks for replying!
I will continue to work on this in my spare time, and I can see it as being mergeable in the future. However it is a very distant future. It's definitely top priority to get this fully 100% compatible with the main Crouton installer. I've only had my chromebook for a week now so I'm still not very familiar with ChromeOS and scripting but I will keep learning since it is a very nice platform to work on. So in short, I will try to make it prettier as much as I can so it can be merged one day. :)
I have to thank you again for Crouton, this is awesome work.
Cheers!

Great!  Looking forward to hearing about your progress.  If you have any questions, feel free to ask here or on #crouton-devel

Wow, this is impressive stuff! Is it possible to use this Fedora crouton on a USB stick while still using the main crouton? (I can move my questions to to @nmilosev's Github repo if that's preferred). I don't want to break what I have now.

Of course you can.
To have it your USB, you have to format the drive with the ext4 are tun the installer with something like this: -p /media/removable/your-usb-label/ and it will install onto the USB as normal Crouton does. Afterwards run it with sudo sh /media/removable/your-usb-label/bin/enter-chroot and it will work. I'm running it the other way around at the moment (Debian on USB, Fedora on default) and both versions work fine. :)

@nmilosev Since you've been keeping up with the crouton fedora support in your fork, have you considered merging it into mainline Crouton?


Swagger UI crashes with RangeError: Maximum call stack size exceeded` for nested 10K-item response

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the FastAPI documentation, with the integrated search.
[X] I already searched in Google "How to X in FastAPI" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to FastAPI but to Pydantic.
[X] I already checked if it is not related to FastAPI but to Swagger UI.
[X] I already checked if it is not related to FastAPI but to ReDoc.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
from fastapi import FastAPI
import uvicorn

app = FastAPI()

@app.get('/api/data', tags=['Data'])
def map_data():
    mapping = {}
    for i in range(17000):
        mapping[i] = [
            'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 0.9988,
            'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 0.9988,
            'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 0.9988
        ]
    return mapping

if __name__ == '__main__':
    uvicorn.run("sqlreader:app", host="<IP_ADDRESS>", port=5000)

Description

Open the browser and call the endpoint /data
The web UI starts to get the JSON, but after a several tens of seconds, it finishes with error RangeError: Maximum call stack size exceeded

Operating System
Linux
Operating System Details
No response
FastAPI Version
0.65.2
Python Version
3.8.5
Additional Context
No response

This sounds like an issue with swagger ui, not fastapi?

This sounds like an issue with swagger ui, not fastapi?

Yes, I was considering also reporting it under Swagger repository, but also wanted to get some insight here first, because when I run the same endpoint using Connexion framework, it runs without problems. So I suppose there might be somehow problem with specific combination of FastAPI and Swagger.


Migrate DucklingEntityExtractor to GraphComponent interface

Overview of the Solution:
Adapt the DucklingEntityExtractor  to the new GraphComponent interface.
See the implementation proposal for further details.

adapt create and load functions to new signatures.
implement required_packages and supported_languages.
adapt persistence.
convert train into process_training_data (this component does not train).
support multiple messages in process (make sure to handle empty messages).
Inherit from both GraphComponent and EntityExtractorMixin (instead of the old EntityExtractor).

Process to avoiding breaking the CI
Use the approach showcased in the TEDPolicy migration to avoid breaking the test suite.
Main points:

Rename old files with a prefix i.e. from some_component.py to _some_component.py.
make the changes in the current file e.g. some_component.py.
In some_component.py import the old component from _some_component.py and assign like SomeComponent = SomeComponent
Rename the new component in _some_component.py to SomeComponentGraphComponent
Adapt the old unit tests, i.e. test_some_component.py to test SomeComponentGraphComponent.

Definition of Done:

[ ] DucklingEntityExtractor adapted to the new GraphComponent interface.
[ ] Unit tests are adapted to adapted component.
[ ] Other tests (integration tests, etc.) don't break (because they'd (for now) still use the old component implementation).

Is there a duckling version? If so should this be in the config for fingerprint reasons?


Cannot Create

Fresh install of yarn and react-static
Environment
> react-static -V
5.9.12
> yarn -v
1.10.1
> node -v
v8.10.0
>

Steps to Reproduce
> brew install yarn
...
> yarn global add react-static
yarn global v1.10.1
[1/4] 🔍  Resolving packages...
warning react-static > autoprefixer ><EMAIL_ADDRESS>Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
warning react-static > css-loader > cssnano > autoprefixer ><EMAIL_ADDRESS>Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
warning react-static > webpack-bundle-analyzer ><EMAIL_ADDRESS>Switch to the `bfj` package for fixes and new features!
warning react-static > css-loader > cssnano > postcss-merge-rules ><EMAIL_ADDRESS>Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
warning react-static > css-loader > cssnano > postcss-merge-rules > caniuse-api ><EMAIL_ADDRESS>Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
[4/4] 📃  Building fresh packages...
success Installed<EMAIL_ADDRESS>with binaries:
      - react-static
✨  Done in 20.24s.
> mkdir static-site
> cd static-site
> react-static create
react-static-create(1) does not exist, try --help

Am I missing anything necessary in yarn for this to work?

@izilla I can't reproduce this one. Are there other global packages that do work for you?

Could be related to yarn itself. Try installing it with npm or check this post:
https://github.com/yarnpkg/yarn/issues/648
Seems like this has plagued yarn users since 2016 0.o

Yeah looks like on my work computer yarn v1.9.4 was installed I updated to v1.10.1 and I can repro the behavior I will try installing v1.9.4 on my local machine to see if that will work

OK so I worked around the issue with NPM. Could not find an easy way through brew to downgrade yarn since I did not have it installed. So I removed it brew remove yarn and installed it with npm npm install<EMAIL_ADDRESS>I can now run react-static create without issues.

Huzzah!

@tannerlinsley another reason to move to npm? :p

Maybe... maybe it's a sign from above haha 😇

First uninstall previous package, then while reinstalling put --save and it works.


The name of the file cannot be resolved by the system.

Windows Version
Windows 10 21H2 (Build 19044.4046)
WSL Version
<IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>-1
Distro Version
Debian 12.5
Other Software
No response
Repro Steps
I was creating a 7zip archive of "Oh My Zsh"'s install folder.
Expected Behavior
Either WSL/2 or the Linux subsystem should tell you why it can't access that file.
Actual Behavior
grunk@BOHEMUTH-II:~/stow/.zsh$ 7za a oh-my-zsh.7z .oh-my-zsh

7-Zip (a) 23.01 (x64) : Copyright (c) 1999-2023 Igor Pavlov : 2023-06-20

Scanning the drive:
383 folders, 1060 files, 10301191 bytes (10060 KiB)

Creating archive: oh-my-zsh.7z

Add new data to archive: 383 folders, 1060 files, 10301191 bytes (10060 KiB)

WARNING: The name of the file cannot be resolved by the system.
.oh-my-zsh\plugins\per-directory-history\per-directory-history.plugin.zsh

WARNING: The name of the file cannot be resolved by the system.
.oh-my-zsh\themes\macovsky-ruby.zsh-theme

Files read from disk: 1051
Archive size: 6172362 bytes (6028 KiB)

WARNINGS for files:

.oh-my-zsh\plugins\per-directory-history\per-directory-history.plugin.zsh : The name of the file cannot be resolved by the system.
.oh-my-zsh\themes\macovsky-ruby.zsh-theme : The name of the file cannot be resolved by the system.
----------------
WARNING: Cannot open 2 files
grunk@BOHEMUTH-II:~/stow/.zsh$

Diagnostic Logs
No response

@ravensorrow: It looks like you're using a Windows executable to compress files in the linux filesystem. I'd recommend trying the linux version of 7z, which you can probably find /usr/bin instead.


kubeadm: update authored content in reference docs for 1.12

kubeadm init add notes about feature gates going away
kubeadm join remove inline config example. provide links to godocs and provide command that generates the config example.
kubeadm upgrade add link to new upgrade doc. WIP by @liztio https://github.com/kubernetes/website/pull/10344

/assign @timothysc
/cc @kubernetes/sig-cluster-lifecycle-pr-reviews
/cc @kubernetes/sig-docs-pr-reviews

/priority critical-urgent

/assign

thanks, updated.


Display 2D Images / Video

I don't see any way to simply display an image/video. Does this only support 3D models?
If so, is there a way to have the image always facing you, so no matter what side you are looking at it turns like a flat sprite?
Thanks

only 3d :(

So would a super thin rectangle be able to display the image/video on it? Any way to always have it facing you when it's in view?

I had the same issue. Finally I used the "Import as planes" plugin to import the image as planes to blender and then I exported the model as glb or (gltf/bin)


New feature: configurable mapping from ES6 module names to UI5 import names

I've been thinking about how to handle polyfills in my UI5 application. #14 and #15 are issues I stumbled across during my experiments, but #14 would become irrelevant if this is implemented and #15 is tied to an experimental feature in @babel/preset-env and probably not a good long-term solution anyways.
I would like to get this setup to work:

configure @babel/preset-env with useBuiltIns: false,
add import "@babel/polyfill" at the top of Component.js,
copy @babel/polyfill/dist/browser.min.js into my project and, finally:
let babel-plugin-transform-modules-ui5 rewrite the canonical polyfill module name into the relative URL of the packaged polyfill library.

For example:
import "@babel/polyfill"
import UIComponent from "sap/ui/core/UIComponent"

/** @namespace app */
export default class Component extends UIComponent {
  //...
}

Desired result:
sap.ui.define(["./vendor/browser-polyfill", "sap/ui/core/UIComponent"], function (__vendor_browser_polyfill, UIComponent) {
  // ...
});

To achieve this, the preset could take a new option:
let babelOptions = {
  presets: [
    ["transform-ui5", {
      modulesMap: {
        ["@babel/polyfill"]: "./vendor/browser-polyfill"
      }
    }]
  ]
}

Supporting a mapper function would be nice but should not be required due to complications with other packages (e.g. broccoli-babel-transpiler requires that the babel options object is serializable).

Good feature suggestion. Implemented in v7.0.0-rc.5.

Thanks! 😄

Sorry to reopen this, but on second thought, if a function is given for the modulesMap option, it should be called with more details beyond the name of the module to be mapped - such as the name of the module/file the plugin is currently processing.
This would allow the mapper function to emit a path relative to the current file's directory, so that I no longer have to worry about the UI5 resource root prefix and where module files are located relative to it.

This sounds okay to me. What do you think about:
modulesMap(src, {
    opts,
    cwd: state.cwd,
    filename: state.filename,
    file: {
          opts: state.file.opts,
    },
})

The object passed is a subset of the state that babel passes in to the visitor. Alternatively I could pass the whole state, but that would expose some internal variables of the plugin which are subject to change.
Do you think you'd also need the AST node?

I can't come up with a use case where the full AST node would be required to derive the import filename - but that's not to say that someone else couldn't, including myself next month. :wink:
What exactly is opts and how is it different from state.file.opts?

Okay, I'll add node to the same object.
opts are the options provided to this plugin.
state.file.opts is basically the .babelrc or babel.config.js content plus some additional opts derived by babel.

Included in 7.0.0-rc.8. Feel free to reopen for any additional props.


Cross-browser compatibility: Font-Awesome icons are not visible in Firefox

I used the newest version v5.1.0 with font awesome icons.
Problem: The icons are visible in Chrome but not in Firefox (63.0.3).
How to reproduce:

Begin project with create-react-app
Add styled-icons v5.1.0 to project
Use any font-awesome icon

@Andruschenko what version of styled-components do you have installed?
I created this CodeSandbox using styled-icons v5.1.0, and I am able to see the icon in Firefox 63.0.3: https://codesandbox.io/s/n0pjv37o4l.
Do you have a repo or CodeSandbox or similar that shows this issue?  I'd be happy to dig further to see what's going on.

styled-components version is 4.1.1. Because of this issue I unfortunately moved on to use the react-icons library.
I checked an it doesn't work for me in Firefox with the versions "styled-components": "^3.3.0" and "styled-icons": "^2.2.0" in a former project.
I tried to recreate the error but in this CodeSandbox it is visible but in my project it still is not.

Gotcha - yeah there's an issue where if you're using Styled Icons >5 and Styled Components <4.1, the icons don't display.
I think I found the issue!  Here's the repo I'm using: https://github.com/jacobwgillespie/ff-styled-icons-reproduction.
The issue isn't styled-icons, the issue is the CSS in your Element link interacting with a Firefox bug.
You've set the width of the styled anchor element <Element> to be 2em, but then you applied a padding to the inner <svg> of 0 3em.  That means the top and bottom padding are 0 (which is fine), but critically the left padding is 3em.  That shifts the icon to the right by 3em, which is outside the width of its parent <a>.
When that happens in Chrome, it just shifts to the right.  When it happens in Firefox though, it shifts to the right and its height becomes 0.  If you do actually want the 2em/3em values, you can preserve the height by modifying your CSS:
> svg {
  padding: 0 3em;
  height: 1em;
}

Or maybe you wanted something different and this workaround wouldn't be necessary.
Anyways, I don't think this has anything to do with FontAwesome, as the same issue occurs for me with any of the other icons.  I also think this is a bug on Firefox's part - I wasn't able to find a specific bug report that seemed to exactly match this case, but there are lots of bug reports about 0-height SVGs in Firefox.

I'm going to close this issue as I believe Styled Icons is functioning correctly - it just provides a bunch of SVGs after all - and the issue here is Firefox.  But feel free to post back in case anything comes up!


DNN-8078: Restricted the max date assignment to endDatePicker.MaxDate

because of raddatetimepicker max date restrictions.

Will submit new one with better changes


How to retain the background color of the selected items upon screen rotation?

HI,
I'm trying to implement headers and sections but facing a problem with action mode selection. When multi selection is turned on, I'm able to get the selected items' background color as set in accordance with https://github.com/davideas/FlexibleAdapter/wiki/5.x-%7C-Utils#usage but upon screen rotation, the background color is gone and none of the items appear as selected. However, the actionMode subtitle still shows the count of selected items.
Can you please help me to show the items as selected even after a screen rotation?

Ok what I have noticed is that on each screen rotation, the selected positions in selectedItems show position as position + adapter's item count.
So, for example, before screen rotation, position number 4 and 9 were selected and the total number of items displayed by the adapter were 20 (including headers). After screen rotation and after calling mAdapter.onRestoreInstanceState(), these positions will be changed to 24 and 29. On next rotation, 44 and 49 and so on and so forth.
Due to this issue, adapter doesnt treat any item as selected because the positions stored in selectedItems are not accessible by it...and therefore, the background color is not changed.
I must be doing something very very wrong here....so need help from this community. Should u need to look at any piece of code, pl ask for it.
Thanking in advance!

@davideas finally understood the issue....its the same as defined in https://github.com/davideas/FlexibleAdapter/issues/581. Although, u have instructed in the wiki to look at this issue Note: Pay attention to restore selection after adapter has been filled. More details in issue #581. but I took two words restore selection as one word restoreSelection.  What I understood was that u instructed to ensure that adapter is filled before calling restoreSelection of ActionModeHelper while actually adapter MUST be filled before even mAdapter.onRestoreInstanceState(savedInstanceState); is called.
So, if u deem appropriate, pl rephrase the above mentioned note. I wasted 02 days on it but a rephrasing might save someone else's time.

@ShahoodulHassan, wiki note changed.

Better now, thanks!


Fix provisioning request test

What type of PR is this?
/kind cleanup

What this PR does / why we need it:
Fix integration test for test/integration/controller/admissionchecks/provisioning/provisioning_test.go
Which issue(s) this PR fixes:

Fixes #1484
Special notes for your reviewer:
Does this PR introduce a user-facing change?

NONE

cc @kerthcet

/ok-to-test

cc @tenzen-y
It should work now.

@B1F030 Please squash all commits into one.

@B1F030 Please squash all commits into one.

@tenzen-y  Done.

/test pull-kueue-test-integration-main

/retest

/retest

@tenzen-y @mimowo  Done. Thanks for review!

If you face a flaky test, please open a tracking issue.
Opened: #1501

If you face a flaky test, please open a tracking issue.

OK, I thought that was because of github CI. Tests sometimes just fail, after retest, they turn out to be correct.
I will record it as an issue next time I meet this kind of situation.

Flaky: Provisioning when A workload is using a provision admission check
similar to #1501

/retest

/retest

/retest

There seems to be another flakiness.
/lgtm cancel

  Not enough workloads are admitted
  Expected
      <int>: 0
  to equal
      <int>: 1

Maybe we should still use ExpectWorkloadsToHaveQuotaReservation instead of ExpectWorkloadsToBeAdmitted?

Cause we just set admission check and then set quota reservation to the workload, so "Check the workload is admitted" maybe confusing, it actually means "Check the workload has quota reservation".

I think the intention of the test is to simulate that the workload is admitted, not just quota reserved. This is important for the workload.IsAdmitted(wl) check as pointed out here: https://github.com/kubernetes-sigs/kueue/pull/1493#discussion_r1433590685.
I see this is failing Check the workload is admitted.
Now, I think the test is failing because there is no scheduler to transition the workload from QuotaReservation to Admission. So, we need to do this from test code, I think this is the function you are looking for: https://github.com/kubernetes-sigs/kueue/blob/395137afeaad94179db68043e5c74ab193f6beb1/test/util/util.go#L478-L489 - call it before Check the workload is admitted.

SyncAdmittedConditionForWorkloads

@mimowo Yes, that's right. Thank you for the clarifications.
@B1F030 The following job-controller test would be helpful:
https://github.com/kubernetes-sigs/kueue/blob/395137afeaad94179db68043e5c74ab193f6beb1/test/integration/controller/jobs/job/job_controller_test.go#L241-L253

/approve canel

/approve cancel

In that case, "Checking the workload remains admitted" need to be replaced by ExpectWorkloadsToBeAdmitted, right?

In that case, "Checking the workload remains admitted" need to be replaced by ExpectWorkloadsToBeAdmitted, right?

Correct.

/lgtm
Please squash the commits :)
/assign @tenzen-y

Just to confirm in case:
ginkgo.By("Checking the admission check is ready", func() {
        gomega.Eventually(func(g gomega.Gomega) {
	        g.Expect(k8sClient.Get(ctx, wlKey, updatedWl)).To(gomega.Succeed())
	        state := workload.FindAdmissionCheck(updatedWl.Status.AdmissionChecks, ac.Name)
	        g.Expect(state).NotTo(gomega.BeNil())
	        g.Expect(state.State).To(gomega.Equal(kueue.CheckStateReady))
	        g.Expect(state.PodSetUpdates).To(gomega.BeComparableTo([]kueue.PodSetUpdate{
		        {
			        Name: "ps1",
			        Annotations: map[string]string{
				        provisioning.ConsumesAnnotationKey: provReqKey.Name,
			        },
		        },
		        {
			        Name: "ps2",
			        Annotations: map[string]string{
				        provisioning.ConsumesAnnotationKey: provReqKey.Name,
			        },
		        },
	        }))
        }, util.Timeout, util.Interval).Should(gomega.Succeed())
})

...

ginkgo.By("Checking the admission check remains ready", func() {
        gomega.Eventually(func(g gomega.Gomega) {
	        g.Expect(k8sClient.Get(ctx, wlKey, updatedWl)).To(gomega.Succeed())
	        state := workload.FindAdmissionCheck(updatedWl.Status.AdmissionChecks, ac.Name)
	        g.Expect(state).NotTo(gomega.BeNil())
	        g.Expect(state.State).To(gomega.Equal(kueue.CheckStateReady))
        }, util.Timeout, util.Interval).Should(gomega.Succeed())
})

Is it ok?

Is it ok?

lgtm

lgtm

OK, thanks!

/lgtm

/approve


Custom types + "IN" queries fail

Environment

Elixir version (elixir -v): Elixir 1.6.5 (OTP 20)
Database and version (PostgreSQL 9.4, MongoDB 3.2, etc.): N/A
Ecto version (mix deps): 2.2.8 (a4463c09)
Database adapter and version (mix deps): N/A
Operating system: MacOS

Current behavior
I have a custom Ecto.Type defined that is basically an enum:
defmodule MyEnumType do
  @behaviour Ecto.Type

  def type, do: :integer

  def cast(string) when is_binary(string), do: {:ok, String.to_atom(string)}
  def cast(atom) when is_atom(atom), do: {:ok, atom}
  def cast(_), do: :error

  def load(1), do: {:ok, :foo}
  def load(2), do: {:ok, :bar}
  def load(3), do: {:ok, :dog}

  def dump(:foo), do: {:ok, 1}
  def dump(:bar), do: {:ok, 2}
  def dump(:dog), do: {:ok, 3}
  def dump(_), do: :error
end

and a schema defined something like this:
defmodule User do
  use Ecto.Schema

  schema "users" do
    field :type, MyEnumType
  end
end

I can write queries like the following and they execute properly:
type = :foo
query = from u in User, where: u.type == ^type
Repo.all(query)

However, if I use a list like this:
types = [:foo, :bar]
query = from u in User, where: u.type in ^types
Repo.all(query)

I get the following error:
** (exit) an exception was raised:
    ** (Ecto.Query.CastError) /home/moliver/example/user.ex:136: value `[:foo, :bar]` cannot be dumped to type {:in, MyEnumType} in query:

from u in User,
  where: u.type in ^[:foo, :bar],
  select: u

        (elixir) lib/enum.ex:1899: Enum."-reduce/3-lists^foldl/2-0-"/3
        (elixir) lib/enum.ex:1397: Enum."-map_reduce/3-lists^mapfoldl/2-0-"/3
        (elixir) lib/enum.ex:1397: Enum."-map_reduce/3-lists^mapfoldl/2-0-"/3
        (elixir) lib/enum.ex:1899: Enum."-reduce/3-lists^foldl/2-0-"/3
        (ecto) lib/ecto/repo/queryable.ex:124: Ecto.Repo.Queryable.execute/5
        (ecto) lib/ecto/repo/queryable.ex:37: Ecto.Repo.Queryable.all/4
        (web) lib/web/controllers/page_controller.ex:54: Example.Web.PageController.logs/2
        (web) lib/web/controllers/page_controller.ex:1: Example.Web.PageController.action/2
        (web) lib/web/controllers/page_controller.ex:1: Example.Web.PageController.phoenix_controller_pipeline/2
        (web) lib/web/endpoint.ex:1: Example.Web.Endpoint.instrument/4
        (phoenix) lib/phoenix/router.ex:278: Phoenix.Router.__call__/1

Expected behavior
This query:
types = [:foo, :bar]
query = from u in User, where: u.type in ^types
Repo.all(query)

should be able to properly cast the elements of types and return results.

Actually scratch that. I wrote up this detailed explanation, but then found a typo in my list. The casting does, in fact, work for lists.


Included platform prefabs in the Symbolic links for dev branch

XRTK - Mixed Reality Toolkit Pull Request
Overview
Included platform prefabs in the Symbolic links for dev branch
Changes
Symbolic links updated to include new package hidden folders
Related changes

https://github.com/XRTK/Oculus/pull/95
https://github.com/XRTK/WindowsMixedReality/pull/108

There should not be dependencies between the Platforms and another package, e.g. the SDK.  This breaks platforms.
We can work on a better solution for 0.3

I'd much rather see a dependency on the SDK then having to manage duplicate assets across all the platforms

If you can resolve #706 in short order, we can reevaluate the way forward. Else we will need to accept this approach in the short term to lead to a future workable arrangement


Fix CI and add test coverage

Description
Fixes the CI pipeline so as to not not push packages on nightly builds and also set the version correctly given the branch

Codecov Report
Attention: Patch coverage is 0% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 3.79%. Comparing base (4740421) to head (5965da4).

Files
Patch %
Lines

...sh/ScalefishAnalysisCompleteNotificationHandler.cs
0.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #157       +/-   ##
==========================================
- Coverage   41.03%   3.79%   -37.25%
==========================================
  Files         336     261       -75
  Lines       13310   11862     -1448
  Branches     1869    1750      -119
==========================================
- Hits         5462     450     -5012
- Misses       7542   11399     +3857
+ Partials      306      13      -293

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


Extending the polish_names() function

Hi!
Thank you for your nice package. I think it is a nice and useful implementation janitor in Julia.
As a Follow up to the conversation I had with kdpsingh from the TidierData.jl package, I wanted to know if you are open to improve the polish_names() function in your package to match some specificities of the janitor::clean_names() function from R. Mainly the following points:

Removing/replacing accents (à, é, ô, ...)
Removing single and double quotes
Removing various brackets
Replacing "%" by "percent"
Replacing "#" by "number"
Removing other special characters ("!", ",", "$", ...)
Appending numbers to duplicate names (if needed)

I am still a beginner, but I can give a hand for the implementation as it will help me gain more experiences with Julia.

Fixed on version 1.1.0, check my PR for the details on how I did it if you are interested.


./scripts/patch-realsense-ubuntu-lts.sh errors

Hi, guys. When I run ./scripts/patch-realsense-ubuntu-lts.sh in Ubuntu 18.04, kernel version 4.15, I get following errors:
/home/cliux/librealsense-master/ubuntu-bionic-master/drivers/media/usb/uvc//uvc_driver.c:208:12: error: ‘UVC_GUID_FORMAT_L8’ undeclared here (not in a function); did you mean ‘UVC_GUID_FORMAT_Y8’?    .guid  = UVC_GUID_FORMAT_L8,             ^~~~~~~~~~~~~~~~~~             UVC_GUID_FORMAT_Y8 /home/cliux/librealsense-master/ubuntu-bionic-master/drivers/media/usb/uvc//uvc_driver.c:213:12: error: ‘UVC_GUID_FORMAT_D16’ undeclared here (not in a function); did you mean ‘UVC_GUID_FORMAT_Z16’?    .guid  = UVC_GUID_FORMAT_D16,             ^~~~~~~~~~~~~~~~~~~             UVC_GUID_FORMAT_Z16 /home/cliux/librealsense-master/ubuntu-bionic-master/drivers/media/usb/uvc//uvc_driver.c:218:12: error: ‘UVC_GUID_FORMAT_W10’ undeclared here (not in a function); did you mean ‘UVC_GUID_FORMAT_Y10’?    .guid  = UVC_GUID_FORMAT_W10,             ^~~~~~~~~~~~~~~~~~~             UVC_GUID_FORMAT_Y10 /home/cliux/librealsense-master/ubuntu-bionic-master/drivers/media/usb/uvc//uvc_driver.c:223:12: error: ‘UVC_GUID_FORMAT_CONFIDENCE_MAP’ undeclared here (not in a function); did you mean ‘V4L2_PIX_FMT_CONFIDENCE_MAP’?    .guid  = UVC_GUID_FORMAT_CONFIDENCE_MAP,             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~             V4L2_PIX_FMT_CONFIDENCE_MAP /home/cliux/librealsense-master/ubuntu-bionic-master/drivers/media/usb/uvc//uvc_driver.c:229:12: error: ‘UVC_GUID_FORMAT_RAW8’ undeclared here (not in a function); did you mean ‘UVC_GUID_FORMAT_L8’?    .guid  = UVC_GUID_FORMAT_RAW8,             ^~~~~~~~~~~~~~~~~~~~             UVC_GUID_FORMAT_L8 /home/cliux/librealsense-master/ubuntu-bionic-master/drivers/media/usb/uvc//uvc_driver.c:235:12: error: ‘UVC_GUID_FORMAT_RW16’ undeclared here (not in a function); did you mean ‘UVC_GUID_FORMAT_RG16’?    .guid  = UVC_GUID_FORMAT_RW16,             ^~~~~~~~~~~~~~~~~~~~             UVC_GUID_FORMAT_RG16 /home/cliux/librealsense-master/ubuntu-bionic-master/drivers/media/usb/uvc//uvc_driver.c:240:12: error: ‘UVC_GUID_FORMAT_BAYER16’ undeclared here (not in a function); did you mean ‘UVC_GUID_FORMAT_BG16’?    .guid  = UVC_GUID_FORMAT_BAYER16,             ^~~~~~~~~~~~~~~~~~~~~~~             UVC_GUID_FORMAT_BG16 scripts/Makefile.build:330: recipe for target '/home/cliux/librealsense-master/ubuntu-bionic-master/drivers/media/usb/uvc//uvc_driver.o' failed make[1]: *** [/home/cliux/librealsense-master/ubuntu-bionic-master/drivers/media/usb/uvc//uvc_driver.o] Error 1 make[1]: *** warting for tasks.... Makefile:1552: recipe for target '_module_/home/cliux/librealsense-master/ubuntu-bionic-master/drivers/media/usb/uvc/' failed make: *** [_module_/home/cliux/librealsense-master/ubuntu-bionic-master/drivers/media/usb/uvc/] Error 2 make: leave dir“/home/cliux/librealsense-master/ubuntu-bionic-master”

@yishanchuan hello,
The Ubuntu LTS kernel trees have been shuffled recently with the introduction of kernel v5.0, for which the manual patch is yet to be fully adapter. (WIP branch).
But I recommend to switch to DKMS distribution package. This is the sustained solution for Ubuntu distro with LTS kernels.

sudo apt install librealsense2-dkms

In case you have to run the patches manually, (e.g. adding your-own kernel patches to media subsystem) then you can try the script from the following PR by @themikem

@yishanchuan , the PR #4774 that fixes the manual patching for Bionic is being evaluated.
Feel free to try and comment

Fixed in v2.28


Downloaded was not playing.

I was downloading using command { php start.php -s "Series name example" -s "series-slug-example" }
(without curly brackets ) then it says that download was completed, but when i try to play the .mp4 files it was not playing.
Thank's!

More info?

I was downloaded using command  { php start.php -s "Series name example" -s "series-slug-example" }
(without curly brackets ) then it says that download was completed, but when i try to play the .mp4 files it was not playing.
Thank's!

Do you have a valid account with an active subscription?

No, I don't have any subscription.

You need a valid subscription, that's the reason.


xUnit over NUnit within Asp.NET Core Doc

xUnit is chosen in this page, in fact, the whole dcoment, over NUnit.
What is the reason for choosing xUnit over NUnit?

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

ID: b5cce372-24e2-3489-cb19-c85d934e5d3b
Version Independent ID: 9d12b19f-a94e-4df4-357b-3f3b93696eb6
Content: Test controller logic in ASP.NET Core
Content Source: aspnetcore/mvc/controllers/testing.md
Product: aspnet-core
Technology: aspnetcore-mvc
GitHub Login: @ardalis
Microsoft Alias: riande

It's what the product teams use to test the product and when Core was first being developed it was the only tool that was built to work on and with Core. It also has certain technical advantages over NUnit, like better isolation since every test runs in a new instance of its class, but these were secondary considerations.

From this below NUnit predates xUnit?
https://stackoverflow.com/questions/9769047/nunit-vs-xunit

Yes, NUnit is older.

Thanks for contacting us. We believe that the question you've raised have been answered. If you still feel a need to continue the discussion, feel free to reopen it and add your comments.
Thanks @ardalis


Additional Dublin Core elements in the editor

Description
Added additional optional elements in Dublin Core editor:

resource type,
creator,
date,
language

@zguo Please, review.


Creates Lean-To and Gazebo presets for the shelter_type tag

Closes #5292.
Also creates a Fireplace checkmark field and adds it to the Lean-To and Wilderness Hut presets.

Thanks @quincylvania !  Looks pretty good..
Just 2 nitpicky things:

When there are a bunch of "nested" presets like this, we usually put them under another folder.. (see like amenity/vending_machine/*).  Can you move lean-to.json, gazebo.json, and pavilion.json under a new folder amenity/shelter/

Can a lean-to really have a fireplace?  The wiki page for it specifically says it doesn't, and I wouldn't want people to complain that there is a checkbox field for it.  (However it seems totally fine to add it to wilderness hut, thanks!)

Hi Bryan, thanks for the notes. I agree with your points and will make the changes. Some explanation:

The pre-existing Pavilion preset wasn't nested so I didn't nest the rest.
I added the Fireplace field to Lean-To because I noticed some lean-tos that use it. However, these may be tagging mistakes since, as you said, lean-tos generally don't have indoor fireplaces. Those examples may be mislabeled cabins or wilderness huts, or more likely lean-tos near external firepits where the firepits should be mapped separately.

Awesome, thanks again @quincylvania  👍


Version 4.11.0 onwards - Prisma.empty does not work for raw queries, treats as expected parameter (SQL Server)

Bug description
I've created an example repository here: https://github.com/PatricioNG/prisma-mssql-error-reproduction
The issue:
When using Prisma.empty on the MSSQL provider, raw queries do not treat the empty string as a null value on version 4.11.0. This does work on 4.10.1, which seems to indicate a bug between releases. We're undergoing a database migration from MySQL to MSSQL and noticed this was an issue between the two database providers.
Attached in the example repository is a simple test to prove the bug, let me know if any other information is required!
How to reproduce

Download repo and install deps
Spin up a MSSQL server instance, push migration up to create a user table
Add in some default values to the table
Test on 4.11.0 by running npm run dev notice the console output and invalid @P1 for the second query
Install 4.10.1 and test again, notice both queries return results without issue.

Expected behavior
Prisma.empty is treated as a null value on 4.11.0 onwards
Prisma information
// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema

generator client {
  provider = "prisma-client-js"
  output   = "./generated/Example"
}

datasource db {
  provider = "sqlserver"
  url      = env("DATABASE_URL")
}

model users {
  id   Int    @id @default(autoincrement())
  name String
}

Can be used as an example repo, instructions in github example repo.
Environment & setup

OS: Windows 10 and Windows server 2019
Database: SQL Server
Node.js version: 18.14.0

Prisma Version
4.11.0 has the issue,
4.10.1 works

Confirmed here!
A simple ternary by itself turns into a parameter, like:
 ${term ? '' : ''}
Following the docs also: https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#tagged-template-helpers
${term ? Prisma.sqlAND team.name LIKE '%${term}%' : Prisma.empty}
ill test with 4.10.1

Can confirm this is still an issue on 4.14.0, as I've recently updated to that version

Can confirm with 4.14.0.
But at the same time everything works now with 5.14.0. Do you agree @PatricioNG and @truediogo that this has been fixed along the way?

Ah, looks like it! I had just given up hope and have been working around it where possible since/haven't tried again 😆 but glad to know I can (and have been able to since 4.15) drop my workarounds and simplify things 👏👏
Thanks for double-checking this old one, @janpio! One more SQL Server bug down, now just praying for the query chunking fix 🙏 😇


QueryOptions doesn't contain a way to get static methods on a class

Currently in QueryOptions there's no way to get static methods. Suggest adding a includeStatic option on QueryOptions.
If this is fixed then the excludeOverriden functionality needs to be modified as it just checks the name when looking for overrides. Fix is included in the comments for it.

Opened per request in #22

yeah, this actually by design: smoke.query is just for instance methods.  To get static methods we require that you pass the type explicitly, since anyways in Dart it is invalid to dynamically dispatch static methods. In particular:
SomeType.foo(); // valid
var x = SomeType;
x.foo; // invalid

If its by design go ahead and close it. It was just something I saw that would break the behavior of excludeOverriden so I wanted to note that.

cool - thanks. I'm glad you brought it up though - it isn't obvious (I also had to look closer into smoke to make sure this was the intended design).