Support TypeScript 4

What is your Test Scenario?
We are using TypeScript version 4, which is not compatible with TestCafe's semver of ^3.3, so code that compiles fine in our repository may not compile when running in TestCafe (die to differences between versions 4 and 3). TestCafe should be able to work with the version of TypeScript in my repository.
What is the Current behavior?
Compilation issues within TestCafe for code that compiles in my repository.
What is the Expected behavior?
Code compiles in TestCafe.
What is your web application and your TestCafe test code?
Normal TestCafe code written in TypeScript, using features supported in TS 4 but not TS 3.
Steps to Reproduce:

Author a TestCafe test in TS using TS 4 compatible features that aren't support in TS 3.
Compile files in repository specifying TS 4 dependency - observe no errors.
Run TestCafe with file - observe compilation errors.

Thank you for your report. TypeScript 4 is not supported at the moment. We need to test it for breaking changes and publish a minor or a major release. Please stay tuned for updates in this thread.

The issue is more that it's a painful experience to force a project's TypeScript version to be in lockstep with TestCafe's version. In our example, all of the code in our large monorepo is happily using TS 4, with the exception of our e2e tests. We either need to:

Not upgrade TS to a version incompatible with TestCafe
Author e2es differently from the rest of our codebase

Both of these are pretty much non-starters. The former is prohibitively restrictive. The latter is not well supported in IDEs (i.e., VSCode uses "a TS version" for the entire IDE and it doesn't switch contextually based on active file directory).

ideally testcafe would use my project's version of typescript rather than its own. and it could just specify a range of supported versions with a peer dependency

I understand that it is a serious issue for you and all other TypeScript users. @bdwain, I think peer dependencies won't play well here, since we try to provide out-of-the boxTypeScript support.
Could you please try to install the test build attached to this post? It allows using a different TypeScript version instead of the one that comes with TestCafe. With this experimental version, you can set the TESTCAFE_TYPESCRIPT_PACKAGE_PATH environment variable to the path to a custom TypeScript package, and TestCafe will use it instead of the preinstalled dependency.
You can install the test build with the following command:
npm i  https://github.com/DevExpress/testcafe/files/5208261/testcafe-1.9.2.tar.gz
testcafe-1.9.2.tar.gz

thanks @AndreyBelym , but this sounds like it won't use our tsconfig.json file? We want it to use that too.
Can testcafe default to using the preinstalled version of testcafe if it detects one, and if not, use its bundled version?

Changing the TypeScript version does not relate to tsconfig.json in any way. We wanted to load tsconfig.json automatically from the current working directory, but it was considered a breaking change. So, it's very unlikely that we can implement this until<EMAIL_ADDRESS>You can use the --ts-conifg-path option to supply your TypeScript configuration in the same way in both the modified and current versions.
I think we can detect a different TypeScript version if we start searching for a package from the current working directory. However, we should first check that everything works fine when an external package is specified manually.

oh cool i didn't know that option existed. I will test this change.

This seems to work pretty well! But there are 2 minor issues that I think should not be too bad to fix.
The first issue is that noImplicitAny is explicitly set to false (even though false is the default setting). While this is fine if I set noImplicitAny in my config to true (my true value will override the false default), it causes an issue if I used the strict option in my tsconfig, which is a shortcut for a bunch of strict settings, including noImplicitAny (Enable all strict type checking options.
Enabling --strict enables --noImplicitAny, --noImplicitThis, --alwaysStrict, --strictBindCallApply, --strictNullChecks, --strictFunctionTypes and --strictPropertyInitialization). This ends up causing a problem because the merged config file ends up having both strict: true and noImplicitAny: false, which typescript interprets as applying all of the strict settings except noImplicitAny, even though I as the end user only set strict to true and am expecting it to apply all of its settings.
I think the simplest thing would be for the built in config to just not set noImplicitAny at all and rely on the default of false. That should work the same in all cases right now except the case I ran into, which arguably is behaving incorrectly anyway. Alternatively, you could detect if the provided config sets strict, and if so, do not set noImplicitAny, but otherwise do set it to false.
The other issue I ran into is more cosmetic. The warnings that get output
You cannot override the "target" compiler option in the TypeScript configuration file.
You cannot override the "module" compiler option in the TypeScript configuration file.

are kind of odd because almost everyone who has their own tsconfig will set target and module in it, and i think it's just kind of understood that if you reuse it for testcafe, your target and module won't matter when running it and may get overwritten. Since the error isn't really actionable, it would be nice if we could disable it somehow (or if it just didn't exist).
Other than those 2 small things, I think everything looks to be pretty good.

Thank you for your feedback. noImplicitAny: false was introduced as a default setting in earlier TestCafe versions, so we cannot remove it without the risk of breaking user tests. I created an issue for that task: #5543, but again, it is something that we cannot implement before<EMAIL_ADDRESS>I agree that we should add more flexibility to our warning system: #5544. As a workaround, you can split your tsconfig.json and use the extend property: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html#tsconfig-bases.

@AndreyBelym but false is the typescript Default anyway. It shouldn’t make a difference to the end user if testcafe sets it or not, since if you set it to true it will override testcafe’s default. The only case where it matters is a case where testcafe is behaving incorrectly anyway (my case).
If it can’t be fixed until 2.0, Is there something we can do to fix this issue at least temporarily until then? Maybe an environment variable fo set that removes no implicit any? It can be removed in 2.0 when it stops setting that value?
Since things work overall, what are your thoughts on doing a release where you tell testcafe to use the typescript version your project uses? Basically implementing the ability to do what your test build did for real. I’d be happy to help with a pr if you’re open to it.

