Remove mdx files and structure routes better

Currently, we have mdx files that contain the content of the lessons and some react code that displays them.
For each lesson, we seem to have lesson-specific react code so having mdx files is a bit redundant and it makes it difficult to add interactivity with lesson content (such as tooltips).
I think we should move away from mdx files and write the lesson content directly in the react code.
Also, we should remove the [slug] path and structure better the routes for chapters and lessons.
Currently, we have for chapter-1:  /genesis, /genesis/genesis-pt2, /transacting-1 and transaction-2. This is not consistent.

Can you explain how you see this furthering https://github.com/saving-satoshi/saving-satoshi/issues/3#issue-1432017582? Keeping the content independent from the platform seems like the easiest way to allow for content updates without people needing to understand the code.

You are right it would be nice to keep the content separated from the code as it would allow contributors to easily add challenges. But in practice, it seems that each challenge requires its own rendering and challenge validation code. So even if we keep the content out of the react, some code will still need to be written.
We could (we should) wrap some lessons into reusable components such as the terminal-based one as they always have the same UI, and always expect certain user input. Same for chapter 1 - challenge 1 where you have to paste the scriptSigHex, it can be a reusable component.
Contributors could then more easily use this challenge template. With this PR, it should only require adding the challenge to the chapters.json file and creating a page in a folder with the reusable challenge react component and passing a few props. With clear documentation, it shouldn't be too hard.
And if they wish to add a challenge that is more complex, they can write the code for it.

I'm not adamant about keeping current setup and at this point, I think we should be optimizing of the creation of the product rather than the mythical future content/storyline contribution, but what I really like about this initial design was a clear delineation of the words and the platform.
If we are going to go with #80 then I'd like to clearly map out a future where content contributors can easily contribute to the project. Ideally this would be a different repo like how exercism or cryptozombies does it.

Lots of architecting to do to achieve this, especially if we also want to support i18n.
I could imagine that we have some templated lessons and some super unique lessons in the future (like mining). The former would work like @aureleoules described. Maybe you just need to provide a JSON file with the template name, configuration, etc. Public contribution would be easier there. The latter would require more custom code, but could still support i18n, and would be more like a small project.
One thing is am pretty sure of is that the use of simple markdown files is not enough. It works for chapter intro pages that just contain text and a button, and maybe for the most basic lesson. But beyond that it's not flexible enough.
Maybe best to keep this an eye on this problem and gather requirements and think of solutions until we're a bit further in?

Hi there, I think its a must to move away from .mdx files if the plan is to let contributors add any complex challenges at all somewhere in the future (like the mining example from the previous comment). From what I've gathered from both this ongoing conversation (and from some comments in the code) the biggest concerns with moving to React code away from mdx are:

The added complexity / extra boilerplate that future contributors will have to write, and
The loss of separation between lesson content and platform code.

I would like to propose the following solution:

We create a component library consisting of elements that make up the bulk of lesson content (think Heading, Text, Inputs, Terminal, etc) and publish this as a npm package. Lets call it @savingsatoshi/ui for now. This will allow us to move lessons (and other materials) away from this repo and into another repo I'll call @savingsatoshi/lessons, similar to how cryptozombies does it. The added benefit of this component library is that we'll have full control over how the components are styled instead of contributors being able to introduce their own components and styling.
Lessons (and other materials) can be created as .tsx files (for cryptozombies they are .sol) and will be pushed to the @savingsatoshi/lessons repo which will also be published as npm package. Within this repo Curriculum Contributors can simply import the @savingsatoshi/ui library and create their lesson. The following examples demonstrate both a simple and "complex" lesson:

// Simple.tsx
import { Heading, Text } from '@savingsatoshi/ui'

export default () => (
  <>
    <Heading>Find block 0</Heading>

    <Text>
      Let's find the very first block in the Bitcoin blockchain. Go to a block
      explorer and search for '0'. This will take you to the block at height 0.
      As you can see, this block only contains one transaction.
    </Text>

    <Text>
      Open up the transaction so you can take a closer look at the details. On
      the left is an input called 'Coinbase'. Inside that is a field called
      'ScriptSig'. Find the HEX representation and paste it below.
    </Text>
  </>
);

// Complex.tsx
import { Heading, Text, IndividualCharacterInput } from '@savingsatoshi/ui'

export default function Genesis() {
  const [userInput, setUserInput] = useState('');

  // Room for any complex logic contributors can come up with.

  return (
    <>
      <Heading>Find block 0</Heading>

      <Text>
        Let's find the very first block in the Bitcoin blockchain. Go to a block
        explorer and search for '0'. This will take you to the block at height
        0. As you can see, this block only contains one transaction.
      </Text>

      <Text>
        Open up the transaction so you can take a closer look at the details. On
        the left is an input called 'Coinbase'. Inside that is a field called
        'ScriptSig'. Find the HEX representation and paste it below.
      </Text>

      <IndividualCharacterInput
        value={userInput}
        onChange={(val) => setUserInput(val)}
      />
    </>
  );
}

On the platform repo (this one probably) we simply import @savingsatoshi/lessons and render out the lessons.

This solution first and foremost enforces the separation between lesson content and the code that runs it, thereby making sure that contributors aren't overwhelmed with the codebase. At the same time, it also makes sure the Curriculum Contributors do not have to write a ton of boilerplate code to get their lesson up and running. From the perspective of a Curriculum Contributor it is a very simple process to add content.

Hi! I Agree with the solution laid out above. You can also create layout components for recurring pages. For example, each chapter could have a similar intro page format.
// ChapterIntro.tsx
import { Heading, SubHeading, Text, IndividualCharacterInput } from '@savingsatoshi/ui'
const ChapterIntro = ({title, subTitle, body}) =>{
    return(

            <Heading>{title}</Heading>
            <SubHeading>{subTitle}<SubHeading />
            <Text>{body}</Text>

    )
}

As for internationalization, I have had good experiences with formatjs. I recommend building a set of wrapper hooks. For example, useTranslate(), useDate(), useNumbers(), etc... And maintain a set of key-value mappings in a separate directory, say @savingsatoshi/translations.
So for example,
// @savingsatoshi/translations/en-US.ts
export const translation = {
  my_key: 'Hello, {name}!',
}

// Any component
function MyTranslatedComponent() {
  const { translate } = useTranslate()
  return
{translate('my_key', { name: 'Satoshi' })}

}

