[DO NOT MERGE] Remove parallelism from smoke tests for debugging

This is a test PR to observe the CI system running smoke tests sequentially instead of in parallel. It may then be easier to determine how tests are being duplicated.
Refs https://github.com/elastic/apm-agent-java/issues/1002

I have what I need from this for the time being. Closing so that it doesn't linger in anybody's workflow. :)

This was only a temporary PR designed just to test one thing in the CI. It should remain closed.


MRG, FIX: Speed up I/O tests, mark some slow

Speeds up the H5 info round-trip test by changing some list of dict to dict of array and back (saves 9 sec locally in the BTi test because there are >3k dig points). Eventually we can make use of this in things that use write_hdf5 if we find that they are slow in practice. I looked and currently TFR seems to be the only place this might be useful but the implementation was not going to be trivial because we support writing lots at once, but we can revisit it later if need be.
Tightens up our use of types to be more consistent across readers (it makes object_diff happy but should be a good idea in general).
Also marks a couple more tests as slow that keep showing up in macOS like:
https://travis-ci.org/github/mne-tools/mne-python/jobs/697952162#L3269

OSX is much safer at 42 minutes now (50 min limit), pushing a commit to change not ultraslowtest to not slowtest on Azure since those are all very close to their 60 minute limit currently. After that I'll merge, but @agramfort if you have comments I can make a follow-up PR

thx @larsoner !


Upgrade to dune 3

Upgrading to dune 3 has several benefits:

supports features allowing a more sane compile-time configuration (one example is #10761)
in some cases, improves the build performance (see #10503)
we would benefit from a huge number of various fixes and improvements (see dune changelog)

The upgrade itself should not be too hard. Some packages conflict with dune 3 but it turns out the conflicts are entirely artificial, as dune 3 is retro-compatible.

ocamlformat: I'm currently trying to relax the constraint (by finding where it is, first). We could also upgrade ocamlformat instead, but that mean would reformating most files, so I want to avoid that.

The conflict is on odoc. It was broken in two packages odoc and odoc-parser in version 2.0.0 and earlier ocamlformat don't know that. Unfortunately, dune > 3 explicitly conflicts with odoc < 2.0.0. We must either:

remove the conflict on dune
patch ocamlformat.0.15.0 to understand the newer  odoc packages
upgrade ocamlformat, anyway

I'm in favour of upgrading ocamlformat and accepting the one-time pain.

I'm in favour of upgrading ocamlformat and accepting the one-time pain.

I tend to agree. I'll check if we can make the .ocamlformat file explicit enough with the current version, so that the changes when upgrading are minimal. There will probably still be a lot.
The target for upgrading is 0.20.1, the last version that doesn't require a breaking cmdliner upgrade (that can come later).

PRs https://github.com/MinaProtocol/mina/pull/10896 and https://github.com/MinaProtocol/mina/pull/10906 try to achieve this. Hopefully they can get merged.

Got all approvals, now to merge cleanly when there's not too much activity on the branches.

Conflicts are resolved and PRs are in sync. If the CI passes in time, I'll merge.

Merged!


Fix failing test

What

Change how a test grabs a console log message
I think the array of console logs now only has one entry in it with all the console logs in, instead of one entry per console log. Therefore we only need to check the first entry for the inclusion of the 'Accessibility issues' message

Why

Fixes a failing test

Visual Changes

Before
After

Closing as it's caused by Capybara instead of us


Add https usage example to instruction

Checked when this was implemented, so I'm closing this issues


Upgrade yarn, fix storybook, uprade to SDK 3.7.0

Required for https://github.com/hyperlane-xyz/issues/issues/1046

Build error can be ignored. Fixed in https://github.com/hyperlane-xyz/hyperlane-monorepo/pull/3250
Published version has fixes already


[Question] Automated submission

Could this crate at a later date optionally allow for sending the report on behalf of the user if they allow it rather than manual submission from the user? Or would that be the responsibility of another crate that builds off this one?

This kind of stuff is nice but a lot of details to work through

privacy
where to upload
how to analyze

I wonder if something like breakpad can be used. Ideally a company would offer hosting travis-style.

Also to note: you are currently in a panicking program. Any panic in the submission process will abort.

I wonder what the lowest effort approach to this would be? I'm thinking exposing a hook of sorts might make the most sense.
e.g. have a method that on error calls some callback, and passes it a PathBuf to the location the file is stored. Then the package owners get to decide how to process that.
Probably would need to remove the "we take your privacy seriously, and don't do automated collection" bit for that method though.
Example
human_panic::set_hook!(|path: PathBuf| {
  // handle path here, return Result<(), Error>
})

I think the best approach would be what most serious programs do: do your error handling, open a separate crash-handling program. Give the user of the library the chance to choose the program, no more.
Hooks within hooks within hooks doesn't seem like a good solution.

Hi folks, I have a suggestion for easy, user-friendly report submission while preserving privacy:
Github, and Gitlab-but-it's-undocumented, support URL-encoded pre-filled fields for opening issues.
For Github, the documentation is here.
For Gitlab, it appears that fields may be set for an issue using URL parameters of the form issue[field_name]; indeed, the default URL for making new issues includes two empty fields in this format:
https://gitlab.com/<user-or-org><repository>/issues/new?issue[assignee_id]=&issue[milestone_id]=
I tested this with the fields title and description and found them to work.
So, how about if human-panic could optionally offer pre-filled issues containing traceback information that were clickable by users? That would preserve privacy, because it's an opt-in decision to report, while also letting the developer choose what was worth adding to the report?

An alternate approach with its own trade-offs/failure states[0] would be to (on next execution) detect if a/the previous execution generated an panic & offer to submit the report (or output a message indicating how to do so, e.g. via a command line flag such as --submit-last-panic-report which could include whatever level of active confirmation/consent was required).
While it's a different context, this pattern of "act on next run" has previously been used in GUI applications to handle e.g. document recovery and/or error reporting.
Primarily mentioning this to highlight that "reporting/submitting at the time of panic" is not the only point in time that an approach can use.

[0] e.g. non-interactive execution; potential impact on start-up time; etc.


Trace raw request and response

Closes #49
This PR ads the ability to supply a trace function in :options that will be called with the raw request & response payloads for example:
(create-chat-completion {:model    "gpt-3.5-turbo"
                         :messages [{:role "system" :content "You are a helpful assistant."}
                                    {:role "user" :content "Who won the world series in 2020?"}
                                    {:role "assistant" :content "The Los Angeles Dodgers won the World Series in 2020."}
                                    {:role "user" :content "Where was it played?"}]}
                        {:trace (fn [request response]
                                   (println response))})

prints:
{
  "id": "chatcmpl-8gHB7Il500UxZPChGAZHtklLWTS8T",
  "object": "chat.completion",
  "created":<PHONE_NUMBER>,
  "model": "gpt-3.5-turbo-0613",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "The 2020 World Series was played at Globe Life Field in Arlington, Texas."
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 53,
    "completion_tokens": 17,
    "total_tokens": 70
  },
  "system_fingerprint": null
}

This looks great. Thank you!
BTW what about accessing the response status line and headers? I don’t know if I personally need them right now, but I’d think it’d be intuitive and reasonable for the entire response to be provided to the trace function, rather than just the body.

Good suggestion, I've updated the trace function (& PR description) accordingly

Looks great — thank you!


Add estimateMinFeeTx

Description
Current version of the function evaluateTransactionFee does not handle Byron witnesses and it is not recursive, so it cannot account for the fact that occasionally the change to the fee will affects the size of the transaction and thus the minimum fee. New estomateMinFeeTx improves this logic
Besides adding this new functionality to ledger API there are a few minor additions:

Addition of forceDRepPulsingState, which can be used to memoize the result of a premature completion of DRep pulser
Addition of Arbitrary instances for bootstrap addresses and ByronKeyPair type that can be used to test functionality related to Byron addresses and witnesses
Adds Enc/DecCBOR instances for SignedDSIGN

Checklist

[x] Commit sequence broadly makes sense and commits have useful messages
[x] New tests are added if needed and existing tests are updated
[ ] When applicable, versions are updated in .cabal and CHANGELOG.md files according to the
versioning process.
[ ] The version bounds in .cabal files for all affected packages are updated. If you change the bounds in a cabal file, that package itself must have a version increase. (See RELEASING.md)
[x] All visible changes are prepended to the latest section of a CHANGELOG.md for the affected packages. New section is never added with the code changes. (See RELEASING.md)
[x] Code is formatted with fourmolu (use scripts/fourmolize.sh)
[x] Cabal files are formatted (use scripts/cabal-format.sh)
[x] hie.yaml has been updated (use scripts/gen-hie.sh)
[x] Self-reviewed the diff

We should also use this in the fixup function of ImpTest


Wip centos8 bionic dockerfiles

Add centos8 and bionic dockerfiles. Trivial based on previous focal and f33 templates.

Coverage remained the same at 69.804% when pulling ce38e604777ee06510d4e66a783c083dc65a8979 on b4d0n3:wip-centos8-bionic-Dockerfiles into fe5a5d1a3116af29e718b319946e0769f608d7bd on mhallsmoore:master.

Coverage remained the same at 69.804% when pulling ce38e604777ee06510d4e66a783c083dc65a8979 on b4d0n3:wip-centos8-bionic-Dockerfiles into fe5a5d1a3116af29e718b319946e0769f608d7bd on mhallsmoore:master.

Hi @b4d0n3,
Thank you once again for adding these Dockerfiles. I'll merge them in now!
Cheers,
-Mike.

Hi @b4d0n3,
Thank you once again for adding these Dockerfiles. I'll merge them in now!
Cheers,
-Mike.


Add steps to add GitHub & GitLab in SSH known hosts

What type of suggestions?
Missing Information
What page is concerned?
No response
What is the issue?
Add steps to add GitHub & GitLab in SSH known hosts for people who never connected to one of them using SSH. It would prevent the following error ssh: handshake failed: knownhosts: key is unknown
Code of Conduct

[X] I agree to follow this project's Code of Conduct

The steps is either ssh-keyscan gitlab.com >> ~/.ssh/known_hosts for GitLab or ssh-keyscan github.com >> ~/.ssh/known_hosts for GitHub on macOS & Linux.


Replace usage of text/django-form-template script with template element

Replace usage of text/django-form-template script with template element
Issue - #10034

Please check the following:

[ ] Do the tests still pass?[^1]
[ ] Does the code comply with the style guide?

[ ] Run make lint from the Wagtail root.

[ ] For Python changes: Have you added tests to cover the new/fixed behaviour?
[ ] For front-end changes: Did you test on all of Wagtail’s supported environments?[^2]

[ ] Please list the exact browser and operating system versions you tested:
[ ] Please list which assistive technologies [^3] you tested:

[ ] For new features: Has the documentation been updated accordingly?

Please describe additional details for testing this change.
[^1]: Development Testing
[^2]: Browser and device support
[^3]: Accessibility Target

@lb- Hey can you check once and let me know for further modifications?

After reviewing this and #10245 - I was able to merge these together into your PR and get pretty close.
The JS needed some changes + unit tests & the removal of the escapescript usage.
Thanks for giving this a go @subhajit20 - I will push to your branch, check the CI and merge soon.

Sure, hey can you suggest me some other issues that I can fix ?

@subhajit20  are you on the Slack new-contributors channel - let's chat there, we can see what kind of thing you would like to help with and chat back and forth a bit easier.


Detector for catching timeouts

Check if detector catches timeout exceeding the limit

This was closed a while ago: https://dev.azure.com/Azure-Functions-Supportability/IPD Reduction/_workitems/edit/645
In favor of a more generic issue, which is also closed as done:
https://dev.azure.com/Azure-Functions-Supportability/IPD Reduction/_workitems/edit/607


Update for Gogits integration with DevOps. - [closed]

In GitLab by @wknet123 on Mar 2, 2018, 05:46
Merges dev-devops -> dev-devops

In GitLab by @wknet123 on Nov 13, 2019, 10:33
closed


Do we want to add opencontainers labels to the Dockerfile?

Opencontainers labels make it easy for various tools to extract information about the image:
LABEL<EMAIL_ADDRESS>\
      org.opencontainers.image.source="https://github.com/yannh/kubeconform/" \
      org.opencontainers.image.description="A Kubernetes manifests validation tool" \
      org.opencontainers.image.documentation="https://github.com/yannh/kubeconform/" \
      org.opencontainers.image.licenses="Apache License 2.0" \
      org.opencontainers.image.title="kubeconform" \
      org.opencontainers.image.url="https://github.com/yannh/kubeconform/" \
      org.opencontainers.image.vendor="Some inc."

e.g. dependabot or renovate-bot extract the release notes from the URL provided in image.source.
What do you think about adding this to kubeconform Dockerfiles?

Sounds good :) feel free to make a PR , otherwise i ll get to it soon!

