Invalid field 'CurrencyIsoCode' for object 'dlrs__LookupRollupSummary2__mdt'

When I click the Manage Child Trigger button in production, I get this error:
Invalid field 'CurrencyIsoCode' for object 'dlrs__LookupRollupSummary2__mdt'

Are you running v2.1? If not please try upgrading, this should resolve this issue.

Hello Andrew,
I want to first say we love this program and how easy it makes rollups and we recommend to our customers all the time.
I am on version 2.1 for this issue. We have been having trouble with the Deploy button over last several months in addition to this new issue I encountered.  William was able to build enough test coverage for me to deploy the trigger manually to production but thought you might could benefit being in communication with my technical associates that have encountered and overcome deployment issues.
Best Regards,
From: Andrew Fawcett<EMAIL_ADDRESS>Sent: Tuesday, December 29, 2015 3:05 PM
To: afawcett/declarative-lookup-rollup-summaries<EMAIL_ADDRESS>Cc: jbcarey00<EMAIL_ADDRESS>Subject: Re: [declarative-lookup-rollup-summaries] Invalid field 'CurrencyIsoCode' for object 'dlrs__LookupRollupSummary2__mdt' (#275)
Are you running v2.1? If not please try upgrading, this should resolve this issue.
—
Reply to this email directly or view it on GitHub https://github.com/afawcett/declarative-lookup-rollup-summaries/issues/275#issuecomment-167865507 .  https://github.com/notifications/beacon/AGhrb0KX_QSj7igAuDaxDvvLYfxPak4vks5pUt73gaJpZM4G8S9I.gif

Hi Andrew,
I concur with John's appreciation of this invaluable tool. The issues to
which he refers are those which you have documented in this excellent
article:
https://github.com/afawcett/declarative-lookup-rollup-summaries/wiki/Challenges-with-Code-Coverage
I have merely applied those suggestions to those unit tests that, on
occasion, throw an exception for one reason or another.
Thanks for the quick response on the new version 2.1. That fixed our issues.
William
On Tue, Dec 29, 2015 at 2:35 PM, John Carey<EMAIL_ADDRESS>wrote:

Hello Andrew,
I want to first say we love this program and how easy it makes rollups and
we recommend to our customers all the time.
I am on version 2.1 for this issue. We have been having trouble with the
Deploy button over last several months in addition to this new issue I
encountered.  William was able to build enough test coverage for me to
deploy the trigger manually to production but thought you might could
benefit being in communication with my technical associates that have
encountered and overcome deployment issues.
Best Regards,
From: Andrew Fawcett<EMAIL_ADDRESS>Sent: Tuesday, December 29, 2015 3:05 PM
To: afawcett/declarative-lookup-rollup-summaries <
<EMAIL_ADDRESS>Cc: jbcarey00<EMAIL_ADDRESS>Subject: Re: [declarative-lookup-rollup-summaries] Invalid field
'CurrencyIsoCode' for object 'dlrs__LookupRollupSummary2__mdt' (#275)
Are you running v2.1? If not please try upgrading, this should resolve
this issue.
—
Reply to this email directly or view it on GitHub
https://github.com/afawcett/declarative-lookup-rollup-summaries/issues/275#issuecomment-167865507
.

--
William Rich
Senior Consultant, Icon Cloud Consulting
<EMAIL_ADDRESS>

Excellent, thanks guys, appreciate the support and kind words. It seems all is well for the moment regarding your deployments. If not, please feel free to re-open this or a new one. Happy new year!


FeignClientFactoryBean#getObjectType() return null lead to "is not eligible..."

Describe the bug
Bean 'com.example.demo.DemoApplication$NameService' of type [org.springframework.cloud.openfeign.FeignClientFactoryBean] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
it‘s because FeignClientFactoryBean#getObjectType() return null, so spring will early init and i think it is a little worried.
even if this is not a bug actually,  but it bothers me and i hope this info log will disappear :)
// AbstractAutowireCapableBeanFactory#getTypeForFactoryBean(String beanName, RootBeanDefinition mbd, boolean allowInit)

// If we're allowed, we can create the factory bean and call getObjectType() early
if (allowInit) {
    FactoryBean<?> factoryBean = (mbd.isSingleton() ?
        getSingletonFactoryBeanForTypeCheck(beanName, mbd) :
	getNonSingletonFactoryBeanForTypeCheck(beanName, mbd));
    if (factoryBean != null) {
        // Try to obtain the FactoryBean's object type from this early stage of the instance.
        Class<?> type = getTypeForFactoryBean(factoryBean);
        if (type != null) {
            return ResolvableType.forClass(type);
        }
        // No type found for shortcut FactoryBean instance:
        // fall back to full creation of the FactoryBean instance.
        return super.getTypeForFactoryBean(beanName, mbd, true);
    }
}

Sample
@SpringBootApplication
@EnableFeignClients
public class DemoApplication {
public static void main(String[] args) {
    SpringApplication.run(DemoApplication.class, args);
}

@FeignClient("name")
static interface NameService {
    @RequestMapping("/")
    public String getName();
}

}

me too

It's just a warning.

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.


What spec does method property follow

The JSON RPC spec says that the method should be the name of the method to call on the target. But the protocol makes use of names like textDocument/didOpen. A slash is typically not a valid character for a method name, so I imply that it has some special meaning, eg call the didOpen method on the textDocument property. Initially, it looked like a JSON Pointer to me, but a JSON Pointer always has to start with a slash:

The ABNF syntax of a JSON Pointer is:

      json-pointer    = *( "/" reference-token )
      reference-token = *( unescaped / escaped )
      unescaped       = %x00-2E / %x30-7D / %x7F-10FFFF
         ; %x2F ('/') and %x7E ('~') are excluded from 'unescaped'
      escaped         = "~" ( "0" / "1" )
        ; representing '~' and '/', respectively

So it should be /textDocument/didOpen.
I had to write a whole new JSON RPC library that allows this kind of method names. I would have much rather liked to just open a PR at one of the existing libraries to implement JSON Pointer support.
What was the design decision behind using a slash? What is it's meaning?

We use the / to group method into logical areas. The first part denotes the group the second part the method in that group.
To my interpretation the method name is specified as a string with only the limitation that a string starting with 'rpc.' has a special meaning in the protocol. I somehow assumed that the JSON RPC libraries don't do any automatic binding to real program code on the server since JSON RPC doesn't make any assumption about the language used. Otherwise the spec would need to define a method name to for example forbid that a name can start with a number (not valid JS identifier).
JSON pointers are to my knowledge something different. The allow you to reference a JSON object inside a JSON structure. They wouldn't help with grouping methods except that they would also use '/' as a separator.
Which library did you use for the JSON RPC communication. May be the library could offer an indirection where a handler is registered. If not handler is provided then the library could use introspection to see if the 'server' offers a 'method' with the same name.
Given all this I would opt to leave the naming as is. Changing it will be a major breakage.

I just wanted to know the thought process behind this. Pretty much all JSON RPC libraries I saw provided a Server implementation that dispatches request to method calls on an object. The JSON RPC protocol of course makes no assumptions here, but in reality that is how most implementations work - you do a remote procedure call , eg call a method on the server with given params. I understand now that you see it more as "namespaces", but that doesn't map very nice to object-oriented programming languages.
In the end I rolled my own library and decided to path / methods to methods of object properties:
https://github.com/felixfbecker/php-advanced-json-rpc#nested-targets
which is exactly how a JSON Pointer works, just that it doesn't have a slash in the beginning.

The only problem I have now is the $/cancelRequest. $ is not a valid property name in PHP. But I guess I will just handle that manually in the dispatcher anyway.

the $ is comparable to 'rpc.'. It is a namespace 'reserved' for the language server protocol itself.


No need for try/except block

Simplify the code

Coverage decreased (-0.1%) to 65.199% when pulling 2f86286824c03262dd9f1b401d0a02c18e57d8ee on iBug:patch-6 into bdfe1906e5f34e3c52b49e5be5b6e68568c389ef on Charcoal-SE:master.

!!/approve


The assertion occurred in semantics.dart after upgrade to syncfusion_flutter_calendar: ^18.4.32

[✓] Flutter (Channel stable, 1.22.5, on Mac OS X 10.15.7 19H2 darwin-x64, locale en-CA)
• Flutter version 1.22.5 at /Users/ABCDEFGHIJKL/Developer/SDKs/flutter
• Framework revision<PHONE_NUMBER> (3 weeks ago), 2020-12-10 11:54:40 -0800
• Engine revision ae90085a84
• Dart version 2.10.4
======== Exception caught by scheduler library =====================================================
The following assertion was thrown during a scheduler callback:
Child SemanticsNode#65165(STALE, owner: null, Rect.fromLTRB(50.0, 620.0, 373.0, 619.0), invisible, label: "please come but don’t create duplicate appointment.03 30 PM-03 30 PM 31/December/2020", textDirection: ltr) is invisible and should not be added as a child of SemanticsNode#60135(STALE, owner: null, Rect.fromLTRB(0.0, 350.0, 375.0, 841.0)).
'package:flutter/src/semantics/semantics.dart':
Failed assertion: line 1417 pos 16: '!child.isInvisible'
Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
https://github.com/flutter/flutter/issues/new?template=BUG.md
When the exception was thrown, this was the stack:
#2      SemanticsNode._replaceChildren (package:flutter/src/semantics/semantics.dart:1417:16)
#3      SemanticsNode.updateWith (package:flutter/src/semantics/semantics.dart:1878:5)
#4      RenderObject.assembleSemanticsNode (package:flutter/src/rendering/object.dart:2778:10)
#5      _MultiChildContainerRenderObject.assembleSemanticsNode (package:syncfusion_flutter_calendar/src/calendar/views/multi_child_container.dart:174:11)
#6      _SwitchableSemanticsFragment.compileChildren (package:flutter/src/rendering/object.dart:3717:13)
...

@misici234
the problem seems to be caused by the 3rd party package syncfusion_flutter_calendar please open an issue in the dedicated github

@misici234
the problem seems to be caused by the 3rd party package syncfusion_flutter_calendar please open an issue in the dedicated github

@misici234
This might be happening because of you are creating appointments at the same time
Child SemanticsNode#65165(STALE, owner: null, Rect.fromLTRB(50.0, 620.0, 373.0, 619.0), invisible, label: "please come but don’t create duplicate appointment.03 30 PM-03 30 PM 31/December/2020", textDirection: ltr) is invisible and should not be added as a child of SemanticsNode#60135(STALE, owner: null, Rect.fromLTRB(0.0, 350.0, 375.0, 841.0)).

@misici234
This might be happening because of you are creating appointments at the same time
Child SemanticsNode#65165(STALE, owner: null, Rect.fromLTRB(50.0, 620.0, 373.0, 619.0), invisible, label: "please come but don’t create duplicate appointment.03 30 PM-03 30 PM 31/December/2020", textDirection: ltr) is invisible and should not be added as a child of SemanticsNode#60135(STALE, owner: null, Rect.fromLTRB(0.0, 350.0, 375.0, 841.0)).

Hi @misici234
From what I can see, the issue is related to a 3rd party plugin rather than to Flutter itself. Please open the issue in the dedicated repository.
Closing, as this isn't an issue with Flutter itself.
If you disagree, please write in the comments,
providing your flutter doctor -v, your flutter run -v,  your pubspec.yaml
a minimal reproducible code sample that does not use 3rd party plugins,
and I will reopen it.
Thank you

Hi @misici234
From what I can see, the issue is related to a 3rd party plugin rather than to Flutter itself. Please open the issue in the dedicated repository.
Closing, as this isn't an issue with Flutter itself.
If you disagree, please write in the comments,
providing your flutter doctor -v, your flutter run -v,  your pubspec.yaml
a minimal reproducible code sample that does not use 3rd party plugins,
and I will reopen it.
Thank you


Updating and contributing

Hello David,
apng-js is a great tool for manipulating apng files, thank you for this!
The code has not been updated for 4 years now.
Some forks contain interesting updates or additions (https://github.com/WiseLee0/apng-js-mini) and there are some features that I am about to add too (reverse play using negative values of playbackRate).
I don't know what your current situation is but would you agree to give some help by merging interesting forks, including the one I am working on? I think it is always better to contribute to the original project.
Best regards,
Anthony

Indeed, I need reverse play & custom play. It would be great to merge these features.


Directly pass Controller instances to GridPlot

#382 brought in one regression, we can no longer directly pass a controller instance, this is useful for synchronizing across plots so we should bring it back. For now users can manually assign controller instances for subplots after creating a GridPlot.

@clewis7 What do you think of this solution, we allow a controllers kwarg which can be an iterable of controller instances. If supplied controller_ids and controller_types are ignored. This is useful for manually defining the controllers of every subplot.

I agree, having this functionality is important. I think maybe it would get confusing to have another controllers kwarg if there is already controller_ids and controller_types, but perhaps we would just need good documentation for users.
I do agree that directly passing controllers would supersede the other kwargs.


Time or Timestamp should not be required as the first column in insert SQL statement

support
insert into root.test2.wf01.wt0 (time,json ,`status` ) values (111,"abcddf" ,true  )

but not support
insert into root.test2.wf01.wt01 (json ,`status`,time ) values ("abcddf" ,true,111  )

get error msg
Msg: 401: line 1:34 mismatched input 'json' expecting {'.', '('}

hi, yes, we require the first column as time in an insert SQL...
Any strong requirements for changing the position?

I am developing an ORM tool . If the time must be in the first column, many popular ORM tools (hiberante,jpa,Spring Data)will not be able to integrate iotdb.

yes, I think we can modify our Antlr parser to support that.
By the way, are you familiar with antlr4? I believe it is not a big modification.

i familiar with antlr4 ....

hi, yes, we require the first column as time in an insert SQL...
Any strong requirements for changing the position?

this situation occurs again in release 0.11.0, should we write this description in the UserGuide?

Fixed by this PR.

https://github.com/apache/iotdb/pull/3614

Hi, I'd like to do this by modifying the 'insertColumnsSpec' in 'IoTDBSqlParser'. Would you mind assign the issue to me? @qiaojialin @HTHou @jixuan1989

Fixed by https://github.com/apache/iotdb/pull/12074


Add in the link for Auto Attendant diagnostic

Added in details and direct link to the Auto Attendant diagnostic that is available to the Admins.

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@MikePlumleyMSFT PR has been copyedited and is ready for final review, could you please check and merge? Thanks!

@dj1298 opening support tickets is covered elsewhere on Docs. We wouldn't include details on that process flow here.


Email address might be stored twice in database

Gitea version (or commit ref): 1.12.0+dev-231-g1bf9e44bd
Database (use [x]):

[x] PostgreSQL
[ ] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[x] Yes (provide example URL)
[ ] No
[ ] Not relevant

Description
It is possible to use 'Manage Email Addresses' to add an email that already exists, if the specified email is primary. Specifically, the isEmailUsed in models/user_mail.go only checks for duplicates in email_address table, but we also store the email in user table. This leads to an odd situation, where same email is present twice in database.
The same is possible if MakeEmailPrimary is executed, as it does not remove previous entry from email_address table.
We should most likely remove email from user table and keep separate column for whether email is primary or not, in email_address.
The above results in duplicate entries being presented in User Emails part of Site Administration.

Bad bot


To fix nanomsg linking issue on fedura and ubuntu 32 bit

Codecov Report

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

@@           Coverage Diff           @@
##           master      #90   +/-   ##
=======================================
  Coverage   90.77%   90.77%
=======================================
  Files          35       35
  Lines        2655     2655
  Branches      163      163
=======================================
  Hits         2410     2410
  Misses         86       86
  Partials      159      159

Continue to review full report at Codecov.

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


onMount cast on a computed store disables the whole chain of reactivity

Repro.

Updated test (that fails) for issue #94
test('is compatible with onMount', () => {
  const initialStoreValue = 1
  let store = atom<number>(initialStoreValue)
  let deferrer = computed(store, value => value * 2)

  let events = ''
  onMount(deferrer, () => {
    events += 'init '
    return () => {
      events += 'destroy '
    }
  })
  equal(events, '')

  let storeValue
  let unbind = deferrer.listen((value) => storeValue = value)
  clock.runAll()
  ok(deferrer.lc > 0)
  ok(storeValue === initialStoreValue * 2)
  ok(store.lc > 0)
  equal(events, 'init ')

  unbind()
  clock.runAll()
  equal(deferrer.lc, 0)
  equal(events, 'init destroy ')
})

I'll try to dig into this issue a little bit in the next few days, but I'll happily accept a fix made by someone else 😂

Thanks for the test. I will try to look today.

Note, that listen runs only on store changes. Since you didn’t change, store it was not run.
I changed test to sunbscribe which also run imminently.

Seems like I found the reason. Additional onMount break the previous one (in computed). I will try to debug event system.

Fixed d09eac6

The fix was released in 0.5.10.


bug: copy again all files to samba storage on Daily Saving Time change

hello,
first of all, many thanks for this really usefull application !
I'm using it to backup files from my mobile phones onto a shared SMB storage provided by samba on CentOS7.
It's working pretty well, except on DST change: all files already backuped are then overwritten by a new copy.
This happens for years with SMBsync then SMBsync2.
It sounds similar to the way Windows is using local "current" time (instead of taking care of TimeZone as *nix does)
My setup:

source: android 8 or android 12, both with internal and SDcard storage with "miror" sync mode
target: samba-4.10.16-20.el7_9.x86_64 on CentOS 7, in workgroup mode, no particular setting.

SMBsync2 issue ?

protocol used is SMB3.
android devices is using french TimeZone, Linux/samba is using CET TimeZone, that are supposed to be the same.

I just came across this issue. I found that there is a per task option to ignore daylight savings time differences between files under the advanced options. There is also a time fudge factor in seconds for non daylight savings time differences.


⚠ haccp has degraded performance

In 250c986, haccp (https://www.haccp.or.kr) experienced degraded performance:

HTTP code: 200
Response time: 15049 ms

rss.blog.naver.com과의 통신이 느릴때가 있네


Custom background colour?

I can't find a way to change the background colour when the panorama doesn't reach all the way to the top or the bottom.  Is there a way to do this easily?  From what I can tell it's part of the WebGL, but I'm not sure where it would need to be changed.

This is set in the equirectangular fragment shader. For example, changing 'gl_FragColor = vec4(0, 0, 0, 1.0);', to 'gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);', would change the background color to white.
Being in the shader, it's not all that easy to make it a configurable parameter. Unless there's a fair amount of demand, I don't plan on doing so.

Thanks for pointing me in the right direction.

I just looked at this again and decided it wasn't actually difficult to add and added the feature in 715866b67dc1060d18197054e6f034feba470b53. The background color can now be set using the backgroundColor parameter, e.g. adding "backgroundColor": [1, 1, 1] to a JSON configuration will set the background color to white.


Scala 3 support

As we are close to the release of Scala 3 (see) it would be great to support compiling this project into a compatible version as well and we still have enough time for doing that.
One caveat of this is that we will need to support four versions of Scala language at the same time (2.11, 2.12, 2.13, 3.0), which could be hard and I'm thinking about stopping support for 2.11 as we already did in cats-saga.

I've decided not to remove support for 2.11 for a while longer, it looks like this not causing many troubles for now.

Support added


Lua Debug API

I think the debug API has wrong declarations in which ref is not needed to be used.
lua_getinfo

bd90a9d closes #1


The ST is not a Cycle GAN

I don't find the cycle loss. Is it  a improved pix2pix model ?

We use the CycleGAN model as the target to be compressed and evaluate on the unpaired image translation tasks. Since we use a distillation loss with a pretrained heavy generator (CycleGAN's generator), the cycle consistency loss is no more necessary here. From this perspective, its training scheme is similar with pix2pix. You can refer to Eq.(3) in our paper for our objective function design.

We use the CycleGAN model as the target to be compressed and evaluate on the unpaired image translation tasks. Since we use a distillation loss with a pretrained heavy generator (CycleGAN's generator), the cycle consistency loss is no more necessary here. From this perspective, its training scheme is similar with pix2pix. You can refer to Eq.(3) in our paper for our objective function design.


Fix/rebuild db

The rebuild-db option "no" would still create the database if it did not exist yet. However, when using MySQL group replication the databases for the secondary nodes need to be created by MySQL's replication process, not the REST API.
This PR makes it so that setting rebuild-db to "no" does not affect the database in any way. If this is set and the database does not exist, you will get a warning (as this is only for users using group replication, in all other cases it will lead to errors on every interaction).

Closes #299

@Taniya-Das Sorry, I went a different way. I thought it was getting awfully confusing, so instead I decided to rename the parameter to better reflect its default purpose: creating the database. I updated the docs as well, and found some outdated documentation that I also just updated. I hope this will be much clearer for users, WDYT?


intword with negative numbers

What did you do?
import humanize
print(humanize.intword(-1000000000))

What did you expect to happen?
-1.0 billion

What actually happened?
-1000000000

What versions are you using?

OS: Windows 10
Python: 3.10.4
Humanize: 3.14

Thanks, I'd be open to a PR.

import humanize def with_negative(number):     negative = number < 0     if negative : number * -1     word = humanize.intword(number)     if negative : word = '-' + word     return word print(with_negative(-1000000000))
Something like that (I wrote it in the browser without testing so it may not have some typos)

By opening a PR, hugovk means open a pull-request with some changes to the source code of humanize, not writing a new function that wraps around the existing humanize API.

def intword(value, format="%.1f"):
    """Converts a large integer to a friendly text representation.
    Works best for numbers over 1 million. For example, 1_000_000 becomes "1.0 million",
    1200000 becomes "1.2 million" and "1_200_000_000" becomes "1.2 billion". Supports up
    to decillion (33 digits) and googol (100 digits).
    Examples:
        ```pycon
        >>> intword("100")
        '100'
        >>> intword("12400")
        '12.4 thousand'
        >>> intword("1000000")
        '1.0 million'
        >>> intword(1_200_000_000)
        '1.2 billion'
        >>> intword(8100000000000000000000000000000000)
        '8.1 decillion'
        >>> intword(None) is None
        True
        >>> intword("1234000", "%0.3f")
        '1.234 million'
        ```
    Args:
        value (int, float, str): Integer to convert.
        format (str): To change the number of decimal or general format of the number
            portion.
    Returns:
        str: Friendly text representation as a string, unless the value passed could not
        be coaxed into an `int`.
    """
    try:
        value = int(value)
    except (TypeError, ValueError):
        return value

    negative = value < 0
    if negative : value *= -1

    if value < powers[0]:
        return str(value)
    for ordinal, power in enumerate(powers[1:], 1):
        if value < power:
            chopped = value / float(powers[ordinal - 1])
            if float(format % chopped) == float(10**3):
                chopped = value / float(powers[ordinal])
                singular, plural = human_powers[ordinal]
                return (
                    " ".join([format, _ngettext(singular, plural, math.ceil(chopped))])
                ) % chopped
            else:
                singular, plural = human_powers[ordinal - 1]
                return (
                    " ".join([format, _ngettext(singular, plural, math.ceil(chopped))])
                ) % chopped

     if negative : value = f'-{value}'

    return str(value)

It was just to help you. Here is a better version. Not on my computer so I don't have access to git


add GlowlessScrollBehavior

it would be a handly class to easily disable scroll glow without need for searching up "disable scroll glow flutter", which is by the way a very popular question on SO https://stackoverflow.com/questions/51119795/how-to-remove-scroll-glow

Hey @nt4f04uNd I agree, we should make this easier. I am currently working on overhauling default ScrollBehaviors (related to #40107 and #71322), and can include this in that work to make this a better experience.

Hey @nt4f04uNd here is the proposal I mentioned: Design Document

@Piinks i read it and overall i like the idea of exposing the ScrollBehaviors. one thing i would like to clarify: do you think adding scrollBehavior into the app widget sufficient? it helps to discover the ScrollBehavior, but then you still need to extend it and override the buildViewportChrome to disable it, which is pretty common, so GlowlessScrollBehavior still makes sense
by the way it could be MaterialScrollBehavior.glowless(), or MaterialScrollBehavior(glow: false)
this is of course unless you have some thoughts on how to make it even more easy

@Piinks i read it and overall i like the idea of exposing the ScrollBehaviors. one thing i would like to clarify: do you think adding scrollBehavior into the app widget sufficient? it helps to discover the ScrollBehavior, but then you still need to extend it and override the buildViewportChrome to disable it, which is pretty common, so GlowlessScrollBehavior still makes sense
by the way it could be MaterialScrollBehavior.glowless(), or MaterialScrollBehavior(glow: false)
this is of course unless you have some thoughts on how to make it even more easy

Interesting ideas! The design document is meant just for discussing options like these. Could you add these as comments on the doc? We'll be collecting feedback over the next few days there and I would hate for it to be left out.
You should have comment permissions, let me know if that is not the case.

@Piinks added

I do not think we will be adding this type of ScrollBehavior or adding it as a constructor of MaterialScrollBehavior. As https://github.com/flutter/flutter/pull/76494/files shows, it is a very minimal amount of code to remove the glow with your own ScrollBehavior. #76739 will expose ScrollBehaviors that were previously private, making them more available for users to extend, modify and build on. This change also adds the ability to set the ScrollBehavior at the app-level, where before is was not available to change the default. :)

oops didn't mean to

@Piinks ok


[Lepiter]: Decompose Annotation Completion Monolith

During Hitchhiker #17: Using Glamorous Toolkit for Scientific Notation - Konrad Hinsen & Tudor Girba, the subject of custom annotation completion came up.
This is an exciting horizon that will open up many possibilities.
However, while this is possible in a POC sense, IMHO it is currently not practical for the average user due to all the built-in annotations being handled in one giant parser.  LeWordAnnotation was a good start, but one needs multiple examples that vary in different ways in order to pick out what one needs for their current use case.
In my own case of OlObjectAnnotationCompletionVisitor  references in the video linked above, I flopped around for hours tweaking copy/pasted code without really understanding it, and eventually gave up as "good enough", although there are several shortcomings that I can't figure out how to fix.
Some examples of the current suboptimal state...
How is anyone reasonably supposed to make sense of the following method, which is critical to understanding how annotation completion works:
LeAnnotationCompletionVisitor>>#visitSmaCCError: aSmaCCError
	| index token annotationType class className isMeta |
	index := (1 to: aSmaCCError dismissedTokens size)
		detect: [ :i | (aSmaCCError dismissedTokens at: i) stopPosition = self position ]
		ifNone: [ 0 ].
	annotationType := aSmaCCError parent name source.
	index > 0
		ifTrue:
			[ token := (aSmaCCError dismissedTokens at: index) value.
			token = '|'
				ifTrue:
					[ ^ self
						optionsFor: annotationType
						startingWith: ''
						ignoring: (self previousOptionsFor: aSmaCCError) ].
			token = '='
				ifTrue:
					[ ^ index > 1
						ifTrue: [ self valueForOption: (aSmaCCError dismissedTokens at: index - 1) value startingWith: '' ]
						ifFalse: [ self valueForOption: aSmaCCError stackContents last items last name value startingWith: '' ] ].
			index > 1
				ifTrue:
					[ (aSmaCCError dismissedTokens at: index - 1) value = '|'
						ifTrue:
							[ ^ self
								optionsFor: annotationType
								startingWith: token
								ignoring: (self previousOptionsFor: aSmaCCError) ].
					(aSmaCCError dismissedTokens at: index - 1) value = '='
						ifTrue:
							[ ^ index > 2
								ifTrue: [ self valueForOption: (aSmaCCError dismissedTokens at: index - 2) value startingWith: token ]
								ifFalse: [ self valueForOption: aSmaCCError stackContents last items last name value startingWith: token ] ] ].
			(('class' beginsWith: token)
				and: [ aSmaCCError stackContents notEmpty and: [ aSmaCCError stackContents last isKindOf: LeClassAnnotationNode ] ])
				ifTrue:
					[ ^ self composite
						addStream:
							{GtInsertTextCompletionAction
									labeled: (self strategy labelFor: 'class' withSearch: token)
									completion: ('class' allButFirst: token size)
									position: self position} asAsyncStream ] ].
	index = 0
		ifTrue:
			[ aSmaCCError stackContents isEmpty
				ifTrue:
					[ ^ aSmaCCError parent colon stopPosition = self position
						ifTrue:
							[ self
								optionsFor: annotationType
								startingWith: ''
								ignoring: #() ]
						ifFalse:
							[ aSmaCCError errorToken stopPosition = self position
								ifTrue:
									[ self
										optionsFor: annotationType
										startingWith: aSmaCCError errorToken value
										ignoring: #() ] ] ].
			(aSmaCCError stackContents last isKindOf: SmaCCToken)
				ifTrue:
					[ aSmaCCError stackContents last stopPosition = self position
						ifTrue:
							[ token := aSmaCCError stackContents last value.
							token = '>>'
								ifTrue:
									[ className := (aSmaCCError stackContents at: aSmaCCError stackContents size - 1) value.
									isMeta := className = 'class'.
									isMeta ifTrue: [ className := (aSmaCCError stackContents at: aSmaCCError stackContents size - 2) value ].
									Smalltalk at: className asSymbol ifPresent: [ :cls | class := isMeta ifTrue: [ cls class ] ifFalse: [ cls ] ].
									^ self
										selectorCompletionsFor: class
										startingWith: ''
										isExample: aSmaCCError parent name source = 'gtExample' ].
							(token = '=' and: [ (aSmaCCError stackContents at: aSmaCCError stackContents size - 1) value = 'name' ])
								ifTrue: [ ^ self classesStartingWith: '' ].
							token first isUppercase ifTrue: [ ^ self classesStartingWith: token ] ] ] ].
	^ self visitSmaCCParseNode: aSmaCCError

And the slightly less horrifying, but obscure:
LeAnnotationCompletionVisitor>>#optionsFor: annotationType startingWith: aString ignoring: aCollection
	| values |
	values := #().
	annotationType = 'gtClass' ifTrue: [ values := #(name label full expanded show height) ].
	annotationType = 'gtPackage' ifTrue: [ values := #(name label tag expanded show height) ].
	annotationType = 'gtMethod' ifTrue: [ values := #(name label expanded show height) ].
	annotationType = 'gtExample'
		ifTrue: [ values := #(name label expanded codeExpanded noCode previewHeight previewExpanded previewShow alignment return) ].
	annotationType = 'gtTodo' ifTrue: [ values := #(label due completed) ].
	self composite
		addStream:
			((values asAsyncStream
				filter: [ :each | (aString isEmpty or: [ each beginsWith: aString ]) and: [ (aCollection includes: each asString) not ] ])
				collect:
					[ :each |
					| name hasOptionalValue |
					hasOptionalValue := self optionalValues includes: each.
					name := each , (hasOptionalValue ifTrue: [ '' ] ifFalse: [ '=' ]).
					(GtInsertTextCompletionAction
						labeled: (self strategy labelFor: name withSearch: aString)
						completion: (name allButFirst: aString size)
						position: self position) partial: hasOptionalValue not ])

Extending Lepiter with Custom Snippets and Annotations offers the following explanation:

It shows that one can add completion independently from the core code of Lepiter.

Yes, the broad strokes are laid out in the book, but when one actually tries to implement something, it is nearly impossible to use features of built-in annotations (other than Word Annotation) for inspiration because: 1) they are all lumped together and 2) the code needs a serious intention-revealing refactor.

What do you need that is not in the Word Annotation?

For example, completion on parser error, like method names that pop up when you have partially matched aClass>>#

+1 for better explanations/examples for dealing with parse errors. When I type/edit my Leibniz annotations, they are almost always in a state that doesn't parse. And yet, it would often be useful to provide completion based on a smaller local context, even if the surrounding code doesn't parse.


Frontend Project 'WebPage Project new' Navbar Design Improvement

Title and Issue number
Close #2701
Checklist:

[x] I have mentioned the issue number in my Pull Request.
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have created a helpful and easy to understand README.md

@MohitGupta121


[GHSA-jp7f-grcv-6mjf] Partial path traversal in sharpcompress

Updates

Affected products

Comments
Corrected casing of package name to match the name in NuGet.

Hi there @adamhathcock! A community member has suggested an improvement to your security advisory. If approved, this change will affect the global advisory listed at github.com/advisories. It will not affect the version listed in your project repository.
This change will be reviewed by our highly-trained Security Curation Team. If you have thoughts or feedback, please share them in a comment here! If this PR has already been closed, you can start a new community contribution for this advisory

@geoffodonnell The name update looks good, but out of curiosity why are you removing the affected function data in this PR?

@darakian Hm. Didn't mean to do that. I used the "Suggest improvements for this vulnerability." form and only changed the value in the Package Name field. I don't have a reason to remove the ecosystem_specific object.

Weird. Maybe that's a bug on our end. I'll pull that change and get this going. Thanks for the contribution 👍

Thanks for going easy on me @darakian !


Remove versioned source from protect branch steps

Also move check for draft PR to an anchor, and remove redundant dependencies.
Change-type: patch
Signed-off-by: Kyle Harding<EMAIL_ADDRESS>

I self-certify!


DBZ-2614 Support for infinite timestamps

https://issues.redhat.com/browse/DBZ-2614
built on https://github.com/debezium/debezium/pull/1877

LGTM, merging. Test failure is the known one tracked via https://issues.redhat.com/browse/DBZ-3107. Thanks, @jpechane!


Adding port configuration -x 9699 (port for Chives) - K29 plots

Please add option to select PORT=9699 for K29, K30 and K31 plot sizes. It's necessary for XCC Chives plots. Thanks!

Done!  Please use :
    image: cryptoandcoffee/akash-chia:263

and update
    env:
    #############################REQUIRED##############################
      - VERSION=1.6.0
     #Always check https://github.com/Chia-Network/chia-blockchain/releases
      - CONTRACT=xch16txqvdlh67m9stvwmx848xzpgesd60swqxll3rrnnafunuluflds03jkt4
      - FARMERKEY=847b826e653279b9e54ce66a1c55cbfdb1ddc4118e70038cdfbaa7e5cb0a785087bc3a6f055f01bbbf84a2c6a3be4a97
      - PLOTTER=madmax
     #Choose your plotter software - madmax, bladebit, bladebit-disk
      - PLOT_SIZE=32
      - PORT=8444
     #Network port (default = 8444, chives = 9699, mmx = 11337)
      - FINAL_LOCATION=local
     #Set to "local" to access finished plots through web interface.
     #Set to "upload" and finished plots will be uploaded to a SSH destination like user@ip:/home/user/plots
      - CPU_UNITS=8
      - MEMORY_UNITS=6Gi
      - STORAGE_UNITS=815Gi

This will be live once the pull request is accepted.

#333

Very nice and thank you for a very fast response. :)

Hello, Please be so kind and check below error. It shows up when i add PORT=9699 for Madmax plotter.
...
chia: To see your keys, run 'chia keys show --show-mnemonic-seed'
chia: usage: chia [-h] {chiapos,madmax,bladebit,install} ...
chia: chia: error: unrecognized arguments: -x 9699
chia: Creating plotters folder within CHIA_ROOT: /root/.chia/mainnet/plotters
chia: Currently using 0.00018272Gi of total allocatable 236Gi
chia: ls: cannot access '/plots/*.plot': No such file or directory

It would be nice if would be possible to disable disk size check too, because K29-K31 plot sizes don't need that much temporary space (line 66 in run.sh: ...if (($STORAGE_UNITS < 364)); then...)
Thank you for help!
Kind regards.

Hi! I just found this - will push a fix shortly

Now works perfectly. Thank you! :)


Search runs

Implemented in #4 - perhaps more functionality will be implemented around searching, but will be handled with different issue.


[devicelab] Bringup mac hosts for building and signing applications

Part of https://github.com/flutter/flutter/issues/76413
To take advantage of the devicelab build-test separation on ios, infra needs mac hosts that can build and sign devicelab applications.

\cc @godofredoc mentioned we're adding some M1's which could possibly be used.
@jmagman do you know if ios applications built on a m1 machine can be served from a non-m1 machine?

@CaseyHillers right now I believe they can all be shared.
However, once Flutter starts supporting ARM simulators https://github.com/flutter/flutter/issues/69334 debug and profile versions of iOS simulator builds won't be sharable.  Debug and profile only builds for the "targeted" simulator architecture, so ARM or x86 respectively, for speed and app size.  Android apps, apps built for physical iOS devices, and apps built for release versions of iOS simulator should continue to be sharable, AFAIK.

Thank you Jenn! Since that's planned for the next release, infra should not rely on the M1s to build.
@godofredoc if there is only room for the 2 M1 machines in the devicelab, could we use macs from chrome and add the codesigning certs to those bots?

Unfortunately yes, we won't have more space until the next rack is created which is blocked on setting up the new flutter lab.
Adding certificates, keychains, etc required for code signing uses provisioning steps available only in salt. Chrome machines use puppets and we don't have enough control over those machines to enable code signing.
Why not using the current devicelab mac/ios for building/signing while the new lab is ready?

Why not using the current devicelab mac/ios for building/signing while the new lab is ready?

We can use the existing devices, but they won't see speed ups as they already do the build and test.
If our mac-android testbeds had better queue time, we could use them to build the ios apps. However, they seem to be the ones we need to prioritize

Can we track the benefits of the build/test separation using execution time rather than queue time? e.g. what is the sum of execution times with the current approach compared to the sum of building just once + executing all the tests?

Thanks, that would help a lot to deduplicate the work across the ios bots. We can re-use the commit validation metrics and narrow it the devicelab tests to see overall devicelab validation time.

AI: @godofredoc to take the two machines to the lab ETA 03/22/2021

Closing because the bug has not been updated for more than one year.
Feel free to reopen any bugs that you believe are important but please provide updates on how to resource the fix of the bug and what can be done to prevent the issue from not getting updates for another year.


0.1.6 empty decorator and property removal

Draft to remove 'empty' property and decorator to handle empty array's in Slurm.

Do you have an example on where this fails on Slurm? It seems strange to me that an empty array job passes the pruning phase since it's essentially done?

Hmmm, I see, I'll do some experimenting.

Tested with
from dawgz import job, after, waitfor, require, ensure, schedule, leafs

@ensure(lambda _: True)
@job(array=2)
def a(i: int):
    print('a')

@after(a, status='failure')
@job
def b():
    print('b')

@after(a)
@job
def c():
    print('c')

schedule(*leafs(a), backend='local', prune=True)

Expected and computed output:
c

On 0.1.6 this example currently yields
from dawgz import job, after, waitfor, require, ensure, schedule, leafs

@ensure(lambda _: True)
@job(array=2)
def a(i: int):
    print('a')

@after(a, status='failure')
@job
def b():
    print('b')

@after(a)
@job
def c():
    print('c')

schedule(*leafs(a), backend='local', prune=True)

Did not test it on Slurm yet, but I presume it will be fine. prune needs to be cleaned up though.

Now also handles the case whenever a failed "branch" has dependencies after @after(x, status='failure').
from dawgz import job, after, ensure, schedule, leafs

@job
def empty():
    print('empty')

@after(empty, status='failure')
@job
def notok():
    print('notok')

@after(notok)
@job
def whatever():
    print('w')

schedule(*leafs(empty), backend='local', prune=True)

This PR is not needed anymore, empty jobs are all pruned from the dependency graph.


feat(v2): add theme Danish translation

This is a danish translation of the default theme labels.

Thanks, that looks fine :)


Add extend_from_edge_list methods

This commit adds methods to extend a graph from an edge list. This works
like the add_edges_from methods but also will add nodes if there is an
index in the edge list not present in the graph already.

Coverage increased (+0.2%) to 92.9% when pulling e378dbc94109298005dc3f0fae23de35d457d3ee on mtreinish:extend_from_edge_list into 4ed34ff3d1cf4ed56dcdb1d9577383bf60891be0 on Qiskit:master.


feat: node 20 support

I can't reproduce the failure locally, I tried to rerun it a bunch of times to see if it was a CI fluke, but there appears to be some issue with the runner. Will require additional investigation.

can't reproduce the failure locally, I tried to rerun it a bunch of times to see if it was a CI fluke, but there appears to be some issue with the runner. Will require additional investigation.

I re-ran it just then and it said that was only the second attempt - all tests now passing with the exception of sonar scan which is just misconfigured in this PR and I'll now commit a fix.


Hi thankyou,  no there is no foundation apps at that location
On 24 Nov 2015 17:36, "E.T.Cook"<EMAIL_ADDRESS>wrote:

Can you check to see if /usr/local/bin/foundation-apps exists?
—
Reply to this email directly or view it on GitHub
https://github.com/zurb/foundation-apps/issues/720#issuecomment-159328537
.

I have exactly same problem.
bash: foundation-apps: command not found

Hi,  I think someone replied to my other post and they have changed command
to
foundation new
Then a menu should pop up,
Iv moved to meteor now instead as its bit easier to implement and has
better community around it,  especially angular meteor...
On 26 Nov 2015 18:35, "Driglou"<EMAIL_ADDRESS>wrote:

I have exactly same problem.
bash: foundation-apps: command not found
—
Reply to this email directly or view it on GitHub
https://github.com/zurb/foundation-apps/issues/720#issuecomment-159965130
.

https://github.com/zurb/foundation-apps/issues/718
On 26 Nov 2015 19:56, "Thomas Branley"<EMAIL_ADDRESS>wrote:

Hi,  I think someone replied to my other post and they have changed
command to
foundation new
Then a menu should pop up,
Iv moved to meteor now instead as its bit easier to implement and has
better community around it,  especially angular meteor...
On 26 Nov 2015 18:35, "Driglou"<EMAIL_ADDRESS>wrote:

I have exactly same problem.
bash: foundation-apps: command not found
—
Reply to this email directly or view it on GitHub
https://github.com/zurb/foundation-apps/issues/720#issuecomment-159965130
.

oh. Thanks. Anyway I still had problems with old cli of Foundation, so if anyone has problems, just make sure you clean any cli from foundation 5.

The command is now just foundation, as the CLI has been expanded to support the entire Foundation family. I updated the installation docs to reflect this. Sorry for the hassle!

Installation docs still say foundation-apps new myApp..

Fixed now, sorry for the confusion.

@gakimball Thanks!


Update add-use-text-secrets.md

Thanks for contributing to the Harness Developer Hub! Our code owners will review your submission.
Description

Please describe your changes: __________________________________
Jira/GitHub Issue numbers (if any): ______________________________
Preview links/images (Internal contributors only): __________________

PR lifecycle
We aim to merge PRs within one week or less, but delays happen sometimes.
If your PR is open longer than two weeks without any human activity, please tag a code owner in a comment.
PRs must meet these requirements to be merged:

[ ] Successful preview build.
[ ] Code owner review.
[ ] No merge conflicts.
[ ] Release notes/new features docs: Feature/version released to at least one prod environment.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://668eeb46a59060590c227909--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://668ef75832e15a6853a2f3bc--harness-developer.netlify.app


Android AW signs message with static signature when use imported wallet and WalletConnect

When I am trying to create emailAttestation on https://attestation-foxgem.vercel.app/ through WalletConnect -> Android AW with imported wallet then it returns static signature:
"0x3030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030"
We had a chat about that, but it still not resolved, so I created separate issue with more detailed description.

Thank you. I reimported wallet with private key and it helped.
I succesfully signed transaction with reimported wallet, but I have got other issues. I will create seaparate issues.
This one can be closed. @JamesSmartCell

I hope user, who already has imported wallets can solve this issue too.

I hope user, who already has imported wallets can solve this issue too.

The root issue has been fixed, it won't happen again, but yes, if user had the same sequence of events while it was possible to trigger the error it may cause an issue.

@JamesSmartCell , you can check signature and if signature = "0x3030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030" then Alphawallet can do some actions.
In other way user can raise issue for bug bounty program.


Unable to inject Capacitor, Plugins won't work

I have used this plugin for a while in a Capacitor/Angular app I have developed for Android. I am updating this app to Capacitor 4 now but I am experiencing issues with the email-composer plugin.
I have updated the capacitor-email-composer to version 1.2.1, and building the app works fine. But when I am trying to call the EmailComposer.open() function I get in Logcat: Unable to inject Capacitor, Plugins won't work.
This project also uses the capacitor-native-biometric plugin and that one seems to work fine.
I have tried rebuilding the Android project, reïnstalling the dependency but this doesn't seem to work.
Any clue on what the problem could be?

Mhh, i use this plugin successfully in my v4 apps, can you please provide a small reproducable repo?

Closed because no repo provided. If you still have problems please open a new issue


Add *MOUNT command

As a user
I want to be able to remount an SD card without rebooting my Agon
So that I can hot swap SD cards in app

This was added in 1.04 RC3


Index/Slice improvements

WIP: just to show what i am working on
The Plan is (what I need here):
(pseudocode)
let segvec = SegVec::new();
fill(segvec);

let slice = segvec.slice(..);

// planned: subslicing
let subslice = slice[begin..end];

// planned: manual 'Cow', slice to owned:
let new_segvec = SegVec::from(subslice);

Starting bottom up now, extending a 'new_segvec' by Index each element form a slice and push that would be terribly inefficient. So step 1 is the SegmentedIter which walks over (parts of) the segments which can be moved over as whole. Upcoming commits will complete this.
The SegmentedIter is public as well, might be useful in some cases and SegVec doesn't need to hide the fact that it uses segments.
I'll rebase this on master before turning 'draft' into a final PR

Finished for now. Slice iteration is 64% faster :)
Some things are intentionally left open (I have no need for them now, can be added at some later, perhaps by someone else)

Mutable variant:  SegmentedMutIter and make SliceMutIter use it
implement DoubleEndedIterators for Slices

lol again 1 magic #[inline] makes it blazingly fast, actually its faster than SegVec::iter(&self) -> Iter  now.
Eventually this might be merged. This would be a breaking change but should simplify the codebase as only one kind of iterators has to be maintained. (can't be done now because DoubleEndedIterator is not implemented for SliceIter)

Closing in favor of #26 which includes this work, in addition to further improvements.


Expose stored procedures

Allow client to invoke stored procedures by POSTing to /rpc/proc_name with named arguments as keys in the JSON request body.
This is a work in progress. I created a pull request as a place for conversation as the feature evolves.

@begriffs
Major kudos for helping to bring PostgreSQL and Haskell to the masses. My Haskell experience consists of building this branch, so I cannot do much directly to progress this issue.
What do you need to make this happen (feedback/testing/use cases)?
Keep up the great work!

@jmealo thanks, I'd love to hear your ideas for use cases actually. I could then turn them into feature tests and get them passing on this branch.

@begriffs: I'm running this branch now and was wondering how to pass in parameters... I tried this:
POST /rpc/get_descendant_asn_ids?standard_asn_id=S11436A8 HTTP/1.1

{"standard_asn_id": "S11436A8"}

I'm fairly sure it doesn't look for parameters in the URL; but I tried it for good measure.
Will the RPC endpoints simply accept named parameters and cast them to the correct types using introspection?

Yeah it tries to match the json keys in the post body with named params in the stored procedure. What response are you getting when you make that post?
(And you're right, query string params are not passed to stored procs. They are used for filtering output)

The response for that request is:
{
    "message": "Cannot decode byte '\\x0': Data.Text.Internal.Encoding.decodeUtf8: Invalid UTF-8 stream"
}

What return values are accepted? Is it just SET OF, or could it return any type? (I'm not sure how a boolean would handle filter values being passed to it)

It seems like this problem is happening before any of the information even makes it to the database. Can you tell me more about your development machine? What os are you using, and how are you making the post request? I'm wondering if there is a character encoding problem happening, like the post is being made with character encoding of something other than utf8.

My development machine is OSX. The request was used making the Postman app for Chrome.
Here is a curl command that issues an identical request:
curl 'http://<<redacted>>:3000/rpc/get_descendant_asn_ids?standard_asn_id=S11436A8' -H 'Origin: chrome-extension://fdmmgilgnpjigdojojpjoooidkmcomcm' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: en-US,en;q=0.8' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36' -H 'Content-Type: text/plain;charset=UTF-8' -H 'Accept: */*' -H 'Cache-Control: no-cache' -H 'Connection: keep-alive' --data-binary '{"standard_asn_id": "S11436A8"}' --compressed

The server is running Ubuntu 14.04 with Postgres 9.4.4. Here's my pg_config output:
BINDIR = /usr/lib/postgresql/9.4/bin
DOCDIR = /usr/share/doc/postgresql-doc-9.4
HTMLDIR = /usr/share/doc/postgresql-doc-9.4
INCLUDEDIR = /usr/include/postgresql
PKGINCLUDEDIR = /usr/include/postgresql
INCLUDEDIR-SERVER = /usr/include/postgresql/9.4/server
LIBDIR = /usr/lib/x86_64-linux-gnu
PKGLIBDIR = /usr/lib/postgresql/9.4/lib
LOCALEDIR = /usr/share/locale
MANDIR = /usr/share/postgresql/9.4/man
SHAREDIR = /usr/share/postgresql/9.4
SYSCONFDIR = /etc/postgresql-common
PGXS = /usr/lib/postgresql/9.4/lib/pgxs/src/makefiles/pgxs.mk
CONFIGURE = '--with-tcl' '--with-perl' '--with-python' '--with-pam' '--with-openssl' '--with-libxml' '--with-libxslt' '--with-tclconfig=/usr/lib/x86_64-linux-gnu/tcl8.6' '--with-includes=/usr/include/tcl8.6' 'PYTHON=/usr/bin/python' '--mandir=/usr/share/postgresql/9.4/man' '--docdir=/usr/share/doc/postgresql-doc-9.4' '--sysconfdir=/etc/postgresql-common' '--datarootdir=/usr/share/' '--datadir=/usr/share/postgresql/9.4' '--bindir=/usr/lib/postgresql/9.4/bin' '--libdir=/usr/lib/x86_64-linux-gnu/' '--libexecdir=/usr/lib/postgresql/' '--includedir=/usr/include/postgresql/' '--enable-nls' '--enable-integer-datetimes' '--enable-thread-safety' '--enable-tap-tests' '--enable-debug' '--disable-rpath' '--with-uuid=e2fs' '--with-gnu-ld' '--with-pgport=5432' '--with-system-tzdata=/usr/share/zoneinfo' 'CFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -I/usr/include/mit-krb5 -fPIC -pie -DLINUX_OOM_SCORE_ADJ=0 -fno-omit-frame-pointer' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -L/usr/lib/mit-krb5 -L/usr/lib/x86_64-linux-gnu/mit-krb5' '--with-krb5' '--with-gssapi' '--with-ldap' '--with-selinux' 'CPPFLAGS=-D_FORTIFY_SOURCE=2'
CC = gcc
CPPFLAGS = -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2 -I/usr/include/tcl8.6
CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -I/usr/include/mit-krb5 -fPIC -pie -DLINUX_OOM_SCORE_ADJ=0 -fno-omit-frame-pointer
CFLAGS_SL = -fpic
LDFLAGS = -L../../../src/common -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -L/usr/lib/mit-krb5 -L/usr/lib/x86_64-linux-gnu/mit-krb5 -Wl,--as-needed
LDFLAGS_EX =
LDFLAGS_SL =
LIBS = -lpgcommon -lpgport -lselinux -lxslt -lxml2 -lpam -lssl -lcrypto -lgssapi_krb5 -lz -ledit -lrt -lcrypt -ldl -lm
VERSION = PostgreSQL 9.4.4

My locale output:
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

 curl 'http://<redacted>:3000/rpc/get_descendant_asn_ids' -v -X POST -d '{"standard_asn_id": "S11437A4"}'

Gets me:
* Hostname was NOT found in DNS cache
*   Trying <redacted>...
* Connected to <redacted> (<redacted>) port 3000 (#0)
> POST /rpc/get_descendant_asn_ids HTTP/1.1
> User-Agent: curl/7.35.0
> Host: <redacted>:3000
> Accept: */*
> Content-Length: 31
> Content-Type: application/x-www-form-urlencoded
>
* upload completely sent off: 31 out of 31 bytes
< HTTP/1.1 200 OK
< Transfer-Encoding: chunked
< Date: Thu, 06 Aug 2015 20:22:39 GMT
* Server postgrest/<IP_ADDRESS> is not blacklisted
< Server: postgrest/<IP_ADDRESS>
< Content-Type: text/plain
<
* Connection #0 to host <redacted> left intact
S1143ABS1143ABS1143ACS1143ACS1143ACS1143ACS1143ACS1143ACS1143ACS1143ACS1143ACS1143ACS1143ACS1143ACS1143ACS1143ACS1143ACS1143ACS1143ADS1143ADS1143ADS1143ADS1143ADS1143ADS1143ADS1143ADS1143ADS1143ADS1143ADS1143ADS1143ADS1143ADS1143ADS1143ADF

That seems to have fixed the error, however, the expected output is an array of char(8)'s. This isn't even the string representation of that, which I'd expect to be {item1,item2,item3}.

Interestingly enough, another similar function does not work and returns the same error as before:
$ curl 'http://<redacted>:3000/rpc/get_descendant_standards_nodes' -v -X POST -d '{"standard_asn_id": "S11437A4"}'

Returns:
* Hostname was NOT found in DNS cache
*   Trying <redacted>...
* Connected to <redacted> (<redacted>) port 3000 (#0)
> POST /rpc/get_descendant_standards_nodes HTTP/1.1
> User-Agent: curl/7.35.0
> Host: <redacted>:3000
> Accept: */*
> Content-Length: 31
> Content-Type: application/x-www-form-urlencoded
>
* upload completely sent off: 31 out of 31 bytes
< HTTP/1.1 500 Internal Server Error
< Transfer-Encoding: chunked
< Date: Thu, 06 Aug 2015 20:28:22 GMT
* Server postgrest/<IP_ADDRESS> is not blacklisted
< Server: postgrest/<IP_ADDRESS>
< Content-Type: application/json
<
* Connection #0 to host spark0.slatepowered.net left intact
{"message":"Cannot decode byte '\\xff': Data.Text.Internal.Encoding.decodeUtf8: Invalid UTF-8 stream"}

It might be worth noting there are two forms of each of these functions, one that takes a depth parameter as an integer and one that does not. I'm not sure if that's at play here. It seems unlikely though due to the fact that the working one has two forms as well.

I think I see what's going on. My first test (the current code in this branch) tries to read the result of the stored procedure as if it is a single column of text. For sets of multiple columns it is not happy.

@jmealo I think this branch is ready to merge now, would you mind pulling it and trying your examples again to check that it fixed things?


New Lastkajen

So the new Lastkajen is out: https://lastkajen2-p.ea.trafikverket.se/ and it seems that you can't get the data by kommun anymore but only by län...

That was a bummer... I've sent an email to Trafikverket asking about it, maybe they haven't just added them yet.
Even if we need to split further later to make smaller work packages, if we start with Län we would need to split the shape files before the script runs, which will probably be much more work to implement.
I looked into one of the NVDB zip files and some of the contents have changed too, but it seems to be very minor so shouldn't be a problem.

I got answer from Trafikverket, it's set in stone and they won't do any municipality splits this time, so eventually we'll need to make our own split. I may look into that later, unclear when though as I've started working on some other projects.

Seems like they have broken the STARTAVST/SLUTAVST and some other real number fields in the shape file data, geopandas can no longer parse the values:
WARNING - Value '0,625685351085803.000000000000000' of field Västerbottens_län_ShapeNVDB_DK_O_38_FunkVagklass.STARTAVST parsed incompletely to real 0.
2021-04-14 21:45:38,980 - WARNING - Value '0,818811758280823.000000000000000' of field Västerbottens_län_ShapeNVDB_DK_O_38_FunkVagklass.SLUTAVST parsed incompletely to real 0.
Seems like the problem is that there is both , and . in the number. I've sent a new email to Trafikverket about that issue.

Oh, if I actually had read on the Lastkajen website I would have seen this:
Problem med shape-filer
2021-04-09
Just nu har vi problem med beställningar i formatet shape. Berör alla företeelsetyper med sträckutbredning och attributvärden med flyttal. Flyttal omvandlas till integer(heltal)

Haha oh god. This seems to be a bigger topic.
I guess if we can find some outlines of the municipalities then we can probably divide the files ourselves. There are for sure some commandline tools that can cut the shapefiles. Alternatively we can process the whole län and then use osmosis to generate smaller files from a large OSM file...

I have started the work to update the script to handle the data from new lastkajen. There will be a split script to split the läns files to kommun-sized files, and then update the nvdb2osm script to handle the minor changes in names etc.

Awesome! How are you doing the split into he kommun-sizes?
There was some discussion in the facebook group, that it might make sense to split the län in maybe even smaller chunks so it's easier to do one chunk in one go. I think maybe a simple rectangular raster would be fine as well?

I run split in a separate script that reads a Län shape.zip archive and then writes new zip archives one for each kommun. The borders are defined in a Lantmäteriet 1:100000 data file which I will upload as a part of this script, as it is important that the exact borders are kept the same between runs.
Then the commun shape files are processed normally with the old script, or almost normally, one need to tell it which kommun it is processing so it can keep track of the borders, otherwise the geometry that crosses borders will no be clean as different layers extend different distances outside the border.
I think it would be nice to have kommun as the upper unit, and then split each kommun more using a raster or some other fixed geometry. It would be possible to make custom splits as long as the geometry is made part of the script. One idea is to make an automated split based on number of segments (ie smaller areas in big cities and bigger in rural areas), and then record that split once as a fixed geometry that is then used as reference by the split script.

I have now pushed a patch that makes it possible to generate OSM from the new lastkajen data. However one needs to run the split script first to generate new zip files, example:
split_nvdb_data.py --lanskod_filter 25 Norrbottens_län_Shape.zip output
That will put zip files (Luleå.zip, Boden.zip ... etc) with shape files in the directory 'output'.
Then you run nvdb2osm normally, with a municipality filter set:
nvdb2osm.py -v --municipality_filter Luleå --railway_file=Järnvägsnät_grundegenskaper.zip output/Luleå.zip luleå.osm
There are likely a few bugs left (just got a crash when converting Stockholm...) as there has been some minor changes to NVDB data here and there and I have probably not fixed all, so there will be some follow on patches. A cloud batch run of all municipalities like we did before would be great so I can see which municipalities that fail and fix those issues specifically.

Stockholm is now passing as well. Closing this to make clear new Lastkajen is now working. Open new issues for any followup problems


Make it into a Babel plugin

See as an example https://www.npmjs.com/package/jsx-control-statements
This would make the callback syntax redundant.

Thanks for the recommendation. Not sure how to approach this though. I'm also pretty neutral on Babel. No matter who will do this, it should be a separate package.

I will close this since I don't have time work on this, if anyone is interested please reopen.


feat(ERROR): propagate the actual axios error information

Hi @castilh0s,
I was hoping you might consider this PR.
The original Axios status code is lost, when the error is rethrown like this.
The status code is useful for detecting rate-limiting, or user not found scenarios...
I'd like to propose just throwing the original Axios error instead.
(Alternatively, I would propose a custom error for your library, which would encapsulate the status code from Axios... you may prefer this... I'm happy to modify the PR to suit this as well.)
Thanks again for this library!

I sat down and gave this another look, and revised the PR to decouple the propagated error from an Axios error.  This allows you to switch out Axios in the future, and still retain the ability to commit to an error interface.
Have look, I think this is a cleaner solution.

And the white space is cleaned up.


update packages

:white_check_mark: Build TheIdServer 7.4.7-fix-dependencies1-0120 completed (commit https://github.com/Aguafrommars/TheIdServer/commit/5369f51a6f by @invalid-email-address)


Prevent error on missing GitHub pageInfo response

This PR checks for missing pageInfo attributes from Github's api. This should be an extremely uncommon occurrence, but has happened in production, so this check will prevent the sync:projects command from failing if it happens again.

Thanks @faxblaster!


Update uk.coffee

Add translation of lines 185-233 ("code" section)

Thank you, @Mihbo

You're welcome.
17.05.2016 19:19, Imperadeiro98<EMAIL_ADDRESS>
Thank you, @Mihbo

You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/codecombat/codecombat/pull/3645#issuecomment-219771278


Warning BCP187: The property "sku" does not exist in the resource definition, although it might still be valid.

When deploying an Azure Bastion host via Bicep,
Warning BCP187: The property "sku" does not exist in the resource definition, although it might still be valid.
appears.
resource bastionHosts_bas_corp_prod_test_name_resource 'Microsoft.Network/bastionHosts@2020-11-01' = {
  name: bastionHosts_bas_corp_prod_test_name
  location: reslocation
  tags: {
    costCenter: ''
    env: ''
    vnet: 'vnet-corp-prod-010-024-test'
    purpose: ''
    businessCriticality: ''
  }
  sku: {
    name: 'Basic'

If this is an inaccuracy in the documentation, please report it to the Bicep Team

Can you confirm that having the sku property declared is having the desired effect? Sometimes declared properties can be ignored by the resource provider if it is not recognized.

2020-11-01 is a pretty old bastion api version.  The sku property seems to have been introduced in 2021-08-01.

Good spot @afscrome :) Thanks for looking.


Math implementation with statrs

#153 Use external library statrs to implement special function erf, erfc, gamma, lgamma

Oh, I didn't realize the rustfmt issue, I will revert my last change

Fantastic!


Skip alignments that are actually not aligned

extend_seed may return alignments with is_unaligned set to true if Aligner::align fails to align a sequence.
If all NAMs result in such "unaligned alignments", there’s no best alignment, and we need to ensure that we output an unmapped read.

Good catch, approved!


Can't detect installed Microsoft Store Win32 (not UWP) apps by ID (example: PowerToys)

Brief description of your issue
Background
PowerToys is available in Microsoft Store as Win32 app, with ID XP89DCGQ3K6VLD.
I consider apps that has been submitted and allowed inside Microsoft Store to more safe to install, than what has been submitted to the winget-pkgs manifest. (Maybe that's a wrongful assumption, but that's not really the point here.) Thus I'd like to to use Microsoft Store ID rather than winget-pgks PackageIdentifier where possible.
Details
winget install XP89DCGQ3K6VLD works.
winget list XP89DCGQ3K6VLD and winget upgrade XP89DCGQ3K6VLD does not, winget says "No installed package found matching input criteria".
Instead one have to use winget list Microsoft.PowerToys and winget upgrade Microsoft.PowerToys.
This seems to be a gap in functionalitym or a not yet thought about scenario. Or is this intended behavior?
Steps to reproduce
Designed to be run from SYSTEM context, as I'm labbing on automating updates of applications from Intune.
#Requires -RunAsAdministrator
<#
    .SYNOPSIS
        Testing limitations with Winget + Microsft Store apps that is not UWP.
#>

# Find winget-cli from SYSTEM context
$Winget = [string](
    '{0}\AppInstallerCLI.exe' -f (
        [System.IO.Directory]::GetDirectories(
            ('{0}\WindowsApps' -f $env:ProgramW6432),
            'Microsoft.DesktopAppInstaller_*x64*_8wekyb3d8bbwe'
        )
    )
)

# Check winget version
cmd /c ('"{0}" --version' -f $Winget)
cmd /c ('"{0}" --info' -f $Winget)

# Check for update
## Does not work
cmd /c ('"{0}" list --id XP89DCGQ3K6VLD' -f $Winget)
## Works
cmd /c ('"{0}" list --id Microsoft.PowerToys' -f $Winget)
cmd /c ('"{0}" upgrade' -f $Winget)

# Install
## Works
cmd /c ('"{0}" install --id XP89DCGQ3K6VLD --silent --accept-package-agreements --accept-source-agreements' -f $Winget)
cmd /c ('"{0}" install --id Microsoft.PowerToys --silent --accept-package-agreements --accept-source-agreements' -f $Winget)

# Update
## Does not work
cmd /c ('"{0}" upgrade --id XP89DCGQ3K6VLD --silent --accept-package-agreements --accept-source-agreements' -f $Winget)
## Works
cmd /c ('"{0}" upgrade --id Microsoft.PowerToys --silent --accept-package-agreements --accept-source-agreements' -f $Winget)

Expected behavior
Preferably Microsoft Store packages that is wrapped up Win32 installers should have a detection rule.
Actual behavior
No installed package found matching input criteria.
Environment
PS C:\WINDOWS\system32> cmd /c ('"{0}" --info' -f $Winget)
Windows Package Manager v1.1.0
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.22000.318

Logs: %TEMP%\WinGet

Links
---------------------------------------------------------------------------
Privacy Statement   https://aka.ms/winget-privacy
License Agreement   https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage            https://aka.ms/winget
Windows Store Terms https://www.microsoft.com/en-us/storedocs/terms-of-sale

PS C:\WINDOWS\system32>

Duplicate of #1562


Tree shaking is not working when invoking lib in vue component

Describe the bug
I create a common util lib for sharing. I expect other app to tree shake what they want to use. But the whole lib is bundled.
I have tried sideEffects but not works
Reproduction
git@github.com:Fnxxxxo/vite-tree-shake-issue.git
Steps to reproduce

yarn install
Cd into utils and mobile. Run yarn build
Check mobile.es.js in dist folder of mobile project

It should not be over 20 lines code. But is result in 1000+
System Info
System:
    OS: Windows 10 10.0.19045
    CPU: (12) x64 Intel(R) Xeon(R) W-10855M CPU @ 2.80GHz
    Memory: 18.59 GB / 31.64 GB
  Binaries:
    Node: 20.8.0 - D:\Program Files\nodejs\node.EXE
    Yarn: 1.22.19 - D:\Program Files (x86)\Yarn\bin\yarn.CMD
    npm: 10.1.0 - D:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: Spartan (44.19041.3570.0), Chromium (118.0.2088.61)

Used Package Manager
yarn
Logs
No response
Validations

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

Issue seems like crypto-js cannot be tree-shaken, if you use crypto-es for the same thing, you get the expected bundle size.
// same code for both, just JS→ES
import CryptoES from 'crypto-es';
// import CryptoJS from 'crypto-js';

export const unusedFn = (msg: string, key: string) => {
  const encrypted = CryptoES.AES.encrypt(msg, CryptoES.enc.Utf8.parse(key), {
    mode: CryptoES.mode.ECB,
    padding: CryptoES.pad.Pkcs7,
  });
  return encrypted.ciphertext?.toString(CryptoES.enc.Hex);
};

// export const unusedFn = (msg: string, key: string) => {
//   const encrypted = CryptoJS.AES.encrypt(msg, CryptoJS.enc.Utf8.parse(key), {
//     mode: CryptoJS.mode.ECB,
//     padding: CryptoJS.pad.Pkcs7,
//   });
//   return encrypted.ciphertext.toString(CryptoJS.enc.Hex);
// };

-- CryptoJS

-- vs CryptoES

Issue seems like crypto-js cannot be tree-shaken, if you use crypto-es for the same thing, you get the expected bundle size.
// same code for both, just JS→ES
import CryptoES from 'crypto-es';
// import CryptoJS from 'crypto-js';

export const unusedFn = (msg: string, key: string) => {
  const encrypted = CryptoES.AES.encrypt(msg, CryptoES.enc.Utf8.parse(key), {
    mode: CryptoES.mode.ECB,
    padding: CryptoES.pad.Pkcs7,
  });
  return encrypted.ciphertext?.toString(CryptoES.enc.Hex);
};

// export const unusedFn = (msg: string, key: string) => {
//   const encrypted = CryptoJS.AES.encrypt(msg, CryptoJS.enc.Utf8.parse(key), {
//     mode: CryptoJS.mode.ECB,
//     padding: CryptoJS.pad.Pkcs7,
//   });
//   return encrypted.ciphertext.toString(CryptoJS.enc.Hex);
// };

-- CryptoJS
-- vs CryptoES

But my utils project is ESM support. Even crypto-js is not tree shaking friendly, the encapsulated function in utils is not used in app. I think this function should be removed, which causes the crypto-js being removed in the final bundle.


Support basic next/image loading

This implements basic support for serving the images requested by next/image and next/future/image. The big missing features are:

image width resizing (and thus blurry image placeholders)
image quality encoding
format re-encoding

This required a lot more work than I expected, because we have to also override the remotePatterns to allow using next/image with remote images. The only way I found to do this was to override the __NEXT_IMAGE_OPTS env var, which is a special object value injected by webpack's DefinePlugin as if it were an process.env value.
Fixes https://github.com/vercel/web-tooling-internal/issues/5
Porting from https://github.com/vercel/the-three-body/pull/212

Ok, rebased and added a basic integration test.

Ping @sokra @wbinnssmith, this is ready for review

🎉


Add union!!

Codecov Report

Merging #132 into master will increase coverage by 2.18%.
The diff coverage is 60%.

@@            Coverage Diff             @@
##           master     #132      +/-   ##
==========================================
+ Coverage   89.21%   91.39%   +2.18%
==========================================
  Files          20       20
  Lines         343      337       -6
==========================================
+ Hits          306      308       +2
+ Misses         37       29       -8

Impacted Files
Coverage Δ

src/BangBang.jl
100% <ø> (ø)
:arrow_up:

src/base.jl
85.71% <60%> (+9.04%)
:arrow_up:

src/NoBang/base.jl
94.66% <0%> (-1.34%)
:arrow_down:

Continue to review full report at Codecov.

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


Feat/callback state

Added state parameter to du.callback support more state supplies such as token or current session
Added usage example for it

Ref: https://github.com/fohrloop/dash-uploader/issues/104

@fohrloop
The reason I didn't add more tests here is because the current tests are a bit difficult to run on my local machine. If feasible, I will concentrate on adding more tests after more issues are resolved.

当前这个修改在我的场景中已经良好运转有很长一段时间，示例：
@du.callback(
    output=[
        PREVIEW_IMAGE_ID.get_output("children"),
        UPLOAD_IMAGE_LOADING_ID.get_output("children"),
        LOGIN_MODAL_ID.get_output("is_open"),
    ],
    state=[
        SESSION_STORE_ID.get_state("data"),
        TOKEN_STORE_ID.get_state("data"),
    ],
    id=UPLOAD_IMAGE_ID.get_identifier(),
)
def callback_on_completion(status: du.UploadStatus, session_id, token):
    if session_id != status.upload_id:
        return no_update, status_alert("Session mismatch.", color="danger"), no_update

    if (not token) or (not is_valid_token(token)):
        return no_update, status_alert("Login required.", color="danger"), True

    session = Session.load(session_id)
    if not session:
        return no_update, status_alert("Session not found.", color="danger"), no_update

    if status.is_completed:
        return (
            render_images(session),
            status_alert(
                f"Successfully uploaded {status.n_uploaded}/{status.n_total}.",
                color="green",
            ),
            no_update,
        )
    return (
        render_images(session),
        status_alert(f"Uploading {status.n_uploaded}...", color="green"),
        no_update,
    )

Hi @mapix ,
Glad to see this one getting a fix. Tests would be nice though; what could be done to make testing easier on your local machine?
I don't think I have too much time to contribute on this project, but could we get some user to comment this change? Or someone from your team?
@salvocamiolo / @salvo-camiolo ?
Niko

@fohrloop
The reason for the difficulty with tests is that I always have a critical Case failure on my Mac, but I cannot determine for a while whether it is due to differences in the logic of handling unlink files between Windows and Mac. This error is not related to the current changes. I wonder if other contributors have encountered this issue as well.
Regarding more contributors, @Sisyphus235  from my team will collaborate more on this project.
================================================================================================== test session starts ==================================================================================================
platform darwin -- Python 3.10.12, pytest-7.4.3, pluggy-1.3.0 -- /Users/wfluo/miniconda3/envs/dash/bin/python
cachedir: .pytest_cache
rootdir: /Users/wfluo/workspaces/dash-uploader
configfile: pytest.ini
testpaths: tests/
plugins: anyio-3.7.1, dash-2.13.0
collected 8 items

tests/test_chromedriver.py::test_chromedriver_version_okay PASSED                                                                                [ 12%]
tests/test_usage.py::test_render01_render_component PASSED                                                                                [ 25%]
tests/test_usage.py::test_upload01_upload_a_file PASSED                                                                                [ 37%]
tests/test_disabled.py::test_disabled01_check_disabled_property_update PASSED                                                                                [ 50%]
tests/test_disabled.py::test_disabled02_check_disabled_effect PASSED                                                                                [ 62%]
tests/test_uploading_same_file_twice_with_errors.py::test_uploadtwice01_upload_a_file_twice_and_reserve_it PASSED                                                                                [ 75%]
tests/test_uploading_same_file_twice_with_errors.py::test_uploadtwice02_upload_a_file_twice_with_error FAILED                                                                                [ 87%]
tests/test_uploadstatus.py::test_uploadstatus_creation_and_serialization PASSED                                                                                [100%]

======================================================================================================= FAILURES ========================================================================================================
___________________________________________________________________________________ test_uploadtwice02_upload_a_file_twice_with_error ___________________________________________________________________________________

dash_duo = <dash.testing.composite.DashComposite object at 0x10775ca30>, testfile10kb_csv = PosixPath('/Users/wfluo/workspaces/dash-uploader/tests/testfile_for_reupload.csv')
testfile10kb_2_csv = PosixPath('/Users/wfluo/workspaces/dash-uploader/tests/testfile2_for_reupload.csv')

    def test_uploadtwice02_upload_a_file_twice_with_error(
        dash_duo, testfile10kb_csv, testfile10kb_2_csv
    ):
        # Same as test_uploadtwice01_upload_a_file_twice_and_reserve_it
        # but force an error

        # This app does not have retries on the "remove_file"
        # function, and therefore the error alert will appear
        # to the user instantly. (to make tests faster)
        app = import_app("tests.apps.testapp_noretry_remove_file")
        dash_duo.start_server(app)

        def upload_file(file_to_upload):
            # User sees the component
            upload = dash_duo.find_element("#dash-uploader")

            # Upload the file.
            # Clicking the upload component would open a file dialog and
            # this would require the tests to use OS specific GUI tools
            # to select the file. This could be added in the future but it's
            # probably very this would be broken
            upload_input = upload.find_element(
                By.XPATH, "//input[@name='dash-uploader-upload']"
            )
            upload_input.send_keys(str(file_to_upload))

        upload_file(testfile10kb_csv)

        # Wait for "Completed: testfile_for_reupload.csv" text, with 10 second timeout
        WebDriverWait(dash_duo._driver, 10).until(
            EC.text_to_be_present_in_element(
                (By.XPATH, "//div[@id='dash-uploader']/*/label"), testfile10kb_csv.name
            )
        )

        # Get the div with the output values
        callback_output = dash_duo.find_element("#callback-output")
        # Get the name of the uploaded file
        uploaded_file = callback_output.find_element(By.XPATH, "//ul").text
        uploaded_file = Path(uploaded_file)

        assert uploaded_file.name == testfile10kb_csv.name
        assert uploaded_file.exists()
        assert uploaded_file.stat().st_size == testfile10kb_csv.stat().st_size

        # Upload another file to change the labels.
        upload_file(testfile10kb_2_csv)
        # Wait for "Completed: testfile2_for_reupload.csv" text, with 10 second timeout
        WebDriverWait(dash_duo._driver, 10).until(
            EC.text_to_be_present_in_element(
                (By.XPATH, "//div[@id='dash-uploader']/*/label"), testfile10kb_2_csv.name
            )
        )
        # Wait that the callback for the 'testfile2_for_reupload.csv' has been fired.
         Do not use it in a production deployment. Use a production WSGI server instead.
 * Running on http://<IP_ADDRESS>:58055
15:13:03 | INFO | werkzeug:224 | Press CTRL+C to quit
15:13:03 | INFO | werkzeug:224 | <IP_ADDRESS> - - [27/Nov/2023 15:13:03] "GET / HTTP/1.1" 200 -
15:13:03 | INFO | werkzeug:224 | <IP_ADDRESS> - - [27/Nov/2023 15:13:03] "GET / HTTP/1.1" 200 -
15:13:03 | INFO | werkzeug:224 | <IP_ADDRESS> - - [27/Nov/2023 15:13:03] "GET<EMAIL_ADDRESS>HTTP/1.1" 200 -
15:13:03 | INFO | werkzeug:224 | <IP_ADDRESS> - - [27/Nov/2023 15:13:03] "GET<EMAIL_ADDRESS>HTTP/1.1" 200 -
15:13:03 | INFO | werkzeug:224 | <IP_ADDRESS> - - [27/Nov/2023 15:13:03] "GET<EMAIL_ADDRESS>HTTP/1.1" 200 -
15:13:03 | INFO | werkzeug:224 | <IP_ADDRESS> - - [27/Nov/2023 15:13:03] "GET /_dash-component-suites/dash_uploader/_build/dash_uploader.v0_7_0-a2m1698038156.min.js HTTP/1.1" 200 -
15:13:03 | INFO | werkzeug:224 | <IP_ADDRESS> - - [27/Nov/2023 15:13:03] "GET<EMAIL_ADDRESS>HTTP/1.1" 200 -
15:13:03 | INFO | werkzeug:224 | <IP_ADDRESS> - - [27/Nov/2023 15:13:03] "GET /_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_13_0m1697123469.min.js HTTP/1.1" 200 -
15:13:03 | INFO | werkzeug:224 | <IP_ADDRESS> - - [27/Nov/2023 15:13:03] "GET /_dash-component-suites/dash/dcc/dash_core_components.v2_12_0m1697123469.js HTTP/1.1" 200 -
15:13:03 | INFO | werkzeug:224 | <IP_ADDRESS> - - [27/Nov/2023 15:13:03] "GET /_dash-component-suites/dash/dcc/dash_core_components-shared.v2_12_0m1697123469.js HTTP/1.1" 200 -
15:13:03 | INFO | werkzeug:224 | <IP_ADDRESS> - - [27/Nov/2023 15:13:03] "GET /_dash-component-suites/dash/html/dash_html_components.v2_0_14m1697123470.min.js HTTP/1.1" 200 -
15:13:03 | INFO | werkzeug:224 | <IP_ADDRESS> - - [27/Nov/2023 15:13:03] "GET /_dash-component-suites/dash/dash_table/bundle.v5_2_7m1697123469.js HTTP/1.1" 200 -
15:13:04 | INFO | werkzeug:224 | <IP_ADDRESS> - - [27/Nov/2023 15:13:04] "GET /_dash-layout HTTP/1.1" 200 -
15:13:04 | INFO | werkzeug:224 | <IP_ADDRESS> - - [27/Nov/2023 15:13:04] "GET /_dash-dependencies HTTP/1.1" 200 -
15:13:04 | INFO | werkzeug:224 | <IP_ADDRESS> - - [27/Nov/2023 15:13:04] "GET /_favicon.ico?v=2.13.0 HTTP/1.1" 200 -
15:13:04 | INFO | werkzeug:224 | <IP_ADDRESS> - - [27/Nov/2023 15:13:04] "POST /API/dash-uploader HTTP/1.1" 200 -
15:13:04 | INFO | werkzeug:224 | <IP_ADDRESS> - - [27/Nov/2023 15:13:04] "POST /_dash-update-component HTTP/1.1" 200 -
15:13:04 | INFO | werkzeug:224 | <IP_ADDRESS> - - [27/Nov/2023 15:13:04] "POST /_dash-update-component HTTP/1.1" 204 -
15:13:04 | INFO | werkzeug:224 | <IP_ADDRESS> - - [27/Nov/2023 15:13:04] "POST /API/dash-uploader HTTP/1.1" 200 -
15:13:04 | INFO | werkzeug:224 | <IP_ADDRESS> - - [27/Nov/2023 15:13:04] "POST /_dash-update-component HTTP/1.1" 200 -
15:13:04 | INFO | werkzeug:224 | <IP_ADDRESS> - - [27/Nov/2023 15:13:04] "POST /_dash-update-component HTTP/1.1" 204 -
15:13:04 | INFO | werkzeug:224 | <IP_ADDRESS> - - [27/Nov/2023 15:13:04] "POST /API/dash-uploader HTTP/1.1" 200 -
15:13:04 | INFO | werkzeug:224 | <IP_ADDRESS> - - [27/Nov/2023 15:13:04] "POST /_dash-update-component HTTP/1.1" 200 -
=================================================================================================== warnings summary ====================================================================================================
tests/test_chromedriver.py::test_chromedriver_version_okay
  /Users/wfluo/miniconda3/envs/dash/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py:390: DeprecationWarning: HTTPResponse.getheader() is deprecated and will be removed in urllib3 v2.1.0. Instead use HTTPResponse.headers.get(name, default).
    if response.getheader('Content-Type'):

tests/test_chromedriver.py::test_chromedriver_version_okay
  /Users/wfluo/miniconda3/envs/dash/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py:391: DeprecationWarning: HTTPResponse.getheader() is deprecated and will be removed in urllib3 v2.1.0. Instead use HTTPResponse.headers.get(name, default).
    content_type = response.getheader('Content-Type').split(';')

tests/test_usage.py: 25 warnings
tests/test_disabled.py: 175 warnings
tests/test_uploading_same_file_twice_with_errors.py: 56 warnings
  /Users/wfluo/miniconda3/envs/dash/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py:390: DeprecationWarning:

  HTTPResponse.getheader() is deprecated and will be removed in urllib3 v2.1.0. Instead use HTTPResponse.headers.get(name, default).

tests/test_usage.py: 25 warnings
tests/test_disabled.py: 175 warnings
tests/test_uploading_same_file_twice_with_errors.py: 56 warnings
  /Users/wfluo/miniconda3/envs/dash/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py:391: DeprecationWarning:

  HTTPResponse.getheader() is deprecated and will be removed in urllib3 v2.1.0. Instead use HTTPResponse.headers.get(name, default).

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
====================================================================================== 1 failed, 7 passed, 514 warnings in 47.66s =======================================================================================


cpp: Add documentation about Pigweed as a solution

Include documentation about:

some C++ features via Pigweed
instructions how to setup Pigweed

This PR addresses some aspects of #53851 by giving guidance but not making Pigweed the 'selected' approach to C++.

This goes against what was discussed in the TSC meeting on 2023-08-30 regarding recommending using pigweed to make up for currently unimplemented C++ features in the main Zephyr code (see MoM https://docs.google.com/document/d/1cMkXkFN-Yje-7zIGZmWMfkrVCju85UNnKDfjng9vEv0/edit#heading=h.8cm9xcy7g2ul).
Adding pigweed references to the "Language Support" section of the main Zephyr documentation leads users to believe that this is the approach recommended by the Zephyr project, which the TSC discussion did not conclude.

I read through all the notes before putting this PR together. I'm happy to discuss further, but we never excluded this from going into documentation. The discussion went around the use of it as a module and the delegation of saying "we're going to make this official". Unfortunately the meetings notes seem to be missing a key detail that I'm recalling which is that we did discuss having documentation for modules that we want to advertise but aren't in the manifest yet. Putting this in the C++ documentation is the most natural place IMO.
Happy to discuss further.

@henrikbrixandersen @yperess @nashif
I think a middle-ground may work here. We could add documentation for Pigweed in a separate section (i.e. move pigweed.rst elsewhere which by the way in my opinion is separate from the goal pursued in https://github.com/zephyrproject-rtos/zephyr/pull/61505, which just documents a list of all modules, and does not add specific module documentation) and then link to it from the C++ language support page:
for an alterntative approach to C++ support please see Pigweed
But for that we would need  modules top-level section in the doc that could document at least the default modules provided by Zephyr.

goal pursued in #61505, which just documents a list of all modules, and does not add specific module documentation) and then link to it from the C++ language support page:

that is not correct, see https://github.com/zephyrproject-rtos/zephyr/pull/61505/files#diff-c22a8fff0128e724a948e334206112f304cb2c0a00e4429abade35390dd7d890R130

@yperess  the idea was to add such documentation under external modules as being introduced in this PR https://github.com/zephyrproject-rtos/zephyr/pull/61505

Sure, seems easy enough to just relocate the pigweed.rst. I just put it where people would most naturally look for it. We can either:

merge this and move it when your PR lands
wait and rebase when your PR lands

Personally I would prefer to land and move later just to have less things up in the air at the same time. The current layout (without the optional modules) makes sense to me and even with optional modules I would put a :ref: to the Pigweed docs from the C++ docs. So i guess I'm not seeing the harm in this being an interim solution.

goal pursued in #61505, which just documents a list of all modules, and does not add specific module documentation) and then link to it from the C++ language support page:

that is not correct, see https://github.com/zephyrproject-rtos/zephyr/pull/61505/files#diff-c22a8fff0128e724a948e334206112f304cb2c0a00e4429abade35390dd7d890R130

OK, sorry I misunderstood this. Then I suggest we merge #61505 first and then add the link to it from the C++ language page.

OK, sorry I misunderstood this. Then I suggest we merge #61505 first and then add the link to it from the C++ language page.

fwiw #61605 has now been merged. cc @yperess

@yperess did you want to revisit this one?

@yperess did you want to revisit this one?

Yes please, I'll rebase

No code/doc changes, just a raw rebase. @kartben @nashif , what's the process for this now? Do I need to propose Pigweed as an addition to submanifests/optional.yaml? The original goal here was just to document that the option exists, I worry that adding it to the submanifest and having to request a fork will be a bit too much right now.

@nashif can you help here? I don't think we have a requirement for optional modules to live as a fork under the zephyrproject-rtos GH org but I am not sure.

@nashif can you help here? I don't think we have a requirement for optional modules to live as a fork under the zephyrproject-rtos GH org but I am not sure.

Well they are fetched in CI, worth having the conversation but it may not be a bad idea to keep doing so.

@nashif can you help here? I don't think we have a requirement for optional modules to live as a fork under the zephyrproject-rtos GH org but I am not sure.

there is a requirement, ?"optional modules" are not enabled/active by default, but otherwise follow the same requirement as enabled and active modules, external projects are those which do not exist in the manifest and do not need to be in the zephyr project org:
https://docs.zephyrproject.org/latest/contribute/external.html#integration-as-external-modules

just submitted a PR for the template...
#66860


Fix invokable for objects with custom prototypes

@vlasy: I have published this change (along with a few other springcleaning changes) in version 1.0.3-rc0. Please try it out, and if it works for you, I will publish it again under version 1.0.3 proper.

@kourge Works like a charm. Thanks 👍

@vlasy: Thank you for testing. I've published version 1.0.3.


Search for css selectors using the parent element

Perhaps I was using the _css property incorrectly and this is unnecessary, but I think this is needed to allow setting of custom css via _css.
This notebook illustrates the issue: https://gist.github.com/5155b92539f0e9a6deeb
On the current master branch of ipywidgets, this outputs 'hello!' in black. With this PR, it outputs in red.

@ngoldbaum thanks, this is great. However, the commit isn't linked to your GitHub account.  Do you want me to wait to merge this until you fix that?

Thanks for pointing that out! Should be fixed now.

Thanks!


Added Show In Dock property to MonoMacPlatform

Have you checked that it actually works? (read: do I need to run it on my Mac machine?)