404 not found on first interaction with grav admin

The first try to use grav leads to a 404 - this is a very frustrating first contact experience. Seems like this cms does not work when put into a subfolder of a webserver (with a working php configuration, other cms just work).
It would be a much better experience for users, if grav would just work as expected out of the box - you should change the default for the grav distribution to make it work by default in every situation (on a webserver with php), and offer an optional rewrite config that allows for nice urls. That way you would gain way more users - for many people understanding how to change rewrite rules is an impossible to solve technical miracle.
BTW I am able to understand what goes wrong and also I am able to change my nginx config - I am trying to make you understand that many people are not and grav currently is not usable by these people. It would be easy to change if grav was able to adapt to the situation or work without rewrites.
I just had this scenario today, a non-tec friend found your website, wanted to install grav - what means he uploaded it to a webserver with php - and then he called me because of "strange 404 errors on his new website". It took him a while to understand that the "works out of the box" promise on the getgrav.org website is actually not true for 99% of users. It would take him weeks to understand what "rewrite" means. No chance. A few hours later he now has his website ready with wordpress.
This is just a good example of how important defaults are - would this cms really work oob in any php enabled subdirectory, it would make adaption much easier. I guess 90% of users just see a "404" on first contact and go back to wordpress.

This is not a Grav error, but lack of rewrite configuration.  This is not optional because every production website should be using them.  Grav is a modern CMS and that means URLs with extraneous query parameters and non-SEO friendly URLs is just not acceptable these days.  Most beginners (possibly 99%) have rewrites working out of the box as they mostly run Apache (WAMP servers, shared hosting, etc) and the included .htaccess will be automatically configured.  For those not running Apache, most of those are more experienced and are used to setting up vhosts and rewrites for WordPress/Drupal/Joomla etc.
FYI Grav is not really trying to be a beginner's CMS, it's not meant for casual users.  It's meant as an alternative for developers who are either building sites for themselves or others.  However, Grav can be used by beginner developers who are willing to learn and improve their web development skills, and many people have successfully done this.
Thanks for your thoughts though.

It is interesting to learn how do you think about this issue. I totally understand your point and support your opinion, however I still believe every cms looks more professional if the system just works in all expected situations.
Regarding "Apache everywhere", please update your data:
https://news.netcraft.com/archives/2018/01/19/january-2018-web-server-survey.html
I wish you good luck with this nice project!


Building error

pip install MarkupSafe
Issue: Successfully installed even though something Failed
How to reproduce: pip install MarkupSafe
Python version: 3.5.1
 running install_egg_info
  Copying MarkupSafe.egg-info to build/bdist.macosx-10.11-x86_64/wheel/MarkupSafe-0.23-py3.5.egg-info
 running install_scripts
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/private/var/folders/s_/8qs7_w993rvbqpr1x580j8_40000gn/T/pip-build-q6aenb1b/MarkupSafe/setup.py", line 120, in <module>
      try_building_extension()
    File "/private/var/folders/s_/8qs7_w993rvbqpr1x580j8_40000gn/T/pip-build-q6aenb1b/MarkupSafe/setup.py", line 99, in try_building_extension
      run_setup(True)
    File "/private/var/folders/s_/8qs7_w993rvbqpr1x580j8_40000gn/T/pip-build-q6aenb1b/MarkupSafe/setup.py", line 93, in run_setup
      ext_modules=ext_modules,
    File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/distutils/dist.py", line 955, in run_commands
      self.run_command(cmd)
    File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/distutils/dist.py", line 974, in run_command
      cmd_obj.run()
    File "/Users/martin/Projects/xplainbox-wrapper-hdfs/.venv/lib/python3.5/site-packages/wheel/bdist_wheel.py", line 213, in run
      archive_basename = self.get_archive_basename()
    File "/Users/martin/Projects/xplainbox-wrapper-hdfs/.venv/lib/python3.5/site-packages/wheel/bdist_wheel.py", line 161, in get_archive_basename
      impl_tag, abi_tag, plat_tag = self.get_tag()
    File "/Users/martin/Projects/xplainbox-wrapper-hdfs/.venv/lib/python3.5/site-packages/wheel/bdist_wheel.py", line 155, in get_tag
      assert tag == supported_tags[0]
  AssertionError
  ----------------------------------------
  Failed building wheel for MarkupSafe
  Running setup.py clean for MarkupSafe
Failed to build MarkupSafe
Installing collected packages: MarkupSafe
  Running setup.py install for MarkupSafe ... done
Successfully installed MarkupSafe-0.23

Make sure setuptools, pip, and wheel are up to date in your env.  pip install -U pip setuptools wheel

Thank you!
I confirm wheel version was the problem.


feat: Refactor the harbor arm build method

harbor arm maintains independent build scripts
The rough changes are as follows:

harbor component maintains the dockerfile built by arm

Changed logic in tests/ci scripts for incompatible arm tests

close this pr because the new pr https://github.com/goharbor/harbor-arm/pull/39 has do same thing.


runtime: documentation for LockOSThread is not clear

I plan to bind a functionality in my app to not run in parallel but without losing the concurrency solutions, much like a GIL but for a specific thread. I planned to use runtime.LockOSThread() but the documentation is unclear.
First of all is the current goroutine that will bind to a OS thread or is the next being created?
And second any goroutine created by the one locked to the OS thread will also execute exclusively to that OS thread or any other?
I used an example suggested here:
package main
// #include <pthread.h>
import "C"
import (
 "fmt"
 "runtime"
     "time"
)

func main() {
    runtime.GOMAXPROCS(runtime.NumCPU())
    ch1 := make(chan bool)
    ch2 := make(chan bool)
    fmt.Println("main", C.pthread_self())
    runtime.LockOSThread()
    go func() {
	    fmt.Println("locked", C.pthread_self())
	    time.Sleep(1000 * time.Millisecond)
	    go func() {
		    time.Sleep(1000 * time.Millisecond)
		    fmt.Println("locked child", C.pthread_self())
		    ch1 <- true
	    }()
	    ch2 <- true
    }()
    <-ch1
    <-ch2
}

And I come up with the result:
main<PHONE_NUMBER>82688
locked<PHONE_NUMBER>56064
locked child<PHONE_NUMBER>56064