Cool, what do you want to have as value for vendor and authors?


configure or read anvil cache/tmp storage disk location

Component
Anvil
Describe the feature you would like
It would be nice if it was possible to configure or read the anvil disk cache location via the CLI
https://github.com/foundry-rs/foundry/blob/c331b5eeee1b4151ef7354a081667e2d770b37f5/anvil/src/config.rs#L1085-L1086
Use case: we have a dev script internally running anvil and want to clean the cache before every start. Currently we're hardcoding the location to ~/.foundry/anvil/tmp, but this is brittle and would break if the cache location is changed upstream.
Additional context
No response

Semi related to https://github.com/foundry-rs/foundry/issues/3623

if i kept it running it used up 10Gb in 24 hrs
so i kept having to remember to run the following as i only had about 20Gb free anyway so it was chewing up precious swap disk space, which is especially important on a dual cpu machine with 8gb memory that was always maxed out
du -sh /root/.foundry/anvil/
rm -rf /root/.foundry/anvil/tmp/

Closing—can't reproduce anymore


Get FCM Root Url from Environment variable

Summary
Added functionality to override FCM root URL via Env Variable so that before constructing the FirebaseApp object we can set the Fcm root url in the environment variable. This will help in changing the base URL to localhost while writing FTs(Functional Tests)/Integration Tests.
Global Variable: GOOGLE_FCM_HOST
Open Issue: #802
How setting the base url to localhost help with your functional tests?
While writing functional tests/Integration tests, we do mock all the external services and create mock servers which behaves the same as external service. So here in case of sending push notifications, we are using Firebase admin SDK and to write tests for this use-case, we would need to mock the FCM server with a mock server created in tests.
For example

Here, Suppose we are writing tests for Service 1. It exposes a GET API to get some data. The data contains multiple attributes few attributes from DB, a few from the cache, and a few from Service 2(HTTP API).
While setting up the tests we will create a DB, cache server, and a mock HTTP server. Once the server is up, we want Service 1 to point to these servers instead of actual hosts. Since the DB, cache, and mock HTTP server are running in the same machine on different ports. We would want to set the Host to localhost with respective ports.
Now in the case of Firebase admin SDK, the host is hardcoded in the library. Hence, we are not able to override the Host to localhost.

@kroikie Could you please review the PR?

@kroikie @lahirumaramba, these changes will increase the testability of applications that use firebase-admin-java. My team is also currently blocked. I will be grateful for accepting this contribution from @yashjain12yj.

@kroikie @lahirumaramba any updates on this?

Excellent PR !
Furthermore, It would be better if it is possible to change the value of IID_HOST defined in InstanceIdClientImpl.
InstanceIdClientImpl is used when subscribing to a pre-work topic that sends push notifications to the topic.
ex) FirebaseMessaging.getInstance().subscribeToTopic("topic", List.of("token"))

This change will significantly improve the testability of the application. By using the admin SDK, we avoid the need to implement the HTTP v1 client and manage FCM-specific errors ourselves.
@kroikie @lahirumaramba, could you please review and merge this? It will be beneficial for everyone.

Thanks for the contribution. Any update on this PR? This is also something we need for testing purposes.


Temp cache namespace to differentiate between running versions.

Uh...but uploads to the old site won't invalidate these new keys, right?

Uh...but uploads to the old site won't invalidate these new keys, right?

Ah, that's true. Shall I revert the memcache-related changes instead?


chore: upgrade Remix to 19.3

upgraded Remix dependency to ^19.3
migrated response utils to throw Response instead of return to send the Response to CatchBoundary

🙏 Thanks for your PR, but I just did a big refactor and upgraded Remix to v0.20.1, I'm going to close this.


ImportError 'retry_on_eintr'

ImportError: cannot import name 'retry_on_eintr' from 'scrapy.utils.python'

the method has been remove from the latest version of scrapy.
https://docs.scrapy.org/en/latest/news.html#id38
should copy the code into project
def retry_on_eintr(function, *args, **kw):
    """Run a function and retry it while getting EINTR errors"""
    while True:
        try:
            return function(*args, **kw)
        except IOError as e:
            if e.errno != errno.EINTR:
                raise


Profile saving breaks when not using data labeler

General Information:

OS: Mac OS
Python version: 3.7
Library version: 0.5.0

Describe the bug:
The logic to handle removing data labeler info doesn't look before it leaps and tries to remove a key that doesn't exist.
To Reproduce:
import pandas as pd
import dataprofiler
from dataprofiler import Profiler, ProfilerOptions

df = pd.DataFrame([1,2,3], columns=["a"])

profile_options = ProfilerOptions()

profile_options.set({
    "data_labeler.is_enabled": False,
    "histogram_and_quantiles.is_enabled": False,
})

profile = Profiler(data=df, options=profile_options)

profile.save("test.json")

Expected behavior:
Shouldn't hit code segment for removing data labeler info when it isn't used.
Screenshots:
Additional context:

Merged, will be avail in next release.


VulkanSDK post-1.2.198 is broken on macOS

Thanks @t01va and @eliheuer for helping me track this down.
This is currently blocked on https://github.com/aclysma/skulpin/issues/108#issuecomment-1221852846
I know @aclysma doesn't have much time to work on Skulpin anymore so I'm already looking into how to apply the fix suggested on Stack Overflow to our skulpin branch

I was getting this error Failed to initialize Skulpin: VkCreateInstanceError(InstanceError(VkError(ERROR_INCOMPATIBLE_DRIVER))) when trying to run MFEKglif on an Intel mac today. The following steps fixed my problem

brew install cmake
Uninstall the newer version of the Vulkan SDK I had installed
Install an older version of the Vulkan SDK, specifically 1.2.198

That fixed the problem for me and I was able to build and run MFEKglif.