There is still a breaking change for users who enabled strict in their tsconfig.json and did not follow the noImplicitAny rule since it was disabled by TestCafe.
As a workaround, you can enable both "strict" and "noImpicitAny" in your `tsconfig.json".
This issue is planned for the current development sprint. If everything goes as planned, this feature should be released in the next TestCafe version, which will be released shortly after the start of the next sprint. Please note that this estimate is not perfect, and the feature can be delayed or canceled.

thanks!

As of 2020-11-16 TypeScript 4.0 is still not supported, right?
ps: I bypassed this limitation by adding "resolutions" to my package.json like that:
  "//": "Kirill: this is to fix TestCafe compilation",
  "resolutions": {
    "typescript": "^4.0.5"
  },

@kirillgroshkov, Thank you for sharing your workaround with us. We will make it possible to specify a custom path to the typescript compiler in the next release.

The resolutions workaround doesn't work for us because typescript path seem to be hardcoded.
{code}
Cannot find module 'node_modules/testcafe/node_modules/typescript
{code}

Thanks @piotrl for explaining the workaround. That saved us a couple of hours trying to get it to work.
In our case, it isn't even our own test code that requires TypeScript 4 but one of our dependencies needs it for a type that we don't even use for the tests. But this still breaks the compilation when trying to execute the tests with testcafe.
It would be really nice if support for TypeScript 4 could be added. It feels weird to have to rely on this workaround...

Thanks @piotrl - you saved me from hours lost getting to this solution myself

TestCafe v2.0 and up will include an up-to-date version of the TypeScript compiler (v4.7.4).


#43 remove 3.10.1 from python version

Codecov Report

Merging #44 (bc8a488) into dev (bad1c74) will decrease coverage by 4.66%.
The diff coverage is 73.27%.

@@            Coverage Diff             @@
##              dev      #44      +/-   ##
==========================================
- Coverage   89.42%   84.76%   -4.67%
==========================================
  Files           2        2
  Lines         473      558      +85
==========================================
+ Hits          423      473      +50
- Misses         50       85      +35

Impacted Files
Coverage Δ

qiita_sync/qiita_sync.py
84.73% <73.27%> (-4.67%)
: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 7d030c8...bc8a488. Read the comment docs.


Autocert can't be built since certificates >0.10.0 and cli>0.10.0

Subject of the issue
Trying to build autocert leads to a lot of issues :

We encounter a  known issue  between blackfriday and dep. This can be fixed by adding an override in Gopkg.toml to force blackfriday 1.5.2 and run dep ensure -update
We then get an issue compiling nosql/badger. No clue what's going on here, only way to move forward was to remove all references to badger from github.com/smallstep/nosql/nosql.go :

badger/badger.go:27:4: bo.Dir undefined (type func(string) badger.Options has no field or method Dir)
badger/badger.go:29:5: bo.ValueDir undefined (type func(string) badger.Options has no field or method ValueDir)
badger/badger.go:31:5: bo.ValueDir undefined (type func(string) badger.Options has no field or method ValueDir)
badger/badger.go:34:26: cannot use bo (type func(string) badger.Options) as type badger.Options in argument to badger.Open
badger/badger.go:122:12: assignment mismatch: 2 variables but 1 values
badger/badger.go:122:25: not enough arguments in call to item.Value
        have ()
        want (func([]byte) error)
badger/badger.go:196:11: assignment mismatch: 2 variables but 1 values
badger/badger.go:196:24: not enough arguments in call to item.Value
        have ()
        want (func([]byte) error)
badger/badger.go:230:29: too many arguments in call to badgerTxn.Commit
        have (nil)
        want ()

We can finally start compiling autocert, but there is a breaking change in certificates > 0.10.0  (https://github.com/smallstep/certificates/pull/80), which gives the error :

./main.go:579:23: cannot use config.GetRootCAPath() (type string) as type []byte in argument to ca.NewProvisioner
./main.go:579:23: cannot use password (type []byte) as type ca.ClientOption in argument to ca.NewProvisioner

After forcing certificates to 0.10.0 in Gopkg.toml, another breaking change, this time in cli > 0.10.0 (https://github.com/smallstep/cli/pull/131) :

vendor/github.com/smallstep/certificates/authority/provisioner/jwk.go:145:16: assignment mismatch: 2 variables but 3 values

I could not get past this one, as I reach a dependency conflict if I try to force cli to 0.10.0:
Solving failure: No versions of github.com/smallstep/cli met constraints:
        v0.10.1: Could not introduce<EMAIL_ADDRESS>as it has a dependency on github.com/smallstep/certificates with constraint master, which has no overlap with existing constraint ^0.10.0 from (root)
        v0.10.0: Could not introduce<EMAIL_ADDRESS>as it has a dependency on github.com/smallstep/certificates with constraint master, which has no overlap with existing constraint ^0.10.0 from (root)

Environment
# go version
go version go1.11.6 linux/amd64

Steps to reproduce
git clone
cd autocert/controller
dep init
go build  -v  .

Expected behaviour
Tell us what should happen
Actual behaviour
Tell us what happens instead
Additional context
Add any other context about the problem here

Fixed with move to go modules.


Scripts and settings for Lint, CDC, RDC and synthesis

Can you please provide reference scripts/settings for Lint, Synthesis, RDC and CDC?

@JohnTraverAmd @amullick007 - can one of provide any additional info here? If some of it is added to integ spec, plz let the issuer filer know about it.

For RDC, you can refer to https://github.com/chipsalliance/caliptra-rtl/blob/44bdcf5153f4fa8f717e2c217ecf3bbacfc6ef9d/docs/CaliptraIntegrationSpecification.md?plain=1#L728


Fixed Xcode9 warnings for unspecified block parameters

Xcode9 ads warnings requiring block arguments to be specified as void if block accepts no arguments.

Good luck getting it merged. haven't seen any action on this repo for some time.


Launching new application from Activities menu while in tiled mode crashes Gnome Shell.

Great project, thanks for the work!
When in vertical or horizontal tiled mode, open the activities menu/launcher by pressing Super. Select a new application to launch. Gnome shell crashes and returns to the log-in screen.
The last critical message in Gnome Logs is:
Sender: gnome-session-b
Time: 10:06:24
Message: Unrecoverable failure in required component org.gnome.Shell.desktop
Audit Session: 5
Priority: 3

I also get these reoccurring warnings/errors:
Sender: gnome-shell
Time: 10:05.13
Message: JS ERROR: TypeError: this.layouts[cw] is undefined
Manager<.current_layout@/home/mike/.local/share/gnome-shell/extensions/gnomesome@chwick.github.com/manager.js:318:13
wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22
MenuButton<._updateIndicator@/home/mike/.local/share/gnome-shell/extensions/gnomesome@chwick.github.com/menubutton.js:73:25
wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22
Audit Session: 6
Priority: 4

Sender: gnome-shell
Time: 10:04.49
Message: JS WARNING<EMAIL_ADDRESS>318]: reference to undefined property 0
Audit Session: 6
Priority: 5

Ubuntu 17.10, x86_64, kernel 4.13, Gnome 3.26, Wayland.

thanks for that bug report! I can confirm this bug on arch linux, gnome 3.26 wayland. The bug does not occur if I use xorg as display server.


install.sh fails with the following error.

golang.org/x/net/http2
/root/go/src/golang.org/x/net/http2/client_conn_pool.go:305:6: undefined: errors.Is
Makefile:16: recipe for target 'smf_http_server' failed
make[3]: *** [smf_http_server] Error 2
make[3]: Leaving directory '/root/tacker-example-plugin/free5gc-stage-1/src/smf/http_server'
Makefile:533: recipe for target 'install-recursive' failed
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory '/root/tacker-example-plugin/free5gc-stage-1/src/smf'
Makefile:514: recipe for target 'install-recursive' failed
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory '/root/tacker-example-plugin/free5gc-stage-1/src'
Makefile:633: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1

Fix:
Edit install.sh file to add latest version of golang.


Auth with code grant and implement auto-refresh

The ASK toolkit will perform an authorization code grant instead of an implicit grant and then refresh the token when it expires.  This this would be a great addition to this project.
Then you can set up continuous integration flows where you authenticate once, sync the local token with an encrypted secret store (e.g. KMS encrypted and stored in a private S3 bucket), and then have CI pull the latest token, do a deploy, and push the token back to the secret store whenever it changes.

We have the same requirement, as we want to deploy skills from CI.
A relatively easy approach would be to add a command to the plugin that refreshes the tokens in .serverless/.alexa-skills-token.json, by using the current refresh token in the same file.
I'm thinking of something like serverless alexa refresh-auth. Another, maybe even better, option would be  serverless alexa auth --refresh-token "Atzr|abcdef...", where the existing command is used but with the refresh token provided explicitly. When this parameter is present, instead of opening the Grant page in a browser, the plugin sends a refresh POST request to the OAuth API.
The first step in the build process on CI would then be to invoke this command, with the token loaded from a secrets store.
If you think this is an ok approach, I'm willing to provide a PR.

@jonnedeprez I would love to have this functionality, have you already a solution for this?

Yes, I do, but I deploy the skill with ask-cli.
Using ask cli I got a refresh token on my local machine and stored it on CI as a secret (look inside ~/.ask). These refresh tokens never expire, so you can keep refreshing access tokens using the same refresh token. Then on CI, I run the following in a bash shell (it basically tricks ask-cli authentication):
mkdir -p ~/.ask
curl -X POST https://api.amazon.com/auth/o2/token \
  -H "Cache-Control: no-cache" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=refresh_token&refresh_token=$AMAZON_REFRESH_TOKEN&client_id=$AMAZON_CLIENT_ID&client_secret=$AMAZON_CLIENT_SECRET" \
  | cat <(echo "{\\"profiles\\":{\\"default\\":{\\"aws_profile\\": \\"default\\",\\"token\\":") <(cat -) <(echo "} } }") > ~/.ask/cli_config

then you can use commands like
ask api update-model ...
ask api update-skill ...

and ask cli will already be authenticated.


AzOps - Pull failing on AzOps 1.8.0

AzOps - Pull pipeline was running withouth the version parameter set and started failing when 1.8.0 became the latest release.
Steps to reproduce

Run AzOps - Pull pipeline with version 1.8.0 of AzOps module.

Screenshots

Workaround
Force AzOps - Pull pipeline to use version 1.7.7

Thank you for reporting this. Can you please share your settings.json file as well as execution environment (GitHub actions/Azure DevOps) and if you are using self-hosted runners?

Settings.json attached.
Environment: Azure Devops
Not using self hosted

settings.zip

Thanks for your quick reply, we are looking into it.
We are able to reproduce this when Core.PartialMgDiscoveryRoot is set.

Thank you!

Thank you for reporting this @CerveloRS - this is now fixed in our 🚒 release 1.8.1.
Please let us know if something isn't working as expected.

Thank you. Confirmed working on my end aswell.
Great work :)


Update chart when chart type/options change

This change allows the chart type to be changed (ie line --> bar) or when options change (ie responsive:true --> responsive:false). Tests are added to confirm that these new features work.
Largely borrowed from https://github.com/aomran/ember-cli-chart/pull/50.
Sorry, the diff makes it look like a much larger change than it actually is, the change actually made is...

break out creating a chart into its own function
add/remove observer to type variable
add redrawChart() function.
add/remove observer for 'options' to run redrawChart() function.

cc @sstephens

Just noticed a visual bug where, when switching from a pie chart to a bar chart, the bar graph looks vertically squished. Not so the case for line --> bar or bar --> line. I assume this is because a line/bar chart has a similar aspect ratio. hmmmmm

@CBarraford This has been merged into master and tagged as v2.2.1 on npm. Thanks for your help and contribution.


Swift 3 + Carthage temporary fix

If anyone, like me, needs a quick fix for making UberRides work with Swift 3 and Carthage, I made a couple quick fixes to @long's great work for #111. Drop this is your Cartfile:
github "scottrhoyt/rides-ios-sdk" "swift-3-dev"

Thanks for this note, @scottrhoyt!
Closing this in favor of #167 for now :)


Support for RandomForest

Is there support for SKlearn's RandomForest?

Hi @marcodelmoral, did you try it and didn't work ?

Hi @marcodelmoral, did you try it and didn't work ?

Just tried and its not supported.

You can only display one tree at a time. Are you sending in one tree or a forest?

Im sending the whole forest, I'll grab the best tree and try with it. Thanks for the answers cheers!

@marcodelmoral did it work ? if yes, we could close this issue. thanks


Embeds

I'm curious about your plans for embed support in Discord Hono. Are you considering adding built-in support for embeds? If not, then what do you think about this EmbedBuilder class in the attachement I don't want to bother with a pull request as I don't use github, so I'm sharing it here for your consideration. What are your thoughts on this? Also I haven't thoroughly tested or checked this code - it's just an idea I'm putting out there
embed.txt

Hi!
In v0.7.2 I did not provide an embed builder because embed is a pure object.
I added it in v0.7.3 to try it out.
I also created a simple Docs.

Thanks for adding embed support in v0.7.3! The new docs are really helpful.
I picked Discord Hono for my project because it's fast and works with Cloudflare Workers. I like that it's serverless.
I've used Discord.js before, and I'm wondering how much of what it can do, Discord Hono can do too. Do you think Discord Hono will eventually do everything Discord.js can? Also, are you thinking about using similar names for things as Discord.js does? That might make it easier for people to switch over.
I'm trying to figure out how to make a weather command in Discord Hono. In my Discord.js bot, I had a command that did these things:

Used slash commands to get a city name from the user.
Made API calls to get current conditions, forecasts, and alerts.
Created an embed with the weather info and a button to show alerts.
When the button was clicked, it showed weather alerts in a new embed.

How could I create something similar using the current version of Discord Hono? Are there any limitations I should be aware of when trying to implement this kind of interactive command with multiple API calls and dynamic updates?

Thank you for choosing Discord Hono!
Regarding Discord.js, I have never used Discord.js, so I am including speculation, but I made this comparison.
https://discord-hono.luis.fun/overview/features/#server-based-bot-vs-serverless-bot
Also, as you can see from this comparison, I cannot reproduce all the features of Discord.js (server-based bot).
As for keeping the usability the same as Discord.js, I am not currently considering adapting the way the Discord Hono code is written to Discord.js.
However, it may be very useful to provide a guide for switching from Discord.js to Discord Hono. (I would need to be somewhat familiar with Discord.js, though.)
I have created a sample code for the Weather Bot you are trying to create. Please take a look at it for reference.
// index.ts
import { Button, Components, DiscordHono, Embed } from 'discord-hono'

type Env = {
  Variables: {
    city?: string
  }
}

const deleteButton = new Button('message-delete', 'Delete', 'Secondary').emoji({ name: '🗑' })

const app = new DiscordHono<Env>()
  .command('weather', c => {
    const city = c.var.city || 'default city'
    const fetchWeatherInfo = `Weather: ${city}`
    const embed = new Embed().title('Weather Info').description(fetchWeatherInfo)
    const components = new Components().row(
      new Button('alert', 'Weather Alerts').custom_id(city).emoji({ name: '⚠' }),
      deleteButton,
    )
    return c.res({ embeds: [embed], components })
  })
  .component('alert', c => {
    const city = c.interaction.data?.custom_id || 'default city'
    const fetchAlertInfo = `Alerts: ${city}`
    const embed = new Embed().title('Alerts Info').description(fetchAlertInfo)
    const components = new Components().row(deleteButton)
    return c.resUpdate({ embeds: [embed], components })
  })
  .component('message-delete', c => c.resDeferUpdate(c.followupDelete))

export default app

// register.ts
import { Command, Option, register } from 'discord-hono'

const commands = [
  new Command('weather', 'weather info').options(new Option('city', 'city name').required()),
]

One limitation to note is that the 'alert' and custom_id city strings in the sample code are limited to a combined total of 99 characters.
Also, unlike Discord.js server-based bots, the previous state cannot be saved. (I think you can use cloudflare kv or cloudflare d1 ingeniously as a substitute.) Therefore, the previous state is saved in custom_id, etc., and it is referred to when operating buttons, etc.

Thanks for the detailed reply and that sample code as it's very helpful.
I totally forgot to mention earlier that in my Discord.js bot, I was using ephemeral messages to control if the users want to show it for everyone or not. And I had a feature where users could click buttons under the embed to flip through pages - because showing weather for each hour over 24 hours would be way too much for one embed.
Your sample code is great - gives me a solid starting point. I can see how to handle the basic weather command and show alerts with buttons. Pretty clever using custom_id for the city info, considering how serverless functions work.
I'm kinda curious about a few things:

For longer content like hourly forecasts, how could I implement page switching using buttons in Discord Hono? Is there a way to update the embed content when a user clicks a "next page" or "previous page" button?

I read in your repo that Discord Hono is heavily influenced by Hono, and I noticed that they mention Bun and Deno in their docs. Have you considered switching to Bun as the primary runtime? I've heard it's supposed to be 377% faster than regular Node. Could this speed boost benefit Discord Hono users?

Thanks again for explaining everything and for the sample code. It's really helping me figure out how to move my project over to Discord Hono.

Glad my reply could help you.
I made a sample code that implements ephemeral messages and page switching. Please take a look at it for reference.
// index.ts
import { Button, Components, DiscordHono, Embed } from 'discord-hono'

type Env = {
  Variables: {
    city?: string
    public?: boolean
  }
}

const deleteButton = new Button('message-delete', 'Delete', 'Secondary').emoji({ name: '🗑' })

const weatherInfo = (city: string, nowPage: number) => {
  const maxPage = 3
  const fetchWeatherInfo = `Weather: ${city} \nPage: ${nowPage}`
  const fetchAlertInfo = `Alerts: ${city}`
  const noAlert = fetchAlertInfo ? true : false
  const previousPageId = JSON.stringify([city, nowPage - 1])
  const nextPageId = JSON.stringify([city, nowPage + 1])
  // Might need to check character limit check.
  const embed = new Embed().title('Weather Info').description(fetchWeatherInfo)
  const components = new Components()
    .row(
      new Button('weather', 'Previous')
        .custom_id(previousPageId)
        .emoji({ name: '⬅' })
        .disabled(nowPage <= 1),
      new Button('weather', 'Next')
        .custom_id(nextPageId)
        .emoji({ name: '➡' })
        .disabled(maxPage <= nowPage),
    )
    .row(
      new Button('alert', 'Alerts', noAlert ? 'Secondary' : 'Primary')
        .custom_id(city)
        .emoji({ name: '⚠' })
        .disabled(noAlert),
      deleteButton,
    )
  return { embeds: [embed], components }
}

const app = new DiscordHono<Env>()
  .command('weather', c => {
    const isPublic = c.var.public || false
    return c.ephemeral(!isPublic).res(weatherInfo(c.var.city || 'default city', 1))
  })
  .component('weather', c => {
    const [city, nowPage]: [string, number] = JSON.parse(c.interaction.data?.custom_id || '')
    return c.resUpdate(weatherInfo(city, nowPage))
  })
  .component('alert', ...)
  .component('message-delete', ...)

export default app

// register.ts
const commands = [
  new Command('weather', 'weather info').options(
    new Option('city', 'city name').required(),
    new BooleanOption('public', 'public reply (default: false)'),
  ),
]

Regarding Bun
As a premise, I have not used Bun yet.
I have not thought about using Bun as a development environment.
I believe that it is possible to use Bun as the user's environment.
If there is an error specific to the Bun environment, I would like to respond to it. (Though I may be late in responding.)
When you run npm run register, I think you will benefit from the increased processing speed.
However, the actual index.ts running on cloudflare should be irrelevant.
P.S.
I found some improvements in Discord Hono while writing the sample code. Thanks.

Updated to version 0.7.4.
The code has been made a little clearer.
// const city = c.interaction.data?.custom_id
const city = c.var.custom_id

Also partially merged the builders.
As a breaking change, I expanded the builder's array type argument.
If you are interested, try updating it.

Thanks. Now it was easier to create the command after looking at your examples :D.
Here is the command that I was working on. Maybe it will be useful to someone in the future
note: a lot of things are in Polish

 ```
 import { CommandContext, ComponentContext, Embed, Components, Button } from 'discord-hono';