It looks that the second goroutine executes in the same OS thread as the first one (witch fits my needs but I don't know if is a reliable way).

The docs for LockOSThread say

LockOSThread wires the calling goroutine to its current operating system thread.

(emphasis mine)
So in your program it is the main goroutine (the one executing the main function) that is locked to a specific OS thread (and no other goroutine may execute in that thread).
It is just a coincidence that the other two goroutines execute in the same thread. There is no facility to ensure that a group of goroutines all execute in the same thread (although the scheduler is likely smart enough to run related goroutines in the same thread).
Closing this issue because the docs are explicit about which goroutine is locked to the thread.


add hint for "throw throw"

To reproduce, copy this into dartpad:
main() {
throw throw "hello";
}
There is no warning or hint, even in strong mode.

Fwiw, it's a completely benign mistake.
It has the correct behavior and doesn't cost during execution.

This would make a good lint rule.

This would make a good lint rule.

👍
Closing here.  If folks want to pursue, please open a fresh request on the linter proper.


Couldn't interact with pdf

I uploaded a pdf with only one page, yet I can't interact with the bot

You can use it on localhost as it's intergrated with third party that's not free.
Because, I removed .env


[BEAM-12147][BEAM-9919] Add Go SDK x-lang prefix transform (DO NOT MERGE)

Implementing the prefix transform, along with adding a helper function for encoding structs as external transform payloads.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Don't merge until #14665 is in. I've included that change in this PR just to get it working so it can pass tests, but I plan on removing it from this PR once it's been merged separately.

R: @lostluck

Run Go PostCommit


Issue with --testPathPattern and --testNamePattern

I am trying to separate out the unit tests and snapshot tests in two separate folders, using
--testPathPattern.
I use separate folders like
npm run jest-unit corresponds to  jest --testPathPattern="'tests/unit-tests/.'"
npm run jest-snapshots corresponds to jest --testPathPattern="'tests/snapshot-tests/.'"
But while i just run npm run jest-unit, jest complains about 'x Obsolete snapshots found', run with -u option to remove them and exits with npm error.
Why does it even bother about folder it is not targeted at?
I am using jest 20.0.4 and see that ### --testNamePattern is not even present in the config using
--showConfig. Is this ### --testNamePattern not available for jest 20.0.4?

Jest ensures consistency of snapshots globally across your config, regardless of which tests you are concretely running. This is intentional.

@cpojer What about --testNamePattern in jest 20.0.4?
If the above behaviour is intentional,  what is the benefit of --testPathPattern?

It's used to control the test run, it is not used to control the feature that ensures consistent state in your repository.

@cpojer That's hardly useful. Is this documented anywhere?

It is useful, because Jest ensures consistent state in your repository after each run and verifies that there are no snapshot files in your repo that shouldn't be there in the first place. If Jest didn't do this, your snapshot files would be littered with outdated snapshots and there would be snapshot files that don't belong to test files.


[WFLY-11452] Clean up jboss-modules dependencies from Weld beanvalidation, transaction and webservices

Clean up some unused jboss modules dependencies in Weld.
org.jboss.weld.api and org.jboss.weld.spi in org.jboss.as.weld.beanvalidation and org.jboss.weld.api in org.jboss.as.weld.transactions and org.jboss.as.weld.webservices seem that can be removed too, but I'm not completely sure. I leave them out from this clean, after all they belong to Weld.
Jira issue: https://issues.jboss.org/browse/WFLY-11452
CC @manovotn when you have a chance, could you review these changes?

Thank you @manovotn


WP_ENV

Todo: Make it possible to show notices only on certain environments. I'm using bedrock so I've WP_ENV defined, but not everyone has. Maybe allow using a certain url to determine if notice should be visible or not?
I think these can bring unnecessary bloat to the interface, so they should be "hidden" behind a checkbox to enable.

Work in progress under feature branch.
WP_ENV checking is working at least in theory, but hasn't been tested. Match-by-url seems to be working properly.
As a sidenote, the plugin is now on a proper plugin base, and these new features are enabled from their own settings page.

Implemented in 0.4.


Requirement Request: Plugin System

Description
Introduce a plugin system to TiDB Dashboard. Users can install plugins to:

Diagnose various kind of problems
Display a custom KeyViz label format
Integrate authentication with different endpoints
Expose TiDB Dashboard data for number of services
Export data as various formats

Category

Feature
Usability

Value

Plugins extend the boundary of TiDB Dashboard to the whole TiDB community, instead of limited to PingCAP only products. For example, other components build upon TiKV can be benefited by introducing its own TiDB Dashboard plugin so that they can be better integrated

Score: 5

Workload Estimation

30 Person Day

We are now going to support in the plugin way.


Error when trying to install Django in PTVS on Win 10

I receive the following error message when attempting to install Django in Visual Studio.  Any help would be greatly appreciated!
Traceback (most recent call last):
File "C:\Users\USER\AppData\Local\Programs\Python\Python35-32\lib\shutil.py", line 381, in _rmtree_unsafe
os.unlink(fullname)
PermissionError: [WinError 5] Access is denied: 'C:\Users\USER\AppData\Local\Temp\pip-iatnivnq-unpack\Django-1.9.5-py2.py3-none-any.whl'

That seems like a strange error (nothing to do with Visual Studio, by the way - we just start running pip for you - but I'll see how I can help).
You've censored your username - can you confirm that it's only made up of Latin alphabet characters (a-z) and numbers? Python can occasionally have issues with accented characters or those from non-English alphabets.
Is this your own machine, or is someone else responsible for managing it? It is unusual, but possible to not have full access to your own temp directory.
If you retry the installation, is the result any different?

Actually, my name is Robert.  No big mystery.  :)  It is my laptop and I am a local admin.  I have played around with permissions on that Temp folder to include giving "Everyone" Full permissions, but the install continues to fail.  One interesting thing to note is I have Django installed at the Global level.  It is just failing with the above error when trying to install it in the virtual environment.  I know it may be crazy to worry about, but I would just like to be able to use it in the virtual environments.

Ok.  I just retried installing after giving "Everyone" Full permissions on my Temp folder again AS WELL AS Checking the "Run as Administrator" checkbox on pip within Visual Studio and I received the following NEW message...
**Installing 'django'
Collecting django
Using cached Django-1.9.5-py2.py3-none-any.whl
Exception:
Traceback (most recent call last):
File "C:\Users\Robert\AppData\Local\Programs\Python\Python35-32\lib\shutil.py", line 381, in _rmtree_unsafe
os.unlink(fullname)
FileNotFoundError: [WinError 2] The system cannot find the file specified: 'C:\Users\Robert\AppData\Local\Temp\pip-kf3zq69q-unpack\Django-1.9.5-py2.py3-none-any.whl'
During handling of the above exception, another exception occurred:**
It then goes on to list other errors that I believe to just be related to the original failure.
Thanks again for all/any help!!

Sorry for the delay... notifications got lost in piles of email :(
What virus scanner are you running? I wonder whether it's blocking some writes into the Temp directory?

Hmmm.  That is very possible.  I am running Cylance, but have access to disable it.  I think I may have tried that already, but will try it again and let you guys know.  Thank you for keeping up with this!  Have a GREAT Memorial Day weekend!!
Robert
From: Steve Dower<EMAIL_ADDRESS>Sent: Thursday, May 26, 2016 6:03 PM
To: Microsoft/PTVS<EMAIL_ADDRESS>Cc: Robert Vaughn<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [Microsoft/PTVS] Error when trying to install Django in PTVS on Win 10 (#1239)
Sorry for the delay... notifications got lost in piles of email :(
What virus scanner are you running? I wonder whether it's blocking some writes into the Temp directory?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub https://github.com/Microsoft/PTVS/issues/1239#issuecomment-222008229 https://github.com/notifications/beacon/ARYS5vbvP5xecuIIyRCOosvqZglRCJZRks5qFhipgaJpZM4IQYVi.gif


Roadmap for v0.2.1, v02.2. etc. (cont'd)

Copied from https://github.com/UB-Mannheim/ocr-fileformat/issues/29#issuecomment-246387868 by @kba:

[x] Merge https://github.com/UB-Mannheim/ocr-fileformat/tree/to-text
[x] Merge https://github.com/UB-Mannheim/ocr-fileformat/tree/gcv (kinda blocked by   dinosauria123/gcv2hocr#3)
[ ] Revise and merge https://github.com/UB-Mannheim/ocr-fileformat/tree/better-testing (since that would be helpful indeed).

"to-text" was merged in https://github.com/UB-Mannheim/ocr-fileformat/commit/db1da009785a870e01a73889e89742db3b299db5 which is already part of v0.2.0

The remaining open task here can be continued in #41.


Added Web development heading and (under it) Web scraping tutorial by WsCube Tech

Added Web development heading and (under it) Web scraping tutorial by WsCube Tech
What does this PR do?
Add resource(s) | Improve repo
For resources
Description
The PR title is self explanatory, what i do want to emphasize on is that ik that new headings aren't being accepted however i this major title was missing in the hindi md file and was present in other files. I went through the CONTRIBUTING.md thoroughly and followed the linting scheme and also added the section link to index.
Why is this valuable (or not)?
Teaches WebScraping in multiple technologies throughly
How do we know it's really free?
its a yt playlist
For book lists, is it a book? For course lists, is it a course? etc.
course
Checklist:

[x] Read our contributing guidelines.
[x] Search for duplicates.
[x] Include author(s) and platform where appropriate.
[x] Put lists in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction).
[x] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Alright i'll remove the new section and put it under python

Done, please merge it now.


context state is not evaluated in rule

Hi,
I'm trying to use the context to apply some filtering on my rules, i.e. only call my "callme" action when the "doit" flag is set in the state of the current sid:
with ruleset('datapoint'):
    @when_all(m.category == 'foo', c.s.doit)
    def callme(c):
        print 'context state is', c.s

    @when_start
    def start(host):
        host.patch_state('datapoint', {'sid': 'foobar1', 'doit': True})
        host.patch_state('datapoint', {'sid': 'foobar2', 'doit': False})

        host.assert_fact('datapoint', {'id': 1, 'category': 'foo', 'sid': 'foobar1'})
        host.assert_fact('datapoint', {'id': 2, 'category': 'foo', 'sid': 'foobar2'})

Now, regardless of the actual sid, the action is executed in both cases, although the print statement inside the action shows the correct context state:
context state is {u'doit': True, u'sid': u'foobar1'}
context state is {u'doit': False, u'sid': u'foobar2'}

Seems the state attributes inside the rule definition (c.s.doit) are not evaluated, or am I misunderstanding the concept of the state? I also tried c.s.ref_id('foobar2').doit, but the action is still being called.
Appreciate any help on this.

Hi, the syntax for context state evaluation is not very intuitive. m represents a rule on a fact or an event posted s represents rule on an event on context state saved. Everytime the state context is saved, an event is posted. For example:
with ruleset('datapoint'):
    @when_all(c.first << s.doit == True,
              c.second << m.category == 'foo')
    def callme(c):
        print 'callme context state is', c.s
        print 'callme first message is ', c.first
        print 'callme second message is ', c.second
        c.s.doit = False

    @when_all(c.first << s.doit == False,
              c.second << m.category == 'foo')
    def dont_callme(c):
        print 'dont_callme context state is', c.s
        print 'dont_callme first message is ', c.first
        print 'dont_callme second message is ', c.second
        c.s.doit = True

    @when_start
    def start(host):
        host.patch_state('datapoint', {'sid': 'foobar1', 'doit': True})
        host.assert_fact('datapoint', {'id': 1, 'category': 'foo', 'sid': 'foobar1'})

run_all()


Remove unneeded files from package.json#files

What kind of change does this PR introduce?
bugfix
Did you add tests for your changes?
no
Does this PR introduce a breaking change?
no
What needs to be documented once your changes are merged?
n/a

Thanks


Incompatible with QGIS 2

Can this plugin be made compatible?

The amount of QGIS-specific code is quite small (see https://github.com/rkistner/chinese-postman/blob/master/chinesepostman.py), so it should not be too difficult to do. That said, I haven't worked with QGIS in the last 2 years, and I have no idea what actually needs to change.

See my pull requests rkistner/chinese-postman#3 and rkistner/chinese-postman#4. The first one changes the plugin metadata to allow it to be loaded under QGIS 2.x and the second one prevents a runtime error that might be related to the move from QGIS 1.x to 2.x.
Tested with QGIS 2.8.3 on Debian (package qgis 2.8.3+dfsg-3~bpo8+1).

Thanks!

No problem, thank you for creating this plugin, it's very useful!

Thanks both of you!

Should QGIS Python Plugins Repository be updated?
I'm not familiar enough with QGIS to do so.

I did submit an update, just waiting for approval.


remove namespace from tkgi add-ons snippet [#177148053]

Signed-off-by: Kira Boyle<EMAIL_ADDRESS>Validation of new config done as a part of https://www.pivotaltracker.com/story/show/177148053

Thank you @kcboyle!


🐳  Dockerize the boilerplate

One stop shop to access this boilerplate as a docker image.
GOALS

Idea here is to get a hands-on approach on how to dockerize SPA built using this template.
Learn the various commands or atleast the basic commands used in docker.
Understand basic docker file configuration that would be required for this application.
Improve upon the base configuration.
End goal is to add this feature to v2.1 of this boilerplate.

GOOD-TO-HAVE

CI/CD pipeline using docker.

RESOURCES

How to dockerize a ReactJS app
Docker documentation
Create a CI/CD pipeline using docker

Basic docker support is added in v2.0.1. Next steps are to create a CI/CD pipeline using docker.


Timeout waiting for status response with Eufy X8 Hybrid

Hi, thank you for you work.
Unfortunately this doesn't seem to work with my vacuum. Whenever I try to turn the device on, the following ist printed and nothing happens:
Error! Timeout waiting for status response from device id: bf268****** Disconnected from device. Setting Running to true successful.
I had the plugin configured both with static IP and without and did multiple restarts and even a reinstall of the plugin, but the output stayed the same.
Complete logs with debug mode turned on:
Connected to device!
Received data from device:
-- Status Start --
- Default Property (ignore): true
- Running: false
- Work Mode: auto
- Work Status: Charging
- Go Home: false
- Clean Speed: Standard
- Find Robot: false
- Battery Level: 100
- Error Code: 0
-- Status End --
updateCharacteristics for Vacuum Cleaner
updating Running for Vacuum Cleaner to false
updating Battery Level for Vacuum Cleaner to 100
updating Work Status for Vacuum Cleaner to Charging
updateCharacteristics for Vacuum Cleaner complete - updated 3 characteristics.
Received data from device:
-- Status Start --
- Default Property (ignore): true
- Running: false
- Work Mode: auto
- Work Status: Charging
- Go Home: false
- Clean Speed: Standard
- Find Robot: false
- Battery Level: 100
- Error Code: 0
-- Status End --
updateCharacteristics for Vacuum Cleaner
updating Running for Vacuum Cleaner to false
updating Battery Level for Vacuum Cleaner to 100
updating Work Status for Vacuum Cleaner to Charging
updateCharacteristics for Vacuum Cleaner complete - updated 3 characteristics.
Status update retrieved.
getRunning for Vacuum Cleaner
Status request within max status update age
getLowBattery for Vacuum Cleaner
Status request within max status update age
getBatteryLevel for Vacuum Cleaner
Status request within max status update age
getCharging for Vacuum Cleaner
Status request within max status update age
getRunning for Vacuum Cleaner
Status request within max status update age
getLowBattery for Vacuum Cleaner
Status request within max status update age
getBatteryLevel for Vacuum Cleaner
Status request within max status update age
getCharging for Vacuum Cleaner
Status request within max status update age
setRunning for Vacuum Cleaner set to true
Setting Running to true ...
getRunning for Vacuum Cleaner
Status request within max status update age
getRunning for Vacuum Cleaner
Status request within max status update age
getLowBattery for Vacuum Cleaner
Status request within max status update age
getBatteryLevel for Vacuum Cleaner
Status request within max status update age
getCharging for Vacuum Cleaner
Status request within max status update age
Error! Timeout waiting for status response from device id: bf268******
Disconnected from device.
Setting Running to true successful.

Hi! Is the running/not running status correctly shown in the Home app when you start the vacuum cleaner manually using the remote or in the Eufy app?


Support binary data in github.RepositoryFile

Hello!

Vote on this issue by adding a 👍 reaction
If you want to implement this feature, comment to let us know (we'll work with you on design, scheduling, etc.)

Issue details

Currently github.RepositoryFile doesn't support binary data in content field.
It would be great if the content field could accept bytes instead of str.
Or have an extra field encoding that can accept "base64", so that content can still be str
Affected area/feature

That sounds like a great suggestion, thank you for filing it! Pulumi also has assets and archives, perhaps this could be handy here.


Proxy native image don't reclaim memory

I ran some tests with the native image and noticed that once allocated the memory never seems to return that memory back to the system.
Evidence can be found at this link https://github.com/sleipnir/spring-boot-cloudstate-starter/blob/master/Beanchmark.md

If I've understood correctly, what the graphs show is the native image allocates roughly 300mb from the OS, and never returns it? That's expected, it's how most Java virtual machines work, the one exception to this is Azul Zing, but SubstrateVM, which is what gets compiled into a native image, never returns heap memory to the OS. What these virtual machines do is, at the start, they malloc memory according to -Xms parameter. Then, typically they'll garbage collect eden space as normal, but each time a small amount of memory that eventually will be garbage collected ends up in the old space, and this causes it to grow. As this grows, eventually it fills up the initially allocated space, and that's when the JVM starts mallocing more memory, until it reaches the configured -Xmx. Once it reaches there, it garbage collects old space, and operation continues as normal, the JVM will garbage collect whenever old space is full, and never malloc any more memory. But it never frees it either.
As far as only "paying for what you use" is concerned, the level of granularity that we expect this to be at is the pod level. As load increases, we'll scale up the number of pods, and you'll pay more for pods, and scale them back down when not in use, including hopefully eventually to zero. But you'll always pay in increments whatever the configured heap size of the proxy (and your user functions) is.

Hello @jroper , I know that any vm allocates in blocks and that this is done for various performance reasons because malloc operations are extremely expensive and can generate fragmentation, etc.
But compare the performance of the proxy and the user role and you will see that the JVM scales up and down by much better orders of magnitude. It may be just configuration, but there is definitely something.
Regarding the pay for what you use I think you pay for any resource you use and not just the pod, but if this is the granularity adopted then ok.

Just to give you an idea, it took several hours of idle time until the memory returned to its initial limit.
And remembering that first, I didn't say that there was a problem with the Cloudstate Proxy but with SubstrateVM's behavior. And second, the memory metrics for SubstrateVM and JVM were the same, that is, I was not just talking about Heap, but about RSS.
I'm sure that, as you said yourself, no performance adjustments have been made yet much will be improved in the future for the native image.

This seems to be related to this issue of GraalVM. This link has some values that can be tested for libgraal, maybe you can play with it and see if it helps in something ;)
https://github.com/oracle/graal/issues/2224
Maybe I'll make time to play with that too


fix: resolve previewed document URL for any language

Types of changes

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

Description

Preview only works for the default language, fetch the preview document for all languages. Otherweise getByID will crash before calling the linkResolver
Checklist:

[ ] My change requires an update to the official documentation.
[x] All TSDoc comments are up-to-date and new ones have been added where necessary.
[ ] All new and existing tests are passing.

Hi @AriFreyr, thanks for the PR!
This is a good catch. I wonder if this could cause problems in other parts of an app once it gets past getByID(). If you preview a document in language "B", for example, but the rest of app uses language "A", you may be mixing documents from other languages.
I can see how your change is necessary, even in that situation. If an app uses the URL to determine how the client is configured, for example, you would need to first get past resolvePreviewURL() for the document.
Requested changes
Could you update the tests for resolvePreviewURL() in test/client-resolvePreviewURL.test.ts?
In each test, the following lang: "*" line should be added in the createMockQueryHandler() function:
  server.use(
    createMockRepositoryHandler(t),
    createMockQueryHandler(t, [queryResponse], undefined, {
      ref: previewToken,
      q: `[[at(document.id, "${documentId}")]]`,
+     lang: "*",
    }),
  );

I can also make these changes if you enable maintainer edits (details here).
Thanks!

This is a good catch. I wonder if this could cause problems in other parts of an app once it gets past getByID(). If you preview a document in language "B", for example, but the rest of app uses language "A", you may be mixing documents from other languages.

Yeah i can see how it would be confusing, i think the only other way to address this (and maybe a better way, atleast for my use case) would be if the preview callback url provided the language as query param,
I fixed the tests, should be working now

Great! Thanks for updating the tests. I'll merge and publish this. 🙂

I think the only other way to address this (and maybe a better way, atleast for my use case) would be if the preview callback url provided the language of the document as a query param.

I could see that being useful. Since the previewed document contains the language in the lang parameter, the language should be obtainable easily, albeit with a network request.

Codecov Report

Merging #208 (b67e3ec) into master (a883f7e) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master      #208   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           19        19
  Lines          316       316
  Branches        60        60
=========================================
  Hits           316       316

Impacted Files
Coverage Δ

src/client.ts
100.00% <ø> (ø)

Continue to review full report at Codecov.

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

This has been published in v6.1.0.
Thanks again @AriFreyr!


Allow to use backed enumerations as channel name

Q
A

Is bugfix?
❌

New feature?
✔

Breaks BC?
✔

Waiting for https://github.com/yiisoft/definitions/pull/100

Overall LGTM, but test failures should be fixed first

Overall LGTM, but test failures should be fixed first

Waiting for https://github.com/yiisoft/definitions/pull/100


Comply with Trusted Types

Summary
html2canvas has Trusted Types violation due to use of document.write API which is considered a dangerous sink for XSS. This change fixes that and make html2canvas compatible with Trusted Types.
Fixes: #2858
Test plan (required)
Existing test should be sufficient as there is no change in the functionality. There should be a test to check for Trusted Types violation, but existing test.js has multiple Trusted Types violation, so I wasn't able to use that infra.

@shhnjk , what about this fix - https://github.com/niklasvh/html2canvas/commit/ac3e5faafeb9ff359f3e8a0a583cded12fc9df0e - so that we avoid maintaining TT policy? Thanks.

@tosmolka, have you checked if your solution actually picks up things like internalSlot or publicId from DocType? If that works, I think your solution is elegant :)

@shhnjk , from my tests it works well with name, publicId and systemId (https://dom.spec.whatwg.org/#concept-doctype).
I don't think it works with internalSubset in newer browsers but that's expected as this property was deprecated and is no longer supported there.

@niklasvh could you take a look? Thanks!


Is the sampling rate pattern that is not uploaded in google drive accepted this network?

Hi, from Japanese under-graduated student.
This network is easier to work than other bwe network.
I want you to ask about the pare of sampling rate pattern.
According to the google driver, you uploaded the sampling rate pattern that is 4-16, 8-16, 8-24 and 12-48.
Doesn't this network accept other pattern?
I apologize that wasting your time if this information is written in readme or other issue texts.
Thank you for reading. I will be waited for being replied.

Hi!
Thank you for using our code.
It's been a while since I used this code, so I might have missed some details but as far as I recall, the pre-trained checkpoints support 4-16, 8-16, 8-24 and 12-48.
If you want, you can train from scratch your own sampling rates, you just need to modify the parameters in the config file (under the experiments folder):
lr_sr:  # low resolution sample rate, added to support BWE. Should be included in training cfg
hr_sr:  # high resolution sample rate. Should be included in training cfg
Good luck!


[Azure Integration] Update dependencies on "utility-common-v2" package to fix high vulnerability issues

Required Information
Entering this information will route you directly to the right team and expedite traction.
Question, Bug, or Feature?
Type: Bug
Enter Task Name:

AzureVmssDeploymentV0
DotNetCoreCLIV2
UseDotNetV2
GoToolV0

Issue Description
These tasks have dependency on "azure-pipelines-tasks-utility-common" that has critical vulnerability in "azure-pipelines-tool-lib > typed-rest-client > underscore".

Please update this dependency to the latest version.
This vulnerability was fixed in PR.
Error logs
To get error log for each task run npm audit

Hi, @bishal-pdMSFT could you please take a look?


Add blog post to memorialize Brad Childs

This PR adds a blog post (created with the Kubernetes steering committee and others) to memorialize Brad Childs. I've made the publication date Jan 10 as a placeholder but I will change that as we decide on the date.

@sftim addressed your comments

/lgtm

/approve


Fix arviz branch name

Thank you for the contribution!

Thank you folks for porting the code to PyMC!
I found another issue:
    - "git+git://github.com/arviz-devs/arviz.git@main"
    - "git+git://github.com/pymc-devs/pymc3.git@master"

take an enormous amount of time - I left it running for 15+ mins before I bailed out. I ended up replacing those two dependencies with
    - https://github.com/arviz-devs/arviz/archive/main.zip
    - https://github.com/pymc-devs/pymc3/archive/master.zip

and that worked. I'd be happy to include that change, what do you think about it?

looks like this was already done in https://github.com/pymc-devs/resources/pull/154 , sorry about that


Consider a more permissive license

Hi, I was hoping to use this in my MIT licensed project, but unfortunately the LGPL license would cause me to have to license the final binary I distribute as LGPL, if I statically link. Would you consider adopting a license that doesn't force other projects to use the same license/is non-viral?
One approach you could consider is dual licensing as MIT and Apache 2.0, just like rustc itself and most of the rest of the rust ecosystem.

Sure sounds reasonable 👍

Closed with #7


Feat/129

Proposed changes
Introduce the table component in the @morfeo/preset-default package #129
Types of changes
What types of changes does your code introduce to morfeo?

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices applies)

Checklist

[x] I have read the CONTRIBUTING doc
[x] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)
[ ] Any dependent changes have been merged and published in downstream modules

Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...

Codecov Report

Merging #130 (25a1023) into main (a347044) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main      #130   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           90       101   +11
  Lines          879       891   +12
  Branches       120       120
=========================================
+ Hits           879       891   +12

Impacted Files
Coverage Δ

...preset-default/src/base/components/Forms/Button.ts
100.00% <ø> (ø)

...s/preset-default/src/base/components/Typography.ts
100.00% <ø> (ø)

packages/web/src/properties.ts
100.00% <ø> (ø)

...set-default/src/base/components/Forms/Checkbox.tsx
100.00% <100.00%> (ø)

...lt/src/base/components/Forms/CheckboxContainer.tsx
100.00% <100.00%> (ø)

...efault/src/base/components/Forms/CheckboxLabel.tsx
100.00% <100.00%> (ø)

.../src/base/components/Forms/GroupButtonContainer.ts
100.00% <100.00%> (ø)

...fault/src/base/components/Forms/InputContainer.tsx
100.00% <100.00%> (ø)

.../preset-default/src/base/components/Table/Table.ts
100.00% <100.00%> (ø)

...set-default/src/base/components/Table/TableBody.ts
100.00% <100.00%> (ø)

... and 4 more

Continue to review full report at Codecov.

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


[Docs] add link to ORFS

@dralabeing Pending your input for the ORFS link page.

@luarss Please change the title in the sidebar to "Getting Started with the OpenROAD Flow- OpenROAD Flow Scripts". Other than this LGTM


ValueError: scales is on the meta device, we need a value to put in on 0.

Hi, I am working on some quantification in AWQ. There are no issues when quantifying llama using Autoawq. However, I encountered some problems when quantifying falcon 40b. The quantification code for llama and falcon is the same, referring to the code provided in the README. There seems to be an issue with falcon during inference.
Replacing layers...: 100%|████████████████████████████████████████████████████████████████████████████| 60/60 [00:03<00:00, 16.93it/s]
Traceback (most recent call last):
  File "test.py", line 59, in <module>
    model = AutoAWQForCausalLM.from_quantized(model_path)
  File "/root/miniconda3/lib/python3.8/site-packages/awq/models/auto.py", line 52, in from_quantized
    return AWQ_CAUSAL_LM_MODEL_MAP[model_type].from_quantized(
  File "/root/miniconda3/lib/python3.8/site-packages/awq/models/base.py", line 171, in from_quantized
    load_checkpoint_and_dispatch(
  File "/root/miniconda3/lib/python3.8/site-packages/accelerate/big_modeling.py", line 556, in load_checkpoint_and_dispatch
    return dispatch_model(
  File "/root/miniconda3/lib/python3.8/site-packages/accelerate/big_modeling.py", line 396, in dispatch_model
    attach_align_device_hook_on_blocks(
  File "/root/miniconda3/lib/python3.8/site-packages/accelerate/hooks.py", line 547, in attach_align_device_hook_on_blocks
    attach_align_device_hook_on_blocks(
  File "/root/miniconda3/lib/python3.8/site-packages/accelerate/hooks.py", line 547, in attach_align_device_hook_on_blocks
    attach_align_device_hook_on_blocks(
  File "/root/miniconda3/lib/python3.8/site-packages/accelerate/hooks.py", line 547, in attach_align_device_hook_on_blocks
    attach_align_device_hook_on_blocks(
  File "/root/miniconda3/lib/python3.8/site-packages/accelerate/hooks.py", line 517, in attach_align_device_hook_on_blocks
    add_hook_to_module(module, hook)
  File "/root/miniconda3/lib/python3.8/site-packages/accelerate/hooks.py", line 156, in add_hook_to_module
    module = hook.init_hook(module)
  File "/root/miniconda3/lib/python3.8/site-packages/accelerate/hooks.py", line 254, in init_hook
    set_module_tensor_to_device(module, name, self.execution_device)
  File "/root/miniconda3/lib/python3.8/site-packages/accelerate/utils/modeling.py", line 281, in set_module_tensor_to_device
    raise ValueError(f"{tensor_name} is on the meta device, we need a `value` to put in on {device}.")
ValueError: scales is on the meta device, we need a `value` to put in on 0.

{
    "zero_point": true,
    "q_group_size": 128,
    "w_bit": 4,
    "version": "GEMM"
}

Hi @yixuantt. Thanks for trying AutoAWQ - for Falcon, you need group size of 64. Can you try that please?


Refactor Object.assign Usage to Avoid Mutating the options Object

Issue:
The current implementation using Object.assign can lead to alterations in the original options object, which might create unexpected side effects in the application. This complicates code maintenance and debugging, while also making the behavior of the code harder to anticipate
Fix:
// Before:
Object.assign(options, { symbol: symbol.toUpperCase(), side: side.toUpperCase() });

// ToFix:
const requestParams = { ...options, symbol: symbol.toUpperCase(), side: side.toUpperCase() };

Hi , thank you for reviewing the issue, Sure I will explain for you
Current code:
Object.assign(options, {
  symbol: symbol.toUpperCase(),
  side: side.toUpperCase(),
  type: type.toUpperCase(),
});

//Issue(it get mutated if options object is reused somewhere):

const options = { timeout: 5000 };
market.newOrder('BTC', 'BUY', 'LIMIT', options);
console.log(options);
// Output: { timeout: 5000, symbol: 'BTC', side: 'BUY', type: 'LIMIT' } // Mutated!

Fix:
spread operator to avoid mutating options
const requestParams = { ...options, symbol: symbol.toUpperCase(), side: side.toUpperCase(), type: type.toUpperCase() };

After Fix:
const options = { timeout: 5000 };
market.newOrder('BTC', 'BUY', 'LIMIT', options);
console.log(options);
// Output: { timeout: 5000 } // Unchanged

I think i clarified you clearly with example

Thank for the clarification. It has been updated in v0.1.6

Thanks for the update, I tested the changes in v0.1.6, and that work as expected


Revert "Fix an issue on COFF/ELF targets where the runtime would register each loaded image twice (at least early on.)"

Reverts apple/swift#40611

/home/buildnode/jenkins/workspace/oss-swift-incremental-RA-linux-ubuntu-16_04/swift/stdlib/public/runtime/ImageInspectionCommon.cpp:184:7: error: void function 'swift_getMetadataSectionBaseAddress' should not return a value [-Wreturn-type]
      return info.fileName;
      ^      ~~~~~~~~~~~~~
      ```

Failing bot e.g. here: https://ci.swift.org/job/oss-swift-incremental-RA-linux-ubuntu-16_04/18176/


How to get new array after drag and drop

Apologies if this already has an answer somewhere but I couldn't find it.
Once dragging and dropping I want to save the changes to the database, but I need the new array order to do that. I have changed this into a functional component like this:
  const onSortEnd = ({ oldIndex, newIndex }) => {
    setItems((items) => arrayMove(items, oldIndex, newIndex));
    console.log(items);
  };

I thought that the console.log(items) at this point would give me the new array with new order but it is still giving me the old order from state. How can I get the new order to send to the database?

The index prop is intentionally not inherited by the wrapped item, but you can pass it yourself.
The way to do this is demonstrated under the FAQs: https://github.com/clauderic/react-sortable-hoc#wrapper-props-not-passed-down-to-wrapped-component

I managed to get it like so:
const newArray = arrayMove(items, oldIndex, newIndex);

Great. If your issue is resolved, remember to close it.


Assistant Side Panel: More Options Menu in Side Panel Frequently Disappears on First Click

Description
When interacting with the side panel that appears after pressing the more options button on an assistant, clicking on the more options button within the side panel frequently causes the menu to briefly appear and then disappear.
While this issue happens intermittently, it occurs often enough to negatively impact the user experience by requiring repeated clicks to make the menu stay visible.
Video:
https://www.loom.com/share/5852487cd9c742eab3caa9829126b5d5?sid=9f321c1f-30da-48a2-8566-403957520c93
Steps to Reproduce:

Navigate to the homepage
Press the more options button on an assistant to open the side panel
Click on the more options button within the side panel
Observe that the more options menu frequently briefly appears and then disappears
Click the more options button again to make the menu stay visible

Can't reproduce so far on any assistant.
Is it still reproduceable on your side ? Is it only on a specific assistant, or any ?

We're noticing it happening intermittently (1/5 attempts) when running the playwright suite against front-qa, but agreed it's hard to reproduce.

There is one issue that is perfectly reproducible:
Open the side panel. Click on the ... button then click in the side panel to dismiss the ... sub menu. This closes the side panel when it should not

Looks like it yes, I'll migrate to use the new Sheet component we have, this will hopefully solve the problem

(moving to in progress since assigned)


Save test set redirects to the test set view

UI bug #220: removes redirects and adds feedback feature.

@all-contributors please add @bekossy for bug fix and ui


Merge branch 'master' of github.com:eulerto/wal2json

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


⚠ Spryr has degraded performance

In c21b849, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 4604 ms

Resolved: Spryr performance has improved in 4e1d9eb after 7 minutes.


No way to determine native DPR of device

The following code doesn't allow someone to use the device's native DPR by setting await page.setViewport({deviceScaleFactor: 0,...}):
https://github.com/GoogleChrome/puppeteer/blob/master/lib/Page.js#L729
https://github.com/GoogleChrome/puppeteer/blob/294f33b75c5a7c87d447816218438f56c2d56f0e/lib/EmulationManager.js
That makes it impossible to determine the real DPR of the device:
await page.evaluate('window.devicePixelRatio');

Easy fix, but why do you need the native DPR? It should be largely irrelevant in headless afaik.

You want to know this information for taking  high quality screenshots.
For my particular case, I'm running an app in both mac and linux. So I want to use the correct DPR per the device without hard coding numbers.

Why would the dpr of the device affect the screenshot quality? The device doesn’t necessarily have a single dpr

Let's introduce a viewport option to the launcher as a part of #1183. One of the values could be null to disable viewport override altogether.


catch ilpy v03 solution return type

catches the new solution.solve() return type from https://github.com/funkelab/ilpy/pull/30
later, we can pin to ilpy >= 0.3 and remove this, but this will allow a new release of ilpy without breaking the current release of motile

Codecov Report

Merging #42 (5db544c) into main (8f0a2f3) will decrease coverage by 0.11%.
The diff coverage is 80.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main      #42      +/-   ##
==========================================
- Coverage   92.63%   92.52%   -0.11%
==========================================
  Files          28       28
  Lines         692      696       +4
==========================================
+ Hits          641      644       +3
- Misses         51       52       +1

Impacted Files
Coverage Δ

motile/solver.py
96.11% <80.00%> (-0.86%)
:arrow_down:


Proxy connection check button

Hi! Thank you for the brilliant app! I wanted to ask if it is possible to add a button to check the connection to make sure that the data I entered is correct and the proxy really works? Because I don't understand now whether my addresses work or not.

Hi, thanks for the feedback! I have plans to improve proxy settings usability and will consider that option too.
For now, you can check /Logs folder after starting translation. If proxy doesn't work, after some time there will be warning records, sth like "Translation container is blocked until ... ()"


issue with webpack?

I am new to react and webpack.
can someone please help me out in resolving above issue?

Hey @sangramkb, this type of "issue" is more of a question which would be better suited over at StackOverflow tagged with javascript and webpack. (Not sure if allowed here.) There, you'll be able to show more code to process what went wrong instead of a single image.
From what I can see, the syntax of your command webpack -d && copy src/index.html dist/index.html && webpack-dev-server --content-base src/ --inline --hot is wrong, as the terminal tells us.
I would not recommend using manipulation commands such as copy as that kind of logic should be handled by webpack.
I also highly recommend looking into a tool called create-react-app which uses webpack to bundle your resources.

It looks like you just deleted our lovely crafted issue template. It was there for good reasons. Please help us solving your issue by answering the questions asked in this template. I'm closing this. Please open a new issue with filled issue template. Also make sure your issue is not a question. Questions should be posted on Stack Overflow.


Build a docker image for dockerhub

This will need to be automated by an CI workflow

https://docs.github.com/en/actions/publishing-packages/publishing-docker-images


Invite module UI and strings update

I did 2 things in this first attempt to contribute to the code:

I updated the UI template for the "invite" module to reflect the overall styling.

I removed trailing spaces from 2 translatable strings and separated them into additional strings behind them. Trailing spaces tend to be ignored when people translate and don't recognize them (this actually happened with the German translation for the invite message - that's how I found the the problem) so that texts or elements are smashed together later on. I think it's better not to use them.
I guess these strings have to be translated again in all languages. But I'm not aware of any other method to solve this.

Thanks!


[AIRFLOW-619] Fix exception rendering Gantt chart while a TaskInstance is running

Dear Airflow Maintainers,
Please accept this PR that addresses the following issues:

https://issues.apache.org/jira/browse/AIRFLOW-619

In the Gantt view, if a TaskInstance has no end_date, replace the end_date with datetime.now() before returning the result to the render so we don't call methods on None.
Testing Done:
Load Gannt chart view of a DagRun which has running task instances, got exception before the fix.   After the fix the bar for the running task goes up to the current datetime and is correctly coded bright green.  Also verified that none of the other DAG views have a problem with running TaskInstances.
Before:

Traceback (most recent call last):
File "/home/dgies/airflow/venv/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "/home/dgies/airflow/venv/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/dgies/airflow/venv/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/home/dgies/airflow/venv/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
rv = self.dispatch_request()
File "/home/dgies/airflow/venv/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request
return self.view_functionsrule.endpoint
File "/home/dgies/airflow/venv/lib/python2.7/site-packages/flask_admin/base.py", line 68, in inner
return self._run_view(f, *args, **kwargs)
File "/home/dgies/airflow/venv/lib/python2.7/site-packages/flask_admin/base.py", line 367, in _run_view
return fn(self, *args, **kwargs)
File "/home/dgies/airflow/venv/lib/python2.7/site-packages/flask_login.py", line 755, in decorated_view
return func(*args, **kwargs)
File "/home/dgies/airflow/venv/lib/python2.7/site-packages/airflow/www/utils.py", line 125, in wrapper
return f(*args, **kwargs)
File "/home/dgies/airflow/venv/lib/python2.7/site-packages/airflow/www/views.py", line 1701, in gantt
'isoEnd': ti.end_date.isoformat()[:-4],
AttributeError: 'NoneType' object has no attribute 'isoformat'

After:

Current coverage is 66.25% (diff: 0.00%)

Merging #1874 into master will increase coverage by 0.06%

@@             master      #1874   diff @@
==========================================
  Files           128        128
  Lines          9840       9841     +1
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           6513       6520     +7
+ Misses         3327       3321     -6
  Partials          0          0

Powered by Codecov. Last update f192770...d63079e

lgtm

@dgies the commit title should not be more than 50 chars long (including jira id), and there should be a line break between title and commit message.


Can we get a MaskInput parameter on Read-Host?

Summary of the new feature/enhancement
In order to avoid secrets getting stored in my PSReadLine history, I never paste a secret directly onto the command line as a parameter value.  I always use Read-Host -AsSecureString and then paste the secret at the Read-Host prompt.  The secret input is masked with * chars.  Then I run through this little dance to extract the plain text secret into a variable which honestly, is getting a little tiresome to do (and explain to folks why they need to do this):
PS> $ss = Read-Host -AsSecureString
*******************************
PS> $apiKey = [pscredential]::new('jpgr', $ss).GetNetworkCredential().Password

Then I use the $apiKey variable as the parameter value.  Now, yeah, it would be better to use a SecureString but unfortunately, I have to use commands that don't accept a secure string and on top of that, SecureString isn't really secure on any platform except Windows.
What would make life easier in this scenario is this simple addition to Read-Host:
$apiKey = Read-Host -MaskInput

Read-Host already knows how to mask input since it does this when you specify -AsSecureString
Proposed technical implementation details (optional)
Add a new parameter set to Read-Host that adds -MaskInput and is mutually exclusive with -AsSecureString and outputs a System.String object.  Now, if you want to require this new parameter to require a -Force parameter to work ala ConvertTo-SecureString 'foo' -AsPlainText -Force, that would be OK.  And without the -Force parameter, this would error with a similar error message - The system cannot protect plain text input.  To suppress this warning and process the plain text secret, reissue the command specifying the Force parameter..

-AsMaskedPlainText?

-As* parameters specify the output type, so I don't think -AsMaskedPlainText is appropriate - we're just modifying the UI experience, we're not changing the output type - though I do see the appeal of the symmetry with -AsSecureString.
I think something like -Masked is sufficient (plain-text output is the default anyway, no need to mention it) - though perhaps we could implement -AsMaskedPlainText as an alias.

@mklement0 the expected implementation like below ?

If -AsMaskedPlainText switch is ON
Read as securestring
Convert it to plain text and print

@kvprasoon I think the intent is to skip SecureString completely

@kvprasoon: I haven't looked at the source code; as Steve says, SecureString doesn't need to be in the mix at all - perhaps doing what you suggested is an option for implementation convenience, but I suspect that it wouldn't be hard to selectively invoke the masked-input prompt functionality, separate from SecureString.

Yup, the idea is to return a plain text string but mask the input while typing/pasting.  I also agree with @mklement0 that using As*PlainText is not called for here since the switch does not change the output type.  The switch is literally only masking the input hence the suggestion -MaskInput.

Yup, the idea is to return a plain text string but mask the input while typing/pasting. I also agree with @mklement0 that using As*PlainText is not called for here since the switch does not change the output type. The switch is literally only masking the input hence the suggestion -MaskInput.

Keep in mind that currently AsSecureString is the only parameter that starts with A, so
Read-host -a   is a valid way to ask for a secure string. "AsPlaintext" would break this, but "MaskInput" would not (and will allow Read-host -m)

@kvprasoon are you working on it? If not I would like to take a stab at for Hacktoberfest.

hey @davinci26 , yeah I was trying to figure out how to do it (novice in c#). But you can take it and happy Hactoberfest :-)

I mentioned to @TheJasonHelmick at Ignite re: the Secrets module inputs needing a MaskInput sort of idea. Been thinking about that recently and I think we could potentially create a more detached solution than just putting it on Read-Host or New-Secret.
What do y'all think of generalizing this interface into a parameter attribute (e.g., [MaskInput()]) that PS can read and apply when prompting for input, and possibly even on the actual command line?
For example, let's say New-Secret has a -Value parameter with [MaskInput()] attribute applied:
PS> New-Secret -Name MySecret -Value ************

That is, PS automatically censors any value for that parameter. It would handle:

bare strings (and stop on space, since that's where the parameter ends)
contents of strings, so -Value "********" etc would still hide the string contents, only stopping when the closing quote is applied (bonus: include here-strings?)
not variable names, I would think; that seems counter-productive

It would also have to remove the data from any logging and history data, including that captured by PSReadLine, or somehow prevent those tools capturing it at all in the first place.
This would let us simply tag parameters we want to be "secret" or masked, at least, and we can then implement this in a wider scope than just read-host, especially as [securestring] is fundamentally not secure in .NET Core.

@vexx32 . The original problem was X needs a secret but only takes plain text (bad X !). If users must type it, to prevent it being appearing on screen, either the author must specify a parameter type of [securestring()] or call read-host with an -asSecureString.
In either case it's necessary to jump through a hoop to get back to the insecure string.
Personally I think it gives an even greater false sense of security to have parameter input ,  psreadline etc detecting a parameter attribute and masking things out on the command line. Especially as now the function can be written in a script as a
new-secret -name mySecret -value "Pr0mi5e!2tell"
TBH I'd avoid readhost and just have a securestring parameter ...

The problem with securestring is that it's not... really secure? And you also can't create a securestring from the command prompt or in a script, or in any way really that doesn't either include some kind of prompt, or leave the "secret" value in a log somewhere, which is far from ideal, unless you use Get-Credential to do it -- which is also just another prompt, too; there's no way to create a securestring that doesn't leave a log without a prompt, currently, which feels like an oversight / missing feature. 🙂
Otherwise... yes, agreed. Perhaps [securestring] parameters could be the basis of masking input, but there's still work needed in PS itself to make that work... and I'm uneasy about using [securestring] as-is, since it's simply not secure. 😕

@vexx32  well, exactly, commands which turn "Here_is_my_Secret" from clear text into a secure string should never be used.
Dealing with creds my code typically goes.

Does "cred file"exist. If so use import-clixml and get a secure string / credential object.
If it doesn't or reading it fails (wrong user for the that secure string) prompt with Get-credential / read-host -asSecureString  ONCE.  Save to the cred file with export-clixml.

Two guiding principals I have.
a. Every re-typed password is a manifestation of a design failure
b. The correct PowerShell name for a command which accepts a secret as plain text is Kill-Puppy.


Cannot download facades dataset for Pix2Pix

bash script to download the dataset results in error
bash download_pix2pix_dataset.sh facades

HTTP request sent, awaiting response... 404 Not Found
2023-01-11 15:41:40 ERROR 404: Not Found.

您好，您的邮件小皮已经收到啦！！！

bash script to download the dataset results in error
bash download_pix2pix_dataset.sh facades

HTTP request sent, awaiting response... 404 Not Found 2023-01-11 15:41:40 ERROR 404: Not Found.

Hello, now you have a new connection to download the dataset?

Problems
The variable "URL" in the file "data/download_pix2pix_dataset.sh:line 2" is doubtful.
Solutions
You can change it like this:

URL=http://efrosgans.eecs.berkeley.edu/pix2pix/datasets/$FILE.tar.gz

Execute
Then, run the next command in terminal:
bash data/download_pix2pix_dataset.sh facades
Best Wishes.

您好，您的邮件小皮已经收到啦！！！


Infinite Loop with Release-please action

We are running into an issue where an infinite loop is being triggered for one of our repositories that uses the release please github action. We use the github action on multiple repos, with a similar configuration, but only have this issue on a single repo, and it started yesterday without any modifications to the workflow files or release-please configuration.
After merging a PR to our master branch, release please was triggered to update the Pull request release-please--branches--master with the new commit. However, this triggers an additional release-please job to start. Normally we see a message like this, indicating that the pull request is already up to date and there is no update needed:
...
✔ Looking for open release pull requests
✔ found 1 open release pull requests.
✔ Looking for snoozed release pull requests
✔ found 0 snoozed release pull requests.
✔ PR https://github.com/example-organization/example-repo/pull/851 remained the same

However for one repo, it triggers an additional update to the pull request, which re-triggers the release-please action:
✔ Looking for open release pull requests
✔ found 1 open release pull requests.
✔ Looking for snoozed release pull requests
✔ found 0 snoozed release pull requests.
❯ Fetching backend/CHANGELOG.md from branch master
❯ Fetching .release-please-manifest.json from branch master
❯ Fetching workers/transmitter-worker/CHANGELOG.md from branch master
❯ Fetching workers/transmitter-worker/setup.cfg from branch master
⚠ file workers/transmitter-worker/setup.cfg did not exist
⚠ file workers/transmitter-worker/setup.py did not exist
❯ Fetching workers/transmitter-worker/setup.py from branch master
❯ Fetching workers/transmitter-worker/pyproject.toml from branch master
⚠ file workers/transmitter-worker/transmitter-worker/__init__.py did not exist
❯ Fetching workers/transmitter-worker/transmitter-worker/__init__.py from branch master
⚠ file workers/transmitter-worker/src/transmitter-worker/__init__.py did not exist
❯ Fetching workers/transmitter-worker/src/transmitter-worker/__init__.py from branch master
❯ Fetching workers/transmitter-worker/loft_transmitter_worker/__init__.py from branch master
❯ Fetching workers/transmitter-worker/src/loft_transmitter_worker/__init__.py from branch master
⚠ file workers/transmitter-worker/src/loft_transmitter_worker/__init__.py did not exist
⚠ file changelog.json did not exist
❯ Fetching changelog.json from branch master
✔ Starting GitHub PR workflow...
✔ Successfully found branch HEAD sha "29925cef9e3a3[82](https://github.com/connektica/test_station/actions/runs/10634469395/job/29481855498#step:2:83)5a7a5a82466b8bde27121934e".
✔ Skipping branch creation step...
✔ Got the latest commit tree
✔ Successfully created a tree with the desired changes with SHA aa5d33109016dc8e53aaa3b48efa0617e137c3c9
✔ Successfully created commit. See commit at https://api.github.com/repos/connektica/test_station/git/commits/56beabd17cf9fe0b2c34ed3652522765c27e2d99
✔ Updating reference heads/release-please--branches--master to 56beabd17cf9fe0b2c34ed3652522765c27e2d99
✔ Successfully updated reference release-please--branches--master to 56beabd17cf9fe0b2c34ed3652522765c27e2d99
✔ Found existing pull request for reference connektica:release-please--branches--master. Skipping creating a new pull request.
✔ Successfully opened pull request: 958.

The commit hash is different every time, and it triggers over and over until we disable the workflow. Our other repositories with release-please do not have this issue.
Below is the release-please.yaml workflow that we are using, slightly modified to redact specific information:
on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master
    paths-ignore:
      - infra/**
      - tenants/**

permissions:
  id-token: write
  contents: write
  pull-requests: write

name: release-please

jobs:
  release_please:
    runs-on: ubuntu-latest
    outputs:
      releases_created: ${{ steps.release.outputs.releases_created }}
      test-station: ${{ steps.release.outputs['backend--release_created'] }}
      cloud-worker: ${{ steps.release.outputs['workers/cloud-worker--release_created'] }}
      transmitter-worker: ${{ steps.release.outputs['workers/transmitter-worker--release_created'] }}
    steps:
      - uses: googleapis/release-please-action@v4
        id: release
        with:
          # this assumes that you have created a personal access token
          # (PAT) and configured it as a GitHub action secret named
          # `MY_RELEASE_PLEASE_TOKEN` (this secret name is not important).
          token: ${{ secrets.MY_RELEASE_PLEASE_TOKEN }}
          config-file: release-please-config.json
          manifest-file: .release-please-manifest.json
      - name: Check Output
        run: |
          cat << EOF
          ${{ toJSON(steps.release.outputs) }}
          EOF

...

.release-please-manifest.json
{
  "backend": "2.24.0",
  "workers/cloud-worker": "2.19.0",
  "workers/transmitter-worker": "2.19.0"
}

release-please-config.json:
{
  "packages": {
    "backend": {
      "bootstrap-sha": "adf1e27d71de0b2f19fae293b167cfad1602a057",
      "package-name": "station-api",
      "release-type": "go",
      "tag-separator": "/",
      "changelog-path": "CHANGELOG.md",
      "bump-minor-pre-major": true,
      "bump-patch-for-minor-pre-major": false,
      "draft": false,
      "prerelease": false
    },
    "workers/cloud-worker": {
      "bootstrap-sha": "adf1e27d71de0b2f19fae293b167cfad1602a057",
      "package-name": "cloud-worker",
      "release-type": "python",
      "tag-separator": "/",
      "changelog-path": "CHANGELOG.md",
      "bump-minor-pre-major": true,
      "bump-patch-for-minor-pre-major": false,
      "draft": false,
      "prerelease": false
    },
    "workers/transmitter-worker": {
      "bootstrap-sha": "adf1e27d71de0b2f19fae293b167cfad1602a057",
      "package-name": "transmitter-worker",
      "release-type": "python",
      "tag-separator": "/",
      "changelog-path": "CHANGELOG.md",
      "bump-minor-pre-major": true,
      "bump-patch-for-minor-pre-major": false,
      "draft": false,
      "prerelease": false
    }
  },
  "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json"
}

Environment details

Programming language: go and python
OS: ubuntu-latest
Language runtime version:
Package version:

Steps to reproduce
We do not know how to reproduce this, but everything we've tried results in the same issue for one particular repository. Other repos using basically the same workflow config do not experience this issue.

We applied a workaround for now to prevent release-please running on the release branch pull request:
...
jobs:
  release_please:
    if: github.head_ref != 'release-please--branches--master'
    runs-on: ubuntu-latest
    outputs:
...


:sparkles: addon: add support for multiple GVK

Summary
Related issue(s)
Ref: https://github.com/open-cluster-management-io/ocm/pull/547

/assign @qiujian16
/cc @JoaoBraveCoding

@JoaoBraveCoding could you help take a look?

/lgtm


Support for ATT&CK sub-techniques

Please Describe The Problem To Be Solved
July 8 MITRE released the sub-techniques version of ATT&CK. I would like to know when TRAM is going to support this sub-techniques release. I now need to run TRAM with "taxii-local: local-json" in the config file providing an old version of the STIX objects. It would be great to run TRAM against the online TAXII server and also to have support for mapping threat intelligence to sub-techniques.
Proposed Change
Support for sub-techniques.

same question


maxAge is not working

'supportsCredentials' => false,
'allowedOrigins' => ['*'],
'allowedOriginsPatterns' => [],
'allowedHeaders' => ['*'],
'allowedMethods' => ['*'],
'exposedHeaders' => [],
'maxAge' => 3600,

Please note that I'm testing it on Laravel 5.5

I'm closing this due to inactivity. If this issue is still relevant on the latest version (2.0.1 at the moment), please open a new issue with detailed information.


ValueError: The truth value of an array with more than one element is ambiguous

Sometimes when I select a pixel with key "a", then, after I close the windows with the subscans, I receive the error message reported below and the window relative to the map gets automatically closed.

Exception in Tkinter callback
Traceback (most recent call last):
File "/home/mpilia/anaconda/envs/py35/lib/python3.5/tkinter/init.py", line 1558, in call
return self.func(*args)
File "/home/mpilia/anaconda/envs/py35/lib/python3.5/site-packages/matplotlib/backends/backend_tkagg.py", line 488, in key_press
FigureCanvasBase.key_press_event(self, key, guiEvent=event)
File "/home/mpilia/anaconda/envs/py35/lib/python3.5/site-packages/matplotlib/backend_bases.py", line 1861, in key_press_event
self.callbacks.process(s, event)
File "/home/mpilia/anaconda/envs/py35/lib/python3.5/site-packages/matplotlib/cbook.py", line 554, in process
proxy(*args, **kwargs)
File "/home/mpilia/anaconda/envs/py35/lib/python3.5/site-packages/matplotlib/cbook.py", line 416, in call
return mtd(*args, **kwargs)
File "/home/mpilia/anaconda/envs/py35/lib/python3.5/site-packages/srttools-0.5.dev1018-py3.5.egg/srttools/interactive_filter.py", line 497, in on_key
self.fun(x, y, key)
File "/home/mpilia/anaconda/envs/py35/lib/python3.5/site-packages/srttools-0.5.dev1018-py3.5.egg/srttools/imager.py", line 699, in rerun_scan_analysis
self.reprocess_scans_through_pixel(x, y, test=test)
File "/home/mpilia/anaconda/envs/py35/lib/python3.5/site-packages/srttools-0.5.dev1018-py3.5.egg/srttools/imager.py", line 718, in reprocess_scans_through_pixel
if info != empty:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

that error seems indeed to have disappeared. What was also probably causing it might still be there though.
I often saw it combined with this warning:
/home/mpilia/anaconda/envs/py35/lib/python3.5/site-packages/srttools-0.5.dev1036-py3.5.egg/srttools/imager.py:489: RuntimeWarning: invalid value encountered in sqrt
img_sdev = np.sqrt(img_sdev)
Now, when this happens, the window is not automatically closed but, nonetheless, the flagging is not applied.


[Docs] Improve documentation for Textbaseline.alphabetic and TextBaseline.ideographic

What is the difference between TextBaseline.alphabetic and TextBaseline.ideographic?
Overview
Just by reading the TextBaseline documentation, I could not understand the difference in appearance between TextBaseline.alphabetic and TextBaseline.ideographic. So, to check out the visual difference, I try the sample code below. Although the baseline of the characters aligned, there was no visual difference. What is the difference TextBaseline.alphabetic and TextBaseline.ideographic?
Reference
The same question in the Stack Over Flow was answered about the difference between the two properties. But the sample code did not show the difference.

 flutter doctor -v
$ flutter doctor -v
[✓] Flutter (Channel stable, 2.5.1, on macOS 11.5.2 20G95 darwin-x64, locale ja)
    • Flutter version 2.5.1 at /Users/sshayashi/fvm/versions/2.5.1
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ffb2ecea52 (2 months ago), 2021-09-17 15:26:33 -0400
    • Engine revision b3af521a05
    • Dart version 2.14.2

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/sshayashi/Library/Android/sdk
    • Platform android-30, build-tools 30.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode13beta5.app/Contents/Developer
    • Xcode 13.0, Build version 13A5212g
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 51.0.1
    • Dart plugin version 193.7547
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.60.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.27.0

[✓] Connected device (2 available)
    • iPod touch (7th generation) (mobile) • C830390E-B470-4EC4-9F15-23477CACF678 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-2 (simulator)
    • Chrome (web)                         • chrome                               • web-javascript • Google Chrome 96.0.4664.55

• No issues found!
sshayashi@MacBook-Pro:~/Programs/baseline_reprodution »

 sample code
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);
  final String title;
  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Row(
              crossAxisAlignment: CrossAxisAlignment.baseline,
              textBaseline: TextBaseline
                  .ideographic, // TextBaseline.alphabetic show the same result
              children: const [
                Text(
                  'ABCDefgh 漢字漢字漢字',
                ),
                Text(
                  'ABCDefg 漢字',
                  style: TextStyle(
                    fontSize: 20,
                  ),
                ),
              ],
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ),
    );
  }
}

 sample code screenshots

no baseline properties
TextBaseline.alphabetic
TextBaseline.ideographic

@maheshmnj
Is this just a documentation issue? If so, could you please provide some sample code that shows the difference between TextBaseline.alphabetic and TextBaseline.ideographic?

@SShayashi thanks for pointing out. This looks like a bug to me I see no difference in text alignment when using either TextBaseline.alphabetic or Texbaseline.ideographic.
Ideally with Textbaseline.alphabetic English text should sit on the line but when using non-English characters, it would pass slightly below the baseline. To prevent this Textbaseline.ideographic is available which should keep all characters (english or non-english) above the baseline.
As per the below output Textbaseline.alphabetic seems to be working as expected. The issue looks related to Textbaseline.ideographic.

code sample
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            const Text(
              'You have pushed the button this many times: 你好世界',
              style: TextStyle(
                  backgroundColor: Colors.red,
                  textBaseline: TextBaseline.alphabetic),
            ),
            const SizedBox(
              height: 5,
            ),
            const Text(
              'You have pushed the button this many times: 你好世界',
              style: TextStyle(
                textBaseline: TextBaseline.ideographic,
                backgroundColor: Colors.red,
              ),
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headline4,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {},
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel stable, 2.8.1, on macOS 12.1 21C52 darwin-arm, locale en-GB)
    • Flutter version 2.8.1 at /Users/mahesh/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 77d935af4d (4 days ago), 2021-12-16 08:37:33 -0800
    • Engine revision 890a5fca2e
    • Dart version 2.15.1

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.10.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 60.1.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.61.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.29.0

[✓] Connected device (3 available)
    • Redmi K20 Pro (mobile) • <IP_ADDRESS>:5555 • android-arm64  • Android 11 (API 30)
    • macOS (desktop)        • macos            • darwin-arm64   • macOS 12.1 21C52 darwin-arm
    • Chrome (web)           • chrome           • web-javascript • Google Chrome 96.0.4664.110

• No issues found!

[✓] Flutter (Channel master, 2.9.0-1.0.pre.93, on macOS 12.1 21C52 darwin-arm, locale en-GB)
    • Flutter version 2.9.0-1.0.pre.93 at /Users/mahesh/Documents/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 1be7f1ea56 (5 days ago), 2021-12-14 22:14:07 -0500
    • Engine revision e444009bf4
    • Dart version 2.16.0 (build 2.16.0-109.0.dev)
    • DevTools version 2.9.1

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.10.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 60.1.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.61.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.29.0

[✓] Connected device (3 available)
    • Redmi K20 Pro (mobile) • <IP_ADDRESS>:5555 • android-arm64  • Android 11 (API 30)
    • macOS (desktop)        • macos            • darwin-arm64   • macOS 12.1 21C52 darwin-arm
    • Chrome (web)           • chrome           • web-javascript • Google Chrome 96.0.4664.110

• No issues found!

code sample 2
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Stack(
              alignment: Alignment.bottomCenter,
              children: const [
                Text(
                  'You have pushed the button this many times: 你好世界',
                  style: TextStyle(
                      // backgroundColor: Colors.red,
                      textBaseline: TextBaseline.alphabetic),
                ),
                Divider()
              ],
            ),
            const SizedBox(
              height: 5,
            ),
            Stack(
              alignment: Alignment.bottomCenter,
              children: const [
                Text(
                  'You have pushed the button this many times: 你好世界',
                  style: TextStyle(
                    textBaseline: TextBaseline.ideographic,
                    // backgroundColor: Colors.red,
                  ),
                ),
                Divider()
              ],
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headline4,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {},
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ),
    );
  }
}


WelcomeToBrazil.cs

Here's a mess, are you sure you want to come in?
What does the program do ?
He says that the user is arriving in Brazil, and ironises the current situation of the country

In what programming language it is written?
C#

feels bad man u.u


Device Sync

Device Sync is required for managed domains not federated domains, correct?

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

ID: 72cdc251-618a-e84e-f40d-960b0ac69f99
Version Independent ID: 8cbaba3c-e883-2c71-28fb-f88db3fcaf7d
Content: How to configure hybrid Azure Active Directory joined devices
Content Source: articles/active-directory/device-management-hybrid-azuread-joined-devices-setup.md
Service: active-directory
GitHub Login: @MarkusVi
Microsoft Alias: markvi

Any ETA on when get-azureaddevice cmdlets will pull back complete information? Such  list of Win 10 hostname with the owners. Or list of owners with the device hostnames?

Whoops - please delete my comment! Shouldn't have been a reply!

@fbinotto Thanks for your feedback! We will investigate and update as appropriate.

@fbinotto As mentioned in the document under Prerequisites section - you need to make sure that Azure AD connect has synchronized the computer objects of the devices you want to be hybrid Azure AD joined to Azure AD.

@fbinotto We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Question about MSL and SMAP dataset

In your code, you are using parts of the MSL dataset as an demo example for your method. How did you match the timestamps of all the different sensors?
I took a look at the original data and the authors explicitly state that the timestamps (https://github.com/khundman/telemanom/issues/8#issuecomment-557706082) don't align and the values can't therefore be stacked on each other. How did you achieve this then?

Thanks for your question.
We just made the toy data based on part of MSL's original data. It means the provided MSL is merely provided as demo data to check the environment (#15), or you could take it as toy data instead of an official evaluation of MSL. Sorry for any confusion it might cause.

Thanks a lot for the fast answer and sorry for my late reply! This solves my confusion. Having a toy dataset for a demo is a real good idea :)


lists of external links should be more "fair"

We have a few pages that are sets of links to external resources, some of which are commercial in nature (e.g., gui clients, or books about git). The Git Project doesn't endorse any of these in particular; the lists try to err on the side of inclusion, and we do not want to promote one production over another.
However, the order is static, which presumably gives preference to some items over others (e.g., those at the top). Should we try to make these more fair?
I can think of a few ideas:

randomize the list order via javascript; this is mildly annoying if you visit the page again and try to find an item based on your recollection of its position
order by popularity / number of users. This is nice because it puts the things people are most likely to want near the top. It also rewards incumbent products versus new ones. But more importantly, I'm not sure where we would get accurate user counts for most of them.
order alphabetically by name; this is impartial, but is game-able. I'm not sure anybody cares enough to game our list, though.

We may also want to have some editorializing in the order. E.g., to put free-software guis in one list, and then non-free ones in another. I think that's a preference the project should be OK with expressing.
I don't have any particular plans to work on this. I just happened to be merging a PR for the gui page
and noticed this. Thoughts (and patches) are welcome.

@peff alphabetically ordering the list and splitting the list into commercial and free software I think is a good idea.
Id be willing to make a PR for this if this is OK to go with.

@ShashankaNataraj Sure. Splitting by license, and then alphabetizing seems like a step in the right direction. You'll have to dig up license information on each project, though, as we don't currently carry it.

A random order would be the most fair but popularity would probably be the most useful to users. Here are a couple ideas for measuring popularity:

Randomize the order for some amount of time while tracking the number of clicks on each link. After enough clicks have been collected sort by the click count. The idea being that we'd arrive at an order that closely matched the popularity / number of users.
Use the Google Trends interest percentage. Either the average or the current percentage. Any PR that changes the order could include a link to the google trend comparison. Ex: GitHub Desktop vs Tower

What do you think, @peff?

Popularity does suffer from one problem: it rewards incumbents by making them easier to find, and new items don't get the chance to "break in" to the top of the list. I'm sure people have come up with clever systems for this sort of thing that balance popularity versus exposing new things (in fact, this seems like a slight variant on a classic machine learning problem).  But I'm not sure that we want to get all that fancy.
Regarding implementation, I'd prefer something that doesn't require storing anything server-side like a click count (hitting Google trends every few months and storing the results in the repo would be fine).

@smith-kyle I think #975 turned out nicely. Do you want to try doing the same thing for the book list? It might be harder to get Trend numbers there.

Sure! The numbers on Google Trends seem good enough to sort with.

An idea that I just had: perhaps we could add a Travis build matrix that checks this? (A bare minimum: fetch Google Trends numbers for each entry, and sort according to said numbers, probably some combination of cut, sort, curl.)
Looking at the code backing these link lists, I'm not so sure how a comparison might be done.

If you can come up with an automated script that generates the list (from whatever sane-looking input you want, or even just the list broken out into its own renderable file), I think that would be sufficient. It would just need somebody to run it every 6-12 months. If we want to tie that into Travis as a reminder that's fine, but the tricky step is the script, I would think.

Took a look at some of the links and I might take a stab at it at some point. Whenever you load a Trends page you can find this GET request:
https://trends.google.com/trends/api/widgetdata/multiline?hl=en-US&tz=300&req=%7B%22time%22:%222016-03-15+2017-03-15%22,%22resolution%22:%22WEEK%22,%22locale%22:%22en-US%22,%22comparisonItem%22:%5B%7B%22geo%22:%7B%7D,%22complexKeywordsRestriction%22:%7B%22keyword%22:%5B%7B%22type%22:%22BROAD%22,%22value%22:%22gitg%22%7D%5D%7D%7D,%7B%22geo%22:%7B%7D,%22complexKeywordsRestriction%22:%7B%22keyword%22:%5B%7B%22type%22:%22BROAD%22,%22value%22:%22git+extensions%22%7D%5D%7D%7D,%7B%22geo%22:%7B%7D,%22complexKeywordsRestriction%22:%7B%22keyword%22:%5B%7B%22type%22:%22BROAD%22,%22value%22:%22git+tower%22%7D%5D%7D%7D,%7B%22geo%22:%7B%7D,%22complexKeywordsRestriction%22:%7B%22keyword%22:%5B%7B%22type%22:%22BROAD%22,%22value%22:%22smartgit%22%7D%5D%7D%7D,%7B%22geo%22:%7B%7D,%22complexKeywordsRestriction%22:%7B%22keyword%22:%5B%7B%22type%22:%22BROAD%22,%22value%22:%22gitx%22%7D%5D%7D%7D%5D,%22requestOptions%22:%7B%22property%22:%22%22,%22backend%22:%22IZG%22,%22category%22:0%7D%7D&token=APP6_UEAAAAAWMsCtZXLnN3AhdCCL1E6tv0IhkAfKfGk&tz=300

which is really just a GET https://trends.google.com/trends/api/widgetdata/multiline with these params:
{
  "hl":"en-US",
  "tz":300,
  "req":{
    "time":"2016-03-15 2017-03-15",
    "resolution":"WEEK",
    "locale":"en-US",
    "comparisonItem":[
      {
        "geo":{

        },
        "complexKeywordsRestriction":{
          "keyword":[
            {
              "type":"BROAD",
              "value":"gitg"
            }
          ]
        }
      },
      ...
    ],
    "requestOptions":{
      "property":"",
      "backend":"IZG",
      "category":0
    }
  },
  "token":"APP6_UEAAAAAWMsCtZXLnN3AhdCCL1E6tv0IhkAfKfGk",
  "tz":300
}

that returns this:
{
  "default":{
    "timelineData":[
    ... ,
    {
        "time":"1489276800",
        "formattedTime":"Mar 12 - Mar 18 2017",
        "formattedAxisTime":"Mar 12, 2017",
        "value":[
          10,
          50,
          24,
          63,
          7
        ],
        "formattedValue":[
          "10",
          "50",
          "24",
          "63",
          "7"
        ],
        "isPartial":true
      }
   ],
    "averages":[
      9,
      62,
      29,
      81,
      10
    ]
  }
}

Those value fields in the response (response["default"]["timelineData"][-1]["value"]) are really the key: they're the normalized search frequencies of the respective term.
I also came across this article while looking.
@smith-kyle how did you get around the search term normalization issue?

Do you mean how did I decide what search term to use for each app?

Specifically how you compared the Trends results for the various search terms, since each individual Trends page normalizes the plot to the biggest datapoint.

I see what you mean. Since each page has a max of 5 terms and the trend score is only relative to the other terms in the search, you're wondering how I compared terms across groups of searches. First I sorted them through trial and error then justified the separation of groups by comparing the lowest ranked term in a group to the highest ranked term in the group below it. The searches are at the bottom of this PR description: https://github.com/git/git-scm.com/pull/975#issue-211235704
Not sure how helpful that is since the first step is "sort them". Maybe you could find the most popular term in the entire list then compare all other terms to the most popular term.

should the list of OS under https://git-scm.com/download/linux be sorted? We can use https://distrowatch.com/dwres.php?resource=popularity

@pedrorijo91 I agree with your follow-up comment that distro order isn't really important for fairness. But I'd say it may also be worth sorting by distro popularity, just so more people find what they're looking for early in the list. So I certainly don't mind if somebody wants to do that sort.

Is there any other list we should try to order?
I saw this one (https://git-scm.com/documentation/external-links), but I think there's no 'section'  long enough to be interest to sort

Yeah, I think the external-links list is fine. I think we did sort the books, but in theory they could get the same automation that the GUI clients did.

closing this then. Feel free to reopen if you think it's important to sort any other section. Personally, I think GUI have a lot more changes, are more searched, and have many more items than any of the other sections.