@eliheuer I know exactly what's wrong now.
The new VulkanSDK requires to load an extension called VK_KHR_portability_enumeration.
Skulpin doesn't do this.
Rafx offers no way to do it. (Cf. https://github.com/aclysma/skulpin/issues/108#issuecomment-1221912763)
So basically, either @aclysma has to update rafx-api and close out that old TODO, or I have to fork rafx-api, hack it in probably much worse than he would as I'm far from an expert on 3D graphics lol, (but know enough to be dangerous,) then change MFEK/skulpin.rlib to use the as-yet-nonexistent MFEK/rafx.rlib and close this.
I'm gonna wait like a week or two for @aclysma since I'm not looking forward to writing those patches lol…it's way outside of my normal area of work but hopefully since I've documented so well what's wrong he can fix it easily.

Closing, fixed by egui. Thanks @lucasmerlin / @matthewblanchard.


[SDL 0305] Homogenize TextFieldName

Proposal: Homogenize TextFieldName

This proposal is to homogenize the enum TextFieldName in MOBILE_API.xml and HMI_API.xml.

Review: https://github.com/smartdevicelink/sdl_evolution/issues/1020
Steering Committee Decision:

The Steering Committee voted to accept this proposal with the following revision: add requirement for documentation of enum values, as described in this comment.

The proposal .md file was updated to reflect these revisions on 6/3/2020.

The proposal markdown file has been updated per the revisions included in the accepted Revise SDL-0305 Homogenize TextFieldName.
Accepted revisions can be reviewed in the merged PR here: https://github.com/smartdevicelink/sdl_evolution/pull/1109.

The proposal markdown file has been updated per the revisions included in the accepted Revise SDL-0305 Homogenize TextFieldName.
Accepted revisions can be reviewed in the merged PR here: https://github.com/smartdevicelink/sdl_evolution/pull/1109.

Closed via https://github.com/smartdevicelink/rpc_spec/pull/303


Add python headers

Add python header so both files are self-executable from the command line

thanks!


Settings page doesn't gets loaded

When I click edit settings the pagedoesnt loads

I found the error was with my mongodb

Hey Ayush4385! unfortunately I have the same problem... May I know how you solved this?

@Thibaut12345 Make another cluster which can connect from any IP and use that

@Thibaut12345 Make another cluster which can connect from any IP and use that

I can't do this because I already have a free cluster. If I want to create another I have to pay according to mongoDB.

@Thibaut12345 create another folder then make

@Ayush4385 I have created new project with a new cluster. Allow connections from all IPs. still not working :( Do you have discord?

Yes

could you maybe add 2Snow#1915? it still doesn't work and talking here is a bit difficult

@Thibaut12345 i have sent you friend request(Ayush#4385)


Add planID to the KEB operations metrics

Description
Changes proposed in this pull request:

Added planID to the KEB operations metrics

Related issue(s)

/retest

/retest


Add a verification code resend button in the client

What would you like to be added?
a verification code resend button in the client and a reminder to check the spam folder
Why?
Because it is something the backend supports and seems to be useful enough to be implemented in the current stage of eludris
Examples
fig. 0
|shit|
fig. 1
|shit [resend button]|
as you can see the displayed illustration in fig. 1 is much better and more practical, besides just being cooler, than the illustration in fig. 0 with it's subpar performance

closed by #30


<EMAIL_ADDRESS>

[Automated] Publish<EMAIL_ADDRESS>

@meteorcloudy I cherry-picked the remaining open PRs into this one.


raidboss: add p10s Jade Passage trigger

add basic p10s Jade Passage trigger
It would be nice if the position of the laser could be displayed like 'stand on lines' or 'stand in box' refer to the pattern of the floor. but I can't find a way to do it.

It would be nice if the position of the laser could be displayed like 'stand on lines' or 'stand in box' refer to the pattern of the floor. but I can't find a way to do it.

I took a quick look at it and created #5574 .


how to compile library for armv7 ?

I compiled the library for unix-like systems as written in git readme. When I compile the project with xcode on mac, it works. But when I try to link the library for Iphone 5 app then the linker throws an error:
Showing All Messages
ld: warning: ld: warning: ignoring file /Users/....../libs/sctp/unix/lib/libusrsctp.a, file was built for archive which is not the architecture being linked (armv7): /Users/......./libs/sctp/unix/lib/libusrsctp.a ignoring file

My configure line:
./configure --enable-shared=no --disable-debug --prefix="${TEMP_FOLDER}/install/${LIBUSRSCTP_BASE_NAME}" ${LIBUSRSCTP_CUSTOM_CONFIGURE}
For ARM:
IOS_SDK=iphoneos
IOS_ARCH_FLAGS="-arch armv7 -arch armv7s -arch arm64"
IOS_HOST_FLAGS="${IOS_ARCH_FLAGS} -miphoneos-version-min=7.0 -isysroot $(xcrun -sdk ${IOS_SDK} --show-sdk-path)"
OPT_FLAGS="-Os -g3"
export CC=$(xcrun -find -sdk ${IOS_SDK} cc)
export CPP=$(xcrun -find -sdk ${IOS_SDK} cpp)
export CXX=${CPP}
export CFLAGS="${IOS_HOST_FLAGS} ${OPT_FLAGS}"
export CXXFLAGS=${CFLAGS}
export LDFLAGS=${IOS_HOST_FLAGS}
export LIBUSRSCTP_CUSTOM_CONFIGURE="--host=arm-apple-darwin --enable-static --disable-shared --disable-inet --disable-inet6"

and for simulator:
IOS_SDK=iphonesimulator
IOS_ARCH_FLAGS="-arch i386 -arch x86_64"
IOS_HOST_FLAGS="${IOS_ARCH_FLAGS} -miphoneos-version-min=7.0 -isysroot $(xcrun -sdk ${IOS_SDK} --show-sdk-path)"
OPT_FLAGS="-Os -g3"
export CC=$(xcrun -find -sdk ${IOS_SDK} cc)
export CPP=$(xcrun -find -sdk ${IOS_SDK} cpp)
export CXX=${CPP}
export CFLAGS="${IOS_HOST_FLAGS} ${OPT_FLAGS}"
export CXXFLAGS=${CFLAGS}
export LDFLAGS=${IOS_HOST_FLAGS}
export LIBUSRSCTP_CUSTOM_CONFIGURE="--host=x86_64-apple-darwin --enable-static --disable-shared --disable-inet --disable-inet6"

Thank you! I am a bit of a novice in GNU make.  Can you tell me how you set those flags for ARM?
Do you add these flags
IOS_SDK=iphoneos
IOS_ARCH_FLAGS="-arch armv7 -arch armv7s -arch arm64" .....

to a custom file and tell ./configure to use them? Or do you change makefile manually ?

I do not touch the makefile. all those vars are used by configure script and the makefile will be generated. all lines with export defines variables which are used by configure script

The rest are just temp vars used to compute the exported ones

sorry for silly questions but can you tell me once more.
I write this line in terminal: ./configure --enable-shared=no --disable-debug --prefix=/my custom path/
and what should I write in this place: ${LIBUSRSCTP_CUSTOM_CONFIGURE}
and where should I put those lines:
IOS_SDK=iphoneos
IOS_ARCH_FLAGS="-arch armv7 -arch armv7s -arch arm64"
...

if I write those lines in terminal it throws an error:
configure: WARNING: you should use --build, --host, --target
configure: error: unrecognized option: `-arch'

If help is still needed, please re-open.


Failure Compiling on Windows 10: No method named display

I'm trying to use wasm-bindgen, which depends on proc-macro2 0.4.9, but I'm getting the below error:
   Compiling proc-macro2 v0.4.9
error[E0599]: no method named `display` found for type `&syntax_pos::FileName` in the current scope
   --> C:\Users\me\.cargo\registry\src\github.com-1ecc6299db9ec823\proc-macro2-0.4.9\src\unstable.rs:290:52
    |
290 |         let filename = stable::file_name(sf.path().display().to_string());
    |                                                    ^^^^^^^

error: aborting due to previous error

For more information about this error, try `rustc --explain E0599`.
error: Could not compile `proc-macro2`.
warning: build failed, waiting for other jobs to finish...
error: build failed

I was building my project (an unmodified Hello World) as per https://rustwasm.github.io/wasm-bindgen/basic-usage.html with cargo +nightly build --target wasm32-unknown-unknown
Is this a known issue, or am I doing something wrong on my side? Thanks
Environment (rustup show)
Default host: x86_64-pc-windows-msvc
installed toolchains
nightly-2018-05-15-x86_64-pc-windows-msvc
nightly-x86_64-pc-windows-msvc
installed targets for active toolchain
wasm32-unknown-unknown
x86_64-pc-windows-msvc
active toolchain
nightly-x86_64-pc-windows-msvc (default)
rustc 1.29.0-nightly (12ed235ad 2018-07-18)

I see that the error is caused by https://github.com/alexcrichton/proc-macro2/commit/9f0a28a9c95d59c6969dd05121115884138dede4, which was the reason for 0.4.9. I'm updating my nightly to `2018-07-21-, I'll revert back if the issue still persists.

Updating to latest nightly fixed the problem


The naive DataManager.generatePK method  breaks down when the cache does     not contain ALL entities.  Refactor the key generator in JsonDB to the core     module, and use that instead.

Do you want to cherry pick this into summit-demo branch?


Csssmalledits

The front end is looking quite nice! PR fixes formatting errors color scheme things and makes the logo have a transparent background so no matter the mode (light or dark) the logo stands as it is supposed to.

Test on phone as well (you can use the emulator in dev tools)

Please add screenshots of changes with UI pull requests, it is very helpful!

There is some aliasing going on at some resolutions with the current Z3 logo (see right image). This is due to the small borders on the squares and antialiasing algos. IMO, we should simplify the logo.


gedis server [gedis]

make sure tests work in gedis server
make sure there is doc & tutorial on JSX

done on development branch

Verification steps under this ticket https://github.com/threefoldtech/jumpscaleX/issues/156


one_lin3r is a repository of security-related commands

Hi Igor,
I wonder if one-lin3r database of commands is worth inserting in cht.sh.
Pro:

Already organized by OS
Seems that the concepts covered are not yet addressed in cht.sh, and names don't collide

Con:

Uses Python class definitions, so migration might be more than simple formatting. But, I've seen worse.

https://github.com/D4Vinci/One-Lin3r/tree/master/one_lin3r/core/liners
Thanks, your weather command is lovely.

@matt-hayden Matt hi!
Wow! What a cool project! Thank you a lot for mentioning it. It is definitely worth binding to cheat.sh.
What do you think: at what namespace should it be bound?
Should it be just cheat.sh/one_lin3r? Or should it be distributed among the mentioned
commands, so that if you make say curl cheat.sh/ncat you'll find
the one_lin3r lines there too?
What do you think about it?

I don't have an affinity for the namespace one_lin3r because of the extra typing -- of course preserving credit to the author.
I believe that nmap is the only non-operating-system that's promoted to the "multi" catchall. I would demote it and duplicate it across BSD and Linux. nmap on Windows is not reliable enough to use in code, imho.


Operation failed when edit some subscriptions of customer by supplier

Date: 2016/05/06
[Test category]: creative Test
[Steps to reproduce]

Login as supplier, define a service, set price model, publishing option for it, then activate this service.
Login as customer, subscribe this service named as "bug", put the configuration reference number as "12" and price model information, then assign this subscription to himself.
Login as supplier again, subscribe this service named also as "bug", put the configuration set the reference number as "34" and price model information, then assign this subscription to himself.
Go to "Account"->"subscription" page.
Search the word "bug", then edit the subscription "bug".

[Expected result]
The "bug" subscriptions can be showed.
[Observed result]
After step4, there is only one subscription named "bug" which has reference number "34".
After step5, there are two subscriptions named "bug", both of them has the reference number "12"; After choosing one of the "bug" subscriptions to edit, there shows "operation failed" page.

You are logged in as supplier and after the search in step5, you see also the subscriptions of your customer which match the search criteria. This is wrong, but it is the same problem described in the issue #68. So, this issue can be closed as duplicate.

Verified by FNST
[verified-version]V16.0 fix5
[verified-details]Now the supplier can only searched out his own subscription, so this bug can be verifed.


Option for infection rate per 100K population?

I was looking at US states today and realized that while Texas is WAY ahead of Tennessee, by percentage of population, it is not. It feels like the Y axis should be based on "New Confirmed cases Relative to population" which would make it easier to compare the infection rate between states.
I realize there might be side effects to this approach so I thought I would bring this up and see if it had been suggested/considered already?

The same would be great on a per-country basis (not only US states).

I'm a Texas too and would like this, but I think it should have both axis's with an option to be correlated against population.  I agree that earlier on this might have created misleading information, but I believe that now it would be useful as a significantly high percentage of the population has been infected.  This would help to determine if there is a correlation of the infection rate drop to the percent of infected.  This, with an understanding of how and when states or countries have implemented actions to curb the spread could be very useful in my eyes.

The actual code changes should be pretty simple.  The harder part might be  finding the population data in a public and easily accessible format. Got sourcing ideas? Post them here.

How about state numbers from here? https://www.census.gov/data/tables/time-series/demo/popest/2010s-state-total.html#par_textimage_1574439295


[usbdev] Fixes and testability additions

Hi all
This pull request includes the following:

Moves the link_reset SE0 detection back to usbdev_linkstate. This reverts some changes from #3359 and solves #4031.
Fixes for a bug where ISO IN transfers did not generate an interrupt on completion.
Fixes for an issue where stalled endpoints sent ACK when the data toggle is invalid (sending a STALL seems to make more sense in this situation).
Addition of observability and controllability registers as discussed in #2703.

After this PR the ETH and OpenTitan version of the peripheral are mostly aligned. The simulation results look fine (PASS! in uart0.log), but it would probably make sense if someone tested the changes on one of your FPGA testbeds.
I have split out the auto-generated changes into a separate commit to ease review.

Thanks @stefanlippuner for making the requested changes. For the private CI, I had to make a little addition to the hjson such that the test suite does not try to read the default values from the new PHY sense register.
I directly pushed the change to this PR. You can merge this fixup! commit into yours. Could you please also merge the auto-generated file changes into the proper commits such that they are self-contained? Alternatively, you can squash everything into one commit although a series would be preferred.

Thanks @stefanlippuner for making the requested changes. For the private CI, I had to make a little addition to the hjson such that the test suite does not try to read the default values from the new PHY sense register.
I directly pushed the change to this PR. You can merge this fixup! commit into yours. Could you please also merge the auto-generated file changes into the proper commits such that they are self-contained? Alternatively, you can squash everything into one commit although a series would be preferred.

Thanks for the help Pirmin. I've distributed the auto-generated changes to the corresponding commits and market the PR as ready.

Awesome, I think we can merge this! Or do you want to test it on the FPGA first @mdhayter?

Realistically I won't get to FPGA this week or next, so lets merge this based on simulation and implementation.

Okay great, thanks for the feedback Mark. I am merging this now.


Preparation of the guide for the meeting (issue #192 related)

PL - https://cocalc.com/projects/cdcf3856-3e8b-4d1c-bcb2-5c42ba749d83/files/[WIP] Guidelines/[PL][Guide][Basics]Dgeometry basic operations.pdf
Source - ???


EXSWHTEC-264 - Implement Unit Tests for Atomic Min/Max Operations

Add tests for Atomic Min/Max Operations
atomicMin and atomicMin_system
atomicMax and atomicMax_system

@milos-mozetic
Will you please resolve the merge conflicts for this PR?

PR has been merged into develop branch via commit cf34eb8d63b4816c7964dea5fb5bb89ad5c4c930.


Needs Updated to work with new version of icu package

Hey! First off, lifesaver program as my wife and I speak in emojis with each other.
Worked great last night, but this morning, when attempting to run the program, it'll open for a split second, and then close again before the GUI pops up (icon on taskbar shows for a half second).
Attempted to run from terminal and received error
emoji-picker: error while loading shared libraries: libicuuc.so.72: cannot open shared object file: No such file or directory
So I checked my icu package version
icu 73.2-1
I'm fairly new to Arch, but does this mean that the emoji-picker is requiring 72, so when the package was upgraded to 73 it broke it?

@p134c0d3 I assume you installed from AUR; "-git" packages are not automatically updated by your package manager (I assume you used yay to install x11-emoji-picker-git?) and thus when you upgraded your system it installed a new version of ICU but didn't rebuild x11-emoji-picker.
To fix this you basically need to run yay --devel.
There is a package which integrates into pacman and checks for dependency updates of your installed AUR packages but i don't remember what it's called rn. If i remember i'll mention it later.

@GaZaTu no I just install the normal x11-emoji-picker package. Was trying to stay on the "stable" branch of it.

oh yea but that still seems to build the package on your pc so an update to ICU for example requires you to rebuild x11-emoji-picker as mentioned above.

Okay, I removed it, and built the git version so that it'd rebuild. Previously when I yay -Rns x11-emoji-picker and then yay -S x11-emoji-picker it just reinstalled it so had me a little confused. Since it rebuilt it used icu.73 so I'm good now. Thanks for the direction!

oh yea but that still seems to build the package on your pc so an update to ICU for example requires you to rebuild x11-emoji-picker as mentioned above.

Closing with solution above


Fix incorrect Math.ceil usage

Fix the incorrect usage of Math.ceil() in the code. The original code incorrectly suggested that Math.ceil(3.8) would return 8.0. The correct behavior of Math.ceil() is to return 4.0, which is the smallest integer greater than or equal to 3.8.

Thanks for the PR


fix: entity names with empty location

Fixes #162

@chilicheech Let me know if this fixes your problem

@chilicheech Let me know if this fixes your problem

Pull Request Test Coverage Report for Build 480045836

1 of 2 (50.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.009%) to 24.757%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/Gateway.js
1
2
50.0%

Totals

Change from base Build 479769329:
0.009%

Covered Lines:
1939

Relevant Lines:
8001

💛  - Coveralls

Pull Request Test Coverage Report for Build 480045836

1 of 2 (50.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.009%) to 24.757%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/Gateway.js
1
2
50.0%

Totals

Change from base Build 479769329:
0.009%

Covered Lines:
1939

Relevant Lines:
8001

💛  - Coveralls

This solved the problem. Thanks so much :)

This solved the problem. Thanks so much :)


"webpack not installed" in new project

Bug report

What is the current behavior?
Installing webpack and then running npx webpack from the command line outputs the following before closing:
$ npm i<EMAIL_ADDRESS><EMAIL_ADDRESS>$ npx webpack

webpack not installed, consider installing it using
npm install --save-dev webpack

Related StackOverflow question
If the current behavior is a bug, please provide the steps to reproduce.
git clone git@github.com:mogelbrod/webpack-issue.git
cd webpack-issue
npm i
webpack

What is the expected behavior?
webpack-cli finds the webpack module.

Other relevant information:
webpack version:  4.33.0
Node.js version: 12.1.0
Operating System: OSX Mojave
Additional tools: N/A
Edit: maybe issue should be moved to https://github.com/webpack/webpack-cli/issues ?

Update: Found a similar issue over at https://github.com/webpack/webpack-cli/issues/944
This appears to happen when the webpack.config.js module require()s a missing module.


[INLONG-2130][sort] add objenesis dependency

Title Name: [INLONG-XYZ][component] Title of the pull request
where XYZ should be replaced by the actual issue number.
Fixes #2130
Motivation
Explain here the context, and why you're making that change. What is the problem you're trying to solve.
Modifications
Describe the modifications you've done.
Verifying this change

[ ] Make sure that the change passes the CI checks.

(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (10MB)
Extended integration test for recovery after broker failure

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a followup issue for adding the documentation

+1


:four_leaf_clover: Proposal: A new way to configure: App

What Would You Like to Add? Why Is This Needed?
Background
After further discussion of the value of the dtm, we found that the value of dtm revolves heavily around a few specific apps themselves, especially the management of multiple projects in the microservices environment.
Aim & Benefits

Reduce the length of configuration files in multi-microservice scenarios to make it easier for users to get started
Maximize the value of DevStream around the app

Design
Core Concepts
We have introduced two new concepts, apps and pipelineTemplates

apps: a list of apps, representing a set of devops pipeline of microservices
pipelineTemplates: The devops pipeline for most projects may be almost the same ( e.g. only the project name is different) and the user can customize the template and then reference it within the app and populate it with different variables.

PipelineTemplates
pipelineTemplates is a list starting from the pipelineTemplates key.
each pipelineTemplate has three filed: name, type, options.

name: the name of pipeline, it is used to identify the pipeline so that you can use them in app
type: corresponding to a plugin. (We will convert them into tools finally)
options: options. Maybe there will be a little different from the origin plugins(simpler and with more defaults, auto-completion of fields)

You can define vars in the pipelineTemplate just like [[ dockerUser ]] in the following example. Dtm will try to render variables from :

global vars defined in the config files(That is, the way dtm defined variables previously)
local vars. You could define local vars in apps when you want to use a template. And you could import the same template many times and pass them to different local vars.
local vars will override global vars if the vars' names are the same.

pipelineTemplates:
  - name: ci-pipeline-1
    type: githubactions # corresponding to a plugin
    options:
      branch: main # optional, default is main
      docker:
        registry:
          type: dockerhub
          username: [[ dockerUser ]]
          repository: [[ app ]]
  - name: cd-pipeline-1
    type: argocdapp
    options:
      app:
        namespace: [[ argocdNamespace ]] # you can use global vars in templates
      destination:
        server: https://kubernetes.default.svc
        namespace: default
      source:
        valuefile: values.yaml
        path: helm/[[ app ]]
        repoURL: ${{repo-scaffolding.myapp.outputs.repoURL}}

Apps
Apps is a list starting from the apps key.
Each app has these fields:

name: app name
spec: some useful common specs for this app
repo: source code repo
repoTemplate: optional. If this block is not empty, dtm will use repo-scaffolding to create the repo from repo template.
ci: a list of ci pipelines. Each ci has these fields:

type: template or a plugin name.
templateName(optional): You should specify this field when type is set to template. It is used to find the specific template from pipelineTemplates
vars(optional): the local vars passed to the template you import from  pipelineTemplates (only valid when type is set to template)
options(optional)

when type is a plugin name: just the options of this plugin
when type is set to template: To override the specify keys defined in options of pipelineTemplate. You should explicitly write out each level of the key of the options to be covered.

cd: similar to ci. You could also import pipelineTemplates here. dtm will execute all ci first of an app, then cd.

...
var1: value1 # global vars
var2: value2
var3: value3

apps:
  - name: service-A
    spec:
      language: python
      framework: django
    repo:
      scmType: github
      owner: devstream-io
      org: devstream-io # choose between owner and org
      name: # optional, default is the same as app name
      url: github.com/devstream-io/service-A # optional，if url is specified，we can infer scm/owner/org/name from url
      apiURL: gitlab.com/some/path/to/your/api # optional, if you want to create a repo from repo template
    # if repoTemplate is not empty，we could help user to create repo from scaffoldingRepo
    repoTemplate: # optional
      scmType: github
      owner: devstream-io
      org: devstream-io # choose between owner and org
      name: dtm-scaffolding-golang
      url: github.com/devstream-io/dtm-scaffolding-golang # optional，if url is specified，we can infer scm/owner/org/name from url
    ci:
      - type: template
        templateName: ci-pipeline-1
        options: # overwrite options in pipelineTemplates
          docker:
            registry:
              type: [[ var3 ]] # while overridden, you can even use global variables
        vars: # optional, use to render vars in template（valid only if the ci.type is template）
          dockerUser: dockerUser1
          app: service-A
    cd:
      - type: cd-pipeline-custom # if the type is not "template", it means plugins
        options: # options to the plugins
          key: [[ var1 ]] # use global vars
      - type: template
        templateName: cd-pipeline-1
        options: # overwrite options in pipelineTemplates
          destination:
            namespace: devstream-io
        vars: # optional, use to render vars in template（valid only if the cd.type is template）
          app: service-A
...

Multiple files
You could put apps and pipelineTemplates definitions in the separated files(like var files):

config.yaml

# main config
varFile: var.yaml # relative to main config file
toolFile: tool.yaml
appFile: app.yaml
templateFile: template.yaml
pluginDir: ./plugins
state: # state config, backend can be local or s3
  backend: local
  options:
    stateFile: devstream.state

dtm init -f config.yaml

What will happen when dtm apply
dtm will execute the following in order:

parse all templates and vars
handle default values of apps
convert apps into tools calls
execute the origin tools definition
execute the tools converted from apps

Details(default values, options, spec ...)
@steinliber Please help me to complete this section, thank you! 🚀
Anything else

New format: #1251


Cannot install .vsix in Code OSS

VSCode Version: OSS
OS Version: Windows

Steps to Reproduce:

Build and launch Code OSS from source
Try to install this .vsix file from the extensions viewlet.

Expected:
It is installed in Code OSS the same as it is installed in the official VS Code release.
Actual:
Nothing happens.
Discovered while trying to install the extension to debug #37643

I think this should be supported. Will investigate.

Fixed by 69bffd733dfbcc4b353f78096acf08777723059f

@sandy081 I can verify that we can now install extensions from vsix in Code OSS, but I see the below in the console once the installation is complete:

Also, there is no progress indicator, when the installation is well.. in progress.


Nested structures invoke missing destination name error

I reached out to @jmoiron on Gopher Slack recently. He asked me to open up an issue.
I presented an issue that this code is not working as expected: http://play.golang.org/p/yvwh5eoiLZ
If I change
type User struct {
    ID         string `db:"id"`
    Name       string `db:"name"`
    ModifiedBy ModifiedBy
}

to:
type User struct {
    ID         string `db:"id"`
    Name       string `db:"name"`
    ModifiedBy
}

It works, but this is an embedded struct, not a nested one. I'm trying to get nested structs up and running.
Generic mysql table:
CREATE TABLE `tempuser` (
  `id` char(36) NOT NULL,
  `name` varchar(200) NOT NULL,
  `last_modified_by` char(36) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Generic data:
INSERT INTO `tempuser` (`id`, `name`, `last_modified_by`) VALUES
    ('ff7c32f3-dcb4-11e5-bc44-0242ac110002','Todd Rafferty','ff7c32f3-dcb4-11e5-bc44-0242ac110002'),
    ('2039b523-dcb5-11e5-bc44-0242ac110002','Jason Morion','ff7c32f3-dcb4-11e5-bc44-0242ac110002');

Thanks. :+1:

I just run into the same issue. Without looking at the code, I assume sqlx gets a flat list of rows and then checks the root of the destination struct for those. I assume they could do something similar to named prepared statements :modified_by.name in a select SELECT name as :modified_by.name

I'm having the same issue on Postgresql and so far the workaround has been refer the embedded struct without a name.

Any solution to this now? The only workaround that works for me is making the nested struct anonymous, without a name. I can't use this in practice, since I am using the same structs as gorm models, and it requires the nested structs be named in order to migrate the database.

I had a new problem. There is no nesting of names, and a new problem arises
missing destination name base_model in *model.User
type BaseModel struct {
	ID          uint32     `json:"id" sql:"unique"`
	CreatedAt   time.Time  `json:"created_at" sql:"index" db:"created_at"`
	UpdatedAt   time.Time  `json:"updated_at" sql:"index" db:"updated_at"`
	DeletedUnix int64      `json:"deleted_unix,omitempty" sql:"index" db:"deleted_unix"`
	DeletedAt   *time.Time `json:"deleted_at" sql:"-"`
}
type User struct {
	BaseModel
	Username string `json:"username" db:"username" sql:"unique"`
	Email    string `json:"email" db:"email" sql:"unique"`
	Password string `json:"-" db:"password"`
}

Yesterday this is normal, today unexpected occurrence of this problem, very doubtful.

Having a nested struct on only the first level would be ok if you use AS in your queries and prefix the columns with the correct tag. See the example below.
type Address struct {
	ID          int64       `db:"id"`
	Street      string      `db:"street"`
	Number      int64       `db:"number"`
}

type Person struct {
	ID      int64   `db:"id"`
	Name    string  `db:"name"`
	Address Address `db:"address"` // any db tag would be ok as long as you use the same one in the query
}

query := `SELECT p.id, p.name,
              address.id AS "address.id", address.street AS "address.street"
          FROM person as p
          INNER JOIN address AS address ON p.address_id=address.id
          WHERE p.id=$1`
var p = &Person{}
result := sqlx.QueryRowx(ctx, query, 1)
err := result.StructScan(p) // -> ok

My problem now is with nested structs on more than one level:
type GeoLocation struct {
	ID   int64   `db:"id"`
	Long float64 `db:"long"`
	Lat  float64 `db:"lat"`
}

type Address struct {
	ID          int64       `db:"id"`
	Street      string      `db:"street"`
	Number      int64       `db:"number"`
	GeoLocation GeoLocation `db:"geolocation"`
}

type Person struct {
	ID      int64   `db:"id"`
	Name    string  `db:"name"`
	Address Address `db:"address"`
}
query := `SELECT p.id, p.name,
                 address.id as "address.id", address.street as "address.street",
		 geolocation.id as "geolocation.id", geolocation.long as "geolocation.long",
                 geolocation.lat as "geolocation.lat"
	FROM person as p
	INNER JOIN address as address on p.address_id=address.id
	INNER JOIN geo_location as geolocation on address.geo_location_id=geolocation.id
	WHERE p.id=$1`
var p = &Person{}
result := sqlx.QueryRowx(ctx, query, 1)
err := result.StructScan(p) // -> "missing destination name geolocation.id in *models.Person"

It makes sense, there is no geolocation attribute on the main Person struct...
I couldn't find any workaround for this. Has anyone?

Facing the same issue.


Remove self.now from freshness_date_parser in favor of a local variable (#813)

In web server environment, since freshness_date_parser is a shared instance, it looks like self.now was set to None by some threads while still being used by others.
This change removes self.none from FreshnessDateDataParser and instead introduces a local variable insude FreshnessDateDataParser.parse().
I could've also just removed the statement at the end of pase() setting self.now to None, but I feel that this way is cleaner.
Thanks!

Thanks, would be nice to have this merge it to make dateparser thread safe!

Hi @abkonsta, thank you for submitting this PR! :smile:
Could you...

explain how did you performed the stress tests you mention in https://github.com/scrapinghub/dateparser/issues/813#issuecomment-710121862
Rename the local_now variable to just now.
fix the conflicts
?

Thanks in advance!


[Feature] group_uniq_array function

Search before asking

[X] I had searched in the issues and found no similar issues.

Description
syntax: groupUniqArray(x) or groupUniqArray(max_size)(x)
function: Creates an array from different argument values.
SELECT *
FROM arrays_test
┌─s───────┬─arr─────┐
│ alex    │ [1,2]   │
│ hello   │ [1,2]   │
│ World   │ [3,4,5] │
│ Goodbye │ []      │
└─────────┴─────────┘

SELECT groupUniqArray(arr) from arrays_test
┌─groupUniqArray(arr)─┐
│ [[],[1,2],[3,4,5]]  │
└─────────────────────┘

Use case
No response
Related issues
No response
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Apply for a try.

When doing this job,I found that this function is quite similar with collect_set, except for the 'max_size ' limit.The sibling function group_array seems also in this situation.Shall we upgrade the collect_set and collect_list  to support the same semantics of the above two,or just simply create new functions as group_uniq_array  and  group_array ?


Error parsing valid .xcodeproj

This appears to happen with projects cross-referencing other projects generated by CocoaPods when generate_multiple_pod_projects is enabled.
Seems like the problem is they have projectReferences with no ProductGroups, which is perfectly fine for Xcode, but not XcodeEdit.
Example:
LocalPod2.xcodeproj.zip

Seems like this would do fix it:
--- a/Sources/XcodeEdit/PBXObject.swift
+++ b/Sources/XcodeEdit/PBXObject.swift
@@ -64,11 +64,11 @@ public class PBXProject : PBXContainer {
   }

   public class ProjectReference {
-    public let ProductGroup: Reference<PBXGroup>
+    public let ProductGroup: Reference<PBXGroup>?
     public let ProjectRef: Reference<PBXFileReference>

     public required init(fields: Fields, allObjects: AllObjects) throws {
-      self.ProductGroup = allObjects.createReference(id: try fields.id("ProductGroup"))
+      self.ProductGroup = allObjects.createOptionalReference(id: try? fields.id("ProductGroup"))
       self.ProjectRef = allObjects.createReference(id: try fields.id("ProjectRef"))
     }
   }

Thanks for the example project, that's very helpful.
I've updated the library to correctly handle the missing ProductGroup (as well as a missing KnownAssetTags, on which it also failed).


Update versioning step pre-packaging in pipeline

Overview

Adds StandardAssets to the version script, as it was missing
Adds a License.txt file to the StandardAssets to match the other top level MRTK folder
Updates the versioning template to use the global MRTK version by default

/azp run


Add option to manually trigger autotune

Currently, autotune is started on any message. This branch will allow you to configure the node to continue to auto start on any message or to start only when a start command is sent.
Additionally, I have added an example flow that fully implements this node and also includes a dashboard.

I added a unit test for this and ran all tests and they pass:

Please let me know if this meets your requirements and if I can improve this branch for merging.

Looks good! Great job and thank you! :)


MSRV 1.65 -> 1.71 and update deps

We are on latest stable so don't mind the MSRV bump :)

Same here


Flashing to SAM4S2 sometimes fails if the firmware is over 16kB

I am making a firmware flashing tool using bossac but I encountered a problem. Sometimes, but not always, the flashing fails if the firmware exceeds 16kB. It then looks like this:
Device found on COM4
Atmel SMART device 0x289b07e0 found

Write 16588 bytes to flash (33 pages)
[==============================] 100% (33/33 pages)
done in 0.500 seconds

Verify 16588 bytes of flash
[==============================] 100% (33/33 pages)
Verify failed
Page errors: 1
Byte errors: 204

However if I try any other file below 16kB, it works fine. The SAM4S2 has way more than 16kB program flash memory so it's not a physical limit. I was able to get the firmware size just below 16kB with some optimizations like -mno-long-calls so it's not an urgent bug for me but it should be investigated and fixed.
verbose log is here (except it's missing the first part of the flashing, sorry):
http://pastebin.com/UEzrNTK2

I do not have a SAM4S device to test this on.


Validation loss

Hi, I use the VCTK-Corpus dataset and the validation loss is growing. What can it be?  Thank you

I haven't seen such results before, but I think the validation loss is not necessarily correlated with the voice conversion task. Maybe you should keep training for several thousand steps to see if the validation loss will start to reduce.
BTW, both the training and the validation losses will largely increase after passing the first milestone.

@ming024 Hi, thank you for your comment. Can you look on my dataset structure please, is it correct?

There are only .wav files in every speaker's directory.

@swel4ik I think as long as you specify wavs/wav48_silence_trimmed as the corpus directory during preprocessing, the script will correctly detect the underneath directory structures.
BTW, you can take a look at the generated metadata.json to make sure the preprocessing step is correct.

@yistLin So, after 100k steps, validation loss started to decrease! After 200k steps the model works excellent:)


docs: Add PowerShell example

I added an example for PowerShell and profile location. Please let me know if you have any questions.

I'm not familiar enough with autofix.ci to understand why it reverted my changes.

I'm guessing you probably need to update documentation in the rust function and it will update everywhere else.
src/cli/activate.rs


Improvements to the English of this section

I have included:

Grammar corrections
Corrections of typos
Improved wording in some cases
Small restructuring

Once again I am not altering any writing style or the actual content. This should help the lesson flow better for readers.

Banging


Issue Nuts3

Hi,
I have been able to install, create my folders and download pbf from openstreetmap.
I am a bit lost with the NUTS3_Shape, would it be possible to point me in the right direction? Where can I get it? (error attached)
Other question is regarding the analysis, what are the steps to perform an analysis? Do you have any code available to share or tutorial?
Thank you
Jose

Dear Jose,
Apologies for not responding to this earlier. For some reason I do not receive a notification when issues are raised.
You can find the NUTS3 information here: https://ec.europa.eu/eurostat/web/gisco/geodata/reference-data/administrative-units-statistical-units/nuts


ARROW-11822: [Rust][Datafusion] Support case sensitive comparisons for functions and aggregates

Broken out from https://github.com/apache/arrow/pull/9600 by @wqc200. Note this does not contain the part of #9600 that controls the output display of functions.
Rationale
Aggregate functions are checked using case insensitive comparison (e.g. select MAX(x) and select max(x) both work - the code is here
However, scalar functions, user defined aggregates, and user defined functions, are checked using case sensitive comparisons (e.g. select sqrt(x) works while select SQRT does not. Postgres always uses case insensitive comparison:
alamb=# select sqrt(x) from foo;
 sqrt
------
(0 rows)

alamb=# select SQRT(x) from foo;
 sqrt
------
(0 rows)

Changes
Always use case insensitive comparisons for unquoted identifier comparison, both for consistency within DataFusion as well as consistency with Postgres (and the SQL standard)
Adds tests that demonstrate the behavior
Notes
This PR changes how user defined functions are resolved in SQL queries. If a user registers two functions with names
"my_sqrt" and "MY_SQRT" previously they could both be called
individually. After this PR my_sqrt will be called unless the user
specifically put "SQRT" (in quotes) in their query.

Codecov Report

Merging #9827 (1440a98) into master (05a507c) will increase coverage by 0.01%.
The diff coverage is 98.63%.

@@            Coverage Diff             @@
##           master    #9827      +/-   ##
==========================================
+ Coverage   82.42%   82.43%   +0.01%
==========================================
  Files         252      252
  Lines       58977    59043      +66
==========================================
+ Hits        48609    48674      +65
- Misses      10368    10369       +1

Impacted Files
Coverage Δ

rust/datafusion/src/sql/planner.rs
83.55% <83.33%> (+0.07%)
:arrow_up:

rust/datafusion/src/execution/context.rs
91.43% <100.00%> (+0.56%)
:arrow_up:

rust/datafusion/src/physical_plan/aggregates.rs
90.90% <100.00%> (ø)

rust/parquet/src/encodings/encoding.rs
94.86% <0.00%> (-0.20%)
: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 05a507c...1440a98. Read the comment docs.

fyi @wqc200  @Dandandan @seddonm1 and @returnString


Had a few PRs merged. Hope to become an official contributor.

Had a few PRs merged. Hope to become an official contributor and potentially a committer @pengzhao-intel

@pengzhao-intel We have already done many local fixes with bash scripts in amalgamation cross-platform build especially for mobile. Will organize and submit PRs later.

You can open this PR to add your name into the contributors list : )

Thanks for your contribution. Merging now.


CC0031 false positive

Hello,
the following code generates false positive I believe ...
public TReturn Execute<TReturn>(Func<TService, TReturn> func)
{
	lock (this.locker)
	{
		if (func == null)
		{
			throw new ArgumentNullException(nameof(func));
		}

		try
		{
			return func(this.proxy); // CC0031
		}
		catch (TimeoutException)
		{
			this.proxyChannel.Abort();

			//throw;
		}
		catch (CommunicationException)
		{
			this.proxyChannel.Abort();

			//throw;
		}
		catch (Exception)
		{
			this.proxyChannel.Abort();

			//throw;
		}

		return default(TReturn);
	}
}

If I repair the code as suggested, then I create compiler error ...
try
{
	return func?.Invoke(this.proxy) ?? default(TReturn); // operator '?' cannot be applied to operand of type 'TReturn'
}

A variation of this false positive:
if (column != null && CustomAutoFilterCriterion != null)
            {
                var args = new CustomAutoFilterCriterionEventArgs(column, strVal);
                CustomAutoFilterCriterion(this, args); // CC0031 pops here but shouldn't
                if (args.Handled)
                {
                    return args.ResultOperator;
                }
            }

Bug confirmed. The problem is that T is not necessarily a classe, if we had the constraint of T : class the diagnostic would be correct.
We need to fix it.

I have updated the description so that we have a simpler test case to work on.

Hi, would like to work on this if no one else is doing it.
Just to be sure I understood what's needed: to fix the bug means that CodeFix will be suggested only when we have the constraint T : class on the generic parameter T


Add Action flow to push changes to ECS/ECR.

Add Action flow to push changes to ECS/ECR. Deploy on submit/merge?

Did some research. Need to implement.


I am having trouble wrapping my head around whether I need dataloader or not (posts & comments example).

Besides  the good advice of "If you aren't sure you need it, you probably don't." 😅
So let's say I have some typical posts and comments:
const POSTS_QUERY = gql`
  query Posts($cursor: String, $keyword: String, $order: Int) {
    posts(first: 10, before: $cursor, keyword: $keyword, order: $order) {
      feed {
        edges {
          cursor
          node {
            id
            author {
              objectID
              username
              avatar
            }
            text
            createdAt
            participantsCount
            commentsCount
          }
        }
        pageInfo {
          endCursor
          hasNextPage
        }
      }
    }
  }
`;

where you can * click on a post to see its comments * (query by postId)
const COMMENTS_QUERY = gql`
  query Comments($postId: ID!, $cursor: String) {
    comments(first: 10, postId: $postId, before: $cursor) {
      feed {
        edges {
          cursor
          node {
            id
            postId
            author {
              objectID
              username
              avatar
            }
            text
            createdAt
          }
        }
        pageInfo {
          endCursor
          hasNextPage
        }
      }
    }
  }
`;

And my resolver for a posts query looks something like:
  async getPosts(first: number, before: number, keyword: string, order: number): Promise<PostPage> {
    let result: PostPage;
    before = before || Date.now();
    keyword = `(?i).*${keyword}.*`;
    let ORDER = 'p.createdAt';
    let hottestAfter = 0;
    if (order === 0) {
      ORDER = 'commentsCount * participantsCount';
      hottestAfter = moment().subtract(2, 'weeks').valueOf();
    }

    try {
      const POSTS_QUERY = `
        MATCH (p:Post)<-[:AUTHOR]-(u:User)
        WHERE p.createdAt < { before } AND p.text =~ { keyword } AND p.createdAt > { hottestAfter }
        OPTIONAL MATCH (p)-[:HAS_COMMENT]->(c:Comment)<-[:AUTHOR]-(v:User)
        WITH p, u, count(DISTINCT v) as participantsCount, count(c) as commentsCount
        ORDER BY ${ORDER} DESC
        RETURN collect(p {.*, author: u, participantsCount, commentsCount}) as posts
      `;

      const queryResult = await retryInterval(RETRY_COUNT, RETRY_INTERVAL, async (): Promise<object> => {
        const session = this.connector.session();
        try {
          const params: PostsQueryParams = {
            LIMIT,
            before,
            keyword,
            hottest,
          };
          const res = await session.run(POSTS_QUERY, params);
          return res;
        } catch (neo4jError) {
          throw new Error(neo4jError);
        } finally {
          session.close();
        }
      });

      // edges
      const posts: Array<object> = queryResult.records[0].get('posts');
      const edges: Array<Edge> = await Promise.all(
        posts.slice(0, first).map(async (post: PostNode): Promise<Edge> => {
          const cursor: number = post.createdAt;
          const hit = await usersIndex.getObject(post.author.properties.user_id, ['username', 'userPhotos']);
          const node: PostNode = {
            id: post.id,
            author: {
              ...hit,
              avatar: _.get(hit, 'userPhotos[0].secure_url'),
            },
            text: post.text,
            createdAt: cursor,
            participantsCount: post.participantsCount,
            commentsCount: post.commentsCount,
          };
          return {
            cursor,
            node,
          };
        })
      );

     // pageInfo
      const endCursor: number | null = _.last(edges) && _.last(edges).cursor;
      const hasNextPage: boolean = !_.isEmpty(posts[first - 1]);
      const pageInfo: PageInfo = {
        endCursor,
        hasNextPage,
      };

      result = {
        feed: {
          edges,
          pageInfo,
        },
      };
    } catch (err) {
      console.error('(getPosts) =>\t', err);
    }
    return result;
  }

^ Just to give the full picture, although getComments does something pretty similar, so it is omitted.
I watched the following YouTube videos on the subject https://www.youtube.com/watch?v=OQTnXNCDywA & https://www.youtube.com/watch?v=UBGzsb2UkeY, but this does not seem to present a similar case. I'm trying to compare it to the "news feed example" and while I could potentially fetch the same user multiple times (e.g. the same user commented 20 times on a post), this is returned by const hit = await usersIndex.getObject(post.author.properties.user_id, ['username', 'userPhotos']);, which pulls the result from the Algolia index. On my own server however, it seems like this would really only be 1 request to get the posts + 1 request for that post's comments. So on the surface it does not seem like I would really need dataloader for this (it's not like the "news feed example" where there's users, then events, then users, then tags, then more users, users on users on users, unrelated users, etc... just simple posts & comments and who authored them), however I can only say so with 50% confidence and would really appreciate some advice, and questions I should be asking to properly make a decision.
Thanks!
-- Some dude building his first backend

Besides the good advice of "If you aren't sure you need it, you probably don't."

I think sooner or later you will need to use it. I am personally using it whenever I can. Usage is the same as in non batched/cached version of my call ctx.models.User.getById(id) vs ctx.models.User.getByIds.load(id) and I get all the benefits which go along with it. I create my DataLoaders on every request so I don't need to worry about clearing cache you just need to be careful to preserve order and number of resolved values. From your example author is good place where to use DataLoader.

And my resolver for a posts query looks something like:

Your resolve function doesn't make sense to me. You are somehow resolving the entire sub-tree of node feed even when user didn't query for it.
const POSTS_QUERY = gql`
  query Posts($cursor: String, $keyword: String, $order: Int) {
    posts(first: 10, before: $cursor, keyword: $keyword, order: $order) {
      feed {
        edges {
          cursor
        }
      }
   }
}

would result in the exact same amout of queries/work.
Take a good look at this repo it is great reference on how you should structure/build your graphql backend.

@kolpav

Your resolve function doesn't make sense to me. You are somehow resolving the entire sub-tree of node feed even when user didn't query for it.

Woah, you're absolutely right. Thanks for pointing that out. That didn't even cross my mind. It was my first attempt at GraphQL cursor-based pagination using this article as reference: https://medium.com/@gethylgeorge/infinite-scrolling-in-react-using-apollo-and-react-virtualized-graphql-cursor-pagination-bf80617a8a1a and schema: https://github.com/Gethyl/GraphQLPagination/blob/master/graphql/Schema.js where it looks like they do the same thing...
  query Posts($cursor: String, $keyword: String, $order: Int) {
    posts(first: 10, before: $cursor, keyword: $keyword, order: $order) {
      feed {
        edges {
          cursor
        }
      }
   }
}

^ With the example query you provided, I don't now why anyone would ever do that without asking for the nodes and the pageInfo (as the entire purpose is to paginate on those edges and display those nodes). Now I'm actually even more confused because you're right, my resolver does indeed resolve that entire subtree even if you didn't ask for it, and now I don't know what a proper resolver for this would look like.
GitHunt's example uses offset-based pagination, which is much simpler than what I'm trying to do / what I need an example for. Otherwise, it has indeed been my go-to. 👍
But anyway, pagination is an entirely different issue. Can you explain why it would be good to use dataloader with author? That part doesn't make sense to me. Are you saying that if I put this into a dataloader:
const hit = await usersIndex.getObject(post.author.properties.user_id, ['username', 'userPhotos']);

which is just a small part of getPosts, it will be able to batch just that specific part, and then getPosts as a whole will come back even faster? It does not seem like it would reduce the number of requests of my query getPosts and usersIndex.getObject(...) hits Algolia instead of direct requests to my server.

I don't now why anyone would ever do that without asking for the node and pageInfo

I don't think this should be your concern what someone might or might not query for

now I don't know what a proper resolver for this would look like

I think main problem is you are thinking about it wrong, you are not resolving each query entire subtree you just need to resolve the immediate edge in each resolver (there might be exceptions to this). So in posts(count: Int!): [Post] you need to resolve JUST the [Post] type it can be as simple as (_, { count }, ctx) => ctx.models.Post.getAllWithLimit(count), that's it.
If your Post type also have author: User well guess what you just need to resolve User type. Maybe like so ({ authorId }, _, ctx) => ctx.models.User.getById(authorId)
{
  posts(count: 10) {
    author {
      name
    }
  }
}

And that is perfect opportunity to use dataloader.
({ authorId }, _, ctx) => ctx.models.User.getByIds.load(authorId) implementation for that might look something like this const getByIds = ids => knex.from('user').whereIn('id', ids) // don't forget to ensure order and account for not found users so instead of 10 separate queries to db you will get one.


fixed some basic errors including unused imports and mutable variable where they did not need to be mutable

Already fixed by https://github.com/abour/fractal/pull/2.
But thanks for the contribution ;)


Support fcitx5

fcitx5 uses fcitx5-remote to control its status.
see:
https://github.com/cute-jumper/fcitx.el/issues/47
https://github.com/cute-jumper/fcitx.el/commit/c89c90cca6dc148647d8bc7b4766c84ddd988e34

A slightly different solution was needed, which was implemented in e567cc5. Thanks for bringing it to my attention however!


Marker duplicated

How to reproduce
Hi,
For the same chart, for some reasons, values in marker are duplicated. I do no see what could be the cause as I do not think values could be duplicated.
Observed behavior
In the video attached, you can see that sometimes marker values are duplicated.
https://github.com/patrykandpatrick/vico/assets/534304/a74b5b8c-542b-4fff-8c90-b1fa88ff41b1

Expected behavior
Marker should not be duplicated.
Vico version(s)
Latest unstable version
Android version(s)
API 30
Additional information
Vico version 2.0.0 Alpha 17

Hello! Thanks for the report. This doesn’t appear to happen in the sample app. (If it does on your end, please let me know.) Could you share a minimal reproducible example?

Hello! I’m closing this issue due to no activity and no MRE.


Add type definitions for sweetalert.

The type definitons is based on the docs and code.

I have closed the first pull request, because I've made a mess.
The sweetalert-tests are based on the docs from sweetalert. The name is the same as the sweetalert npm project. And I run the tsc and npm tests.
Thanks for making the web more type safe.

sweetalert/sweetalert.d.ts
check list

[ ] is collect naming convention?

https://www.npmjs.com/package/sweetalert
http://bower.io/search/?q=sweetalert
others?

[X] has a test file? (sweetalert/sweetalert-tests.ts or others)
[ ] pass the Travic-CI test?

@ToastHawaii cool! thanks mate :+1:


Enhance getItem functionality

Sumary
We want users to have an easy flow when using this SDK. For items, we want them to be able to provide either the ID or the title of an item as a parameter.
Tasks to be done

[ ] Adjust get function in src/lib/resources.ts so that now it checks whether the input is a valid Item ID or not (i.e. it matches the following regex: "^[a-z0-9]{26}$")
[ ] Adjust getItem by changing the parameter name to suggest that either the name or ID is accepted (e.g. itemQuery).
[ ] Create a new function getItemById in src/lib/op-connect.ts/**
 * Get details about a specific vault with a matching ID value.
 *
 * @param {string} vaultId
 * @param {string} itemId
 * @returns {Promise<FullItem>}
 */
public async getItemById(vaultId: string, itemId: string): Promise<FullItem> {
    return await this.items.getById(vaultId, itemId);
}

[ ] Add and adjust tests for the new functions in __test__/op-connect.test.ts

This issue is blocked by #58


Add options for language selection

Add an option to translate to and from a selected language.

You just want something in the options page? I guess it's nicer than using auto-detect hardcoded as "auto".

Yes, an option to change the language to translate to something like "English" or keep auto.

Implemented in latest version.


Upbound Universal Crossplane (UXP) is very out of date

Current version on operator hub: 1.5.1-up.1
Latest version of Upbound Universal Crossplane (UXP): 1.15.2-up.1

@muvaf @negz @hasheddan @turkenh @AaronME FYI

Any update on getting the version increased?


Error from readthedocs.org

There's a new error from readthedocs:
Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/fabric-fablib/envs/233/lib/python3.9/site-packages/sphinx/cmd/build.py", line 285, in build_main
    app.build(args.force_all, args.filenames)
  File "/home/docs/checkouts/readthedocs.org/user_builds/fabric-fablib/envs/233/lib/python3.9/site-packages/sphinx/application.py", line 353, in build
    self.builder.build_update()
  File "/home/docs/checkouts/readthedocs.org/user_builds/fabric-fablib/envs/233/lib/python3.9/site-packages/sphinx/builders/__init__.py", line 311, in build_update
    self.build(to_build,
  File "/home/docs/checkouts/readthedocs.org/user_builds/fabric-fablib/envs/233/lib/python3.9/site-packages/sphinx/builders/__init__.py", line 378, in build
    self.write(docnames, list(updated_docnames), method)
  File "/home/docs/checkouts/readthedocs.org/user_builds/fabric-fablib/envs/233/lib/python3.9/site-packages/sphinx/builders/__init__.py", line 586, in write
    self._write_serial(sorted(docnames))
  File "/home/docs/checkouts/readthedocs.org/user_builds/fabric-fablib/envs/233/lib/python3.9/site-packages/sphinx/builders/__init__.py", line 596, in _write_serial
    self.write_doc(docname, doctree)
  File "/home/docs/checkouts/readthedocs.org/user_builds/fabric-fablib/envs/233/lib/python3.9/site-packages/sphinx/builders/html/__init__.py", line 672, in write_doc
    self.handle_page(docname, ctx, event_arg=doctree)
  File "/home/docs/checkouts/readthedocs.org/user_builds/fabric-fablib/envs/233/lib/python3.9/site-packages/sphinx/builders/html/__init__.py", line 1076, in handle_page
    newtmpl = self.app.emit_firstresult('html-page-context', pagename,
  File "/home/docs/checkouts/readthedocs.org/user_builds/fabric-fablib/envs/233/lib/python3.9/site-packages/sphinx/application.py", line 481, in emit_firstresult
    return self.events.emit_firstresult(event, *args,
  File "/home/docs/checkouts/readthedocs.org/user_builds/fabric-fablib/envs/233/lib/python3.9/site-packages/sphinx/events.py", line 117, in emit_firstresult
    for result in self.emit(name, *args, allowed_exceptions=allowed_exceptions):
  File "/home/docs/checkouts/readthedocs.org/user_builds/fabric-fablib/envs/233/lib/python3.9/site-packages/sphinx/events.py", line 96, in emit
    results.append(listener.handler(self.app, *args))
  File "/home/docs/checkouts/readthedocs.org/user_builds/fabric-fablib/envs/233/lib/python3.9/site-packages/furo/__init__.py", line 179, in _html_page_context
    raise ConfigError(
sphinx.errors.ConfigError: This documentation is not using `furo.css` as the stylesheet. If you have set `html_style` in your conf.py file, remove it.

Configuration error:
This documentation is not using `furo.css` as the stylesheet. If you have set `html_style` in your conf.py file, remove it.

It could be that the latest release of furo theme broke something.  I have not been able to reproduce this error locally.
Originally posted by @sajith in https://github.com/fabric-testbed/fabrictestbed-extensions/issues/233#issuecomment-1686839290

This seems to be a transient error.  The latest builds (example #1, example #2) were just fine.
For future reference, https://readthedocs.org/projects/fabric-fablib/builds/21674963/ was the problem build.


Update constants in all models

Currently we have constants outside the models class:
CONFERENCE = 'conference'
MEETUP = 'meetup'

EVENT_TYPE_CHOICES = (
    (CONFERENCE, _('Conference')),
    (MEETUP, _('Meetup')),
)

DRAFT = 'draft'
PUBLISHED = 'published'
PRIVATE = 'private'
EXPIRED = 'expired'

EVENT_STATUS_CHOICES = (
    (DRAFT, _('Draft')),
    (PUBLISHED, _('Published')),
    (PRIVATE, _('Private')),
    (EXPIRED, _('Expired')),
)

class Event(FromToModel):
    title = models.CharField(verbose_name=_('Event name'), max_length=128)
    slug = models.SlugField(verbose_name=_('Event url'), help_text=_('Slug field, relative URL to the event.'))
    description = models.TextField(blank=True)

move all constants inside the class:
class Event(FromToModel):
    CONFERENCE = 'conference'
    MEETUP = 'meetup'

this way we can import just Event and access class Event.MEETUP, instead of extra import. Besides this is according Django documentation.
Please go through all models and fix also const usage in models.

Hi @ricco386 . I am a beginner in Django. Can I still try this ?

Hello @minibhati93, yes this is really easy issue, and it is suitable for beginner.
Try to setup the project as it is explained in the example readme. And once it is up and running just go through all models and move constants into classes. You will also need to go through all other files and check if we are importing constants and import class instead and update the code.

@minibhati93 seems there is already PR #162 for this issue, but dont worry I will create few more very soon...

@PKpacheco we would appreciate if in the future you signed up for an issue by leaving a comment. It prevents the situation where 2 people work on the same thing. :)

@Matusf thank you PR has been merged.


New RestServer Architecture: RestServer -> DB -> ApiServer; P0 Items

Review

[x] webportal
[ ] rest-server
[ ] database controller

Database Controller Test Cases

End-to-end Test
Path Test
Upgrade Test
Stress Test

End-to-end Test
Test Jobs

[x] A job with simple output
Case: job command echo success
Expect: Succeed, output success.

[x]  Stop a job
Case: job command sleep 1h; then stop this job
Expect: The job can be stopped.

[x] Job with retries
Case: job command: exit 1; set max retry to be 10
Expect: The job retry history can be viewed.

[x] Job with docker secret
Case: Submit a job with docker auth info
Expect: The job can run successfully.

[x] Job with priority class
Case: Submit a job with priority class
Expect: The job priority class is correct.

[x] Job with secret
Case: Submit a job with secret info
Expect: The secret info is successfully written into job.

[ ] Bulk job
Case: Submit a job with 1000+ instances.
Expect: The job can run successfully.

[ ] Bulk job with retries
Case: Submit a job with 1000+ instances, and 50+ retries.
Expect: The job can run successfully. The job retry history can be viewed.

Test in Certain Case

[ ] Database failure
Case: submit a job; shutdown the database; try to submit another job; start the database
Expect: the first job is not affected; the second job cannot be submitted.

[ ] Database controller failure
Case: submit a job; shutdown the database controller; try to submit another job; start the database
Expect: the first job is not affected; the second job cannot be submitted.

[ ] Framework controller failure
Case: shutdown the framework controller; try to submit a job; start the framework controller
Expect: the job can be submitted, but in WAITING status. After the framework controller is started, its state will turn to RUNNING.

Path Test
Rest-server checks conflicts

[ ] Case: Submit a job twice
Expect: The second job submission is not allowed.

[ ] Case: Stop a non-existed job
Expect: The operation is not allowed.

(Write merger) Add/Update FR (If not equal, override and mark !requestSynced, else no-op)

[ ] Environment: Write-merger doesn't forward request; Shutdown database poller;
Case: Fake two same framework requests to write-merger.
Expect: The second request will be ignored.

(Write merger) If retain mode is off, delete frameworks which are not submitted through db.

[ ]  Environment: Turn on retain mode
Case: Create a framework directly in API server;
Expect: The framework is not deleted.

[ ] Environment: Turn off retain mode
Case: Create a framework directly in API server;
Expect: The framework is deleted.

(Write merger) If not equal, override and mark as !requestSynced

[ ] Environment: Shutdown database poller
Case: Submit a job; Then change its requestGeneration in API server.
Expect: The framework is marked as requestSynced=false.

(Database poller) If API server 404 error, mock a delete Framework

[ ] Case: Submit A job; Then shutdown watcher after the job starts; Wait until the job succeeded; Stop poller; Start watcher; Stop watcher; Delete this framework manually; Start Poller
Expect:
After watcher is restarted, the job is marked as state=Completed and requestSynced=true;
After poller is restarted, it can mock a delete framework event to write merger.
Finally, the job will be marked as apiServerDeleted=true.

Upgrade Test

[ ] Upgrade from v1.0.y
Drop the database; Deploy a v1.0.y bed, submit some jobs (must include: one running job, one completed job with retry history, and one completed job without retry history). Then upgrade it. Make sure the job information is correct, and running jobs are not affected.

[ ] Upgrade from v1.1.y
Drop the database; Deploy a v1.1.y bed, submit some jobs (must include: one running job, one completed job with retry history, and one completed job without retry history). Then upgrade it. Make sure the job information is correct, and running jobs are not affected.

Stress Test

[ ] Submit 100000+ jobs in 1 hour. It should be handled properly.

Coverage increased (+0.3%) to 34.743% when pulling 429dc4edf5e651793dd72a3e33f1ab0f42d2c75d on zhiyuhe/db_integration into 53056ce48b6e2c87031eb7dbad3106c34845f441 on master.

Can your tests cover all operations/lines in graph https://github.com/microsoft/pai/issues/4651?

Move our Architecture doc to here?
https://github.com/microsoft/pai/issues/4651

Refers to: src/database-controller/README.md:9 in 345d3af. [](commit_id = 345d3af77053bbd5d4f0fb61d614715562ee0b20, deletion_comment = False)

Disable FC GC: frameworkCompletedRetainSec:<PHONE_NUMBER>

const convertState = (state, exitCode, retryDelaySec) => {

convertTaskState

Refers to: src/rest-server/src/models/v2/job/k8s.js:95 in 345d3af. [](commit_id = 345d3af77053bbd5d4f0fb61d614715562ee0b20, deletion_comment = False)

For rescale, historyType will be rescale. So the md5 hash is totally different from retry snapshot. We should caculate its hash using a different logic (do not need to be the same with retry snapshot).

But they are in the same table. The way to calculate primary key  should be the same?

For rescale, historyType will be rescale. So the md5 hash is totally different from retry snapshot. We should caculate its hash using a different logic (do not need to be the same with retry snapshot).

But they are in the same table. The way to calculate primary key should be the same?

I think the logic could be different as long as we have a clear definition. Here the uid only indicates an identical descriptor for snapshots in OpenPAI.

For rescale, historyType will be rescale. So the md5 hash is totally different from retry snapshot. We should caculate its hash using a different logic (do not need to be the same with retry snapshot).

But they are in the same table. The way to calculate primary key should be the same?

I think the logic could be different as long as we have a clear definition. Here the uid only indicates an identical descriptor for snapshots in OpenPAI.

OK


Update closes app

This plugin seems to break the hot-reloading feature of NativeScript by closing and reopening the app on every change. Is there a way to make it hotreload?

With the latest versions of the plugin (1.x +), this should only happen in NativeScript versions lower than 2.5. So if you're using NativeScript 2.4 or lower, a LiveSync will cause the app to fully reload when using this plugin.
If you don't plan to upgrade to {N} 2.5.x or 3.0.0 soon, I suggest you use an older version of this plugin that DOES support hot reload in older versions of NativeScript. You can find details in the README, but here's how you can install an older version of the plugin:
$ npm install<EMAIL_ADDRESS>--save-dev

In newer versions of NativeScript, LiveSync/hotreload should work as expected with this plugin.
Hope that helps.


Invalid % of "1 day value change USD"

Similar to this one: https://github.com/lorcalhost/BTB-manager-telegram/issues/129

Probably fixed by this one : #143

It's supposed to be fixed now with the addition of reports.