import axios from 'axios';
type Env = {
Bindings: {
ACCUWEATHER_API_KEY: string;
};
Variables: {
miasto?: string;
publiczny?: boolean;
};
}
interface Location {
Key: string;
LocalizedName: string;
}
interface CurrentConditions {
WeatherText: string;
WeatherIcon: number;
IsDayTime: boolean;
Temperature: { Metric: { Value: number, Unit: string } };
RealFeelTemperature: { Metric: { Value: number, Unit: string } };
RelativeHumidity: number;
Wind: {
Direction: { Degrees: number, Localized: string },
Speed: { Metric: { Value: number, Unit: string } }
};
UVIndex: number;
UVIndexText: string;
Visibility: { Metric: { Value: number, Unit: string } };
CloudCover: number;
Pressure: { Metric: { Value: number, Unit: string } };
PrecipitationSummary: {
Past24Hours: { Metric: { Value: number, Unit: string } }
};
TemperatureSummary: {
Past24HourRange: {
Minimum: { Metric: { Value: number, Unit: string } },
Maximum: { Metric: { Value: number, Unit: string } }
}
};
}
interface WeatherAlert {
Description: { Localized: string };
Source?: string;
Area: Array<{
Name?: string;
StartTime?: string;
EndTime?: string;
}>;
}
interface HourlyForecast {
DateTime: string;
WeatherIcon: number;
Temperature: { Value: number };
IconPhrase: string;
}
function polishPlural(singularNominativ: string, pluralNominativ: string, pluralGenitive: string, value: number): string {
if (value === 1) {
return singularNominativ;
} else if (value % 10 >= 2 && value % 10 <= 4 && (value % 100 < 10 || value % 100 >= 20)) {
return pluralNominativ;
} else {
return pluralGenitive;
}
}
function getWeatherEmoji(iconCode: number): string {
const iconMap: { [key: number]: string } = {
1: "☀", 2: "☀", 3: "⛅", 4: "⛅", 5: "🌥", 6: "🌥", 7: "☁", 8: "☁",
11: "🌫", 12: "🌧", 13: "🌦", 14: "🌦", 15: "⛈", 16: "⛈", 17: "⛈",
18: "🌧", 19: "❄", 20: "🌨", 21: "🌨", 22: "❄", 23: "❄", 24: "❄",
25: "🌧", 26: "🌧", 29: "🌧❄", 30: "🌡", 31: "🥶", 32: "💨",
};
return iconMap[iconCode] || "☁";
}
async function getLocationKey(cityName: string, c: CommandContext): Promise<Location | null> {
try {
const response = await axios.get("https://api.accuweather.com/locations/v1/autocomplete", {
params: {
apikey: c.env.ACCUWEATHER_API_KEY,
q: cityName,
language: "pl-pl",
includeAliases: "false"
},
headers: {
"User-Agent": "AccuWeather AccuKotlinSDK Web Request Client/1.0 Google-HTTP-Java-Client/1.43.3 (gzip)"
}
});
if (Array.isArray(response.data) && response.data.length > 0) {
return response.data[0];
}
} catch (error) {
console.error("Error fetching location key:", error);
}
return null;
}
async function getCurrentConditions(locationKey: string, c: CommandContext): Promise<CurrentConditions | null> {
try {
const response = await axios.get(https://api.accuweather.com/currentconditions/v1/${locationKey}.json, {
params: {
apikey: c.env.ACCUWEATHER_API_KEY,
language: "pl-pl",
details: "true"
},
headers: {
"User-Agent": "AccuWeather AccuKotlinSDK Web Request Client/1.0 Google-HTTP-Java-Client/1.43.3 (gzip)"
}
});
if (Array.isArray(response.data) && response.data.length > 0) {
return response.data[0];
}
} catch (error) {
console.error("Error fetching current conditions:", error);
}
return null;
}
async function getWeatherAlerts(locationKey: string, c: CommandContext): Promise<WeatherAlert[] | null> {
try {
const response = await axios.get(https://api.accuweather.com/alerts/v1/${locationKey}.json, {
params: {
apikey: c.env.ACCUWEATHER_API_KEY,
language: "pl-pl",
details: "true"
},
headers: {
"User-Agent": "AccuWeather AccuKotlinSDK Web Request Client/1.0 Google-HTTP-Java-Client/1.43.3 (gzip)"
}
});
if (Array.isArray(response.data)) {
return response.data as WeatherAlert[];
}
} catch (error) {
console.error("Error fetching weather alerts:", error);
}
return null;
}
async function getHourlyForecast(locationKey: string, hours: number, c: CommandContext): Promise<HourlyForecast[] | null> {
try {
const response = await axios.get(https://api.accuweather.com/forecasts/v1/hourly/24hour/${locationKey}.json, {
params: {
apikey: c.env.ACCUWEATHER_API_KEY,
language: "pl-pl",
details: "true",
metric: "true"
},
headers: {
"User-Agent": "AccuWeather AccuKotlinSDK Web Request Client/1.0 Google-HTTP-Java-Client/1.43.3 (gzip)"
}
});
if (Array.isArray(response.data)) {
return response.data.slice(0, hours) as HourlyForecast[];
}
} catch (error) {
console.error("Error fetching hourly forecast:", error);
}
return null;
}
function formatTime(timeStr: string): string {
if (!timeStr) return "N/A";
try {
const date = new Date(timeStr);
return date.toLocaleString("pl-PL", { year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit' });
} catch {
return "Nieznany format czasu";
}
}
function getAlertEmoji(alertDescription: string): string {
if (alertDescription.includes("Burza")) return "⛈";
if (alertDescription.includes("Wiatr")) return "🌬";
if (alertDescription.includes("Śnieg")) return "❄";
if (alertDescription.includes("Deszcz")) return "🌧";
if (alertDescription.includes("Upał")) return "🌡";
if (alertDescription.includes("Mróz")) return "🥶";
return "⚠";
}
function getTemperatureColor(temperature: number): number {
if (temperature < 0) return 0x9999FF;
if (temperature < 10) return 0x99CCFF;
if (temperature < 20) return 0x99FFCC;
if (temperature < 30) return 0xFFFF99;
return 0xFF9999;
}
function createWeatherEmbed(location: Location, currentConditions: CurrentConditions, alerts: WeatherAlert[] | null) {
const weatherEmoji = getWeatherEmoji(currentConditions.WeatherIcon);
const temperatureColor = getTemperatureColor(currentConditions.Temperature.Metric.Value);
const embed = new Embed()
    .title(`${weatherEmoji} Pogoda dla ${location.LocalizedName}`)
    .description(`${currentConditions.WeatherText} (${currentConditions.IsDayTime ? 'Dzień' : 'Noc'})`)
    .fields(
        { name: "🌡 Temperatura", value: `${currentConditions.Temperature.Metric.Value}°C`, inline: true },
        { name: "🥵 Odczuwalna", value: `${currentConditions.RealFeelTemperature.Metric.Value}°C`, inline: true },
        { name: "💧 Wilgotność", value: `${currentConditions.RelativeHumidity}%`, inline: true },
        { name: "💨 Wiatr", value: `${currentConditions.Wind.Speed.Metric.Value} ${currentConditions.Wind.Speed.Metric.Unit} ${currentConditions.Wind.Direction.Localized}`, inline: true },
        { name: "☀ UV Index", value: `${currentConditions.UVIndex} (${currentConditions.UVIndexText})`, inline: true },
        { name: "👁 Widoczność", value: `${currentConditions.Visibility.Metric.Value} ${currentConditions.Visibility.Metric.Unit}`, inline: true },
        { name: "☁ Zachmurzenie", value: `${currentConditions.CloudCover}%`, inline: true },
        { name: "🧭 Ciśnienie", value: `${currentConditions.Pressure.Metric.Value} ${currentConditions.Pressure.Metric.Unit}`, inline: true },
        { name: "🌧 Opady (24h)", value: `${currentConditions.PrecipitationSummary.Past24Hours.Metric.Value} ${currentConditions.PrecipitationSummary.Past24Hours.Metric.Unit}`, inline: true },
        { name: "🌡 Min. temp. (24h)", value: `${currentConditions.TemperatureSummary.Past24HourRange.Minimum.Metric.Value}°C`, inline: true },
        { name: "🌡 Maks. temp. (24h)", value: `${currentConditions.TemperatureSummary.Past24HourRange.Maximum.Metric.Value}°C`, inline: true }
    )
    .color(temperatureColor)
    .timestamp(new Date().toISOString())
    .thumbnail({ url: `https://developer.accuweather.com/sites/default/files/${currentConditions.WeatherIcon.toString().padStart(2, '0')}-s.png` });

const alertCount = alerts ? alerts.length : 0;
const alertText = polishPlural("ostrzeżenie pogodowe", "ostrzeżenia pogodowe", "ostrzeżeń pogodowych", alertCount);
embed.footer({ text: `${alertCount} ${alertText}` });

return embed;

}
function createWeatherComponents(city: string, alerts: WeatherAlert[] | null) {
const hasAlerts = alerts && alerts.length > 0;
return new Components()
.row(
new Button('show_alerts', 'Pokaż ostrzeżenia', hasAlerts ? 'Danger' : 'Secondary')
.custom_id(city)
.emoji({ name: '🚨' })
.disabled(!hasAlerts),
new Button('show_hourly', 'Prognoza godzinowa', 'Primary')
.custom_id(JSON.stringify([city, 1]))
.emoji({ name: '🕒' })
);
}
export const pogoda = async (c: CommandContext) => {
const cityName = c.var.miasto as string;
const isPublic = c.var.publiczny as boolean ?? false;
try {
    const location = await getLocationKey(cityName, c);
    if (!location) {
        return c.res("Nie udało się znaleźć podanego miasta.");
    }

    const [currentConditions, alerts] = await Promise.all([
        getCurrentConditions(location.Key, c),
        getWeatherAlerts(location.Key, c)
    ]);

    if (!currentConditions) {
        return c.res("Nie udało się pobrać danych pogodowych.");
    }

    const weatherEmbed = createWeatherEmbed(location, currentConditions, alerts);
    const components = createWeatherComponents(location.LocalizedName, alerts);

    return c.ephemeral(!isPublic).res({ embeds: [weatherEmbed], components });
} catch (error) {
    console.error("Error in pogoda command:", error);
    return c.res("Wystąpił błąd podczas pobierania danych pogodowych. Spróbuj ponownie później.");
}

};
export const showAlerts = async (c: ComponentContext) => {
const cityName = c.var.custom_id as string;
const location = await getLocationKey(cityName, c as unknown as CommandContext);
if (!location) {
return c.res("Nie udało się znaleźć informacji o mieście.");
}
const alerts = await getWeatherAlerts(location.Key, c as unknown as CommandContext<Env>);

if (alerts && alerts.length > 0) {
    const alertEmbeds = alerts.map((alert, index) => {
        const emoji = getAlertEmoji(alert.Description.Localized);
        const startTime = formatTime(alert.Area[0]?.StartTime || '');
        const endTime = formatTime(alert.Area[0]?.EndTime || '');

        let timeRange;
        if (startTime && endTime) {
            timeRange = `${startTime} - ${endTime}`;
        } else if (startTime) {
            timeRange = `Od ${startTime}`;
        } else if (endTime) {
            timeRange = `Do ${endTime}`;
        } else {
            timeRange = 'Brak danych';
        }

        return new Embed()
            .title(`${emoji} Ostrzeżenie ${index + 1}`)
            .description(alert.Description.Localized)
            .color(0xFF0000)
            .fields(
                { name: "Źródło", value: alert.Source || 'Brak danych', inline: false },
                { name: "Obszar", value: alert.Area[0]?.Name || 'Brak danych', inline: false },
                { name: "Przedział czasowy", value: timeRange, inline: false }
            )
            .footer({ text: "Bądź ostrożny i śledź lokalne komunikaty" });
    });

    return c.ephemeral().res({
        content: "🚨 Ostrzeżenia pogodowe:",
        embeds: alertEmbeds
      });
} else {
    const noAlertsEmbed = new Embed()
        .title("✅ Brak ostrzeżeń pogodowych")
        .color(0x00FF00)
        .description("Obecnie nie ma aktywnych ostrzeżeń dla tego obszaru.");

    return c.res({ embeds: [noAlertsEmbed] });
}

};
export const showHourly = async (c: ComponentContext) => {
let [cityName, currentPage] = JSON.parse(c.var.custom_id as string);
currentPage = parseInt(currentPage);
const location = await getLocationKey(cityName, c as unknown as CommandContext<Env>);
if (!location) {
    return c.res("Nie udało się znaleźć informacji o mieście.");
}

const hourlyForecast = await getHourlyForecast(location.Key, 24, c as unknown as CommandContext<Env>);
if (hourlyForecast) {
    const chunks = chunk(hourlyForecast, 8);
    const hourlyEmbed = new Embed()
        .title(`📊 Prognoza 24-godzinna dla ${location.LocalizedName}`)
        .color(0x0099FF)
        .description(
            chunks[currentPage - 1]?.map(forecast => {
                const date = new Date(forecast.DateTime);
                const hour = date.getHours().toString().padStart(2, '0');
                const emoji = getWeatherEmoji(forecast.WeatherIcon);
                return `\`${hour}:00\` | ${emoji} ${forecast.Temperature.Value}°C | ${forecast.IconPhrase}`;
            }).join("\n") || "Brak danych dla wybranej strony"
        )
        .footer({ text: `Strona ${currentPage} z 3` });

    const components = new Components()
        .row(
            new Button('prev_hourly', '⬅ Poprzednie', 'Secondary')
                .custom_id(JSON.stringify([cityName, currentPage - 1]))
                .disabled(currentPage <= 1),
            new Button('next_hourly', 'Następne ➡', 'Secondary')
                .custom_id(JSON.stringify([cityName, currentPage + 1]))
                .disabled(currentPage >= 3)
        );

    return c.ephemeral().resUpdate({ embeds: [hourlyEmbed], components });
} else {
    return c.res({ content: "Nie udało się pobrać prognozy godzinowej." });
}

};
function chunk(array: T[], size: number): T[][] {
const chunked_arr = [];
for (let i = 0; i < array.length; i += size) {
chunked_arr.push(array.slice(i, i + size));
}
return chunked_arr;
}
</details>


Suggestion: improve default source map behaviour for Node users

Feature request

What is the expected behavior?
Given:
./package.json (all latest versions):
{
  "dependencies": {
    "source-map-support": "^0.5.13",
    "webpack": "^4.39.2",
    "webpack-cli": "^3.3.7"
  }
}

./webpack.config.js:
const pathHelpers = require("path");

// Expect `__dirname` to be `/config/target/`.
const ROOT_PATH = __dirname;
const TARGET_PATH = pathHelpers.join(ROOT_PATH, "./target/");
const SRC_PATH = pathHelpers.join(ROOT_PATH, "./src/");

const ENTRY_FILENAME = "index.js";
const OUTPUT_FILENAME = "index.js";

const config = {
  mode: "development",
  target: "node",
  devtool: "source-map",
  entry: pathHelpers.resolve(SRC_PATH, ENTRY_FILENAME),
  output: {
    path: TARGET_PATH,
    filename: OUTPUT_FILENAME
  }
};

module.exports = config;

./src/index.js (entry file):
const fn = () => {
  throw new Error("foo");
};

fn();

When running:
webpack
node --require source-map-support/register ./target/index.js

The error stack trace looks like this:
/Users/oliverash/Development/webpack-source-map-test/target/webpack:/src/index.js:2
    throw new Error('foo')
^
Error: foo
    at fn (/Users/oliverash/Development/webpack-source-map-test/target/webpack:/src/index.js:2:1)

Observe how the path to the source file where the error originated is resolved against the source map, but only partially so. This makes it difficult to interact with the stack trace. E.g. in iTerm, it's usually possibly to Command + click a path to open it, but this is not possible here because the path is invalid. Ideally the original file path would be shown.
IIUC, we can fix this using devtoolModuleFilenameTemplate/moduleFilenameTemplate:
   output: {
     path: TARGET_PATH,
     filename: OUTPUT_FILENAME,
+    devtoolModuleFilenameTemplate: "[absolute-resource-path]"
   }

Now the error stack trace looks like this:
/Users/oliverash/Development/webpack-source-map-test/src/index.js:2
    throw new Error('foo')
^
Error: foo
    at fn (/Users/oliverash/Development/webpack-source-map-test/src/index.js:2:1)

However, I would like to suggest that we make this behaviour the default when using webpack to build code that will be ran by Node (i.e. when target: 'node' as in this example).
Secondly, when using eval-source-map instead of source-map (used above), devtoolModuleFilenameTemplate does not help. The error stack trace always looks like this:
webpack-internal:///./src/index.js:2
    throw new Error('foo')
    ^

Error: foo
    at fn (webpack-internal:///./src/index.js:2:11)

Again, this path is difficult to interact with—ideally the original file path would be shown. What is the recommended fix in this case?
Are you willing to work on this yourself?
yes

Bump

Should this be reopened again @evilebottnawi?

It was answered a lot of time... Do you try using search?

@evilebottnawi I did perform a search, specifically searching for the webpack:// path prefix and sourceRoot (which is a field documented by the Source Map v3 spec, that could potentially help with source map handling) --_ this thread happened to not come up._
My hope is that someone from the project can provide some direction to the Node.js project, so that we can make sure our source-map handling works well for WebPack.

However, I would like to suggest that we make this behaviour the default when using webpack to build code that will be ran by Node (i.e. when target: 'node' as in this example).

I like @OliverJAsh's recommendation that when --node is set, the path would omit the  webpack:// prefix, and emit a path 👍
When I look at the source maps generated by TypeScript:
"sources":["../../../src/v1/secret_manager_service_client.ts"]
and rollup:
"sources":["../lib/yerror.ts","../lib/utils/apply-extends.ts","../lib/parse-command.ts","../lib/argsert.ts"]
Both opt to use relative paths in the sources array. To me, this seems like the idea behavior, as:

folks can choose to resolve the absolute path if they wish.
the source map doesn't have information about the local runtime baked into it.

A SourceUrl like webpack:///./index.js is an absolute URL and one should not try to resolve it. That's how it's specced. But nonetheless one can configure different patterns for the sources in the SourceMap with output.devtoolModuleFilename. I would recommend to keep the webpack:// prefix as sources in SourceMap might not match sources on disk at this location. The prefix is a good indicator that this is a webpack processed source.

A SourceUrl like webpack:///./index.js is an absolute URL and one should not try to resolve it.

@sokra so, you'd advocate that when handling source maps for stack traces in Node.js, we do something like this:
Error: foo
    at fn (/Users/oliverash/Development/webpack-source-map-test/src/index.js:2:1)
       -> webpack:///./index.js:33:5

☝ if a URI of this format is observed.

Yes

Let's close in favor https://github.com/webpack/webpack/issues/3603, I think we can improve it for node users or as minimum improve docs how to chive it, it doesn't mean we don't work on it, it means we want to improve it and union issues because the issue related to webpack:// too and always take account edge cases


After SSL certificate website get loop loading

Hello.
After installing the SSL certificate, the website does not want to be fully loaded. It looks like "loop load" or something like that
How to fix it ??????
// edit: Yes i tried to remove browser history.

ive seen this problem happen to multiple people, though it works fine on my server(with SSL) easiest fix is to completely remove the animation....

Oh ok thanks for help!


[terra-table] Adding subsections to sections

Summary
 Adding subsections to sections which include a section header.
What was changed:
Why it was changed:
Testing

This change was tested using:

[x] WDIO
[x] Jest
[ ] Visual testing (please attach a screenshot or recording)
[ ] Other (please describe below)
[ ] No tests are needed

Reviews
In addition to engineering reviews, this PR needs:

[x] UX review
[x] Accessibility review
[x] Functional review

Additional Details

This PR resolves:
Partially resolves.
UXPLATFORM-10224

Thank you for contributing to Terra.
@cerner/terra

To make sure we are on the same page I wanted to double-check that subsections are going to be supported on table only in not supported in Grids. If that's correct, that should be also mentioned in documentation. In case I am wrong and subsections are supported in grids, there should be grid examples and tests added.

I believe subsections are only for flowsheet datagrids (@mjpalazzo is that correct?). Consuming these changes in flowsheet will be done in a separate PR.

To make sure we are on the same page I wanted to double-check that subsections are going to be supported on table only in not supported in Grids. If that's correct, that should be also mentioned in documentation. In case I am wrong and subsections are supported in grids, there should be grid examples and tests added.

I believe subsections are only for flowsheet datagrids (@mjpalazzo is that correct?). Consuming these changes in flowsheet will be done in a separate PR.

That is correct. Flowsheet only

There doesn't appear to be a new or updated example to show how to implement subsections.

There doesn't appear to be a new or updated example to show how to implement subsections.

@cm9361 This PR only adds subsection support for terra-table. Consuming that in flowsheet and adding documentation for consumers will be done in the next PR.

Doesn't the isSection method in the DataGrid component need to be updated to account for the new subsections?  If that is done, does that fix all your keyboard navigation issues?

Some CSS observations

Lowlight theme styling looks off to me:
NIT (if that is expect behavior - please disregard it), subsection header text alignment is not exactly aligned with section header (or anything else) on the left. It is placed much more to the right than the rest of the content.

@adoroshk

I have corrected the lowlight styling, thanks for pointing that out!
The offset is by design from UX.

Doesn't the isSection method in the DataGrid component need to be updated to account for the new subsections? If that is done, does that fix all your keyboard navigation issues?

@cm9361 I haven't been able to work on the DataGrid component yet. So far, I've mainly been focusing on adding support for subsections to the Table component for this Jira & PR.


Added test account credentials in README

Added test account credentials in README for ease in login in dev mode.

pls follow conventional commit specification

pls follow conventional commit specification

I will make sure to follow this in future.


Add fallback image

Maybe some color with a letter in it or just a standard image.

Closed in #184


EPMLABSBRN-842. Add: Introduce new table 'doctor_patient_mpg' to stor…

…e relation between doctor and patient
EPMLABSBRN-842
Description:
We are adding new table(doctor_patient_mpg) to introduce doctor – patient relationship. Add/update APIs and functions to support doctor patient mapping.

please see comments


ums 5.4.0 -> 6.2.2

Things done:

[x] Tested using sandboxing (nix-build --option build-use-chroot true or nix.useChroot on NixOS)
Built on platform(s)

[X] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

Thanks ! I ran nox-review and it compiled properly with sandboxing enabled.

One thing I noticed is that UMS bundles his own version of ffmpeg which we might want to replace with our own, but it's not a blocker for this PR.
Patchelf is also failing against the /nix/store/xhazwfmy2cxmfzhz4rlys11qsf76zs2l-ums-6.2.2/linux/tsMuxeR static binary for some reason.
shrinking /nix/store/xhazwfmy2cxmfzhz4rlys11qsf76zs2l-ums-6.2.2/linux/tsMuxeR
patchelf: patchelf.cc:320: void ElfFile<Elf_Ehdr, Elf_Phdr, Elf_Shdr, Elf_Addr, Elf_Off, Elf_Dyn, Elf_Sym>::parse() [with Elf_Ehdr = Elf32_Ehdr; Elf_Phdr = Elf32_Phdr; Elf_Shdr = Elf32_Shdr; Elf_Addr = unsigned int; Elf_Off = unsigned int; Elf_Dyn = Elf32_Dyn; Elf_Sym = Elf32_Sym]: Assertion `shstrtabIndex < shdrs.size()' failed.
/nix/store/aazfwly4r1hcxlx5y18ii3s8ir26h66f-patchelf-0.9/nix-support/setup-hook: line 7:    97 Aborted                 (core dumped) patchelf --shrink-rpath "$i"

I've seen that error before, I wonder if it's a bug in patchelf or if the binary is just malformed somehow? Assertion 'shstrtabIndex < shdrs.size()' failed suggests to me that it's the latter.

It might be an issue with tsMuxer:
$ strace /nix/store/xhazwfmy2cxmfzhz4rlys11qsf76zs2l-ums-6.2.2/linux/tsMuxeR
execve("/nix/store/xhazwfmy2cxmfzhz4rlys11qsf76zs2l-ums-6.2.2/linux/tsMuxeR", ["/nix/store/xhazwfmy2cxmfzhz4rlys"...], [/* 110 vars */]) = 0
strace: [ Process PID=12939 runs in 32 bit mode. ]
mmap(0xc80000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0xc80000) = 0xc80000
readlink("/proc/self/exe", "/nix/store/xhazwfmy2cxmfzhz4rlys"..., 4096) = 67
mmap(0x8048000, 1290203, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x8048000
mprotect(0x8048000, 1290200, PROT_READ|PROT_EXEC) = 0
mmap(0x8183000, 8507, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0x13b000) = 0x8183000
mprotect(0x8183000, 8504, PROT_READ|PROT_WRITE) = 0
mmap(0x8186000, 91748, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x8186000
brk(0x819d000)                          = 0x8676000
open("/lib/ld-linux.so.2", O_RDONLY)    = -1 ENOENT (No such file or directory)
exit(127)                               = ?
+++ exited with 127 +++

I don't think tsMuxer was ever released as open-source. The only thing I find is download sites and http://forum.doom9.org/showthread.php?t=168539 where the author posts binary builds.

Then ums must be marked unfree, right?

We are always looking to consider different sources of FFmpeg static builds - the one we use is from http://johnvansickle.com/ffmpeg/
Just make sure all the dependencies we need are there, since it's very easy to build a version of FFmpeg that doesn't do everything UMS needs.
We don't have a policy of only using open source dependencies, if that's what unfree means

As far as I can tell, the creator of tsMuxer has not granted us the right to redistribute their work;  my understanding is that redistribution without explicit licence to do so is illegal.

If I'm correct, ums must be marked unfree and any cached builds served by nixos.org must be deleted post haste.

I've talked with physic on doom9 while he was developing it, he knows about UMS and has helped us fix bugs revealed by UMS users.

Their license, which we distribute with UMS, says "You may distribute exact copies of the Software to anyone."

Ah, then there's probably no issue (if patchelf was to succeed, the result wouldn't quite be an "exact copy" though)


contact page added

Fixes Issue🛠
Closes #1
Description👨💻
Added contact page in assets folder.
Type of change📄
Added HTML file in assets/html_files and CSS file in css_files.

[] Bug fix (non-breaking change which fixes an issue)
✅ New feature (non-breaking change which adds functionality)

How this has been tested✅
run index.html
Checklist✅

✅ My code follows the style guidelines of this project
-✅ I have performed a self-review of my own code
✅I have commented my code, particularly in hard-to-understand areas
✅ I have added demonstration in the form of GIF/video file
-✅I am an Open Source Contributor

Pls mention the issue # in the description which this PR fixes. Make the contact folder inside the assets folder @vishal0316

can you check again?

Looks good! Merged!! Congrats on getting your PR merged to this repo under SWOC S4 🎉🎉 @vishal0316

Looks good! Merged!! Congrats on getting your PR merged to this repo under SWOC S4 🎉🎉 @vishal0316

Thanks it's my first contribution 😊


Missing setup.py?

Quick question from a detectron noob:
Is there a certain way to 'register' a project within detectron2 or is detectron2 just supposed to be used as a library?
I noticed that (at least) in maskformer 1+2 there is no setup.py and therefor an import via 'import mask2former' is not possible straight away.
Sure, you can import the 'sys' library and append the path of Mask2Former but either you need config files or hardcode  absolute paths into your code which doesnt make them very portable. Another issue is the python auto completion (e.g. visual studio code). This doesnt work when sys.path is extended. The only 2 ways there is to create .env files (containing PYTHONPATH) and tell VSCode to load it or before starting vscode to export PYTHONPATH on the shell. As I am using conda and virtualenv this is also suboptimal.
So then the question: why is there no proper setup.py? is this intentional and have I missed mechanics related to detectron2? or did people simply get along without so far and nobody cared to create one?

Appendix:
If a setup.py is not an option, then conda users might consider the conda-build package (https://docs.conda.io/projects/conda-build/en/latest/resources/commands/conda-develop.html) and simply let this tool add a .pth file in the corresponding conda environment, e.g. conda-develop /data/repos/MaskFormer2. Works like charm


Feature Request: Using custom Scrolling Views

Feature Request

Ability to define custom scrolling view aside from

listView
gridView
pageView

Example

Wrap

Need

To support multiple screen size needs

bump


"SyntaxError: Unexpected end of JSON input" when selecting python interpreter

Environment data

VS Code version: 1.29.1
Extension version (available under the Extensions sidebar): 2018.11.0
OS and version: Windows 10 1803
Python version (& distribution if applicable, e.g. Anaconda): Python3.6.6 (Anaconda3)
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): conda
Relevant/affected Python packages and their versions: All

Actual behavior
Promote: "Python is not installed. Please download and install Python before using the extension." and cannot use this extension to debug python program. However, some function like pylint, format python code can be used normally
Steps to reproduce:

Start VS Code

Logs
/C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Diagnostic Code: NoPythonInterpretersDiagnostic, Message: Python is not installed. Please download and install Python before using the extension.
t.log @ /C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:294

/C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:2429 Python is not installed. Please download and install Python before using the extension.
t.onDidNotificationChange @ /C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:2429

/C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Failed to get interpreter information for 'C:\Anaconda3\python.exe' SyntaxError: Unexpected end of JSON input
	at JSON.parse (<anonymous>)
	at d.<anonymous> (C:\Users\lenove\.vscode\extensions\ms-python.python-2018.11.0\out\client\extension.js:83:285742)
	at Generator.next (<anonymous>)
	at s (C:\Users\lenove\.vscode\extensions\ms-python.python-2018.11.0\out\client\extension.js:83:284981)
	at <anonymous>
t.log @ /C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:294

Note
I do not change any settings of the extension. Just one day (after updating maby?) I started it and then it broke down.

Fixed by reinstall vscode


Do not remove the new line character from the last line

The current version of presciidoc artificially removes the newline character from the very last line. I realize some editors prefer to store files without this character on the last line, but as presciidoc is intended to be used on the front of the command line pipe, this can contribute to unexpected and incorrect output.
Consider the following file (notice that the command prompts start on a new line):
$ cat test.adoc
First line.
Second line.
$ wc -l test.adoc
2 test.adoc

When processed by presciidoc, the last newline character disappears which confuses some standard utilities:
$ presciidoc test.adoc
First line.
Second line.$ presciidoc test.adoc | wc -l
1

I know Bash has many known pitfalls, but the most unexpected one is that when the last line does not have a newline character, the while read loop completely ignores it:
$ presciidoc test.adoc | while read line; do echo "Line: '$line'"; done
Line: 'First line.'

There is a workaround for it but as presciidoc is intended to be used for these types of tasks, I would recommend that it does not artificially strip the last newline if it is present in the file, even maybe adds it when it is not so that it guarantees predictable output.

This is now resolved in presciidoc version 0.3.0.
Thanks for the bug report!


[NESC-7] Added export parameter by default

Q
A

Branch
master

Bug fix?
no

New feature?
no

BC breaks?
no

Deprecations?
no

Tests pass?
yes

Fixed tickets
#

License
#NESC-7

Doc PR
n/a

This PR was squashed before being merged into the master branch at @896cd78c4134c97d28b5b7db037e11fc36759cfc.

Thank you @jomarquez21.


Set index and save to parquet dask 0.17.5 vs 0.18.1

I have several parquets file saved on tmp_folder I want to read, sort by a key and save the sorted file to parquets inside folder. My df has 59M rows and I'm running the following code on a machine with 16 cores 24GB of RAM on GCP. I would like to run this with the minimum amount as possible as then I'm going to process the single files one-by-one.
The following code runs in about 24 with dask.__version__=='0.17.5'
folder = "test_dataset"
tmp_folder = "_".join([folder,"tmp"])
df = dd.read_parquet(tmp_folder)
with dask.set_options(get=dask.get):
    nrows = len(df)
npartitions = int(nrows//2e6) # check
df = df.repartition(npartitions=npartitions)
with dask.set_options(get=dask.get):
    df = df.set_index("key")
with dask.set_options(get=dask.get):
    df.to_parquet(folder, compression="snappy")

But if I try to run the same code in dask.__version__=='0.18.1' and changing with dask.set_options(get=dask.get) with with dask.config.set(scheduler='single-threaded') the process ends but I don't have any files in folder.
I'm not sure if I'm getting confused with the right scheduler to use in this case or it's a bug.

Dask.get is the sequential scheduler.  The equivalent would be
dask.config.set('single-threaded')
On Wed, Jul 4, 2018 at 9:34 AM, rpanai<EMAIL_ADDRESS>wrote:

I have several parquets file saved on tmp_folder I want to read sort by a
key and saved the sorted file to parquets inside folder. My df has 59M
rows and I'm running the following code on a machine with 16 cores 24GB of
RAM on GCP. I would like to run this with the minimum amount as possible as
then I'm going to process the single files one-by-one.
The following code runs in about 24 with dask.version=='0.17.5'
folder = "test_dataset"
tmp_folder = "_".join([folder,"tmp"])
df = dd.read_parquet(tmp_folder)with dask.set_options(get=dask.get):
nrows = len(df)
npartitions = int(nrows//2e6) # check
df = df.repartition(npartitions=npartitions)with dask.set_options(get=dask.get):
df = df.set_index("key")with dask.set_options(get=dask.get):
df.to_parquet(folder, compression="snappy")
But if I try to run the same code in dask.version=='0.18.1' and
changing with dask.set_options(get=dask.get) with with
dask.config.set(scheduler='single-threaded') the process ends but I don't
have any filein folder.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/issues/3716, or mute the thread
https://github.com/notifications/unsubscribe-auth/AASszJreYo_RjCCveeygWelUXFlXtqYOks5uDMRNgaJpZM4VCmMR
.

May I ask why you want to run this single-threaded? If the data fits entirely into memory, you could also use fastparquet directly, which contains an option for the partition resizing on write. Which parquet engine are you using here?
Neither engine returns the set of files written, but perhaps they should.

@mrocklin the code I was using with dask.__version__=='0.18.1' is
folder="test_dataset"
tmp_folder = "_".join([folder,"tmp"])
df = dd.read_parquet(tmp_folder)
with dask.config.set(scheduler='single-threaded'):
    nrows = len(df)
npartitions = int(nrows//2e6) # check
df = df.repartition(npartitions=npartitions)
with dask.config.set(scheduler='single-threaded'):
    df = df.set_index("key")
with dask.config.set(scheduler='single-threaded'):
    df.to_parquet(folder, compression="snappy")

if I try to use dask.config.set('single-threaded') I receive this error:
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<timed exec> in <module>()

~/.conda/envs/promoPRODv2/lib/python3.6/site-packages/dask/config.py in __init__(self, arg, config, lock, **kwargs)
    247             self.old = {}
    248
--> 249             for key, value in kwargs.items():
    250                 self._assign(key.split('.'), value, config, old=self.old)
    251

AttributeError: 'str' object has no attribute 'items'

dask.config.set('single-threaded')  --> dask.config.set(scheduler='single-threaded')

Sorry, I meant dask.config.set(scheduler='single-threaded')  Probably
better to look at the docs for this than listen to me :)
http://dask.pydata.org/en/latest/scheduling.html
On Wed, Jul 4, 2018 at 10:03 AM, rpanai<EMAIL_ADDRESS>wrote:

@mrocklin https://github.com/mrocklin the code I was using with
dask.version=='0.18.1' is
folder="test_dataset"
tmp_folder = "_".join([folder,"tmp"])
df = dd.read_parquet(tmp_folder)with dask.config.set(scheduler='single-threaded'):
nrows = len(df)
npartitions = int(nrows//2e6) # check
df = df.repartition(npartitions=npartitions)with dask.config.set(scheduler='single-threaded'):
df = df.set_index("key")with dask.config.set(scheduler='single-threaded'):
df.to_parquet(folder, compression="snappy")
if I try to use dask.config.set('single-threaded') I receive this error:

AttributeError                            Traceback (most recent call last)
 in ()
~/.conda/envs/promoPRODv2/lib/python3.6/site-packages/dask/config.py in init(self, arg, config, lock, **kwargs)
247             self.old = {}
248
--> 249             for key, value in kwargs.items():
250                 self._assign(key.split('.'), value, config, old=self.old)
251
AttributeError: 'str' object has no attribute 'items'
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/issues/3716#issuecomment-402488664, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AASszEO3Eb-wbqxwm1G_j4d_PCG_hPbOks5uDMs3gaJpZM4VCmMR
.

@martindurant I'm running sequentially on single schedule because the data doesn't fit in memory. I basically want to split the data in disjoint parquet files and then process one by one fitting in memory with pandas. I know it might be not the ideal solutions but the function I'm using works better in pandas than dask.

@martindurant and @mrocklin i posted the code I'm running with the latest dask version and I'm using dask.config.set(scheduler='single-threaded').

Closing this, since I think the suggestion in https://github.com/dask/dask/issues/3716#issuecomment-402489727 is correct.
@rpanai if not, could you provide a minimal example demonstrating the problem http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports?


Regenerate some libraries using latest Autorest

Description
Regenerate some libraries using the latest version of Autorest Java.
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

API change check
APIView has identified API level changes in this PR and created following API reviews.
com.azure:azure-messaging-eventgrid


refactor: remove lodash & use native javascript instead

Introduction
This might be a controversial change, but I'm prepared it might not get merged.
Description
This pull request removes lodash and replaces all of it's methods with native JavaScript methods.

It's always better to use native JavaScript, than rely on heavy libraries.

I used the suggested lodash replacements from the "You don't (may not) need Lodash/Underscore" repository.
If you have any suggestions, let me know down below.

I share @Kikobeats conserns btw!

@Kikobeats Sounds good to me. Let's use lodash for the isEmpty and get methods. I will make changes in a few hours, when i get home :smile:

@Kikobeats Done.


Check options SQLServer

I can't check the options for create a new column for a table in SQLServer.

More specifically Auto Increment, Key and Description

These options are not supported for SQL Server (yet).
SQL Server driver uses Generic plugin which means plain JDBC and no database specific options.
We are working on this new plugin..

Ok! Thanks for feedback.


03.14 例行上线

Pull Request Test Coverage Report for Build 978

0 of 0   changed or added relevant lines in 0 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.09%) to 94.408%

Files with Coverage Reduction
New Missed Lines
%

src/runtime.js
2
81.82%

Totals

Change from base Build 974:
-0.09%

Covered Lines:
3746

Relevant Lines:
3888

💛  - Coveralls

Pull Request Test Coverage Report for Build 958

0 of 0   changed or added relevant lines in 0 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.09%) to 94.408%

Files with Coverage Reduction
New Missed Lines
%

src/runtime.js
2
81.82%

Totals

Change from base Build 974:
-0.09%

Covered Lines:
3746

Relevant Lines:
3888

💛  - Coveralls


Camera get purple on rstp stream

Hello,
I noticed a strange bug. When I launched the rtsp stream the camera view get purple and can't recognize face anymore due to the luminosity (the camera is in front of a window). If I close my shutters the camera works perfectly. I think that you may find this interesting.

Hi @DarkZerba,
thanks for your comment! Unfortunately this is not something we can fix on our side, since it seems like a camera issue. Which camera is it btw?

I didn't precise but it's only on the rtsp stream when I laucnhed via cheese for example I got no issue.
The camera is a waveshare IMX 477-160

@EdjeElectronics any ideas? I remember you having to configure something for IMX sensors


Update lyon to 0.17 in iced_graphics

Updates lyon to the latest release (0.17).
I have not reviewed all of the API changes yet, so there may be opportunities for further improvements.

One thing to try is fill_options.with_intersections(false) (though it's not new to 0.17).
I got around 2x improvement in fill with that path, I suppose there're places where it'd be safe to assume there're no intersections or to allow users to provide a hint to canvas that it's the case.


[SPARK-12375][ML] VectorIndexerModel support handle unseen categories via handleInvalid

What changes were proposed in this pull request?
Support skip/error/keep strategy, similar to StringIndexer.
Implemented through try...catch, so that it can avoid possible performance impact.
How was this patch tested?
Unit test added.

cc @hhbyyh @MrBago Thanks!

Test build #83125 has started for PR 19588 at commit d06399c.

Test build #83125 has finished for PR 19588 at commit d06399c.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/83125/
Test FAILed.

Test build #83126 has started for PR 19588 at commit 7cb53ba.

Test build #83126 has finished for PR 19588 at commit 7cb53ba.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/83126/
Test PASSed.

@hhbyyh comments addressed. Thanks!

Test build #83391 has started for PR 19588 at commit 5117bae.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/83397/
Test FAILed.

Test build #83391 has finished for PR 19588 at commit 5117bae.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/83391/
Test PASSed.

Test build #83766 has started for PR 19588 at commit 3c73b5d.

Test build #83766 has finished for PR 19588 at commit 3c73b5d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/83766/
Test PASSed.

Merged build finished. Test PASSed.

Also we need jira for python.

Test build #83840 has started for PR 19588 at commit c68098a.

Sure, I will add python api after this is merged.

Test build #83840 has finished for PR 19588 at commit c68098a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/83840/
Test PASSed.

@WeichenXu123 when you create the JIRA for Python, can you please link it to this task's JIRA?  Thanks!
LGTM
Merging with master

Python API jira created here: https://issues.apache.org/jira/browse/SPARK-22521


'Operation not permitted'What's wrong with it?

I have ran 'chown -R $(whoami) ./' but it still cannot run
Error: clone(ChildProcess, &*childStack.end(), CLONE_NEWNET | CLONE_NEWUTS | CLONE_NEWPID | CLONE_NEWNS | SIGCHLD, const_cast<void *>(reinterpret_cast<const void *>(&execParam)))@../native/sandbox.cc,273: Operation not permitted

You have to use root permission to run this sandbox.
BTW, you can optionally set the owner of rootfs to root(uid 0), so undesired modification to rootfs by the sandboxed program can be prevented.


Minogrpc: update the SSL storage to support certificate chains

This update allows for certificate chains to be used. Until now Minogrpc would only handle single self-signed certificates. This updates makes it possible to use externally managed certificates, for example with Let's encrypt and certbot.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

152 of 189 (80.42%)  changed or added relevant lines in 6 files are covered.
8 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.3%) to 98.851%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

mino/minogrpc/certs/mem.go
16
17
94.12%

mino/minogrpc/controller/actions.go
12
14
85.71%

mino/minogrpc/mod.go
14
20
70.0%

mino/minogrpc/controller/mod.go
38
48
79.17%

mino/minogrpc/server.go
59
77
76.62%

Files with Coverage Reduction
New Missed Lines
%

mino/minogrpc/certs/mem.go
1
97.22%

mino/minogrpc/controller/mod.go
1
94.61%

mino/minogrpc/server.go
6
94.52%

Totals

Change from base Build<PHONE_NUMBER>:
-0.3%

Covered Lines:
12732

Relevant Lines:
12880

💛  - Coveralls


Spruce up the visuals - missing one step?

[Enter feedback here]
Add a background shape for the title
I think there's a missing background shape for visuals 2 and 3 (the white bit) in the instruction.
Suggestion:
On the Insert ribbon, select Shapes > Rectangle, and stretch it to be the width and height of Visuals 2 and 3.
In the Format shape pane, in the Outline section, change Transparency to 100%.
In the Fill section, set the color to White.
On the Format tab, select Send backward > Send to back.
Hope this helps.
Thanks,
Thao

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

ID: 751771a8-ae97-2f7a-45f7-6eab5e30bb98
Version Independent ID: 69b8d8ce-49e3-feb2-b751-c9a3c26bc501
Content: Tutorial: From dimensional model to stunning report in Power BI Desktop - Power BI
Content Source: powerbi-docs/create-reports/desktop-dimensional-model-report.md
Service: powerbi
Sub-service: pbi-reports-dashboards
GitHub Login: @maggiesMSFT
Microsoft Alias: maggies

Thanks for your comment, @thaohap. This issue has been assigned to the doc author for review.

Hi, @thaohap -- thanks for your suggestion. However, if I set the color of the box to just
"In the Fill section, set the color to White."
There would be no box. It's set to White, 10% darker, so we can see it.
Or maybe I'm misunderstanding your comment?
If you'd like to comment more, please do! Select the Feedback hand at the top of the page.
Thanks!


Issue with accessing the attribute details from the GUI

Bug Report
A bug has seemingly been introduced with the latest Studio version whereby it's not possible to access the attribute details from the GUI on previously opened attribute tabs.
Steps to Reproduce:

Select an attribute and click on the attribute details from the attribute tab: everything is fine.
Open a new tab attribute and do the same: everything is fine
Try to do the same on the previously opened tab attribute: doesn't work

Environment:
legend-studio:                 6.6.0
legend-sdlc-server:         0.83.1
legend-engine-server:   3.9.2
GUI Bug Report.pptx

Thanks for raising this bug, @pierrelamy! Adding the dev team to look into this.


Change response at /response

PUT endpoint finished as of eece70b3f58afffa12588c25446c0954976faf41, now /response http form just needs to use it


Research Subject Model

Create model, service and store for research subjects. Sub #49

Was thinking @spelkey-ucd can take the lead on this but @sbagg can pair program and zoom so she can learn the ropes?  Thoughts?

Was thinking @spelkey-ucd can take the lead on this but @sbagg can pair program and zoom so she can learn the ropes?  Thoughts?


MAKBET_TASK_TOTAL is empty when invoking make with -f option and absolute path

Below commands will produce grep error which results an empty MAKBET_TASK_TOTAL variable.
cd /tmp
git clone https://github.com/skaluzka/makbet
export MAKBET_PATH=/tmp/makbet
make -f /tmp/makbet/examples/01.dummy/Makefile
grep: /tmp//tmp/makbet/examples/01.dummy/Makefile: No such file or directory

makbet version master

  "What's done, is done." - William Shakespeare, Macbeth.

Usage: make [TARGET]
...

Fixed in #47.


Update pipeline-rest-api.md

Missing double quote in example body for "Run on-demand item job" API call

@kromerm
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team


GEODE-5480: Changing wait blocks to use a while loop

This test has many wait blocks that just used an if. So if the thread
was notified by some other event, it would leave the wait without the
expected event being delivered.
Thank you for submitting a contribution to Apache Geode.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?

[ ] Has your PR been rebased against the latest commit within the target branch (typically develop)?

[ ] Is your initial contribution a single, squashed commit?

[ ] Does gradlew build run cleanly?

[ ] Have you written or updated unit tests to verify your changes?

[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and
submit an update to your PR as soon as possible. If you need help, please send an
email to<EMAIL_ADDRESS>

@mhansonp @balesh2


New version: StandardNotes.StandardNotes version 3.193.10

Pull request has been created with komac v2.2.1 :rocket:
Microsoft Reviewers: Open in CodeFlow

For moderators
This account is automated by Github Actions and the source code was created by CoolPlayLin. If you have any questions about any pull request, don't hesitate to ping Exorcism0666.

[!warning]
With the new version of Komac, numerous Pull Requests may contain bugs or unwanted elements. If such issues arise, please tag russellbanks so that these bugs can be addressed in future updates.

[!important]
Please carefully review these Pull Request before merging. If it is a Pull Request for removing incorrect content and the URLs are issue, free upon manual checking, please close this Pull Request directly. (It is best to inform Exorcism0666 of the closure.)

良い一日をお過ごしください！

Hi @Exorcism0666,
The package didn't pass a Defender or similar security scan. This might be a false positive and we can rescan tomorrow.
(Automated response - build 877.)

Automatic Validation ended with:

Installation failed with exit code -1978335187
2024-04-23 18:34:49.230 [FAIL] Installer failed security check. Url: https://github.com/standardnotes/app/releases/download/<EMAIL_ADDRESS>Result: 0x80004005

(Automated response - build 877.)

@wingetbot run

Hi @Exorcism0666,
The package didn't pass a Defender or similar security scan. This might be a false positive and we can rescan tomorrow.
(Automated response - build 877.)

@wingetbot run

Hi @Exorcism0666,
The package didn't pass a Defender or similar security scan. This might be a false positive and we can rescan tomorrow.
(Automated response - build 877.)

Automatic Validation ended with:

Installation failed with exit code -1978335187
2024-04-25 10:54:54.310 [FAIL] Installer failed security check. Url: https://github.com/standardnotes/app/releases/download/<EMAIL_ADDRESS>Result: 0x80004005

(Automated response - build 877.)

@wingetbot run

Hi @russellbanks,
Do you approve of these changes?
(Automated response - build 877.)


Add HON3YP0T author

Changed
Add author tag to all writeups HON3YP0T did into

Stranger Case
Dante
Unbreakable
N00BZ

@Mathis-Dory  i get this error when building

Error: error building site: assemble: "/home/stef/Code/dothidden/content/stranger_case/report.md:1:1": unterminated quoted string in shortcode parameter-argument: '
'

I think it's from line 10 in report.md. Seems like you split a line with a newline and it messes up the parser.

I think we can merge this one.


Spiral Traversal of a Matrix

Related Issue

#1266

Proposed Changes

Added spiral traversal of a matrix in A-Array
Updated the readme accordingly

Additional Info

This problem statement is a question from GFG array must-do questions set. It is a medium level question

Checklist

[x] ✅ My code follows the code style of this project.
[x] 📝 My change requires a change to the README.
[x] 🎀 I have updated the README accordingly.
[x] 👀 I have read the CONTRIBUTING document.
[x] ✨ I have added tests to cover my changes.
[x] 🚩 All new and existing tests passed.
[x] 🌟 ed the repo

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Output Screenshots

@Lakhankumawat @siddhi-244 @Mrjoy832 Anyone?

My code required changes in the existing readme. I have added the topic in the readme file.

the algorithm is there with pictures to understand it better

@siddhi-244 ?

@siddhi-244 , @Lakhankumawat the files are different. My one is spiral traversal and the another one is anti spiral. Please review again. This is my 5th contribution to this repo. I hope I get a higher level.

And again I raised the issue earlier and created a pr before him.

@Mrjoy832 @Lakhankumawat

@aditi944

??? @siddhi-244

i have read me and cpp file only but there was some error in fetching and by mistake i have committed

i have read me and cpp file only but there was some error in fetching and by mistake i have committed

So please remove that

how to remove that? idk. Can you help?

how to remove that? idk. Can you help?

Take help from youtube. Also resolve the merge conflicts!

@siddhi-244 can you check #1376 ?

Resolve Conflicts

@Mrjoy832 check #1376 i have done all the changes in that branch . I will delete this branch

Mentors I couldn't find how to remove commits and how to resolve the conflicts. I have done all the changes in the #1376
Please review that. I am closing this pr. @siddhi-244 @Mrjoy832 @aditi944 @Lakhankumawat


Filter Aggregate Query Response

I am trying to build a music search application with tantivy. I am using a facet field to store genre, artist, album and year, as I would like to easily filter these.
let mut sb = Schema::builder();
sb.add_bytes_field("id", STORED | FAST);
sb.add_facet_field("facets", FacetOptions::default().set_stored())
// ... more fields

for item in data.iter() {
    let mut document = Document::default();
    document.add_text(field_schema.id, &item.id);
    // ... more fields

    let facet_album_string = format!("/album/{}", &item.album);
    document.add_facet(field_schema.facets, Facet::from(&facet_album_string));

    let facet_artist_string = format!("/artist/{}", &item.artist);
    document.add_facet(field_schema.facets, Facet::from(&facet_artist_string));

    let facet_year_string = format!("/year/{}", &item.year);
    document.add_facet(field_schema.facets, Facet::from(&facet_year_string));

    for genre in &item.genres {
        let facet_string = format!("/genre/{}", &genre);
        document.add_facet(field_schema.facets, Facet::from(&facet_string));
    }

    index_writer.add_document(document)?;
}

Use case here is a listing page of all Artists, Albums, Genres etc. The aggregate query runs as expected but returns all facet types. I would like to be able to filter by the top-level facet types (genre, artist, album and year)
let aggregate_request: Aggregations = vec![(
    "facet_aggregate_search".to_string(),
    Aggregation::Bucket(BucketAggregation {
        bucket_agg: BucketAggregationType::Terms(TermsAggregation {
            field: "facets".to_string(),
            size: Some(10000), // this number might need to be set quite high to make sure it picks up everything
            order: Some(CustomOrder {
                target: OrderTarget::Key,
                order: Order::Desc,
            }),
            ..Default::default()
        }),
        sub_aggregation: Default::default(),
    }),
)]
.into_iter()
.collect();

let collector = AggregationCollector::from_aggs(aggregate_request);
let searcher = reader.searcher();
let agg_res: AggregationResults = searcher.search(&AllQuery, &collector).unwrap();

Returning all of the facet options at the moment isn't the worst, but it means having to loop over all of the buckets to check if its the top-level type we want.

I would put genre, artist, album and year` into separate fields.
let mut sb = Schema::builder();
sb.add_bytes_field("id", STORED | FAST);
sb.add_text_field("genre", FAST);
sb.add_text_field("artist", FAST);
sb.add_text_field("album", FAST);
sb.add_text_field("year", FAST);

And still run the aggregate?
let aggregate_request: Aggregations = vec![(
    "facet_genre_aggregate_search".to_string(),
    Aggregation::Bucket(BucketAggregation {
        bucket_agg: BucketAggregationType::Terms(TermsAggregation {
            field: "genre".to_string(),
            size: Some(50),
            order: Some(CustomOrder {
                target: OrderTarget::Key,
                order: Order::Desc,
            }),
            ..Default::default()
        }),
        sub_aggregation: Default::default(),
    }),
)]
.into_iter()
.collect();

I don't think this will work given these are String fields and not u64/i64/f64/date fields.
Is there another way to query for the aggregate of values. Happy to shift these into individual fields vs. facet fields. Multiple facet fields could also work, but from what I've seen that isn't possible?

Yes, TermsAggregation works on STRING or TEXT field with FAST

Attempting to add FAST to the schema breaks the indexing. The docs don't make any mention of STRING/TEXT being supported as a fast field. But I stumbled across your PR https://github.com/quickwit-oss/tantivy/pull/1325 that added support.
Am I implementing it correctly?
let mut sb = Schema::builder();
sb.add_bytes_field("id", STORED | FAST);
sb.add_text_field("genre", TEXT | FAST); // tried variations with just `FAST` and with `TEXT` and `FAST`
sb.add_text_field("artist", FAST);
// ... more fields

When attempting to index a document I get an error about the field type.
document.add_text(field_schema.genre, &item.genre);
document.add_text(field_schema.artist, &item.artist);

// throws
// thread 'thrd-tantivy-index0' panicked at 'Expected a u64/i64/f64/date field, got Str("Artist Name") ',
// C:\Users\USER\.cargo\registry\src\github.com-1ecc6299db9ec823\tantivy-0.18.1\src\fastfield\mod.rs:195:14

I can't reproduce that on that minimal example
use tantivy::{
    doc,
    schema::{Schema, FAST, STRING},
    Index,
};

fn main() {
    let mut schema_builder = Schema::builder();
    let title = schema_builder.add_text_field("title", STRING | FAST);
    let schema = schema_builder.build();

    let index = Index::create_in_ram(schema.clone());

    let mut index_writer = index.writer(100_000_000).unwrap();

    index_writer.add_document(doc!( title => "blub",)).unwrap();

    index_writer.commit().unwrap();
}

Thanks for the pointers @PSeitz. I think my index had been cached with pre-FAST fields and was causing me grief. Got the aggregate working nicely now on the FAST text fields.


Promise.catch example

Hi @fhammerschmidt,
https://rescript-lang.org/docs/manual/latest/promise is lacking a good sample on how to deal with Promise.catch blocks.
It is still a bit unclear to me what exn is. (Notice that I don't go to its definition in the IDE)
And how to unwrap exn to something useful. This works, but I'm not sure if it is idiomatic or not.
let f = async () => {
  Exn.raiseError("Hi!")
}
f()
->Promise.catch(async exn => {
  switch exn {
  | Exn.Error(exn) => exn->Exn.message->Option.getOr("yow")
  | _ => "no error"
  }
})
->Promise.done

Like, what else is there to catch if exn is not Exn.Error?
Would like to contribute a good example after receiving some guidance.

switch tries to match exhaustively, try/catch does not. And exceptions are extensible variants under the hood, which always expect a wildcard case since they are open-ended. So the better fit for exceptions is certainly try/catch syntax, or if you also return a value, switch/exception syntax.
See playground for examples
There is an example for Promise.catch in the API docs though: https://rescript-lang.org/docs/manual/latest/api/core/promise#value-catch-examples
About what's there to catch, you could also throw ReScript exceptions somewhere deeper in the corresponding function. Some are even built-in.

Thanks, this is interesting!
So
let tryCatchWay = async () =>
  try await f() catch {
  | Exn.Error(exn) => exn->Exn.message->Option.getOr("yow")
  }

// => no need for the `exception` keyword here? When do I need that in a case branch?

// And what happens if the thing is not an `Exn.Error`, Runtime error?

The exception keyword is only needed when you are switching on a function that may raise an exception. You certainly don't need it if you are already in the Promise.catch callback body and also never with try/catch. What it does is to wrap the function with try in the JS code.

Hmm, I guess the try/catch way does have most appeal.
However, you would need the async /await syntax.
How would this look like in an event listener?
// You can't make `async ev` because the handler would no longer fit
let onSubmit = ev => {
  somePromiseFn(blah)
  ->Promise.done
}

<form onSubmit={onSubmit}>...</form>


Remove dependency on local recursive resolver

ZDNS currently depends on a local DNS server to complete recursive lookups. However, the DNS infrastructure at many institutions cannot handle this load. We should have the functionality where ZDNS does iterative lookups based on a pre-configured list of root servers.
We'll need to handle both the iterative resolution and caching. Caching can likely be simply implemented on top of cachehash.

This has been merged into master.


Security

Security Manager

stores Security Cards

Security Card

bound to player
permissions:

insert
extract
autocraft
modify (modifying the network)
security (modify the security settings)

Bump #505

Done!


Fix ipython style

Add syntax highlighting (with prism)
add markdown support
fix styling issues

Before:

After:

@dannon
Do I need to commit yarn.lock file?
@bgruening
Well, probably I can make it white.... but black looks SO much better. Shall we give it a try first?

Please white. :)

@bgruening
well, we can do it in a separate PR. I guess, it would be useful to have this fix at least in https://github.com/OlegZharkov/SARS-CoV-2/tree/ipython

Thanks a lot @bgruening!


added series support

please don't break anything....

Will look into this error later....merging for now


Move caller_id init to Thread constructor to fix UWP build.

Should work the same way as before (caller_id is set to current thread ID).
And fix: core\os\thread.cpp(50): error C2482: 'caller_id': dynamic initialization of thread local data not allowed in WinRT code error on UWP.
Tested on to work macOS, Linux and Wine (MinGW build), need to be tested on Windows/UWP.

need to be tested on Windows/UWP.

Tested with VS2019 on Windows, see also #46911 which currently uses the changes from this PR to overcome build issues using MSVC.

Cherry-picked for 3.2.4.


v1.6 backports 2020-05-07

#10727 -- pkg/k8s: fix all structural issues with CNP validation (@aanm)
#11040 -- CRD: fix allocation logic of identities with the same set of labels (@aanm)

Once this PR is merged, you can update the PR labels via:
$ for pr in 10727 11040; do contrib/backporting/set-labels.py $pr done 1.6; done

never-tell-me-the-odds

test-me-please

test-missed-k8s

test-docs-please

test-upstream-k8s

test-upstream-k8s