Keys in @savingsatoshi/translations/*.ts can be broken down by lesson and chapter.
This approach would add an additional step to contributing lesson material. But nothing that can't be explained in CONTRIBUTING.MD.

One thing I'd ask for in this discussion is to base the technical solution on our desired experience. For example, I'd rather not prescribe a strict content structure (title, sub-title, paragraph) on every chapter intro page. Similarly, interactive coding experiences can really benefit if the challenges have some unique touches. For example, if we realize that most learners make a specific mistake in a challenge, it would be great to have a unique response and a tip just on that page. The balance between standardization and customization is very important.
As for making it easy for content contributors, I think we will have some minimal required technical knowledge anyways, simply because people who create technical learning material for bitcoin will automatically have a certain understanding. But naturally we need to make it as simple as we can. Something that has worked well so far was that lessons start in a Google Doc or Notion, then go through design and only later get ported into code once things are fairly finalized. This is more accessible and moves and coding requirements to the end of the process.
For localization via JSON and Strings, is it possible to embed custom tool tips (example) and potentially other components?
Maybe it's a good idea to write down our requirements for this architecture (across tech, design, content...)? And then derive specs and solutions from those?

Hi @GBKS, yes the example I gave with <Heading>, <Text>, was just that, an example. Contributors would be free to create their own components if they wanted to, I merely suggested we provide them some easy to use building blocks to get them started quicker. As for custom tooltips / other custom components; these should be no issue with the solution I proposed.
This solution also lends itself extremely well to translations like @0xBEEFCAF3 mentioned before, though I feel we'd probably need to establish some proper guidelines/conventions for how we define the translationos because I can see that becoming a mess fast without proper guidance.

Hi, hope I'm not adding too many cooks to the kitchen on this issue, but have you thought about using a CMS like Strapi for the content? Strapi would make it easy for anyone to contribute content and it would make it easy for the developers to consume the content via an API. It looks like it would be very easy to add on i18n support as well. You wouldn't even need a client library for the localized copy. All the localized copy could be easily retrieved using the Strapi API.
Flow could be something like this:

Content creator submits lesson using Google Docs
Discuss lesson and make changes if necessary on the Google Doc
Assign someone to input the lesson into Strapi using the dashboard and publish (no coding or git knowledge necessary to do this)
Developers consume the data using the Strapi API using the component structure using the @savingsatoshi/ui components

I've never actually used Strapi, but I researched it a little and it seems like it would work well for this project. The Strapi free tier also looks like it would be sufficient. Only cost would be hosting which I think would only be $5 a month on DigitalOcean. Might be worth it for someone to do a spike on using it.

Maybe best to keep this an eye on this problem and gather requirements and think of solutions until we're a bit further in?

Also, I agree with @GBKS that it would probably be better to punt on making the architectural changes right now. I'm new here, but it seems like more research and discussion needs to be done before making any architecture changes.

Maybe it's a good idea to write down our requirements for this architecture (across tech, design, content...)? And then derive specs and solutions from those?

+1 on that as well.

Just making a note (mostly for myself) that this has been assigned to afterburn after our call today as he is going to take a stab at it.

Moving this to "In Progress". Here is afterburn's spike: https://github.com/saving-satoshi/saving-satoshi/pull/118

Closing issue as PR has been merged!


Update ci versions

Several actions are using old versions. This updates across the board.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 65.82%. Comparing base (3d251ed) to head (e10d856).
Report is 5 commits behind head on main.

Additional details and impacted files

@dependabot? i.e.
$ $ cat ~/software/openff-toolkit/.github/dependabot.yml          8:32:22  ☁  fix/gaff_with_ambertools23 ☀
version: 2
updates:

  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "daily"

Ah probably the best idea here -- thanks @mattwthompson!


Update CI actions to run periodically

Description
The ask of this issue is to run the CI actions at a regular frequency for example: daily. This will make sure that if any of the dependency is breaking we are able to catch those error before releases.
Example:

https://github.com/opensearch-project/k-NN/blame/main/.github/workflows/CI.yml#L4

Issues:

https://github.com/opensearch-project/neural-search/issues/103

CI is running daily. Closing this issue


Review collaborations with other SSCP mappings

https://github.com/cncf/tag-security/issues/956#issue-1306190071
https://github.com/cncf/tag-security/issues/845#issuecomment-1198322039

Sync up is planned for mid-August

@caze121 to follow-up by end of August on licensing


getting Yarn error for NPM RUN FAST-START

Hi, I created an app as per the instruction. The app folder is created and I can see all the files.
When I run 'NPM RUN FAST-START' I am getting below error.
I am new this and struck. Please help.

<EMAIL_ADDRESS>fast-start C:\Users\meena\Bucky\startRe
dux\myReduxApp
yarn install && webpack --mode=development && gulp prod && run-p server open-l
ocalhost

'yarn' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>fast-start: yarn install && web pack --mode=development && gulp prod && run-p server open-localhost
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>fast-start script.
npm ERR! This is probably not a problem with npm. There is likely additional log
ging output above.
npm ERR!      C:\Users\meena\AppData\Roaming\npm-cache_logs\2018-06-03T14_10_43_
987Z-debug.log
Here is the Log file
1 verbose cli   'fast-start' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose run-script [ 'prefast-start', 'fast-start', 'postfast-start' ]
5 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>6 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>7 verbose lifecycle<EMAIL_ADDRESS>unsafe-perm in lifecycle true
8 verbose lifecycle<EMAIL_ADDRESS>PATH: C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;C:\Users\meena\Bucky\startRedux\myReduxApp\node_modules.bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\ProgramData\Oracle\Java\javapath;c:\Program Files (x86)\Intel\iCLS Client;c:\Program Files\Intel\iCLS Client;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0;c:\Program Files (x86)\Hewlett-Packard\HP ProtectTools Security Manager\Bin;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin;C:\Program Files\Common Files\Intel\WirelessCommon;C:\Program Files\nodejs;C:\Users\meena\AppData\Roaming\npm;C:\Users\meena\node_modules
9 verbose lifecycle<EMAIL_ADDRESS>CWD: C:\Users\meena\Bucky\startRedux\myReduxApp
10 silly lifecycle<EMAIL_ADDRESS>Args: [ '/d /s /c',
10 silly lifecycle   'yarn install && webpack --mode=development && gulp prod && run-p server open-localhost' ]
11 silly lifecycle<EMAIL_ADDRESS>Returned: code: 1  signal: null
12 info lifecycle<EMAIL_ADDRESS>Failed to exec fast-start script
13 verbose stack Error<EMAIL_ADDRESS>fast-start: yarn install && webpack --mode=development && gulp prod && run-p server open-localhost
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter. (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\index.js:285:16)
13 verbose stack     at emitTwo (events.js:126:13)
13 verbose stack     at EventEmitter.emit (events.js:214:7)
13 verbose stack     at ChildProcess. (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 verbose stack     at emitTwo (events.js:126:13)
13 verbose stack     at ChildProcess.emit (events.js:214:7)
13 verbose stack     at maybeClose (internal/child_process.js:925:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
14 verbose pkgid<EMAIL_ADDRESS>15 verbose cwd C:\Users\meena\Bucky\startRedux\myReduxApp
16 verbose Windows_NT 6.1.7601
17 verbose argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "run" "fast-start"
18 verbose node v8.11.2
19 verbose npm  v5.6.0
20 error code ELIFECYCLE

I installed yarn thru .msi file but still it did not work.
The path was set wrong in environmental variables. I corrected it. still did not work.
Then I installed yarn thru "npm install yarn -g". it worked.

Hi @prem2282
Happy that you fixed that. Yes, you should have yarn installed globaly.


custom style system & style language

Pulled. But make sure to change anything like backgrounds to public domain images.


⚠ TorrentLeech has degraded performance

In c9765db, TorrentLeech ($TL) experienced degraded performance:

HTTP code: 200
Response time: 5616 ms

Resolved: TorrentLeech performance has improved in c216b51 after 6 minutes.


Investigate performance of "Create" view

The "Create PR" view is slow to load and slow to create a PR. We should see if there are opportunities to improve the load performance and the create performance.

Improvements have been made in the load performance, but there may still be opportunities to improve the create performance.

Took a look at the performance of the "create" button, there are three chunks where most of the time is spent:
Pushing the branch: ~2.4 seconds
@lszomoru, it's a long shot, but any chance there's a place for performance improvements in the git extension API Repository.push?
Creating the PR using GitHub API: ~1 second
This currently uses the rest API. I'll see if the GraphQL API is any faster.
Writing some metadata to the git config: ~.6 seconds
Not much to be done here.

@alexr00, took a look and from what I can tell, there is not much code being executed other that invoking git push. Do you have an idea of how much time it currently takes for pushing the branch? How does that compare with the duration of the git push command logged in the git output window?

I didn't see an end time of push in the git extension output, but I tested it from the command line with git push --set-upstream origin alexr00/createPerf and it's ~2.3 seconds:
PS D:\repos\alexr00\playground> Measure-Command { git push --set-upstream origin alexr00/createPerf | Out-Default }
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 12 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 1005 bytes | 1005.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
remote:
remote: Create a pull request for 'alexr00/createPerf' on GitHub by visiting:
remote:      https://github.com/alexr00/playground/pull/new/alexr00/createPerf
remote:
To https://github.com/alexr00/playground.git
 * [new branch]      alexr00/createPerf -> alexr00/createPerf
Branch 'alexr00/createPerf' set up to track remote branch 'alexr00/createPerf' from 'origin'.

←[32;1mDays              : ←[0m0
←[32;1mHours             : ←[0m0
←[32;1mMinutes           : ←[0m0
←[32;1mSeconds           : ←[0m2
←[32;1mMilliseconds      : ←[0m320
←[32;1mTicks             : ←[0m23207875
←[32;1mTotalDays         : ←[0m2.68609664351852E-05
←[32;1mTotalHours        : ←[0m0.000644663194444444
←[32;1mTotalMinutes      : ←[0m0.0386797916666667
←[32;1mTotalSeconds      : ←[0m2.3207875
←[32;1mTotalMilliseconds : ←[0m2320.7875

I don't think there's any opportunity for speed up there.

The GraphQL API seems to be slight faster than the REST API. I've swapped them out.
We already show a spinner in the status bar, but maybe we can boost perceived performance by showing a progress notification.


Unable to disable '&' to '&' escaping

I have an html document that contains a link of the form:
http://domain.com/path?foo=bar&dead=beef
If I parse it and emit it back out via to_html I get the following:
http://domain.com/path?foo=bar&dead=beef
This breaks the link's functionality and appears to only have the foo get param.  How do I get #to_html or #serialize to behave?
Example
doc = %q{Clicky}
message = Nokogiri::HTML.parse(doc)
message.to_html

Result
"<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" \"http://www.w3.org/TR/REC-html40/loose.dtd\">\nClicky\n"

So I believe the root cause of this bug is an incompatibility between xml and html and that nokogiri uses libxml2 to build html documents.
XML does not permit lone &'s instead they must be encoded as &. The code that is converting & to & is in libxml2:
void
xmlBufAttrSerializeTxtContent(xmlBufPtr buf, xmlDocPtr doc,
                              xmlAttrPtr attr, const xmlChar * string)
{   xmlChar *base, *cur;

    if (string == NULL)
        return;
    base = cur = (xmlChar *) string;
    while (*cur != 0) {
 ....
        } else if (*cur == '&') {
            if (base != cur)
                xmlBufAdd(buf, base, cur - base);
            xmlBufAdd(buf, BAD_CAST "&", 5);
            cur++;
            base = cur;

Nice find.  I didn't end up having enough time to dig through libxml2.  I was able to work around this bug in our app in a different way.

What did you end up doing?

We were able to limit our url generation so that each url only had one get param.  It's not a widely applicable solution.  :frowning:

CGI.unescape_html

Parsing/substituting HTML via regex is generally a bad idea. If one controls the URL and can avoiding multiple query params that is probably a better work around for now $0.02

Is there any other workaround not involving regex for this issue?

Sorry for posting a "me too", but I also bumped into this and find it odd. The regex workaround doesn't always work either. e.g.
> frag = "
Introduction

 Nokogiri::HTML.fragment(frag).to_html.gsub(%r{https?://[^"]+}) {|s| CGI.unescape_html(s) } == frag
=> false

This behavior is going to depend on what version of libxml2 you're running. With the libxml 2.9.4 that's in Nokogiri v<IP_ADDRESS>, this is properly not-escaped.
If you see this issue, please do comment here with the output from nokogiri -v so we can see what version of Nokogiri and libxml2 you're running.

I am still having this problem with nokogiri 1.8.0:
# Nokogiri (1.8.0)
    ---
    warnings: []
    nokogiri: 1.8.0
    ruby:
      version: 2.3.3
      platform: x86_64-darwin16
      description: ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16]
      engine: ruby
    libxml:
      binding: extension
      source: packaged
      libxml2_path<EMAIL_ADDRESS>      libxslt_path<EMAIL_ADDRESS>      libxml2_patches:
      - 0001-Fix-comparison-with-root-node-in-xmlXPathCmpNodes.patch
      - 0002-Fix-XPointer-paths-beginning-with-range-to.patch
      - 0003-Disallow-namespace-nodes-in-XPointer-ranges.patch
      libxslt_patches:
      - 0001-Fix-heap-overread-in-xsltFormatNumberConversion.patch
      - 0002-Check-for-integer-overflow-in-xsltAddTextString.patch
      compiled: 2.9.4
      loaded: 2.9.4

Is there any progress on consensus on this one? Is it actually ok to convert & inside html links to &? browsers seem to be fine with them either way, but it feels odd to me (not to mention the chance of those &amps stacking up if people start to copy links that already have &s in them, or am I being silly?)


Invalid locale 'mg' (Madagascar)

Why does Madagascar not work with this library? Whereas 'en' works fine.
import 'package:intl/intl.dart';

main() => print(NumberFormat(null, 'mg'));

Unhandled exception:
Invalid argument(s): Invalid locale 'mg'
#0      Intl._throwLocaleError (package:intl/intl.dart:239:5)
#1      Intl.verifiedLocale (package:intl/intl.dart:233:21)
#2      new NumberFormat._forPattern (package:intl/src/intl/number_format.dart:496:24)
#3      new NumberFormat (package:intl/src/intl/number_format.dart:173:11)
#4      main (file:///Users/alice/code/dartpad/bin/dartpad.dart:37:9)
<asynchronous suspension>
#5      _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:299:32)
#6      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)

Links:

https://en.wikipedia.org/wiki/Madagascar
https://en.wikipedia.org/wiki/ISO_3166
https://en.wikipedia.org/wiki/ISO_3166-2:MG

The data used in intl is derived from CLDR (35) as mentioned in number_symbols_data.dart.
CLDR 35 does have mg, but we have a whitelist in the generator tool which does not include mg.
Alan, is there a good reason we're not just generating data for all the locales? The whitelist is inherited from a different project and Dart even has a small additional whitelist on top of that, so I suspect we can just do away with the whitelist all together.

The whitelist is copied from Closure, and from a few years ago, so it is probably out of date. The main concern in removing the whitelist outright is data size. There are potentially a lot of locales, many of which are very minor variations. Adding something to the whitelist is relatively easy. Note that you can also add a locale programmatically as a workaround. See https://github.com/dart-lang/intl/blob/master/test/date_time_format_custom_test.dart


Fixes CI: makes golangci-lint use Go version from go.mod

Description of the change:

Makes .github/workflows/sanity.yaml use go version from go.mod for runing linter
Updates golangci-lint to the version which supports Go 1.19.

Note that I did not update golangci-lint to the latest version as it adds more issues which need extra attention/configuration and not necessary to makeing CI work again (e.g. loopclosure: loop variable tt captured by func literal for tests like this one).
Motivation for the change:
Currently the sanity workflow fails due to Go 1.20 being used. This PR makes sure that we use go version specified in go.mod to run golangci-lint.
Current failure example:
  Running [/home/runner/golangci-lint-1.46.0-linux-amd64/golangci-lint run --out-format=github-actions] in [] ...
  panic: load embedded ruleguard rules: rules/rules.go:13: can't load fmt

  goroutine 1 [running]:
  github.com/go-critic/go-critic/checkers.init.22()
  	github.com/go-critic/go-critic@v0.6.3/checkers/embedded_rules.go:47 +0x4b4

  Error: golangci-lint exit with code 2
  Ran golangci-lint in 12114ms

Architectural changes:

Testing remarks:
sanity should use go version from go.mod (1.19 at the moment) and should not fail.
Reviewer Checklist

[ ] Implementation matches the proposed design, or proposal is updated to match implementation
[ ] Sufficient unit test coverage
[ ] Sufficient end-to-end test coverage
[ ] Bug fixes are accompanied by regression test(s)
[ ] e2e tests and flake fixes are accompanied evidence of flake testing, e.g. executing the test 100(0) times
[ ] tech debt/todo is accompanied by issue link(s) in comments in the surrounding code
[ ] Tests are comprehensible, e.g. Ginkgo DSL is being used appropriately
[ ] Docs updated or added to /doc
[ ] Commit messages sensible and descriptive
[ ] Tests marked as [FLAKE] are truly flaky and have an issue
[ ] Code is properly formatted

/approve

/approve


Feature Request - Notification Icon should use Size Prop

Overview of the problem
I would like to be able to set the icon size in b-notification. Notification uses the MessageMixin, which has a size prop, this would have Notification default to large or use the size prop if set.
Buefy version: 0.6.2
Vuejs version: 2.5.10
OS/Browser: Chrome

@nmarshall23 size prop is better not but we could add icon-size prop.


Minor fixes to library.yml

Hi Mikhail,
Here are some minor fixes for library.yml, to ensure that the YAML format is correct and can be parsed.
Thanks!
Thibault

wow! how do you do this?

I use that script of https://github.com/polyanskiy/refractiveindex.info-scripts/commit/be71c0c0d0181d404f8a06d426b21cb96ae9d5e9 :)
If you run it on the database/ folder, the Python YAML parser tries to parse library.yml and will complain if there are error, and ensure that all YAML files in the database are in the index (and vice-versa).
Here is the script output:
[tnorth@localhost check_db]$ python check_db.py ../../refractiveindex.info-database/database/
File number mismatch: 1793 files in the index, 1718 files on disk
1718 unique files in the index, 1718 unique files on disk

../../refractiveindex.info-database/database/main/Hg/Inagaki.yml appears 3 times in the index
../../refractiveindex.info-database/database/glass/schott/N-BAF10.yml appears 3 times in the index
../../refractiveindex.info-database/database/main/SiO2/Malitson.yml appears 3 times in the index
../../refractiveindex.info-database/database/glass/schott/N-BK7.yml appears 3 times in the index
../../refractiveindex.info-database/database/main/Fe/Ordal.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/lzos/K8.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/hoya/E-FD5.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/ohara/S-BAH10.yml appears 2 times in the index
../../refractiveindex.info-database/database/organic/(C16H14O3)n - polycarbonate/Sultanova.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/sumita/K-SFLD10.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/ohara/S-BAL11.yml appears 2 times in the index
../../refractiveindex.info-database/database/main/H2O/Hale.yml appears 2 times in the index
../../refractiveindex.info-database/database/main/Si/Vuye-20C.yml appears 2 times in the index
../../refractiveindex.info-database/database/main/Ag/Rakic-BB.yml appears 2 times in the index
../../refractiveindex.info-database/database/organic/C3H6O - acetone/Rheims.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/hikari/J-BK7A.yml appears 2 times in the index
../../refractiveindex.info-database/database/other/commercial plastics/ZeonexE48R/Sultanova.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/hikari/J-SF11.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/schott/N-LASF9.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/cdgm/H-K9L.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/schott/N-SF11.yml appears 2 times in the index
../../refractiveindex.info-database/database/main/Cu/Rakic-BB.yml appears 2 times in the index
../../refractiveindex.info-database/database/main/Pt/Rakic-BB.yml appears 2 times in the index
../../refractiveindex.info-database/database/organic/(C5H8O2)n - poly(methyl methacrylate)/Sultanova.yml appears 2 times in the index
../../refractiveindex.info-database/database/other/alloys/Cu-Zn/Querry-Cu70Zn30.yml appears 2 times in the index
../../refractiveindex.info-database/database/main/Pb/Golovashkin-293.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/cdgm/ZF2.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/schott/N-BAK1.yml appears 2 times in the index
../../refractiveindex.info-database/database/other/commercial plastics/Optorez1330/Sultanova.yml appears 2 times in the index
../../refractiveindex.info-database/database/other/semiconductor alloys/AlSb-GaSb/Ferrini-0.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/misc/soda-lime/Rubin-grey.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/hikari/J-SF10.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/sumita/K-SFLD11.yml appears 2 times in the index
../../refractiveindex.info-database/database/organic/C6H6 - benzene/Moutzouris.yml appears 2 times in the index
../../refractiveindex.info-database/database/main/Au/Rakic-BB.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/misc/soda-lime/Rubin-green.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/misc/soda-lime/Rubin-bronze.yml appears 2 times in the index
../../refractiveindex.info-database/database/other/soots/diesel soot/Querry-NMSU.yml appears 2 times in the index
../../refractiveindex.info-database/database/other/mixed crystals/ZrO2-Y2O3/Wood.yml appears 2 times in the index
../../refractiveindex.info-database/database/other/commercial plastics/NAS-21/Sultanova.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/misc/soda-lime/Rubin-clear.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/cdgm/ZF4.yml appears 2 times in the index
../../refractiveindex.info-database/database/main/H2O/Warren.yml appears 2 times in the index
../../refractiveindex.info-database/database/organic/(C8H8)n - polystyren/Sultanova.yml appears 2 times in the index
../../refractiveindex.info-database/database/organic/(C6H9NO)n - polyvinylpyrrolidone/Konig.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/hikari/J-BAF10.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/sumita/K-SFLD5.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/schott/N-SF10.yml appears 2 times in the index
../../refractiveindex.info-database/database/other/soots/propane soot/Dalzell.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/hikari/J-SF5.yml appears 2 times in the index
../../refractiveindex.info-database/database/main/C/Phillip.yml appears 2 times in the index
../../refractiveindex.info-database/database/main/Ge/Aspnes.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/ohara/S-BSL7.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/schott/N-SF5.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/hoya/E-FD10.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/cdgm/H-BAK8.yml appears 2 times in the index
../../refractiveindex.info-database/database/organic/(C6H10O5)n - cellulose/Sultanova.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/hoya/BSC7.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/hoya/BAF10.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/hikari/J-BAK1.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/cdgm/H-ZBAF52.yml appears 2 times in the index
../../refractiveindex.info-database/database/main/Fe/Johnson.yml appears 2 times in the index
../../refractiveindex.info-database/database/main/Al/Rakic-BB.yml appears 2 times in the index
../../refractiveindex.info-database/database/main/Ti/Johnson.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/schott/N-FK51A.yml appears 2 times in the index
../../refractiveindex.info-database/database/other/mixed crystals/HfO2-Y2O3/Wood.yml appears 2 times in the index
../../refractiveindex.info-database/database/main/NaCl/Li.yml appears 2 times in the index
../../refractiveindex.info-database/database/other/soots/acetylene soot/Dalzell.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/sumita/K-BK7.yml appears 2 times in the index
../../refractiveindex.info-database/database/main/Al2O3/Malitson-o.yml appears 2 times in the index
../../refractiveindex.info-database/database/glass/cdgm/ZF13.yml appears 2 times in the index

Files in one set but not the other:

All files of the index have their counterpart on disk.

(I guess that it's a feature that some materials appear in several categories in the index)


Webpack Configuration for React App with hot module realoding

Do you want to request a feature or report a bug?

https://stackoverflow.com/questions/49913368/webpack-configuration-for-react-app-with-hot-module-realoding

What is the current behavior?
If the current behavior is a bug, please provide the steps to reproduce.

What is the expected behavior?
If this is a feature request, what is motivation or use case for changing the behavior?
Please mention other relevant information such as the browser version, Node.js version, webpack version, and Operating System.

Which version of webpack are you using?
Supposing it is version 4, the error: Webpack has been initialised using a configuration o bject that does not match the API schema., can be fixed following the supported schema here.

@prakashchandrabarnwal you have answer on your question in stackoverflow. Thanks!


Flaky Job Process (proposal)

This was synthesized from a conversation with @Schmavery and @mrmr1993 (though I embellished, so feel free to comment if ya'll disagree)
Problem
There are several jobs that fail intermittently right now and it's hard to tell if they are real failures or flakes. As such, many people have started to ignore some of the job failures merely assuming they are flakes.
Proposal
Two parts:

We agree on clear definitions of flaky jobs and broken jobs
We agree on a process for handling flaky and broken jobs. The process cannot be "the jobs stay as is and we get used to an ❌ on our PRs.

Definition of Flaky
Flaky is defined as jobs that fail no more than 10% of the time. The expectation should be that a 3x retry effectively guarantees (in the worst case 1 in 1000 chance) of failures slipping through. This will be supported in #4763
Definition for Broken
Jobs are broken if they fail more than 10% of the time. No exceptions.
Process
When there is a job failure on trunk, the first thing is to check whether the last thing that landed was forced without running jobs. If so, try reverting that commit and waiting for jobs to run before proceeding with the below:
Broken jobs
If a job is broken on trunk, it is immediately removed as a blocking test. It is also removed from the suite of CI jobs that run on PRs and added to a special quarantine suite.
The quarantine suite will always pass with a ✅ on the PRs (via forcing an exit code 0 on a job). The quarantine suite will have a max size of 3 jobs. Any more, and we must pause feature development to address the debt.
In addition, broken jobs get triaged as issues and prioritized based on their severity
SLA for fixing:

P0: Drop everything to fix
P1: Fix this sprint
P2: Fix in the next sprint
P*: Backlog

Flaky jobs
If a job is flaky, it is immediately marked as flaky in our CI system (as shown in #4763).
Flaky tests also get triaged as issues and prioritized based on their severity.
Detecting Flaky jobs
BuildKite has a nice GraphQL API that will make it possible to query for the failure rate of a given job or pipeline. We can create a discord chat bot that on some interval (daily?) checks for the failure rate and alerts us in a discord channel for tests we need to mark as flaky that aren't and jobs that are marked flaky that have passed the (1 in 10) threshold over the last 30 completed runs of the job.
Note the above is not a blocker for taskforce disbandment but is a good infrastructure task for the future.
Epic: #4735
Edit Changelog

Moved 20% to 10% for threshold
Rewrote broken test policy to support quarantine suite
Added SLA for fixes
More info on implementation details in new CI system re auto-flakification and auto-brokenification
Note on checking for force lands
Tests -> jobs; covers build-artifacts-medium-curves failures etc

Would love to have the bar set higher, to a failure rate of no more than 10%.  Could this be realistic given the improvements we are making?  If not can we aim to have this in the future?

How do we know that it's a test failure and not a product issue?  First step should be to confirm it's an actual bug.

Suggest that broken tests are removed as a blocking test and moved to a quarantine suite (can we make the quarantine suite run but not block or fail?  this would be better than a pass).  We can also set a max size for the quarantine suite so if it gets past 3 tests we need to pause and address them.

Think we should set an SLA for fixing both categories of tests with P0 tests being addressed immediately

Also tests that are broken because of code change (meaning the test needs to be updated), also should be addressed immediately, so we don't accrue test debt

Can build kite store and show the information for test history?  Can it automatically tag a test as flakey or broken?  It should be easy enough to tell if a test is broken or flakey if it’s passed at least 4 of the last 5 runs.

Also don’t think the process needs an RFC but whatever functionality needed from CI to deal with this should be captured in the build kite RFC or separate mini rfc

How do we know that it's a test failure and not a product issue? First step should be to confirm it's an actual bug.

I think this will be caught by blocking pull-request's test runs with an exception being if some commit was force-landed which I've added a note on above.

Also tests that are broken because of code change (meaning the test needs to be updated), also should be addressed immediately, so we don't accrue test debt

Can you clarify what sorts of errors you're referring to here? Aren't all tests broken because of code change?

One thing I'm confused about with a 10% failure rate is: what counts as a completed job? Is it just commits to develop? Does it count jobs run specifically in scope for a PR? If it's just commits to develop, do we have a high enough commit rate to observe the failures reliably enough?
Should we ratchet down the failure rate over time?

One thing I'm confused about with a 10% failure rate is: what counts as a completed job? Is it just commits to develop? Does it count jobs run specifically in scope for a PR? If it's just commits to develop, do we have a high enough commit rate to observe the failures reliably enough?

Hmm this is a good point. I think we must only count develop runs because (after the new CI anyway) jobs will only run if there is a change to some file that affects it. Thus, I don't think we have a high enough commit rate to observe the failures reliably.
One alternative approach is to stage develop failures in a basket of "questionable jobs" and run those nightly 30x to determine if they are flaky or broken. What do people think of this?

Should we ratchet down the failure rate over time?

I think the nature of the project and the sorts of tests we want to run (those with randomness), it will be a hard metric to optimize on.

Hmmm...interesting thoughts all around.
So automated retries, quarantines and alerts for maintenance of potentially flaky tests/jobs sound good and have proven to be solid strategies for identification of "flakes" in my experience though I just started looking into our logging/monitoring infrastructure while ramping up and this discussion on flaky tests got me thinking of what thoughts are around current debugging/troubleshooting tooling (e.g. log & metric visualizers for dev/test environments, IDE debuggers).

Considering the sort of mystical nature of "flakes" and  comments found in #4715, I wonder how much of the attention should be on diagnosis (..or more like the lack of information/evidence/tooling to properly diagnose the issue) vs. detection though seems like it might be worth detailing or at least touching on the troubleshooting process and ultimately how these "flakes" become "flakes" in this proposal.
I mean,  based on the friction point re: "...not having much information as to what a test is doing when the test fails..." + "...not having a good way to surface logs+metrics and collect them Logs are squished in a way that's hard to deal with", I wonder how much the thinking towards flakes would be impacted by a solution to this observability problem. Better organized logs and more evidence generally lead to quicker test failure analysis and it feels somewhat tough to make a call on what's "flakey" without stable and consistent monitoring.

Actually, somewhat thrown off by the test vs. job distinction -- disregard ^^^ for now :confused:

I like the idea of repeatedly testing "questionable jobs"!


Cannot find the option for how to get refresh a jwt token

After the user is logged in.  Application is getting a jwt token which will expire after 1 hour. Can you please provide me an option to get a refresh token or to get a jwt token at the start with an expiration time of more than 1 hour?

@sarvesh-simkraft this JWT token is usually used to confirm the user has a valid google account and to get basic details of that google account and this is done at backend (here is an example), after that JWT token is no more needed, rest of the login logic is done at backend, can you why you need to use this JWT after 1 hour?

I don't want my user to log out every one hour. so I want a refresh token or a token which lasts at least a day. to keep a login session at least for a day.

@sarvesh-simkraft I believe this JWT token from google should not be used for checking you web applications login session, JWT credential is generated by google is only for getting basic info of that user for the initial login, after that login logic is usually done inside you application server side code.

@yobaji ok thanks for helping me

@yobaji ok thanks for helping me


Pir motion sensor won’t update status

Bug LSC motion sensor won’t update from detected to not detected.
The device state in home assistant is always detected even when the sensor is offline.
expected behavior that the state is detected when motion is detected en when there is no motion the device state is not detected and when its offline the device state is not available.
{
"active_time":<PHONE_NUMBER>,
"biz_type": 0,
"category": "pir",
"create_time":<PHONE_NUMBER>,
"icon": "smart/device_icon/eu1580835339988EOIFT/1600852976.846712.png",
"id": "20401777500291cf9b2b",
"ip": "<IP_ADDRESS>",
"lat": "52.26722049460396",
"local_key": "a5079b6ba44aba5f",
"lon": "6.778513477809701",
"name": "Portiek sensor",
"online": true,
"owner_id": "10219404",
"product_id": "wqz93nrdomectyoz",
"product_name": "Smart PIR sensor",
"status": [
{
"code": "pir",
"value": "pir"
},
{
"code": "battery_state",
"value": "high"
}
],
"sub": false,
"time_zone": "+01:00",
"uid": "eu1580835339988EOIFT",
"update_time":<PHONE_NUMBER>,
"uuid": "20401777500291cf9b2b"
},

Many similar issues open. #140 #144


[vk] Can't download videos marked as adult

Can't download videos from vk.com marked as adult.
$ youtube-dl -v "https://vk.com/video_ext.php?oid=-62344632&id=456240277&hash=9be8791d5389012d&__ref=vk.api&api_hash=14662613337ae028bc61"
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-v', u'https://vk.com/video_ext.php?oid=-62344632&id=456240277&hash=9be8791d5389012d&__ref=vk.api&api_hash=14662613337ae028bc61']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Python version 2.7.8 - Linux-3.16.0-31-generic-x86_64-with-Ubuntu-14.10-utopic
[debug] exe versions: none
[debug] Proxy map: {}
[vk] -62344632_456240277: Downloading webpage
ERROR: This video was marked as adult.
Embedding adult videos on external sites is prohibited.
...

You should use direct link (https://vk.com/video-62344632_456240277) not embedded.
You must either provide credentials (-u/-p) or use authenticated cookie.


chore(chapter-8): Complete code

You can take a look of the code changes separated by commit:
https://github.com/PacktPublishing/Redux-Made-Easy-with-Rematch/commit/e034a244bb15bcc80bead54b1cddf5c7aa9b41ac Rematch Loading
https://github.com/PacktPublishing/Redux-Made-Easy-with-Rematch/commit/6bff9f47a7c23d8706cd9d17bf3989acba12bdf9 Rematch Select
https://github.com/PacktPublishing/Redux-Made-Easy-with-Rematch/commit/bd8c35c9891d03aa4894fba8efdeeb28786b80a5 Rematch Immer
https://github.com/PacktPublishing/Redux-Made-Easy-with-Rematch/commit/ca4406306b160ee4eec32088fff7844b558add76 Rematch Persist

Closed because conflicts since we moved chapter 5 into chapter 5 and 6.


Update JS examples to use compression for SDP input/output

I followed the steps from https://github.com/pions/webrtc/blob/master/examples/sfu/README.md and when I paste browser's SD and hit enter the sfu crashes with: illegal base64 data at input byte 4093
Am I doing something wrong?
While I'm very excited that I found this project which looks very promising, I must say it's not very intuitive how to start with it. Some kind of a quick start or an introduction to examples at least would be really helpful
Thanks

I am going to opt for not using compression, anyone feel free to push back if you disagree but this is my thinking.

Adding compression makes it more difficult to people base64 decode themselves and play around with
SFU example now uses a POST endpoint, which seems to be working for everyone. The code was also really terse (and we plan on allowing it for every example)


Missing source code License

Please add a LICENSE file to your repository and make sure to define in your PyPi package!

Hi @dotWee!
Thank you for using this package and making issues! I will do this (hopefully this evening) and post when it is done. Not gonna lie, I know very little about licensing and will have to research the matter first.
Best,
Adrian

@dotWee this is closed! Thank you for noticing!

Thanks for the update! Make sure to place your name and current year in the placeholders 😉
Copyright (c) <year> <copyright holders>

@dotWee Yikes, my apologies! I did not even notice this. Will fix now. Sorry this took so long.


I can't load multiple JSON files

Hi, I have been looking for ways to configure multiple .JSON files, but I have not been able to make it work.
My structure:
Folder structure
├── public
	├── locales
		├── en
			├── file1.json
			├── file2.json
		├── es
			├── file1.json
			├── file2.json
		├── pt
			├── file1.json
			├── file2.json

My code:
i18n
    .use(Backend)
    .use(LanguageDetector)
    .use(initReactI18next)
    .init({
        fallbackLng,
        debug: true,
        whitelist: availableLanguages,
        interpolation: {
            escapeValue: false
        },
        react: {
            useSuspense: false
        },
        backend: {
            loadPath: '/public/locales/{{lng}}/{{ns}}.json'
        }
    });

Used code:
import { withTranslation } from 'react-i18next';

const PageTest = (props) => {

    const { t } = props;

    return(
        <Layout title = "Testa Page Title">
            <h1>
                { t('TEST.TXT1') }
            </h1>
        </Layout>
    );
}

export default withTranslation()(PageTest);

But it generates the following error:
GET http://localhost:5000/public/locales/en/translation.json 404 (Not Found)
And:
i18next::backendConnector: loading namespace translation for language pt failed failed loading /public/locales/pt/translation.json

I have the same issue after build my react application, any idea?

@kevin-guzman check if you can load the files by typing their path in the browser addressbar -> most time the issue is not related to i18next but to having the translation files not where they should be or no server route making them available...


[Bug] shape wordcloud chart cannot render after editing in visactor site editor

Version
1.7.2
Link to Minimal Reproduction
null
Steps to Reproduce
https://www.visactor.io/vchart/demo/word-cloud-chart/word-cloud-shape-custom-color
Edit in site editor.
Current Behavior
Chart cannot render after editing.
Expected Behavior
Render chart correctly.
Environment
- OS:
- Browser:
- Framework:

Any additional comments?
This issue might related to the layout procedure. The dataflow before layout is executed but after layout dataflow will not be executed again, so that the text mark generate none elements.

it has been solved in https://github.com/VisActor/VGrammar/pull/277


Close the UI on swipe down and Script to run the example project

Fix the UI to close after a swipe down. It uses a vue composable, and has a verification of direction and pixels.
closes #36
Also add a script to run the example project, can be used in root folder to build and go to example folder, so its build and run capacitor android emulator.

Screen_recording_20230810_095115.webm

@mike-audi
fix the buttons, now its fine.

Tried another library to solve it!
by the way, in the video is that effect/fade/transition inttended ?
@mike-audi
Screen_recording_20230810_193852.webm


Updated issue templates

What was wrong?
Included more explicit requests of context for features and bugs
Closes #(there is no associated issue in this repo)
How was it fixed?
Added similar instructions to what's available in the safe-config-service and the safe-client-gateway
@gnosis/safe-services

Coverage remained the same at 88.411% when pulling 3ea5aef6cff540159a77765410022ed4e73b0adf on feature/issue_templates into 58c9b53020f16b5d1f4d1fc1c10bcbdfbea25448 on master.

Thanks @jpalvarezl !


Allow for arbitrary kwargs in tree(...)

This change allows for users to control features like the maxdepth of the tree. It is also a more robust solution than, for example, simply adding a maxdepth argument to tree(...) itself.
Without maxdepth:
Output

julia> PkgDependency.tree("Term")
Term 2.0.6
  ├─ ProgressLogging v0.1.4
  │  └─ SHA v0.7.0
  ├─ CodeTracking v1.3.5
  ├─ PrecompileTools v1.2.1
  │  └─ Preferences v1.4.3
  │     └─ TOML v1.0.3
  ├─ OrderedCollections v1.6.3
  ├─ MyterialColors v0.3.0
  ├─ Tables v1.11.1
  │  ├─ DataAPI v1.16.0
  │  ├─ OrderedCollections v1.6.3 (*)
  │  ├─ IteratorInterfaceExtensions v1.0.0
  │  ├─ DataValueInterfaces v1.0.0
  │  └─ TableTraits v1.0.1
  │     └─ IteratorInterfaceExtensions v1.0.0 (*)
  ├─ UnicodeFun v0.4.1
  ├─ AbstractTrees v0.4.5
  ├─ Parameters v0.12.3
  │  ├─ OrderedCollections v1.6.3 (*)
  │  └─ UnPack v1.0.2
  └─ Highlights v0.5.2
     └─ DocStringExtensions v0.9.3

With maxdepth=1, for example:
Output

PkgDependency.tree("Term", maxdepth=1)
Term 2.0.6
  ├─ ProgressLogging v0.1.4
  │  ⋮
  │
  ├─ CodeTracking v1.3.5
  ├─ PrecompileTools v1.2.1
  │  ⋮
  │
  ├─ OrderedCollections v1.6.3
  ├─ MyterialColors v0.3.0
  ├─ Tables v1.11.1
  │  ⋮
  │
  ├─ UnicodeFun v0.4.1
  ├─ AbstractTrees v0.4.5
  ├─ Parameters v0.12.3
  │  ⋮
  │
  └─ Highlights v0.5.2
     ⋮

I've added tests for the maxdepth keyword and updated the documentation to highlight the added functionality. The print_tree documentation is currently not published, so I've omitted that link (waiting on https://github.com/JuliaCollections/AbstractTrees.jl/pull/145).

Thanks for the contribution! I see the value of the maxdepth option. However, are there any other useful options in Term.Trees.Tree or print_tree? If maxdepth is the only option users need, we could offer just that instead of forwarding all arguments.
There is another concern regarding the maxdepth option. Consider a tree like this:
Root
  ├─ PkgA
  │  └─ PkgB
  │     └─ PkgC
  └─ PkgB (*)

If you set maxdepth=1, the first instance of PkgB will be omitted. This might seem confusing because this leads to a (*)-marked package without any preceding node displayed. However this can be work around by setting dedup=false. We can move forward if you feel fine with this.

Good points! I don't have an immediate answer to the question of hidden duplicate packages...
I could see some of the other options of print_tree being useful in some niche cases. Also, if there are some new, useful options introduced in the future, we wouldn't need to change anything here. Just a thought...

Sorry for the late response. I did some research but did not found a better solution. So I think it’s better to merge this PR for now. Thank you for the contribution!


root subscription type

Current dependencies on/for this PR:

main

PR #102   👈

This stack of pull requests is managed by Graphite.


remove SDK initialize delay

Closes: https://issues.redhat.com/browse/RHOAIENG-2952
Description

Removes the 1second delay that was arbitrarily added to work around an issue in the dynamic plugin SDK. Not the check is run immediately and the delay is reduced to 100ms. In testing, waiting for the effect to run is sufficient but kept the delay because of the async nature of the problem to be safe.
Cypress test execution time locally has also been reduce:
Before: 5m36s
After: 3m25s
It seems like the SDK also at one point was holding up rendering much like our app on the setting of config but was removed in this change: https://github.com/openshift/dynamic-plugin-sdk/commit/1b7f29515cbb43c67d5cf6c5010d5ac6adcaa27f
How Has This Been Tested?

Running the application.
Test Impact

None
Request review criteria:

Self checklist (all need to be checked):

[x] The developer has manually tested the changes and verified that the changes work
[x] Commits have been squashed into descriptive, self-contained units of work (e.g. 'WIP' and 'Implements feedback' style messages have been removed)
[x] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[x] The developer has added tests or explained why testing cannot be added (unit tests & storybook for related changes)

If you have UI changes:

[ ] Included any necessary screenshots or gifs if it was a UI change.
[ ] Included tags to the UX team if it was a UI/UX change (find relevant UX in the SMEs section).

After the PR is posted & before it merges:

[ ] The developer has tested their solution on a cluster by using the image produced by the PR to main

Last test failure had an a11y error unrelated to this change. Observed that storybook could fail randomly. The a11y issue is related to h1 and h3 headers being adjacent when the rule would prefer h1 followed by h2. Updated the ErrorBoundary to fix the error.

/hold
This change somehow affects the playwright tests wrt timing.

/hold cancel
ready for review now

/lgtm


Lines hidden when belowLayerID is setted with "com.mapbox.annotations.points"  (Android)

Hello,
I upgraded from version 10.0.0-alpha.5 to 10.0.0-alpha.13, and since this update, I no longer see the lines on Android when I set the belowLayerID property to 'com.mapbox.annotations.points'. If I remove it, I can see the lines, but they appear above my PointAnnotations.
I’m wondering if the value com.mapbox.annotations.points has changed between these versions. If not, is there another solution to display the PointAnnotations above the lines?
Thanks a lot.
My code:
<MapLibreGL.ShapeSource
      id={`shape-source-${idIndex}`}
      lineMetrics
      shape={shape}
    >
      <MapLibreGL.LineLayer
        id={`line-layer-${idIndex}`}
        style={styles.lineLayer}
        belowLayerID={isAndroid ? 'com.mapbox.annotations.points' : undefined}
      />
</MapLibreGL.ShapeSource>

Platform: Android
maplibre-react-native 10.0.0-alpha.13
React Native Version 0.74.5
Expo 51.0.32

@flohhhh, I am trying to think what could have changed between alpha.5 and 13 that would cause this. We updated the Maplibre Android and iOS SDKs, and there was a class name change from mapbox to maplibre. I am wondering if maybe that could be the issue. Can you try com.maplibre.annotations.points and report back?
You could also try inspecting the layers using map.queryRenderedFeaturesAtPoint(point), to confirm the layer order.

@tyrauber thx for the indications. I didn't succeed with com.maplibre.annotations.points but I searched in the native maplibre code and here is the culprit.
With this value it works : org.maplibre.annotations.points :)


Nil exception when accessing $~

The following code throws a Nil exception on the second line:
puts [""].any? &.=~(//)
puts $~

$~ and other $1 magic variables are local variables and thus only valid for the duration of the block. The variables also will raise when nil, in order to not have to deal with nils whenever everytime we access $1 or $2.

I see. The block-local characteristic is a bit awkward when trying to do this:
value = $~[1] if values.any? { |v| v =~ /^ID=(.*)$/ }

I hoped to use this line as an elegant and terse way to pull the ID value from a document, matching it line-by-line. I have since rewritten it due to this limitation, but it's sad that the original way doesn't work.

@stugol It sounds like you want something like this: https://carc.in/#/r/sql ?

Or even terser: https://carc.in/#/r/sqn

Ah, you actually want to get the matched group. Here you go: https://carc.in/#/r/sqt

Yeah, I know I can use map and compact. It's not as elegant though.

I think the first snippet should work, the magic variables are method local, not block local.

Should this work?
value = $~[1] if values.any? { |v| v =~ /^ID=(.*)$/ }

Doesn't look like it is block-scoped: https://carc.in/#/r/src

This is the closest I can get: https://carc.in/#/r/srg

Now all snippets work as expected \o/


Create developer documentation on internals

This would be really handy! Specifically, a brief bit of documentation on how the database works and exactly what fields are in it would be great.

This was started by @jvdzwaan in https://github.com/recipy/recipy/blob/master/docs/databaseSchema.md, we should probably add a few more examples to that before we can mark this issue as closed.

Shall we use Read the docs for documentation? This means it is probably a good idea to switch to rst.
Also, I think we should have both user and developer documentation. I can make a start if you like.

Yes, yes and yes :)


Add to cscontrol node and application commands

Add "info" alternative to nodes and applications commands and did some cleanup.

merged


Typo On NPM docs

There is a typo on your npm docs, the following line:
import { useAuth0 } from 'use-auth0-hooks';
should be:
import { useAuth } from 'use-auth0-hooks';
Please reconcile the npm docs with the readme

All of the concepts of this library have been moved to the official Auth0 SDK for React, so I'll be archiving this repository shortly.


blockchain-tree: replace reth-primitive imports

Progress on https://github.com/paradigmxyz/reth/issues/10749
Changed all where direct drop-in-replacement was possible

might need a rebase? ci doesnt feel related

rebased!


Profile Add profile to detail the scan

What problem does this PR solve?
Add some profile to detail the scan cherry pick some code #45556
Release note
None
Check List (For Author)

Test

[ ] Regression test
[ ] Unit Test
[ ] Manual test (add detailed scripts or steps below)
[ ] No need to test or manual test. Explain why:

[ ] This is a refactor/code format and no logic has been changed.
[ ] Previous test can cover this change.
[ ] No code files have been changed.
[ ] Other reason

Behavior changed:

[ ] No.
[ ] Yes.

Does this need documentation?

[ ] No.
[ ] Yes.

Check List (For Reviewer who merge this PR)

[ ] Confirm the release note
[ ] Confirm test cases
[ ] Confirm document
[ ] Add branch pick label

run buildall


[Bug]:  No such contract found for this user_profile

Version

[X] Yes

General Question

[X] No

What happened?
A bug happened! No such contract found for this user_profile
What have you tried?
I Googled and asked the community in the discord server but could not find a solution.
Relevant log output
No response
Protect your information

[X] I Agree

Has anyone found a solution for this?
I have a successful collection response in NFTPort and npm run get_contract returns this successfuly, but when doing npm run mint it always returns:
CATCH ERROR: NOK: No such contract found for this user_profile

Hi @reubarm, make sure you are on the correct chain and using the correct contract address. You should save two copies of your _deployContractResponse.json one for polygon another for rinkeby. So you can switch around with testnet and mainnet.
Simply call npm run get_contract using the correct _deployContractResponse.json in your build/contract folder to get the correct _contract.json then run your necessary commands

Yes, I was being impatient whilst the contract was indexing lol 😇
Once everything was successfully indexed I used the correct addresses and it worked perfectly!
Thanks for your reply, it's very kind of you to respond 😊

Yes, I was being impatient whilst the contract was indexing lol 😇
Once everything was successfully indexed I used the correct addresses and it worked perfectly!
Thanks for your reply, it's very kind of you to respond 😊

You are welcome!


chore: replace ursa lib with anoncreds-clsignatures-rs

Replaces ursa library with anoncreds-clsignatures-rs.
Removes some external dependencies which are now packaged with the updated library.
Resolves: https://github.com/hyperledger/anoncreds-rs/issues/221
Resolves: https://github.com/hyperledger/anoncreds-rs/issues/224
Many thanks to @andrewwhitehead for help on this.

Note about this on the interface changes made to those using this library:

The call to issue a credential no longer requires the tails file as a parameter.
The call to revoke a credential no longer requires the tails file as a parameter, adds the CredDefinition and the revocation registry private key as parameters.

Yes I should have mentioned that the RN wrappers were not updated. I assume they could be updated in a follow up PR to this.

anoncreds-clsignatures 0.2 is out now with a few more updates, but I can add another PR for that. I think the revocation status list creation could be optimized so I'll look at that at the same time.

anoncreds-clsignatures 0.2 is out now with a few more updates, but I can add another PR for that. I think the revocation status list creation could be optimized so I'll look at that at the same time.

@andrewwhitehead — what is the action here?  Can we merge this, do we need to update to 0.2?  Your note implies that we can do the 0.2 update later, but then you didn’t approve this.  Thanks!


Bot cannot find and play from youtube direct link

The bot is not able to play some songs, while it can easily play others.

This is after the latest commit and an automatic redeployment on Herkou.

Okay @driftywinds it is not a code problem. Here's the thing this happens sometimes with heroku, the server stops working efficiently, it has already happened before in my server as well. For now, you should restart the script, do one thing in the app in the top left corner in the more --> Restart all dynos and recheck, it should work fine!

Thank you for the prompt reply, will try and update


Seed parameter while generating

Hi,
I have problem with generating audio from the seed audio. As i understood, when we provide seed audio file, generation continues where after 64 samples of seed and it should point generation in some other directions than default? I am trying to seed because I get almost identical or very similar generated audio results (epoch 150, dataset 30min, 22050Hz) with different training parameters every time.
Error that I get when trying to seed:
!python generate.py
--output_path ./generated/default/test_1_t075_s10_16000.wav
--checkpoint_path ./logdir/default/26.09.2020_12.35.35/model.ckpt-140
--seed ./chunks/chunk_22050_mono_norm_chunk_109.wav
--dur 10
--sample_rate 16000
--temperature 0.75
--num_seqs 100
--config_file ./default.config.json
Traceback (most recent call last):
File "generate.py", line 225, in
main()
File "generate.py", line 221, in main
args.sample_rate, args.temperature, args.seed, args.seed_offset)
File "generate.py", line 188, in generate
init_samples[:, :model.big_frame_size, :] = quantize(seed_audio, q_type, q_levels)
TypeError: 'tensorflow.python.framework.ops.EagerTensor' object does not support item assignment
One more question: Is the sample rate differences maybe the problem? Does it have to be a same sample rate in training, generation and seed audio?
Best regards,
Branimir

Ah yes, thanks for spotting this - the error looks like an issue caused by trying to assign to a tensor, which is not possible since they're immutable in TensorFlow... It was originally a Numpy array, and they are mutable. Apologies, I'll get this fixed.
Actually I'm not sure what would be the result of having different sample rates during training and generation. With regard to the effect of seeding, I suspect it needs a larger chunk of samples for it to have much effect... I need to look at that feature again, sorry haven't had any time to work on it.

Thank you for the super-fast reply!
Ok, i finally have some improvements after expanding dataset to ~4 hours, and results are sounding promising after just 35 epochs :). Do you have idea how training can be done on just one song ~4min, like generating results just in style of one song?
Its maybe possible that different sample rates can speed up or slow down generated audio (something similar happened in the training process with MelGan), so I switched to 16kHz on every parameter.

Thanks - yes, a 4hr dataset should yield something useful... 4 minutes unfortunately is unlikely to be practical, you're welcome to try it but my guess is that the model will simply overfit, meaning it will basically just memorize your dataset. Incidentally, in terms of getting a better training workflow we will shortly be releasing a model tuner/optimizer with the code... It's based on Keras Tuner, and there is already a branch available, although it is experimental and buggy at the moment. I hope to merge this within the next week or so, I'm testing the implementation on some large datasets now. So instead of blindly picking some hyperparameters and hoping for the best, the tuner will allow users to find the optimal hyperparameters for a dataset, then proceed to a full training session with those hyperparams. Still likely to be more than an art than a science (which is not a bad thing!), but better than blindly stabbing in the dark!

Do you have idea how training can be done on just one song ~4min, like generating results just in style of one song?
An actual 4 minute-long file would not work and only produce meaningless noise. Perhaps repeating the audio until it reaches more than 25 minutes would work?

An actual 4 minute-long file would not work and only produce meaningless noise. Perhaps repeating the audio until it reaches more than 25 minutes would work?

@DigestContent0 @bstivic Indeed that would work, perhaps a better solution would be some kind of data augmentation. This is often used when working with images. I have recently been investigating this very issue, with a view to including a data augmentation script in a future release. I've been experimenting with audiomentations, which looks promising.


[+WATCH_FULLVIDEOs!] Kulhad Pizza Couple Viral Leaked Video On Social Media X Twitter [ZNOW34K]

34 sec ago Kulhad Pizza Couple Leaked Video Viral On Social Media. [+WATCH_FULLVIDEOs!] Kulhad Pizza Couple Viral Leaked Video On Social Media X Twitter [ZNOW34K]

Kulhad Pizza Couple’s latest video has gone viral, igniting conversations across numerous social media platforms. This rising digital creator, recognized for her engaging content—particularly her recent Spiderman-themed clip—has experienced a surge of interest from fans eager to find the full version. Many are flocking to platforms like Instagram, X (formerly Twitter), and Discord to check out her latest creations.
As the buzz intensifies, fans are actively sharing their reactions online, highlighting the vital role social media plays in elevating creators like Kulhad Pizza Couple. With her distinctive style and creative approach, she has quickly made a notable impact in the digital landscape, leaving many curious about her upcoming projects.


Unnecessary error for weak dependency features

Problem
I just tried out the weak dependency features support in Rust 1.60. And I'm getting the following error:
error: failed to parse manifest at `[...]\Cargo.toml`

Caused by:
  feature `std` includes `serde?/std` with a `?`, but `serde` is not an optional dependency
  A non-optional dependency of the same name is defined; consider removing the `?` or changing the dependency to be optional

This error is unnecessary and should probably be removed. The whole point of the weak dependency features is to fix the old system where you accidentally bring in dependencies. Ideally the default would be changed, but can't due to backwards compatibility, so ?/ is the alternative that was chosen. Now in order to not accidentally bring in dependencies I don't want, I want to use ?/ everywhere, but apparently this error prevents me from doing so.
Steps

Use ?/ with a dependency that is not optional.

Possible Solution(s)
Don't show the error.
Notes
No response
Version
cargo 1.60.0 (d1fd9fe2c 2022-03-01)
release: 1.60.0
commit-hash: d1fd9fe2c40a1a56af9132b5c92ab963ac7ae422
commit-date: 2022-03-01
host: x86_64-pc-windows-msvc
libgit2: 1.3.0 (sys:0.13.23 vendored)
libcurl: 7.80.0-DEV (sys:0.4.51+curl-7.80.0 vendored ssl:Schannel)
os: Windows 10.0.19042 (Windows 10 Education) [64-bit]

We discussed this issue, and we decided it is best to stay with the current syntax. The ? was intentionally chosen to mean "optional" (with some similarity with Rust's use of ? and options). We'd also like to avoid further churn in changing syntax.
We understand that the current syntax is not ideal, and was forced by need of backwards compatibility.  I opened #10556 with a possible option for the future.

This is not what this issue is about.

When discussing syntax, we are also referring to the semantics of that syntax.  We are not wanting to allow ? when something is optional.  As ehuss said, #10556 is the path forward for improving the behavior here.

When the long term goal are the semantics I'm proposing here (independent of syntax), then why artificially cripple ? now with no advantages?


add further info for device id encoding

Closes #1231

Please wait until we have a preview5 release before merging.


Updated nb_NO translations

I updated the translations as some of them were awkwardly phrased in Norwegian. I also noticed that the Settings-pane does not work, which I believe stems form the fact that the file is called "nb.Iproj" instead of "nb_NO.Iproj" (the latter is the standard way throughout iOS).

Thanks for this.


Deprecation warnings with generated S3 configuration

Environment:

Terraform 1.1.7
Provider aws 4.11.0
Provider awscc 0.19.0

With the current version of the script I get errors with S3 buckets generated by the step
. ../../scripts/060-get-s3.sh

I think it might be related to the switch to version 4 of the aws provider you are doing but I didn't check further.
A lot of warnings like the following are generated:
Warning: Argument is deprecated

  on aws_s3_bucket__a-bucket.tf line 3, in resource "aws_s3_bucket" "a-bucket":
   3: resource "aws_s3_bucket" "a-bucket" {

Use the aws_s3_bucket_versioning resource instead
[...]
Use the aws_s3_bucket_acl resource instead
[...]
Use the aws_s3_bucket_server_side_encryption_configuration resource instead

Here is the generated file creating the warnings aws_s3_bucket__a-bucket.tf:
# File generated by aws2tf see https://github.com/aws-samples/aws2tf
# aws_s3_bucket.a-bucket:
resource "aws_s3_bucket" "a-bucket" {
  bucket = "a-bucket"
  lifecycle {
    ignore_changes = [acl, force_destroy]
  }
  object_lock_enabled = false
  request_payer       = "BucketOwner"
  tags                = {}
  tags_all            = {}

  grant {
    id = "arandomandlongid"
    permissions = [
      "FULL_CONTROL",
    ]
    type = "CanonicalUser"
  }

  server_side_encryption_configuration {
    rule {
      bucket_key_enabled = false

      apply_server_side_encryption_by_default {
        sse_algorithm = "AES256"
      }
    }
  }

  versioning {
    enabled    = false
    mfa_delete = false
  }
  force_destroy = false
}

most of these kind of warning have been fixed now.


Website content getting cut out due to side menu.

Describe the bug
The content on the website and documentation are getting cut off due to the side-menu, which leads to not being able to read some of the information in its entirety.
To Reproduce
Steps to reproduce the behavior:

Go to Flowbite Svelte

Expected behavior
The content should be properly visible in its entirety without getting cut off. If possible, instead of using the browser default scroll-bar one can implement a minimal custom design for scroll-bar.
A proper view should be like the image below,

Image taken from TailwindCSS docs

Screenshots

Desktop (please complete the following information):

Browser: Brave
Version: 1.41.100 Chromium: 103.0.5060.134 (Official Build) (64-bit)

Can you check it now please?
I just updated the paddings.
Let me know if it fixes your problem.

https://github.com/themesberg/flowbite-svelte/pull/182
Thanks to @Hetarth02 for the PR.
I close the issue for now.


facing GeneralError when deserializing public keys (DeserializePublicKey, DeserializePublicKeyCached)

when trying to deserializeing public keys which i copied from a test case inside bls_test. there's absoluetly no context about underlyaing cause and just a general error if you could clarify in which conditions this case happens that'd be helpful.
	var publicKeys []blscrypto.SerializedPublicKey
	for _, validator := range v.validators {
		publicKeys = append(publicKeys, validator.BLSPublicKey)
	}

	publicKeyObjs := []*bls.PublicKey{}
	for _, publicKey := range publicKeys {
		publicKeyObj, err := bls.DeserializePublicKeyCached(publicKey[:])
		if err != nil {
			return nil, err
		}
		defer publicKeyObj.Destroy()
		publicKeyObjs = append(publicKeyObjs, publicKeyObj)
	}
	apk, err := bls.AggregatePublicKeys(publicKeyObjs)
	if err != nil {
		return nil, err
	}
	defer apk.Destroy()

Can you post a compilable snippet? That will help me debug.
If not, can you share where the original public keys originated from? They are supposed to be originated from an Serialize call.
This error usually happens when the byte array is not in the right format (e.g., too many bytes).

here's the branch with the test cases

Hi @alirezaly, is this still relevant?

Closing meanwhile! Feel free to re-open.


Is there a simple version for hardware based H264 decoder?

I am trying to use H264 decoder in my project. But sample application includes lot of defs and utilities which is making it difficult to integrate. Is there a reason why sample_defs.h, sample_types.h and sample_utils.h and Allocators are not included in SDK?

Hi @cheersalam, sad to hear about you difficulties. Did you try to look in tutorials? This one dedicated to AVC decoding, one single source file, no extra logic.

Hi @mgonchar I started following simple_decode example with HARDWARE and DXD11 rendering. I am getting AVC stream from network. When I call DecodeFrameAsync it returns MFX_ERR_UNDEFINED_BEHAVIOR. Allocator is same as in sample application. It is able to decode header correctly but Decoding is not working. Can you please give me some hints, for what reasons it will return MFX_ERR_UNDEFINED_BEHAVIOR. Thank you!

Also how can I enable tracer in sample application sample_decode. I am on windows platform and using VS2017 for test application. When I run sample_decode it is decoding and rendering fine, but SDK Tracer is not tracing anything.

Closing this issue. I had to write new helper functions and defs to integrate it.


Do not enable the git extension in restricted mode

CVE: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-43891

Why was this change made, exactly? The referenced advisory doesn't provide any details on the actual security issue, and upon some further investigation I ended up at this post, which supposedly is about this CVE ID but talks about exploiting Remote WSL - and which doesn't mention vscode.git at all other than as a seemingly-arbitrary example of how extensions can be addressed through vscode:// URIs.

Thank you very much for reaching out to us. While at this time, we will not be sharing a detailed reproducible steps for this problem, we can confirm that this MSRC is related to RCE which could affect people who would open an untrusted folder. This MSRC case is indeed unrelated to CVE-2021-43907.

Edit: Relatedly, it seems that the extensions.supportUntrustedWorkspaces override does not work in this case, even when explicitly allowing vscode.git to run (and verifying that it no longer appears in the 'disabled extensions' list). It seems like "don't display the repository view when the workspace is untrusted" is hard-coded separately from whether any source-control extensions actually support running in untrusted mode?

This issue should be fixed in the latest Insiders release.


Adding appverid

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


this is no work in mac os 10.15.7

Desktop (please complete the following information):

OS: mac os 10.15.7
Electron version 12.0.1
Node Version 3.2.6

can not work in mac

Hello, try using Electron version "^9.0.0" in your package.json, idk why but all versions above seem to not support the custom title bar.

works fine up to 12 with me

I can also confirm Electron 12.0.1 and MacOS 10.15.7 does not show the traffic signals for me. Making a frameless window without the custom titlebar package is also not showing the traffic lights like it used to, so some behavior may have changed elsewhere.

I see what's going on here. You must add both titleBarStyle and frame BrowserWindow options in order for the Mac traffic lights to appear. titleBarStyle has no effect on Windows/Linux, but on the Mac, it causes the traffic lights to show.
    titleBarStyle: "hiddenInset",     frame: false,

@jharrels what about the custom menu? does it work for you on mac?

@Araxeus No, the custom menu does not show on the Mac. Works fine on Windows and Linux using the same code.

Hey guys, any update on this? Just trying to get it working on Catalina. I was on electron 11.0.2 but have tried 9.0.0 and no luck. Works fine on windows. I've followed the example code as well. Has anyone got it working?

@wizzle-discord I finally gave up on it and moved to completely menu-less app, still using electron-custom-titlebar for the titlebar, however.

@Araxeus No, the custom menu does not show on the Mac. Works fine on Windows and Linux using the same code.

The custom menu is not displayed on Mac because on Mac the menu already appears in the upper left, next to the apple logo. This project is made to make that happen.

@AlexTorresDev Is it possible to override this behavior for macOS and keep showing the HTML-based menu? Imperfection is fine since I can fine-tune the layout in CSS.
Motive: I use this library to work around the fact that macOS hides app menu if we disable dock icon.


Alarm Control Panel status of HomeBase 3

Describe the bug
Since the change to the latest version (I think 6.3.1), we have to switch to the addon version of @bropat, since you have now clearly split the development (at least that's what I understood). I have since had the problem that the Alarm Panel status of my HomeBase (T8030) is always Unknown. No matter if I try to change it in Home Assistant or the Eufy App.
To reproduce
Check status of alarm_control_panel sensor.
Expected behavior
The alarm control panel sensor shows the actual status and this can also be changed using the corresponding buttons in Home Assistant.
Additional information

Home Assistant Installation Type (OS - Supvervised - Core): OS
Home Assistant Core Version: 2023.6.2
Eufy Security Add-on Version: 1.5.2
Eufy Security Integration Version: 6.3.1

Hardware Information;

Camera Model: T8030

Logs from Eufy Security Add-on (either from Add-ons page of Home Assistant or Docker output):
No errors related to this model.

please follow bug template and generate logs from home assistant

Okay...
What I hadn't tried before was simply restarting the addon. Now it works again.
Sorry for the inconvenience.


Set executable bits on several files in sandbox/

Run chmod +x on:
calc-best-assembly.py
collect-variants.py
graph-size.py

I am working on this issue

ready for review

Fixed in #823.


Remove cache directory if it has incorrect data.

This pull request adds a behavior to remove a cache directory in case it has incorrect data, to force re-generating a new cache.
Sometimes cache directories get broken due to updating the library (e.g., changing the TaskType definition) but the current implementation does not recognize if the cache follows the correct convention or not. This change may improve the robustness of the behavior around the cache.

@pfliu-nlp I don't have write access to the repository. Please merge this pull request if it looks fine.


Request highlighting for workbook specific columns

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

There is no highlighting for certain columns in workbook charts.

Describe the solution you'd like
A clear and concise description of what you want to happen.

For example, I want to be able to color only certain columns in a table chart.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Do you mean column highlighting in chart builder?
Currently, Metatron Discovery shows the used columns in chart builder like following :

@nogah12 As I mentioned in #2535, I think It also requires column-specific settings. If you have any good ideas to solve this problem, please let me know. We'll also try to consider good ways. :)


Since Update to WIN Server 2016 DC (14393.rs1_release.220610-1622) it don't work anymore

Since the last update, l4n can still be started, but the log window is no longer displayed.
If I start l4n, the "ConfigureSession" window also appears. If I select "FileListener" and then any log file and start, the icon remains on the bar, but no window opens.
In addition, ProcessExplorer reports:

1 security vendor and no sandboxes flagged this file as malicious
Downloader.DownloaderGuideCRTD.Win32.

I haven't touched this since November 2019 and that's the only release here on GitHub.
I used to use an installer that were flagged as malicious, but that was years ago. Now it's just a zip file with the binaries.
I will probably not do anything about it, but please let me know what version you are trying out and where you found it.

The EXE show me V<IP_ADDRESS>, last modified 19.08.2013 09:49
I have download it here: https://sourceforge.net/projects/logview4net/

Oh, that's an old one. Please try the under under releases here oh Github instead.

Ok, I have seen that the sourceforge file is ugly old and haven't noticed that the file here are the newest one...
That's a trap for those the search-engines link to sourceforce first ;o)
Ty for assistance and TC


Please explain how we replace "media"

"media" was my favorite component from v4.  I see it's been dropped in this version.  (you guys are killing me).
Your site points to this document for what utilities replace "media", but i don't see any answers in that document.  just a long chat discussion...
Please provide guidance

This is a duplicate a few times over (give it a search). https://github.com/twbs/bootstrap/pull/28265 has a snippet down in the thread about how to replace with utilities. We should get this in the docs somewhere though as a snippet.

I see that now.  Thank you.   This question can be removed.


Make Gibbs components extensible (somewhat RFC...)

We have discussed about this somewhere before... currently, anything you want to use in Gibbs has to be a subtype of
const GibbsComponent = Union{Hamiltonian,MH,ESS,PG,GibbsConditional}

so you can't just implement a compatible sampler in a separate package (which is what I would like to do these days).
@devmotion mentioned that we should use some kind of trait, but then of course we can't have
struct Gibbs{space, A<:Tuple{Vararg{GibbsComponent}}}

anymore (or maybe only with some heavy trait dispatch machinery that we'd like to avoid).
I'd really like to write a quick fix for this now, but of course having a permanent improvement would be cool.
So, what about (re)introducing gibbs_step as here, but with the implementation
struct IsGibbs{S} end

isgibbs(::Type{S}) where {S<:Hamiltoniam} = IsGibbs{S}
# etc. for other samplers

gibbs_step!(rng::AbstractRNG, model::Model, spl::S, N, transition; kwargs...) where {S<:Sampler} =
    gibbs_step!(isgibbs(S), rng, model, spl, N, transition; kwargs)

function gibbs_step!(
    ::IsGibbs{S},
    rng::AbstractRNG,
    model::Model,
    spl::S,
    N,
    transition;
    kwargs...) where {S<:Sampler}

    return AbstractMCMC.step!(rng, model, spl, N, transition; kwargs...)
end

Just a hand-written Holy trait -- I hope I got that right.
Maybe with a macro @allowgibbs MySampler expanding to DynamicPPL.isgibbs(::Type{S}) where {S<:MySampler} = IsGibbs{S}.

If you want to allow arbitrary user-defined Gibbs components, isn't it sufficient to just add DynamicPPL.isgibbs(sampler) = false, drop the type restriction, and add an inner constructor that checks if the sampler supports Gibbs sampling? IMO we don't need the type restriction if we check it in the inner constructor.
The aim of the gibbs_step! suggestion is just to separate the Gibbs handling more clearly from regular steps, since currently everything is mixed together in a single implementation of step! which is quite confusing IMO. But it is not needed if you want to support custom Gibbs samplers - with the current setup you would just have to put everything inside of a single step!.

Right, we don't actually use the trait for function dispatch.  I'll have a PR ready today.


Implement development cards

We need to implement the development classes into the game and create effects for them

We are only missing the MonopolyCard class with the effect, all other card classes have been created and submitted to gitHub.


ObjectUnsubscribedError when changing the route from one component to other component

errors.ts:42 ERROR Error: Uncaught (in promise): ObjectUnsubscribedError: object unsubscribed
ObjectUnsubscribedError: object unsubscribed
at new ObjectUnsubscribedError (ObjectUnsubscribedError.js:19)
at Subject._subscribe (Subject.js:94)
at Subject.Observable.subscribe (Observable.js:56)
at ObservableStrategy.createSubscription (async_pipe.ts:33)
at AsyncPipe._subscribe (async_pipe.ts:117)
at AsyncPipe.transform (async_pipe.ts:129)
at Object.eval [as updateDirectives] (e.html:10)
at Object.debugUpdateDirectives [as updateDirectives] (services.ts:273)
at checkAndUpdateView (view.ts:345)
at callViewAction (view.ts:700)
at new ObjectUnsubscribedError (ObjectUnsubscribedError.js:19)
at Subject._subscribe (Subject.js:94)
at Subject.Observable.subscribe (Observable.js:56)
at ObservableStrategy.createSubscription (async_pipe.ts:33)
at AsyncPipe._subscribe (async_pipe.ts:117)
at AsyncPipe.transform (async_pipe.ts:129)
at Object.eval [as updateDirectives] (e.html:10)
at Object.debugUpdateDirectives [as updateDirectives] (services.ts:273)
at checkAndUpdateView (view.ts:345)
at callViewAction (view.ts:700)
at resolvePromise (zone.js:468)
at resolvePromise (zone.js:453)
at zone.js:502
at ZoneDelegate.invokeTask (zone.js:265)
at Object.onInvokeTask (ng_zone.ts:253)
at ZoneDelegate.invokeTask (zone.js:264)
at Zone.runTask (zone.js:154)
at drainMicroTaskQueue (zone.js:401)
at HTMLAnchorElement.ZoneTask.invoke (zone.js:339)

Please describe your issue and show your usage

I too have issue


Handling Wso2Is yaml-files containing sensitive information in Git

Description:
I'm looking into using the wso2is-operator as described here, but have run in to some administrative issues.
In the environment I am working currently, all the k8s configurations must be committed to a Git repository. The ArgoCD operator will then pull the repo for new yaml configs and apply them to the cluster.
Secret information such as certificates, keys, credentials and similar can be committed to the Git repo safely by using sealed secrets.
The wso2is-operator introduces the new custom resource definition:
apiVersion: iam.wso2.com/v1beta1
kind: Wso2Is
...

Since this is not a secret, it can not be sealed as a sealed secret, and since the Wso2Is object will contain various passwords and other secret data, it can not be added to the Git repository as is.
Is there any suggested solution to this problem?
Suggested Labels:

Git, WSO2, IS, WSO2-IS, secret, security
Affected Product Version:
5.11.0

@hank-rplp current IAM k8s operator does not support secure vault feature which WSO2 servers use to encrypt configuration files.
You need to enable secure vault in the product and manage the secure vault password after the deployment.
WSO2 IAM supports Harshicorp vault.
https://medium.com/@sandunin/external-vault-support-for-wso2-carbon-configurations-1-718d121d19d8


Unit-testing tag helpers?

I tried to unit-test my tag helper, however, calling Process() with appropriate TagHelperContext & TagHelperOutput does not produce the desired results (we wanted to assert output.Content, however, it is empty). It looks like there is additional magic going on behind the scenes.
We're looking for a way to assert the final HTML the tag helper is producing. How to do that?
We're using ASP.NET Core 1.1 by the way.

Hi @drauch take a look at some of our TagHelper unit tests here.
If you'd like to assert the final HTML the TagHelperOutput is an IHtmlContent so you can have it write itself to a TextWriter via WriteTo to view the final content.


[SPARK-12932] [Java API] improved error message for java type inference failure

(Link this to your JIRA -- see guidance here first for how to open a PR: https://cwiki.apache.org/confluence/display/SPARK/Contributing+to+Spark )

Test build #2432 has started for PR 10865 at commit f11f1c7.

Can one of the admins verify this patch?

Test build #2432 has finished for PR 10865 at commit f11f1c7.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
            throw new UnsupportedOperationException(s\"Cannot infer type for Java class $

cc @cloud-fan

LGTM

Test build #2436 has started for PR 10865 at commit a85f52b.

Test build #2436 has finished for PR 10865 at commit a85f52b.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
              s\"Cannot infer type for class $

Test build #2440 has started for PR 10865 at commit a85f52b.

Test build #2441 has started for PR 10865 at commit a85f52b.

Test build #2442 has started for PR 10865 at commit a85f52b.

Test build #2440 has finished for PR 10865 at commit a85f52b.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
              s\"Cannot infer type for class $

Test build #2441 has finished for PR 10865 at commit a85f52b.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
              s\"Cannot infer type for class $

Test build #2442 has finished for PR 10865 at commit a85f52b.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
              s\"Cannot infer type for class $

Looks like there are some test failures?

Test build #2444 has started for PR 10865 at commit a85f52b.

Test build #2444 has finished for PR 10865 at commit a85f52b.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
              s\"Cannot infer type for class $

Yeah, these are consistent test failures but they're not due to this change.

looks like it's related to the jenkins machine that run this test?

Jenkins, retest this please.

Test build #49980 has started for PR 10865 at commit a85f52b.

Test build #49980 has finished for PR 10865 at commit a85f52b.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
              s\"Cannot infer type for class $

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/49980/
Test PASSed.

Merged to master/1.6


implemented API with timeout and polling interval

Implemented "Implement API call fluentWait analogue with timeout and polling interval" #330 ticket.
Implemented a function that allows the user to expect the correct answer based on the lambda expression passed to them as a parameter. Created an WaitingRequestProps annotation through which the request interval, waiting time and type of time are indicated. Created unit-test for WaitingRequestProps annotation.

let's also document this feature in carina-api documentation


Add --only option to build whitelisted modules

Adapted from changes originally in #178 (can be considered a replacement for that, with the additional benefit of handling nested module names).
Fixes #151
/cc @jkuri

@mojodna  @MarshallOfSound  The failure on travis doesn't appear to directly related to the health of this PR. Can someone have a closer look at this and/or give travis a kick plz?

@MarshallOfSound  thanks a lot man.


Value vs Default Value in React

There's the issue of controlled vs uncontrolled inputs in React which makes me wonder why the decision was made to use defaultValue vs value and why the user is not able to update the value of the input without typing into the input.

I'm wondering this as well.  I have a DatePicker that allows text input and date selection and handling the date selection is a pain.


adds separate webhooks doc to docs

Pull Request Test Coverage Report for Build 491776426

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 74.208%

Totals

Change from base Build 468697658:
0.0%

Covered Lines:
1673

Relevant Lines:
2057

💛  - Coveralls

Pull Request Test Coverage Report for Build 491776426

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 74.208%

Totals

Change from base Build 468697658:
0.0%

Covered Lines:
1673

Relevant Lines:
2057

💛  - Coveralls