Hyper Server Example is Broken

As @nickbp mentioned in #218, the hyper server example is broken at the moment.
According to my understanding, https://github.com/smol-rs/async-io/commit/aae2473a80da6727b636071ea60e164b5d273ff5 is the relevant change.  I'm not sure if hyper breaks a contract here (by dropping references it is supposed to keep) or if async-io drops too eagerly. But if I delete the relevant lines (https://github.com/smol-rs/async-io/blob/master/src/reactor.rs#L482-L485), the example works (for http1).
It would be great if someone with more experience could have a look.

I think the following lines are causing the problem. As explained in https://github.com/smol-rs/async-io/pull/37#discussion_r501784717, it drops incoming every time incoming.poll_next(cx) returns Pending to reset the state.
https://github.com/smol-rs/smol/blob/76dac2a493a7e2e1356669008e847b94d1f89eb8/examples/hyper-server.rs#L100-L102


Tensorboard not showing any data

Hi Team,
I have done all the installation in the Docker container. I run the command provided in the usage document and when running on Tensorboard it didn't display any image, histogram, scalar, audio.
Please see below images

Please help me to resolve this issue.
Thanks in Advance.

Fixed by https://github.com/facebookresearch/Horizon/commit/90597cd8f5daf64f217138ef745b9853f0409e34 .  Please let me know if you still see this issue.


Small changes to get the package in the right shape

I have made small changes to the package just to make it same as other packages.

await the printSummary call.
Add license comment at the top of the file.
Remove unwanted dependencies
Remove .github/ since we are using a global .github repo for that.

Thanks, didn't know about the .github repo


Feature request: Function to create an Angular library other than application

For example, you can run this command to create a well structured Angular library project:
ng new --lib angular-easy-dropdown

When you run ng serve --open, it start a demo app, just like a normal Angular application generated by angular-cli.
When you run ng build, it generate files that can be imported to other Angular projects, placed in /dist folder.

Duplicate of #1692


improper display in docker info when manager is out of quorum

Description
I ran into a situation which is described is https://github.com/docker/docker/issues/29367.
When I have only 3 nodes in swarm and all of them are manager. When I make a leader manager and a non-leader manager leave. Then something unreasonable happens on the only left manager.
Here is the display of docker info of left manager:
root@ubuntu:/var/lib/docker/network/files# docker info
Containers: 4
 Running: 0
 Paused: 0
 Stopped: 4
Images: 15
Server Version: 1.12.5
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 57
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge null host overlay
Swarm: pending
 NodeID: 7byj8y4wchovhesfd4ep2r4sr
 Error: rpc error: code = 2 desc = raft: no elected cluster leader     // here has an error of swarm
 Is Manager: true                                      // here told user that this is a manager
 ClusterID:
 Managers: 0                                            // here told user that there is no managers, inconsistent with above
 Nodes: 0
 Orchestration:
  Task History Retention Limit: 0
 Raft:
  Snapshot Interval: 0
  Heartbeat Tick: 0
  Election Tick: 0
 Dispatcher:
  Heartbeat Period: Less than a second    // this is not proper to display like less than a second
 CA Configuration:
  Expiry Duration: Less than a second
 Node Address: <IP_ADDRESS>
Runtimes: runc
Default Runtime: runc
Security Options: apparmor
Kernel Version: 3.19.0-25-generic
Operating System: Ubuntu 14.04.3 LTS
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 1.954 GiB
Name: ubuntu
ID: G5Y6:4CA7:F7ES:NLYP:2CVE:RQPT:S3NS:QDV3:GEQX:R5DX:N5O2:Y4V2
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 22
 Goroutines: 72
 System Time: 2016-12-19T13:12:47.432985459+08:00
 EventsListeners: 0
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Insecure Registries:
 <IP_ADDRESS>/8

Steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Additional information you deem important (e.g. issue happens only occasionally):
Output of docker version:
root@ubuntu:/var/lib/docker/network/files# docker version
Client:
 Version:      1.12.5
 API version:  1.24
 Go version:   go1.6.4
 Git commit:   7392c3b
 Built:        Fri Dec 16 02:30:42 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.5
 API version:  1.24
 Go version:   go1.6.4
 Git commit:   7392c3b
 Built:        Fri Dec 16 02:30:42 2016
 OS/Arch:      linux/amd64

Output of docker info:
root@ubuntu:/var/lib/docker/network/files# docker info
Containers: 4
 Running: 0
 Paused: 0
 Stopped: 4
Images: 15
Server Version: 1.12.5
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 57
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge null host overlay
Swarm: pending
 NodeID: 7byj8y4wchovhesfd4ep2r4sr
 Error: rpc error: code = 2 desc = raft: no elected cluster leader
 Is Manager: true
 ClusterID:
 Managers: 0
 Nodes: 0
 Orchestration:
  Task History Retention Limit: 0
 Raft:
  Snapshot Interval: 0
  Heartbeat Tick: 0
  Election Tick: 0
 Dispatcher:
  Heartbeat Period: Less than a second
 CA Configuration:
  Expiry Duration: Less than a second
 Node Address: <IP_ADDRESS>
Runtimes: runc
Default Runtime: runc
Security Options: apparmor
Kernel Version: 3.19.0-25-generic
Operating System: Ubuntu 14.04.3 LTS
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 1.954 GiB
Name: ubuntu
ID: G5Y6:4CA7:F7ES:NLYP:2CVE:RQPT:S3NS:QDV3:GEQX:R5DX:N5O2:Y4V2
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 24
 Goroutines: 76
 System Time: 2016-12-19T13:24:41.688636419+08:00
 EventsListeners: 0
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Insecure Registries:
 <IP_ADDRESS>/8

Additional environment details (AWS, VirtualBox, physical, etc.):

I think "error/is manager" section is correct. But we shouldn't show "Less than a second/managers=0"

When I use postman to get info, the Swarm field in response is like :
"Swarm": {
    "NodeID": "",
    "NodeAddr": "",
    "LocalNodeState": "inactive",
    "ControlAvailable": false,
    "Error": "",
    "RemoteManagers": null,
    "Nodes": 0,
    "Managers": 0,
    "Cluster": {
      "ID": "",
      "Version": {},
      "CreatedAt": "0001-01-01T00:00:00Z",
      "UpdatedAt": "0001-01-01T00:00:00Z",
      "Spec": {
        "Orchestration": {},
        "Raft": {},
        "Dispatcher": {},
        "CAConfig": {},
        "TaskDefaults": {}
      }
    }
  },

When I use 1.13.0-rc4, different result happens 😵
Show active and some other wrong displays.
root@ubuntu:~# docker info
Containers: 4
 Running: 0
 Paused: 0
 Stopped: 4
Images: 37
Server Version: 1.13.0-rc4
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 194
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: active
 NodeID: ljj1zkm5nzejtpglvtmy72ykm
 Error: rpc error: code = 4 desc = context deadline exceeded
 Is Manager: true
 ClusterID:
 Managers: 0
 Nodes: 0
 Orchestration:
  Task History Retention Limit: 0
 Raft:
  Snapshot Interval: 0
  Heartbeat Tick: 0
  Election Tick: 0
 Dispatcher:
  Heartbeat Period: Less than a second
 CA Configuration:
  Expiry Duration: Less than a second
 Node Address: <IP_ADDRESS>
 Manager Addresses:
  <IP_ADDRESS>:2377
  <IP_ADDRESS>:2377
  <IP_ADDRESS>:2377
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 03e5862ec0d8d3b3f750e19fca3ee367e13c090e
runc version: 51371867a01c467f08af739783b8beafc154c4d7
init version: 949e6fa
Security Options:
 apparmor
Kernel Version: 3.19.0-25-generic
Operating System: Ubuntu 14.04.3 LTS
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 1.954 GiB
Name: ubuntu
ID: Q2ZC:GWDN:27OH:GRMH:G6QU:W7QP:4TIX:Q5F6:YEVK:45XP:EXHC:HOB5
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 31
 Goroutines: 93
 System Time: 2016-12-23T14:48:53.194357382+08:00
 EventsListeners: 0
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Experimental: false
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: false

@allencloud My suggestion would be to set the state to error if ListNodes fails in https://github.com/docker/docker/blob/ef9935ce8f4acf5d53db0a2f9621f9135aed442b/daemon/cluster/cluster.go#L751 instead of ignoring it and not showing the other values on client side if error state is returned.

@tonistiigi
how about setting ControlAvailable of info to be false, and setting the ListNode error to info.Error?


Update Org count

Overview
Organization search count must be updated to be accurate
Action Items

[ ] rework logic to update counts as per the results. Ex. If the search is "civic" ALL category count should yield all of the results for the civic search. UNAFILIATED category count should yield the "civic" results that are unaffiliated and the AFFILIATED category count should match all counts for affiliated results of the CIVIC search.

Resources/Instructions

If we Search for Civic search count is rendering wrong results, For other search criteria it is working fine. The reason is the Code for All which has path "0001000D" which is similar to Civic Tech Sweden "0001000D0005". I think the path for Code for All should be unique than the other Path, I think it needs to be fixed on BackEnd


Columns: Improve data handling/output and metadata export

Columns: Improve gadget data handling
This PR introduces a new library that can improve the way we handle our event/stats data in a couple of ways, described below.
More information about the functionality / features can be found here:
https://github.com/kinvolk/inspektor-gadget/blob/michael/tableformatter/pkg/columns/README.md
Store metadata in the event/stats structs
Instead of having two or more places to define metadata like column widths, sorting parameters and so on, we can keep them right by the structs using tags. The library uses a combination of generics and reflection to achieve this. That way we can (in most cases) handle things like including/excluding columns, sorting, grouping automatically without writing additional code specific to the structs.
Special cases might need a bit of additional code, though.
Optimize output for columns
The library is able to take into account column widths and other information from the tag metadata and will format the output accordingly. It supports

shortening entries by either cutting at the width or indicating with an ellipsis ("...")
adjust column widths automatically using the terminal width
aligning values left or right

Add helper functions
Sorting
Using the library one can simply sort the structs by one or more individual fields.
Grouping
Grouping by column content is also possible, so if you want for example group all entries from a specific node and return the sum of the values for another column (e.g. bpf programs' total runtime in top/ebpf on each node), you can simply do so without writing additional code.
Filtering
Different filter rules can be applied to sets of data, including: exact match, regular expression match, <, >, <=, >=.
Metadata Export
All information gathered by the library from the structs can be exposed and used for other use cases. In case of command line handling via cobra it can return a list of all available columns without writing additional code. This could also be used for other frontends like web interfaces.
Benchmarks
Depending on the use case, using reflection is usually slower than specific code. I did some basic benchmarks that show a x2-x5 decrease of performance for things like formatting a complete line, but as this is still happening in a couple of nanoseconds per row, it should be negligible for all our use cases.
Todos

[x] Extract example code for gadgets
[x] Add unit tests

Related Issues
#856, #851

Thanks for the thorough and quick review! That motivates a lot! 👍
I've addresses most of your feedback already and cleaned up accordingly.
Regarding the additional features (sorting, filtering etc): I agree. This library has become much larger that I anticipated at first and maybe should be renamed to something more generic, but I haven't had a good idea for that, yet ("datautils" might be too generic). I'm sure we could move out certain features to adjacent packages, but I wouldn't remove the dependency from the main package completely, as this would then duplicate code again and decrease convenience again.
I've added AdjustWidthsToContent() to do things similar to tabwriter.
The problem with the wide terminal should also be fixed (there was more than one issue open with the auto-scaler).
Again, thanks a lot!

I'm sure we could move out certain features to adjacent packages, but I wouldn't remove the dependency from the main package completely, as this would then duplicate code again and decrease convenience again.

I agree that we should avoid code duplication. I think it's ok to have "TableFormatter" as the main package and move other (more specific) function to a different package (and maybe in a different PR to make it easier to review?)

Thanks for the feedback @blanquicet! 👍
Regarding the entry point: I've answered in the comment.

Thanks everyone for reviewing this big one! As said, it has become much larger than anticipated and next time I'll definitely split it up more (and just for everyone to be on the same page: the last decision we agreed upon was not to split it up anymore). I know PRs this huge are tiresome, so I really appreciate the effort and hope this lib will save the time afterwards :)
@eiffel-fl I will squash the commits so you get a better view.


Error when using lspsaga with OmniSharp

Describe the bug
I'm currently using LSPSaga for my LSP needs in Neovim. However, I've encountered an issue when trying to use it with the OmniSharp LSP.
When I try to run :Lspsaga peek_definition, I get the following error:

The error seems to occur when the LSP client tries to jump to a definition in a $metadata$ document. The file it's trying to jump to is /$metadata$/Project/BuberBreakfast/Assembly/ErrorOr/Symbol/ErrorOr/ErrorOr.
I found that the OmniSharp Extended LSP plugin is designed to handle these $metadata$ documents, so I tried to use it together with LSPSaga. However, it seems that LSPSaga is not working correctly with the OmniSharp Extended LSP plugin.
Interestingly, the :lua vim.lsp.buf.definition() command works fine. with OmniSharp Extended LSP.
Steps to reproduce
Here's how I set up the OmniSharp LSP:
local config = {
  handlers = {
    ["textDocument/definition"] = require('omnisharp_extended').handler,
  }
}
require'lspconfig'.omnisharp.setup(config)

https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#omnisharp
https://github.com/Hoffs/omnisharp-extended-lsp.nvim
Expected behavior
by running :Lspsaga peek_definition should show peek_definition
Neovim version (nvim -v)
NVIM v0.10.0-dev-2066+gf56c18480
lspsaga commit
latest
Terminal name/version
wezterm 20230501-084619-d0e9a034

Despite the recent fix you've implemented, the issue still persists.
Currently, I need to run :lua vim.lsp.buf.definition() before executing :Lspsaga peek_definition for it to work properly. If I run :Lspsaga peek_definition first, it breaks in the same way as before.

need a clean reproduce step with some example csharp code.

Here is how I create a new .net project

dotnet new webapi -o demo-project

Setup Omnisharp LSP with omnisharp-extended
local omnisharp_path = vim.fn.glob(vim.fn.stdpath('data') .. '/mason/') .. 'packages/omnisharp/libexec/OmniSharp.dll'

local config = {
  cmd = { 'dotnet', omnisharp_path },
  handlers = {
    ["textDocument/definition"] = require('omnisharp_extended').handler,
  }
}
require'lspconfig'.omnisharp.setup(config)

result demo-project/Controllers/WeatherForecastController.cs

this is server special . need send o#/v2/gotodefinition' method to server to get new result . see
https://github.com/Hoffs/omnisharp-extended-lsp.nvim/blob/main/lua/omnisharp_extended.lua#L198C48-L198C69
if no this plugin intergration default and lspsaga both through error. you  set this so it works
 handlers = {
    ["textDocument/definition"] = require('omnisharp_extended').handler,
  }

what i am thinking does  omnisharp extended can provide a function then i can use it  ?

Thank you for your response, Glepnir. I understand your point about the need for the omnisharp extended plugin integration.
To clarify, when I use the omnisharp extended plugin with the default command :lua vim.lsp.buf.definition(), it successfully jumps to the definition. After this, if I call :Lspsaga peek_definition, it works as expected. However, if I call :Lspsaga peek_definition before the default command :lua vim.lsp.buf.definition(), it does not work.
I'm wondering if there's a way to ensure that :Lspsaga peek_definition can work independently, without having to call :lua vim.lsp.buf.definition() first?
Here's an illustration of the issue when the default command is called first, followed by :Lspsaga peek_definition, which works as expected:

because when you call first that plugin override the default handler
https://github.com/Hoffs/omnisharp-extended-lsp.nvim/blob/53edfb413a54c9e55dcddc9e9fa4977a897e4425/lua/omnisharp_extended.lua#L207

if omnisharp_extend can provide a interface function i can do a integration . if not there need handle by ourself..

Thanks, Glepnir. I'll see what I can do and will get back to you.


chore: update docs.

🅰 Please add the issue ID after "Fixes #"
Fixes #194
I have read the CLA Document and I hereby sign the CLA

I have read the CLA Document and I hereby sign the CLA

I have read the CLA Document and I hereby sign the CLA

recheck

recheck

recheck

I have read the CLA Document and I hereby sign the CLA


Improve support for dates.

@Tuisto59 suggested to me in a private message that date support can be improved, which is certainly true.
Areas of improvements:

look at https://www.tamurajones.net/GEDCOMDatePhrases.xhtml and https://www.tamurajones.net/TheGEDCOMDATECase.xhtml
alternative calendars (French revolutionary in particular)

convertdate Python package is suggested as an option for converting dates in different calendars.

Several things to investigate:

case sensitivity of the dates (as outlined in https://www.tamurajones.net/TheGEDCOMDATECase.xhtml), I think ed4py is already handles dates in a case-insensitive way, maybe just check it and/or add few test cases
parsing of Gregorian dates, I am not sure that I'm doing right thing now for the format which has year in the form "/<2digit>" (and I'm not sure what the right thing to for that yet)
invalid date phrases (as in https://www.tamurajones.net/GEDCOMDatePhrases.xhtml), I don't realy want to go into that undefined territory, so I will probably just say I'm going to ignore the issue
comparison of dates from different calendars, if there is a library like convertdate which can do that then I'll think about adding support, but I'm not going to implement that myself.

There is more general issue - what should be a good Python-side representation of all possible GEDCOM date formats. My current interface is OK for the purpose of ged2doc but it may be worth thinking about generally useful interface too. Defining good interfaces is hard, especially for things as loose and under-determined as GEDCOM, still it may be worth investing some time into that.

Hi Andy,
I wrote a function, with the help of Tamura Jones web pages, when I wrote Peregrination, my web application, adapted for my use, and with the help of the french revolutionar calendar, I wrote it to be the more systematic as possible, and can be surely improved, in this function, I focus on catching the date (AAAA format) to make range of date (for example when the user click on a town on the mark and popup show the range of extreme date for this town depending of the data in the gedcom) but can be used to convert date or any formating.
`def get_date(DATE):
"""
extract the year according to the gedcom 5.5 standard
DATE str()
return set of year
In this function, we focus only to get the year, but can be extrapolated to get the entire date
"""
# This is all the GEDCOM tag that are used commonly for date
indicators = ['CAL', 'EST', 'ABT', 'BEF', 'AFT', 'FROM', 'TO', 'BET', 'AND', 'INT']

# DATE Patterns : can be in the form DD MMM YYYY , MMM YYYY, YYYY
patterns_catchers = [('[0-9]{1,2} .* [0-9]{1,}', '[0-9]{1,2} .* ([0-9]{1,})'),
                     ('.* [0-9]{1,}', '.* ([0-9]{1,})'),
                     ('[0-9]{1,}', '([0-9]{1,})')
                     ]

# control variable
indicator = list()
combination = False
bc = str()

# check if the date is Before Christ : B.C.
if 'B.C.' in DATE:
    bc = ' B.C.'

# check any indicator, store it in a list
for i in indicators:
    if i in DATE:
        indicator += [i]

# check if it a range format: FROM <date> TO <date> / BET <date> AND <date>
# len = 0, no indicator, len = 1, indicator, len = 2 two indicator (range format)
if len(indicator) > 1:
    combination = True
elif len(indicator) == 1:
    indicator = indicator[0]
else:
    indicator = str()

# check the date pattern type depending of the indicator
for pattern1, catcher1 in patterns_catchers:

    if indicator:
        if combination:
            # case when is it FROM ... TO and BET ... AND
            for pattern2, catcher2 in patterns_catchers:
                # in case if the range accross B.C. to A.C.
                for bc1, bc2 in [('', bc), (bc, ''), (bc, bc)]:
                    a, b = indicator
                    pattern = a + ' ' + pattern1 + bc1 + ' ' + b + ' ' + pattern2 + bc2
                    catcher = a + ' ' + catcher1 + bc1 + ' ' + b + ' ' + catcher2 + bc2
                    if re.match(pattern, DATE):
                        results = re.findall(catcher, DATE)
                        date1, date2 = results[0]
                        # print(u'{},{},{}'.format(DATE,date1,date2))
                        # converting the french republican date into a standard gregorian date
                        # more type like for "Hebrew" or "Islamic" calendar can be added depending of the "@#CALENDAR TYPE@"
                        if '@#DFRENCH R@' in DATE:
                            from convertdate import french_republican
                            date1 = str(french_republican.to_gregorian(int(date1), 1, 1)[0])
                            date2 = str(french_republican.to_gregorian(int(date2), 1, 1)[0])
                        return date1, date2
        else:
            # case when only one indicator is used
            pattern = indicator + ' ' + pattern1 + bc
            catcher = indicator + ' ' + catcher1 + bc
            if re.match(pattern, DATE):
                results = re.findall(catcher, DATE)
                date1 = results[0]
                # print(u'{},{},{}'.format(DATE,date1,date2))
                if '@#DFRENCH R@' in DATE:
                    from convertdate import french_republican
                    date1 = str(french_republican.to_gregorian(int(date1), 1, 1)[0])
                return date1, date1
    else:
        # No indicator used
        pattern = pattern1 + bc
        catcher = catcher1 + bc
        if re.match(pattern, DATE, re.UNICODE):
            results = re.findall(catcher, DATE, re.UNICODE)
            date1 = results[0]
            if '@#DFRENCH R@' in DATE:
                from convertdate import french_republican
                date1 = str(french_republican.to_gregorian(int(date1), 1, 1)[0])
            # print(DATE,date1,date1)
            return date1, date1
# nothing have been catchec so return None
# print(DATE,None,None)
return False, False`

Et voilà !
Hope this can be helpfull
Tuisto59

@Tuisto59, sorry it took me too long to find time for this. I have made a bunch of changes which I think should solve the issues mentioned above. I'm ready to merge all of that but I would appreciate any input for these changes. Could you have a quick look at the pull request #17, in particular two files date.py and calendar.py, to see if that makes sense or do I need to add anything else? Description on PR is a quick summary of all changes.

@Tuisto59, I have also built docs for that branch if you want to look at that: https://ged4py.readthedocs.io/en/issues-14/


View borderRadius antiAliasing android

Is this a bug report?
Yes
Environment
Environment:
  OS: Windows 10
  Node: 8.1.2
  Yarn: 0.27.5
  npm: 5.3.0
  Watchman: Not Found
  Xcode: N/A
  Android Studio: Version  <IP_ADDRESS> AI-171.4443003

Packages: (wanted => installed)
  react: 16.0.0 => 16.0.0
  react-native: 0.51.0 => 0.51.0

  Target Platform: Android (7.1.1)

Steps to Reproduce
<View style={{       width: 32,       height: 32,       borderRadius: 16,       borderWidth: 2,       borderColor: '#2196f3',     }}/>
Behavior
expected like ART.Shape at left, but actual View behabior at right

Can reproduce on Samsung S8+, Android 7.0, RN 0.52.1

I think this issue is related to
https://github.com/facebook/react-native/issues/17267 by @dannycochran


add policy AllowLocalSystemToUseComputerIdentity

The Network security: Allow Local System to use computer identity for NTLM is missing from the documentation. but can be configured via Intune using the OMA-URI
./Device/Vendor/MSFT/Policy/Config/LocalPoliciesSecurityOptions/NetworkSecurity_AllowLocalSystemToUseComputerIdentityForNTLM
Thanks

Hi @JohanFreelancer9 , could you please have a look?

@yogesha @illfated
Please mention me, instead of Johan for any of the upcoming PRs, thank you.

Thanks @e0i  for letting me know

Policy owner approved these updates. I will create a new PR to have this policy setting added to the Policy CSP index page and What's new doc. Thanks!


perf(codegen): use AsciiChar for statically unknowable characters

Small optimization. Use AsciiChar (introduced in #6537) for pushing bytes to buffer where the byte values are not statically known.
This also allows removing some unsafe code.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#6538  👈
#6537
#6535
#6509
#6516
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @overlookmotel and the rest of your teammates on  Graphite

Weird performance effects. I'll look into it.

This is making the code way too complicated, can I reject?

This is making the code way too complicated, can I reject?

Yes, I see your point. Too much complexity for not enough gain.


Support new attribution

Support new attribution.
They introduced 17, which is almost the same as 15

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

Project coverage is 100.00%. Comparing base (5f562d9) to head (65d15cc).
Report is 65 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #279   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            7         7
  Lines          734       736    +2
  Branches        87        88    +1
=========================================
+ Hits           734       736    +2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Deprecate GhostScript dependency in favor of svgling

Hello!
This is following up from discussion from #1887. I would like to suggest to deprecate the dependency on GhostScript from Tree's _repr_png_:
https://github.com/nltk/nltk/blob/f12df18465ba642d93f8f2f5d9a85147a2e1a450/nltk/tree.py#L812-L823
We could start supporting SVG's rather than simply PNG's, by moving to using svgling. This module has been written with NLTK support in mind, so I presume that using it won't be too much of a hastle.
It would move the dependency from some downloaded third party tool which requires subprocess, temporarily files, etc. to a purely Python module.
Beyond how this third party tool is executed, the output also slightly differs, as is expected.
This is the current output in any jupyter notebook:

This is the output when simply importing svgling:

I would also like to invite the author of svgling, @rawlins, for their opinion on fully deprecating gs in favour of their module. Are there any issues that we should be aware of?
What's everyone's thoughts on this?

Tom Aarsen

Great idea!

sounds good to me too!

Thanks for proposing this @tomaarsen, I'd be happy for this to happen for my own selfish reasons. No doubt this dependency would stress test svgling in a new way, but I've gotten the impression from the feedback I get that people have found it to be pretty reliable so far in its lifespan.

I'm committed to maintaining svgling indefinitely. My time for actively adding big features varies quite a lot though. But I think it is pretty feature complete right now for nltk's (constituency tree) purposes.
svgling is not currently in anaconda (it is in pypi). However, I've been thinking of figuring out how to put together a conda package for it and submit it to conda-forge, this change to nltk would probably push that up in my todo list.
Compatibility across browsers, including mobile and tablet, is as far as I know very good. Compatibility with svg editors is a little varied/untested (in particular inkscape requires a compatibility mode in the current svgling version, and previously didn't work at all). But I don't know that this is a big issue for nltk users.

I like the sound of all that @rawlins. Perhaps we can take advantage of your experience to best guide an implementation. Here are some ideas I had, and I'd like to get some feedback on them:
Idea 1:
Simply import svgling at the top of the tree.py file. Although this solution is the simplest, it has some downsides:

Circular dependenies
Users who don't use trees in the context of jupyter notebooks will have to install the dependency.
The code responsible for rendering trees is "hidden" behind this (seemingly unused) import.

I would rather define a _repr_svg_ method, so people who read the code can understand the source of the graph.
Idea 2:
A second idea is to simply remove _repr_png_ and implement a _repr_svg_ like so:
    def _repr_svg_(self):
        from svgling import draw_tree

        return draw_tree(self)._repr_svg_()

This is the simplest implementation I could see working well. It tackles all 3 issues I had with idea 1.
Idea 3:
Beyond that, there are some iterations possible on idea 2:
    def _repr_svg_(self):
        from svgling.core import TreeLayout

        return TreeLayout(self)._repr_svg_()

    def _repr_svg_(self):
        from svgling.core import TreeLayout, TreeOptions

        return TreeLayout(self, options=TreeOptions())._repr_svg_()

    def _repr_svg_(self):
        from svgling.core import TreeLayout, nltk_tree_options

        return TreeLayout(self, options=nltk_tree_options)._repr_svg_()

Although possible, I don't feel like passing along this options value adds much, as users can't really modify it regardless.
Beyond these ideas, there might be other implementations that work better in conjunction with svgling. I'm definitely open to suggestions and discussion.

Beyond that, I would be interested in supporting the ability to use the original tool instead. There's a few options:

Expose an e.g. use_legacy_plot function, which when called supports the existing _repr_png_.
Add a plot function which relies on both _repr_png_ and _repr_svg_. We would rename _repr_png_ so no environment takes it as the default plotter, and then this new plot method has a legacy parameter defaulted to False. Through this new plot function, users could still access the old plotting function. However, this method would be very confusing for users who don't use trees in jupyter notebooks etc.
Simply recognise that this new method ought to be better, and there shouldn't be need to still support the legacy _repr_png_.

I fear that option 1 will be extraordinarily hacky, and that option 2 would completely unnecessarily add a new method. I'm not sure if there is a simple and intuitive way to support multiple plotting methods. So I'm leaning towards option 3. After all, trees already support the draw method, which opens a tkinter GUI with the tree plotted using the old method.
I'm open to discussion on this.

Tom Aarsen

Totally agree that idea 1 is non-ideal, I would actually prefer to eventually remove the side-effect monkeypatching code from svgling if nltk makes this change. It exists as it currently stands to make life as simple as possible for people who do want to use svgling with nltk, but there's no need for it if this change happens in nltk.
I don't know that I have strong preferences between your options 2-3; I think the main question (for you basically) is whether there is a need for passing rendering options somehow when looking at nltk.Tree objects in jupyter, or whether it's enough to just instruct users to call svgling.draw_tree (etc) directly if they want to customize. I added the global svgling.core.nltk_tree_options originally in case people wanted to do that, e.g. if they hate the default font or something, but I have no real sense if people do actually use it. An options object could could also be made available to modify as a simple dict on the nltk side and passed to draw_tree using the ** syntax, but I probably wouldn't do that unless there's demand.
Re adjusting the png code, one thing to keep in mind is that jupyter attempts to call all reprs regardless of which it displays. I might recommend keeping it as a _repr function but doing better wrapping in try blocks, e.g. along the lines of the nltk_tree_wrapper function seen in this commit (except returning None on the except blocks): https://github.com/rawlins/lambda-notebook/commit/7f151a01aa338ee34aeb7a2e97d36b280ca17e98. That would make it fail gracefully, which was one of the issues originally in #1887.
Then, if users have everything installed and don't want the default they could choose a preferred _repr using the display function (e.g. display(x, include=['image/png']) should do it, or various other approaches using IPython display objects). SVG should take precedence by default over png if both are there for both classic notebook, lab, and I think nbconvert. (I think this might even be configurable.) The one downside to this is that the additional overhead for people who do have the supporting packages installed may be non-negligible if they don't want png.

@tomaarsen I favour the simplest possible solution, since that is also what is easiest to maintain in the long term. Complexities should "pay their way", ie justify the additional effort. NB people have access to the source code for old versions of NLTK if they want legacy functionality.

@rawlins

Totally agree that idea 1 is non-ideal, I would actually prefer to eventually remove the side-effect monkeypatching code from svgling if nltk makes this change. It exists as it currently stands to make life as simple as possible for people who do want to use svgling with nltk, but there's no need for it if this change happens in nltk.

Eventually, you might be able to use nltk.get_version() to check whether to still apply the monkeypatching. That way it works for both new and older NLTK versions.

I don't know that I have strong preferences between your options 2-3; I think the main question (for you basically) is whether there is a need for passing rendering options somehow when looking at nltk.Tree objects in jupyter, or whether it's enough to just instruct users to call svgling.draw_tree (etc) directly if they want to customize. I added the global svgling.core.nltk_tree_options originally in case people wanted to do that, e.g. if they hate the default font or something, but I have no real sense if people do actually use it. An options object could could also be made available to modify as a simple dict on the nltk side and passed to draw_tree using the ** syntax, but I probably wouldn't do that unless there's demand.

I'd rather not rely on nltk_tree_options, as it's an additional dependency which isn't really necessary. Regarding the last bit - do you know if it's possible to e.g. pass additional keyword arguments to display(), so that users can do e.g. display(tree, font_size=12)? If that's not possible, then it might be best to just rely on the default TreeOptions() that's created within svgling.
And as @stevenbird mentioned, it's likely best to keep this simple, and just remove the old outdated _repr_png_.

Regarding the last bit - do you know if it's possible to e.g. pass additional keyword arguments to display(), so that users can do e.g. display(tree, font_size=12)?

Interesting question, I'll look into this, I haven't paid much attention to the extra display arguments before. Though on reflection I think the cleanest solution here would be for svgling to simply provide a means of setting default options at the package level in a general way, rather than specifically for nltk calls.


Using VMSG plugin hides controls on deviceReady

Description
Controls are hidden and disabled even when options.controls was set to true.
Steps to reproduce

Create a new react app with npx create-react-app.
Then, npm i videojs-record vmsg

Results
Expected
Controls are visible and enabled so that I can actually record audio-only mp3.
Actual
I've been trying to use vmsg plugin in order to record audio only in mp3 format. I tried running the  audio-only-mp3 example and it worked just fine. However, when I implemented it on my project, controls are being hidden and disabled. So I recreated it into another new React app hoping that there's just conflicts with my code, to no avail. If I removed audioEngine: 'vmsg' in options.plugins.record, controls are visible and enabled but I need the data to be in mp3 format. I don't know where I'm doing wrong. As much as possible, I don't wanna use ffmpeg.js because it's deprecated.
var options = {
    controls: true,
    bigPlayButton: false,
    width: 600,
    height: 300,
    fluid: false,
    plugins: {
        wavesurfer: {
            backend: 'WebAudio',
            waveColor: '#eeefda',
            progressColor: '#FAFCD2',
            displayMilliseconds: true,
            debug: true,
            cursorWidth: 1,
            hideScrollbar: true,
            plugins: [
                WaveSurfer.microphone.create({
                    bufferSize: 4096,
                    numberOfInputChannels: 1,
                    numberOfOutputChannels: 1,
                    constraints: {
                        video: false,
                        audio: true
                    }
                })
            ]
        },
        record: {
            audio: true,
            video: false,
            maxLength: 20,
            debug: true,
            audioEngine: 'vmsg',
            audioWebAssemblyURL: '../../node_modules/vmsg/vmsg.wasm'
        }
    }
}

Error output
N/A
Additional Information
I followed the videojs-record version from the example.
References:

React - videojs-record implementation
Audio Only Usage
vmsg plugin

versions
videojs
videojs-record: 4.4.0
vmsg: 0.4.0
I also tried it with:
vmsg: 0.3.6
browsers
Chrome Version 90.0.4430.93
Firefox Version 88.0
Edge Version 90.0.818.51
Safari Version 14.1
OSes
macOS Catalina Version 10.15.7

@overjoied can you create a screenshot of the issue?

here:
Control bar is hidden if I do this:
record: {
    audio: true,
    video: false,
    maxLength: 20,
    debug: true,
    // enable vmsg plugin
    audioEngine: 'vmsg',
    audioWebAssemblyURL: '../../node_modules/vmsg/vmsg.wasm'
    // use the pluginLibraryOptions option to specify optional settings for the
    // vmsg library. For example:
    //pluginLibraryOptions: {
    //    shimURL: '/static/js/wasm-polyfill.js',
    //    pitch: 1
    //}
}

I want it to be like this: with the control bar. Thank you for your response.

If there are no error messages, I'm not sure what to suggest here. Also: it's not working in a third-party framework (React), which I can't start debugging.

@overjoied have you finally succeeded in solving it? I'm facing the same bug and don't really know what to do as it's not giving any error in the console. it was working fine in my core javascript project, but when I moved my project to React, it stopped working unexpectedly. it's not even capturing any sound in my case


Free square fixes

Fixes:

Show free square as daubed
Make sure free square counts toward bingo

Fixes #6 and #7.

Can you toss a CSS class onto the free square too so we can style it specially later?


fix possible over-indexing

If a type conforming to DataProtocol has multiple regions then we would iterate over through the whole data multiple times, over-indexing the output array.

Checklist

[ ] I've run tests to see all new and existing tests pass
[x] I've followed the code style of the rest of the project
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary

Motivation:
[Explain here the context, and why you're making that change. What is the problem you're trying to solve.]
Modifications:
[Describe the modifications you've done.]
Result:
[After your change, what will change.]

I was looking for a way to pretty format hex data but decided to stay with data.map { String(format: %02x, $0) }.joined() as it is more readable and doesn't have a measurable performance impact for my use case. I also learned that String(bytesNoCopy:...) will still copy the buffer, so if the performance of hexString is critical then init(unsafeUninitializedCapacity:...) should be used where available.
Data (at least the cross-platform implementation) will always have 1 region, so currently it probably doesn't affect anyone but didn't want to leave the incorrect code in case it changes in the future or someone wants to use a different type that conforms to DataProtocol.

@swift-server-bot test this please


Subscribing on brand new cluster failing

I am having issues running unit tests against a brand new kafka/zookeeper cluster.  I pre-create the topics using command line tools but the first time I run the unit test against the cluster the subscribers never get the messages.  Whenever I run the test again it runs without error.  If I blow away the cluster, rebuild, and retry I get the same pattern of fail/pass (forever after).
I am using Elixir so hopefully the code is readable enough to find whatever the bug is.
Test Code
defmodule MultiPass.Kafka.BrodTest do
  use ExUnit.Case, async: false
  doctest MultiPass.Kafka.Brod
  alias MultiPass.Kafka.Brod

  # @moduletag :functional
  @topic1 "testtopic1"
  @topic2 "testtopic2"

  @delivery_timeout 10_000

  setup do
    {:ok, _} = Application.ensure_all_started(:brod)
  end

  describe "sending and receiving messages" do
    test "sends to all topics on a given group" do

      group1_id = random_key
      group2_id = random_key
      message1_key = random_key
      message2_key = random_key

      :ok = :brod.start_client([kafka: 9092], :client1, auto_start_producers: true)
      group_config = [offset_commit_policy: :commit_to_kafka_v2,
                      offset_commit_interval_seconds: 5,
                      rejoin_delay_seconds: 2
                     ]
      consumer_config = [begin_offset: :earliest]
      :brod.start_link_group_subscriber(:client1, "group1", [@topic1, @topic2], group_config, consumer_config, FakeClient, {self(), group1_id})
      :brod.start_link_group_subscriber(:client1, "group2", [@topic1], group_config, consumer_config, FakeClient2, {self(), group2_id})

      :brod.produce_sync(:client1, @topic1, 0, message1_key, "This is a test")
      assert_receive({ group1_id, {:kafka_message, _offset, _, _, message1_key, "This is a test", _crc}}, @delivery_timeout)
      assert_receive({ group2_id, {:kafka_message, _offset, _, _, message1_key, "This is a test", _crc}}, @delivery_timeout)
    end
  end

  def random_key do
    length = 10
    :crypto.strong_rand_bytes(length) |> Base.url_encode64 |> binary_part(0, length)
  end

end

Test output
 1) test sending and receiving messages sends to all topics on a given group (MultiPass.Kafka.BrodTest)
     test/multi_pass/kafka/brod_test.exs:20
     No message matching {group1_id, {:kafka_message, _offset, _, _, message1_key, "This is a test", _crc}} after 10000ms.
     The process mailbox is empty.
     stacktrace:
       test/multi_pass/kafka/brod_test.exs:41: (test)

     The following output was logged:

     14:50:38.385 [info]  group coordinator (groupId=group1,memberId=,generation=0,pid=#PID<0.168.0>):
     failed to join group
     reason::GroupCoordinatorNotAvailable

     14:50:38.385 [info]  group coordinator (groupId=group1,memberId=,generation=0,pid=#PID<0.168.0>):
     re-joining group, reason::GroupCoordinatorNotAvailable

     14:50:38.385 [info]  group coordinator (groupId=group2,memberId=,generation=0,pid=#PID<0.170.0>):
     failed to join group
     reason::GroupCoordinatorNotAvailable

     14:50:38.385 [info]  group coordinator (groupId=group2,memberId=,generation=0,pid=#PID<0.170.0>):
     re-joining group, reason::GroupCoordinatorNotAvailable

     14:50:38.385 [info]  group coordinator (groupId=group1,memberId=,generation=0,pid=#PID<0.168.0>):
     failed to join group
     reason::GroupCoordinatorNotAvailable

     14:50:38.385 [info]  group coordinator (groupId=group2,memberId=,generation=0,pid=#PID<0.170.0>):
     failed to join group
     reason::GroupCoordinatorNotAvailable

     14:50:40.280 [info]  group coordinator (groupId=group1,memberId=,generation=0,pid=#PID<0.168.0>):
     re-joining group, reason::GroupCoordinatorNotAvailable

     14:50:40.290 [info]  group coordinator (groupId=group2,memberId=,generation=0,pid=#PID<0.170.0>):
     re-joining group, reason::GroupCoordinatorNotAvailable

     14:50:40.318 [info]  group coordinator (groupId=group1,memberId=,generation=0,pid=#PID<0.168.0>):
     connected to group coordinator kafka:9092

     14:50:40.318 [info]  group coordinator (groupId=group2,memberId=,generation=0,pid=#PID<0.170.0>):
     connected to group coordinator kafka:9092

     14:50:40.340 [info]  group coordinator (groupId=group2,memberId=nonode@nohost/<0.170.0>-d7e1f29f-5f7d-42dc-911c-780135f1d72c,generation=1,pid=#PID<0.170.0>):
     elected=true

     14:50:40.341 [info]  group coordinator (groupId=group1,memberId=nonode@nohost/<0.168.0>-ac25fd8f-1a57-4597-9085-73c4d58ff0ec,generation=1,pid=#PID<0.168.0>):
     elected=true

     14:50:40.437 [info]  group coordinator (groupId=group1,memberId=nonode@nohost/<0.168.0>-ac25fd8f-1a57-4597-9085-73c4d58ff0ec,generation=1,pid=#PID<0.168.0>):
     assignments received:
     testtopic1:
         partition=0 begin_offset=undefined
     testtopic2:
         partition=0 begin_offset=undefined

     14:50:40.438 [info]  group coordinator (groupId=group2,memberId=nonode@nohost/<0.170.0>-d7e1f29f-5f7d-42dc-911c-780135f1d72c,generation=1,pid=#PID<0.170.0>):
     assignments received:
     testtopic1:
         partition=0 begin_offset=undefined

     14:50:40.449 [info]  client :client1 connected to kafka:9092

     14:50:48.028 [info]  group coordinator (groupId=group2,memberId=nonode@nohost/<0.170.0>-d7e1f29f-5f7d-42dc-911c-780135f1d72c,generation=1,pid=#PID<0.170.0>):
     leaving group, reason :shutdown

     14:50:48.028 [info]  group coordinator (groupId=group1,memberId=nonode@nohost/<0.168.0>-ac25fd8f-1a57-4597-9085-73c4d58ff0ec,generation=1,pid=#PID<0.168.0>):
     leaving group, reason :shutdown

Can you check which topics exist before you run the test, and after? bin/kafka-topics.sh --zookeeper localhost --list.
I suspect it might be that you have auto.create.topics.enable=true in kafka's server.properties, and topics that you create before test are not exactly those that test is using.

Before running we have:
testtopic1
testtopic2

After running
__consumer_offsets
testtopic1
testtopic2

It takes time to elect coordinator, default retry interval is perhaps too tight

@zmstone is that the rejoin_delay_seconds in the group configuration?  If so, I tried increasing it to 8 and set the test timeout to 20 secs.  I still get the same result.

@id Based on the difference in the topic lists above I tried precreating the __consumer_offsets topic.  That doesn't appear to have made a difference either.

It works for me when I use different clients for group1 and group2.
:ok = :brod.start_client([kafka: 9092], :client1, auto_start_producers: true)
:ok = :brod.start_client([kafka: 9092], :client2, auto_start_producers: true)

:brod.start_link_group_subscriber(:client1, "group1", [@topic1, @topic2], group_config, consumer_config, FakeClient, {self(), group1_id})
:brod.start_link_group_subscriber(:client2, "group2", [@topic1], group_config, consumer_config, FakeClient2, {self(), group2_id})

yes, one brod_consumer can accept only one subscriber because it has to track the acked offsets etc.

Hmm, I tried separate clients for the subscribers and a separate one for the producer and got no difference in behavior (e.g. the first run of tests still fails after building clean kafka and zookeeper containers).

Hi @meadoch1
I don't really have a nice solution for it.
The initial setup of consumer groups in kafka brokers are pretty expensive.
For example, it has to create the __consumer_offsets topic
before the brokers can start electing group coordinators.
A work around wold be to use brod or some other tool to trigger kafka brokers
initialize the __consumer_offsets topic as a part of you script which brings up the cluster.
Then you you have more deterministic in your tests.

Thanks @zmstone.  I'll try that and report back whether it fixes the issue.

@meadoch1 one possible solution is to call :brod_client.find_consumer(:client1, @topic1, 0) in a loop (with some sleep) right after you do start_link_group_subscriber and until you get an {:ok, pid}.

Thanks @id.  I'll try that first.

Using ':brod_client.find_consumer/3` did the trick.  Thanks @id and @zmstone for your help!  We're looking to use Kafka and Brod in some of our core backend systems.  So solving this is really helpful!

In case someone has a similar issue later here is the code that solved it for me
  def wait_for_subscriber_load(client, topic, partition, retry_ct \\ 0)
  def wait_for_subscriber_load(_client, _topic, _partition, 10) do
    :fail
  end
  def wait_for_subscriber_load(client, topic, partition, retry_ct) do
    Process.sleep((retry_ct * 1000) + 1)
    case Brod.find_consumer(client, topic, partition) do
      {:ok, _pid } -> :ok
      _ -> wait_for_subscriber_load(client, topic, partition, retry_ct + 1)
    end
  end

And using it like
      :brod.start_link_group_subscriber(:client1, group1_id, [@topic1, @topic2], FakeClient, {self(), group1_id})
      :ok = wait_for_subscriber_load(:client1, @topic1, 0)
      :ok = wait_for_subscriber_load(:client1, @topic2, 0)


Error in module import

A hello world app works fine.
but when I try to add imports of my modules, I get this ModuleNotFoundError or ImportError exceptions.
from my_module import MyClass
or
from .my_module import MyClass
Traceback (most recent call last):
  File "/usr/local/bin/japronto", line 7, in <module>
    from japronto.__main__ import main
  File "/usr/local/lib/python3.6/site-packages/japronto/__main__.py", line 29, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.6/site-packages/japronto/__main__.py", line 26, in main
    run(attribute, args)
  File "/usr/local/lib/python3.6/site-packages/japronto/runner.py", line 77, in run
    runpy.run_path(attribute)
  File "/usr/local/lib/python3.6/runpy.py", line 263, in run_path
    pkg_name=pkg_name, script_name=fname)
  File "/usr/local/lib/python3.6/runpy.py", line 96, in _run_module_code
    mod_name, mod_spec, pkg_name, script_name)
  File "/usr/local/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "app/japronto-app.py", line 9, in <module>
    from requisicao import Requisicao
ModuleNotFoundError: No module named 'requisicao'

JAPRONTO IS JUST FAST FAST AND FAST, ELSE NO DOCUMENT, NO QUALITY, NO CORE TEAM TO MAINTAIN, NO SUCH ROAD MAP FOR UPGRADE OR FUTURE PLAN.
FOCUS TO THIS, IS BIG FAIL IN PLAN TO USE THIS

I was having the same problem and I solved it using PYTHONPATH env variable. Just set it to your folder, the folder you want your modules to be loaded. In my case, using docker:
ENV PYTHONPATH /home/service

Hope this helps you!


Allow DELETE of a registry in "active" state

Version - V0.11.1
Option to delete a private registry that is in "Active" state is available on the API UI.
When deleting this registry , user is provided with "500 Internal Server Error"
Expected Behavior:
API UI should not expose "Delete" option for a private registry that is in "Active" state .
If user still attempts this action , we should be able to present a more meaningful error message.
HTTP Request:
HTTP/1.1 DELETE /v1/registries/1sp12
Host: <IP_ADDRESS>:8080
Accept: application/json
HTTP Response:
HTTP/1.1 500
Expires: Thu, 01 Jan 1970 00:00:00 GMT
X-API-Schemas: http://<IP_ADDRESS>:8080/v1/schemas
Server: Jetty(8.1.11.v20130520)
X-API-Client-IP: <IP_ADDRESS>
Content-Length: 176
Content-Type: application/json; charset=utf-8
{
"id": "0db8f021-ab33-4b52-8382-cec697e12530",
"type": "error",
"links": { },
"actions": { },
"status": 500,
"code": "Internal Server Error",
"message": "Internal Server Error",
"detail": null,
}

The API UI does not know anything about Rancher specifically, it's a totally generic client implementing the API Spec.
The spec has a way to specify which actions are available at the moment for a specific resource, and which [resource]methods are available for a resource type in general, but not which methods (PUT for editing and DELETE to remove) are availbale for a specific resource at this moment.
The Rancher UI currently takes advantage of a side-effect in the API server that causes update and remove to be exposed as actions to decide when to show Edit and Delete buttons, but the API UI can't do that (and be generic).
Separately, we should change the API so that the DELETE just always works.  Having to deactivate things before deleting is a pointless extra step for the user to click through.

Also if it is not allowed, it should return 405 Method Not Allowed, not a 500.  @hibooboo2 ?

Current behavior says method not allowed. 405.

Tested with build from master - Nov 19
Option to delete a private registry that is in "Active" state is available on the API UI.
But now when deleting this registry , user is presented with error message -  "Method not allowed"
{
"id": "95e03ab9-9723-4720-bb93-d0c53c9b776b",
"type": "error",
"links": { },
"actions": { },
"status": 405,
"code": "Method not allowed",
"message": "Method not allowed",
"detail": null,
}


415 Unsupported Media Type when requesting client access token from GetClientAccessTokenV2Async

Describe the bug
When requesting a Client Access Token from Communications.Authentication.GetClientAccessTokenV2Async, the request is encoded as Form Data. When calling this method with an access token, the result returned is null.
If I change the encoding in Communications\Authentication.cs to use JsonContent (see sample https://gist.github.com/lenkan/db28050fe8653890ac93e9f2ace7ba03), I receive a client access token.
Expected Behavior
A client access token is returned from the API.
Minimalistic code (recommended)
        var conferenceToken = await this.dolbyClient.Communications.Authentication.GetClientAccessTokenV2Async(
            apiToken,
            new[] {"*"});

Specifications

OS: Windows 11
Version:

DolbyIO.Rest 1.3.1
.NET 7

Forked the repo and committed my workaround as a reference.
https://github.com/DolbyIO/dolbyio-rest-apis-client-dotnet/commit/a424b5c75f539175405a7ae080558a2cebd0f4a6

Thanks a lot again @eliaspuurunen, I did not need to add another extension to send the Json payload as I had a set of extensions already in the project.


Editing a cell will suggest the available options from existing notes

What would you like to be added?
When I click into any field to add a value, it asks me for input with no ability to suggest from the already existing ones.
Why is this needed?
This is extremely helpful when I have a property for status with multiple options like in progress, todo, done, on hold etc and I have to type it each time I want to change it for any note.

I would consider this together with the requests mentioned in #743. The difference lies on the options feed, between choosing from pre-defined values and select existing ones. Design work is required here to handle the preference of the two feed schemes.
As a temp workaround, you can set the frequently used values as options via field config, which can be found in Table column's drop-down. Then the suggestion will be available.


[HOW-TO]

Question
**How to open record in subgrid- i have multiple grids - i am able to click on first grid record by using
global.xrmApp.Grid.OpenRecord(0);

but i dont know how to open record on second grid (Delivery Frequency)

Do we have solution for this? I too have same issue.

Please see and track #852 as @TYLEROL is currently doing work to address this.


Add comprehensive set of NumberingSystem constants

This PR adds static constants for all supported numbering systems as defined in number.xml, addressing issue #1052

Thanks for the PR! This change adds public symbols, so we'd want to draft a proposal according to the [Evolution process] (https://github.com/swiftlang/swift-foundation/blob/main/Evolution.md#abbreviated-review-for-minor-proposals). Let me know if I can help in anyway

Thanks for the PR! This change adds public symbols, so we'd want to draft a proposal according to the Evolution process. Let me know if I can help in anyway

Thank you! I apologize for missing this - I have created PR with the proposal: https://github.com/swiftlang/swift-foundation/pull/1061


Missing information adds some frustration with new features

On this help article, Manage app passwords for two-step verification (https://docs.microsoft.com/en-us/azure/active-directory/user-help/multi-factor-authentication-end-user-app-passwords#:~:text=To create app passwords using the Office 365,password%2C and then select Next. More items... ) it references the various areas that the app password feature is supposed to be located in depending on how settings are enabled,
**Where to create and delete your app passwords**
You can create and delete app passwords, based on how you use two-factor verification:

- **Your organization uses two-factor verification and the Additional security verification page.** If you're using your work or school account (such as<EMAIL_ADDRESS>with two-factor verification in your organization, you can manage your app passwords from the Additional security verification page. For detailed instructions, see Create and delete app passwords using the Additional security verification page in this article.

- **Your organization uses two-factor verification and the Office 365 portal.** If you're using your work or school account (such as, alain@contoso.com), two-factor verification, and Microsoft 365 apps in your organization, you can manage your app passwords from the Office 365 portal page. For detailed instructions, see Create and delete app passwords using the Office 365 portal in this article.

- **You're using two-factor verification with a personal Microsoft account.** If you're using a personal Microsoft account (such as<EMAIL_ADDRESS>with two-factor verification, you can manage your app passwords from the Security basics page. For detailed instructions, see Using app passwords with apps that don't support two-step verification.

The issue with this which makes it very frustrating is the new feature, Combined Security Information Registration Experience, which is bringing together Multi-factor Authentication registration and Self-service Password registration. NO WHERE in the article mentioned above, Manage app passwords for two-step verification, ever references or mentions that if the combined registration experience is turned on, then app passwords are now hidden under this.
Someone needs to update the first article, Manage app passwords for two-step verification, and under the section of Where to create and delete your app passwords, add another bullet point and link to the article for Combined security. Something like

Your organization uses two-factor verification and the Combined Security Information Registration feature. If you're using your work or school account (such as<EMAIL_ADDRESS>with two-factor verification in your organization, and the combined security experience allowing you to manage your Multi-Factor Authentication and Self-Service Password Reset settings, you can manage your app passwords from the My Security Info page. NOTE: App passwords are available only to users who have been enforced for Multi-Factor Authentication. App passwords are not available to users who are enabled for Multi-Factor Authentication via a Conditional Access policy. For more information, see Combined security information registration for Azure Active Directory overview (https://docs.microsoft.com/en-us/azure/active-directory/authentication/concept-registration-mfa-sspr-combined). For detailed instructions, see Create app passwords from the Security info (preview) page (https://docs.microsoft.com/en-us/azure/active-directory/user-help/security-info-app-passwords)

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

ID: 8751595d-4839-d2ee-1e2c-16d07ef84a2d
Version Independent ID: e66f96b3-5b88-9304-1ec0-9e3bb8a2cfbe
Content: How to manage app passwords - Azure Active Directory
Content Source: articles/active-directory/user-help/multi-factor-authentication-end-user-app-passwords.md
Service: active-directory
Sub-service: user-help
GitHub Login: @curtand
Microsoft Alias: curtand

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

Hey @reynolwi
Thanks for providing feedback that helps improve our documentation. Unfortunately, at this time we have been unable to review your issue in a timely manner and we sincerely apologize for the delayed response.  We are currently updating all the end-user content and will be migrating to the Microsoft Support site. We are closing the issue as we are migrating the content to a new site. #please-close


Have instructions for running tests in vagrant outside of the shared folder.

Replaced by https://clusterhq.atlassian.net/browse/FLOC-181
Vagrant's shared folder behaves oddly with regard to permissions (#111, #173). We should have instructions on how to run the tests inside vagrant that doesn't run into that problem.

We are moving our development planning to JIRA. This issue is now being tracked at https://clusterhq.atlassian.net/browse/FLOC-181. You are welcome to file additional issues in GitHub if that's easier for you.


clightning: 0.9.2 -> 0.9.3

Motivation for this change

version update
cleanup package

Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build clightning

This is a semi-automatic executed nixpkgs-review which is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
If you have any questions or problems please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 110236 run on x86_64-linux 1

1 package failed to build and are new build failure:

clightning: log https://termbin.com/krdj

This is a semi-automatic executed nixpkgs-review which is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
If you have any questions or problems please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 110236 run on x86_64-linux 1

1 package failed to build and are new build failure:

clightning: log https://termbin.com/krdj

@GrahamcOfBorg build clightning

@GrahamcOfBorg build clightning


More flexible check for media query

return parent.name === 'media' && parent.params === '(color-gamut: p3)'

This check is too strict. It doesn’t allow media query like:
@media (prefers-color-scheme: dark) and (color-gamut: p3) { }

or even CSS after minification (no space before p3:
@media (color-gamut:p3){}

I suggest changing check to:
return parent.name === 'media' && /\(color-gamut:\s*p3\)/.test(parent.params)

True, even more bugs will arise later. Thanks for suggestion, I will add some tests and change the check today.

@ai The changes are made, thanks for contributing!


BadMethodCallException Method validate does not exist.

Laravel Version
5.5.50
PHP Version
7.0.0
Database Driver & Version
No response
Description
hello, am new to laravel i been forcing this problem when i tried to signup but actual the project was not created by me below is the registercontroller.php
Steps To Reproduce
`<?php
namespace App\Http\Controllers\Auth;
use App\User;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Support\Facades\Response;
class RegisterController extends Controller
{
/*
|--------------------------------------------------------------------------
| Register Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users as well as their
| validation and creation. By default this controller uses a trait to
| provide this functionality without requiring any additional code.
|
*/
use RegistersUsers;

/**
 * Where to redirect users after registration.
 *
 * @var string
 */
protected $redirectTo = '/';

/**
 * Create a new controller instance.
 *
 * @return void
 */
public function __construct()
{
    $this->middleware('guest');
}

/**
 * Get a validator for an incoming registration request.
 *
 * @param  array  $data
 * @return \Illuminate\Contracts\Validation\Validator
 */
protected function validator(array $data)
{
    $validator = Validator::make($data, [
        'name' => 'required|string|max:255',
        'email' => 'required|string|email|max:255|unique:users',
        'password' => 'required|string|confirmed|min:6',
		'phoneNo'=>'required|min:12|numeric',
		'address'=>'required',
		'image'=>'required|image|mimes:jpg,png,jpeg',
		'check' => 'required',
    ]);
	if ($validator->fails())
	{
		return Response::json(['errors' => $validator->errors()]);
    }
}

/**
 * Create a new user instance after a valid registration.
 *
 * @param  array  $data
 * @return \App\User
 */
protected function create(array $data)
{

    $user = User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => md5($data['password']),
		'phone_no' => $data['phoneNo'],
		'address'=>$data['address'],
		'image'=>$data['image']->store('profile'),
    ]);
	Auth::login($user);
	return redirect('/')->with('success', 'Thanks for Registrating With us');
}

}`

Hey there,
Unfortunately we don't support this version of the library anymore. Please check out our support policy on which versions we are currently supporting. Can you please try to upgrade to the latest version and see if your problem persists? If so, please open up a new issue and we'll help you out.
Thanks!


fix: tokens temp fix when USDC not in tokenlists [SBK-240]

What I did
until we have our own tokenlist, this allows the example to work on optimism and arby
How I did it
How to verify it
Checklist

[ ] Passes all linting checks (pre-commit and CI jobs)
[ ] New test cases have been added and are passing
[ ] Documentation has been updated
[ ] PR title follows Conventional Commit standard (will be automatically included in the changelog)

I think that the example should just be simple and work only on mainnet ethereum


Revert Spark UT framework [databricks]

…ts (#10743)"
This reverts commit 4dee2f841cfe4b102c2837f715f060e144502eed.
Because something went wrong with the databricks build.

build

build

As we filed https://github.com/NVIDIA/spark-rapids/pull/10796 to fix the problem, we can close this PR.


Upgrade from 8.0 to 8.1

With the release of application 8.1 is there anything specific required to move from 8.0 to 8.1?  Also, do I need to perform a code upgrade if my customisations are already on 8.0?

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

ID: 0ced3fde-f2c4-5fbe-f543-fac25f846a34
Version Independent ID: 25e679fc-0ed8-fe8b-bb77-394e7047182c
Content: Process for moving to the latest update of Finance and Operations - Finance & Operations | Dynamics 365 | #MSDyn365FO
Content Source: articles/dev-itpro/migration-upgrade/upgrade-latest-update.md
Service: dynamics-ax-platform
GitHub Login: @robadawy
Microsoft Alias: tabell

We'll soon be publishing a topic about updating from 8.0 to 8.1. I'll let you know when it's available.

For information about how to update environments from 8.0 to 8.1 please see Update environments from version 8.0 to 8.1.


Some APIs return 404 on twitter deployed version

Status

[ ] /:owner/:repo/timeseries/issue_comments
[x] /:owner/:repo/watchers (Note: Has been moved to /:owner/:repo/timeseries/watchers)
[ ] /:owner/:repo/timeseries/community_age
[ ] /:owner/:repo/timeseries/contributions
[ ] /:owner/:repo/timeseries/project_age
[x] /:owner/:repo/timeseries/pulls/acceptance_rate (Has been deprecated)

The API /:owner/:repo/timeseries/issue_comments returns a 404 for the twitter deployed version. Examples -
http://twitter.augurlabs.io/api/unstable/twitter/twemoji/timeseries/issue_comments
http://twitter.augurlabs.io/api/unstable/twitter/finatra/timeseries/issue_comments

Same issues with :/:owner/:repo/watchers
Both are the only two APIs under Activity section

Same issue with :owner/:repo/timeseries/community_age
Example: http://twitter.augurlabs.io/api/unstable/twitter/finatra/timeseries/community_age
http://twitter.augurlabs.io/api/unstable/twitter/twemoji/timeseries/community_age

Same issue with /:owner/:repo/timeseries/contributions
Examples -
http://twitter.augurlabs.io/api/unstable/twitter/finagle/timeseries/contributions
http://twitter.augurlabs.io/api/unstable/twitter/twemoji/timeseries/contributions

Same issue with /:owner/:repo/timeseries/project_age
Examples -
http://twitter.augurlabs.io/api/unstable/twitter/twemoji/timeseries/project_age
http://twitter.augurlabs.io/api/unstable/twitter/finagle/timeseries/project_age

Same issue with /:owner/:repo/timeseries/pulls/acceptance_rate
Examples-
http://twitter.augurlabs.io/api/unstable/twitter/finagle/timeseries/pulls/acceptance_rate
http://twitter.augurlabs.io/api/unstable/rails/rails/timeseries/pulls/acceptance_rate

Hi @OrkoHunter,
Looking at our latest dev build, most of these metrics have been converted into a timeseries if they weren't already, and if they were a timeseries metric they have been converted into a non-timeseries metric (if that makes sense). My guess is that most of these did not get updated or tested correctly before they got deployed since we don't have frontend visualizations for most of these metrics.
As a result, I figured that /:owner/:repo/watchers should actually be /:owner/:repo/timeseries/watchers. The others, I'm not sure about, but I will look into them tonight for you! Sorry about all these broken endpoints!

Bringing the watchers metric to timeseries is a fantastic feature. Thanks for that! (Marking it solved)
There is absolutely no need to be sorry, thank you all for working on this wonderful project. :)

That's for the update on this @howderek!

Documentation should be up to date on this now - if there are still any broken endpoints, feel free to reopen.


Train on low rate video (5-10fps)?

I find your model behave bad on low rate video (5-10fps), I wonder how to fix this?  Maybe Train on low rate videos can help? Thanks a lot.

I want to convert a 10FPS video to 30Fps

You can use our trained models for performing this interpolation.
Thanks.


unify the internal date type

Upgrade to Java 8 time API, unify the internal date type to OffsetDateTime.
Kept java.util.Date and Calendar in some logger classes and utilities which is not related to the internal data structure.
Fix Issue #1588

@jackyq2015 you forgot to add Nano support to datePart()

@thadguidry It is already in datePart():
if ("nanos".equals(part) || "nano".equals(part) || "n".equals(part)) {

Let's just merge this and hope that the inevitable bugs that will arise early enough…


CB-11232:

Adding whitelist rule to config.xml before Appium tests launch
Fixed tapElementByXPath to correctly tap on elements when their location has a fractional number

https://issues.apache.org/jira/browse/CB-11232

Some background on this:
Tests were failing because Appium callback couldn't reach the Appium server from app side due to whitelist restrictions, therefore any executeAsync would fail.
The fix is to include <access origin="*" /> to config.xml file before test run.
Also, as a small improvement I've fixed tapElementByXPath function to work with fractional numbers. This also was a cause of test failures.

Related PR for camera plugin: https://github.com/apache/cordova-plugin-camera/pull/214

LGTM


helm repo add command doesn't work on Windows

helm repo add command fails when I try to add one of my helm chart repo created in google bucket using my Windows 10 laptop.
Error: helm\plugins\helm-gcs\scripts\pull.sh: %1 is not a valid Win32 application.
I know this can be over come by using WSL or cygwin but we are going to deploy a solution for users where they might not have any of the WSL or cygwin installed on their systems.

Is there any update or workaround to tgis other than what I mentioned?

still looking for one


Directory traversal vulnerability

I have wrote this report to klacke but seems haven't yet get the attention for pretty serious vulnerability in yaws, example case :
http://yaws.hyber.org/ca/..\\..\\..\\..\\..\\..\\/\\etc/\\passwd
http://yaws.hyber.org/ca/..\\..\\..\\..\\..\\..\\/\\etc/\\group

On 11/23/2011 06:45 PM, trippleflux wrote:

I have wrote this report klacke but seems haven't yet get the attention for pretty serious vulnerability in yaws, example case :
http://yaws.hyber.org/ca/..\\..\\..\\..\\..\\..\\/\\etc/\\passwd
http://yaws.hyber.org/ca/..\\..\\..\\..\\..\\..\\/\\etc/\\group

Wow, horrible, will act immediately.
Thanks
/klacke

I have reported this issue to debian by filing a bug against the yaws package (the version in unstable was vulnerable). The package maintainer has meanwhile patched their version using Uwes fix to close the hole.
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=650009

I am working for the project using Yaws http server!  May I consult you questions?
Why do Yaws exits the problem?  Have Yaws called Mod:out() before appear the problem？
At list, If I want to read the code of Yaws, Where and How do I start?

Thanks!


error while trying to build python

I got this error while trying to build python using python builder method

Cannot reproduce

it's solved now.


Timeline: Should untitled file have an "Uncommitted Changes" note

Issue Type: Question
Testing https://github.com/microsoft/vscode/issues/93819.
Not quite sure what I'd expect in this case but I though I file it anyways:

Create a new untiled file
=> no timeline information was provided

For named files we show an "Uncommitted Changes" node.


Front Page DeepExplainer MNIST Example is broken

Hi maintainers,
Just wanted to report the "Front Page DeepExplainer MNIST Example" is broken and showing the following exception:

Thank you very much for your awesome work on this project!
Zvi

I also encountered the Similar question when using TF1.x version, but this example works after changing the tensorflow version to 2.3.0.

I wonder if you ran the first example successfully（Compute importance scores）.I tried different versions and still get errors


OKE-28119 : Multi arch support

Support for linux/arm and linux/amd added.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2234

Relevant Lines:
3423

💛  - Coveralls


Could you please provide the version of jax, jaxlib and flax used in this repository?

Very thankful for your impressive work in implementing the NeRF-based methods. However, when I was training the network, I encountered the problem of incompatibility. The usage of some functions is changed in the new version, such as jax and flax. May I know the installed version of jax, jaxlib, and fax?

We used the most recent public versions of all three libraries. Can you tell us more about the incompatibility issues you're having?

We used the most recent public versions of all three libraries. Can you tell us more about the incompatibility issues you're having?

Thanks for your reply. In the beginning, I had python 3.6 installed. But the recent versions of jax, jaxlib, and flax do not support python 3.6. After I upgraded to python 3.8, the issues are overcomes.
Thanks for your work.


Documentation for Binary Quantization Support with KNN Vector Search

Description
This PR introduces detailed documentation for Binary Quantization support in the k-NN plugin, including how to configure, fine-tune, and optimize k-NN vector indices using Binary Quantization. Key highlights of this update are as follows:
Key Changes:

Introduction to Binary Quantization:

Binary Quantization allows vectors to be quantized into binary representations (1-bit, 2-bit, or 4-bit) to reduce memory footprint and speed up search performance.
It provides compression rates of 32x, 16x, and 8x respectively for 1-bit, 2-bit, and 4-bit quantization, drastically reducing memory usage.

Out-of-the-Box Experience:

Default 1-bit binary quantization is supported without any additional configuration, offering 32x compression and default parameters for ef_search and ef_construction (both set to 100).

Customization and Fine-tuning: Users can further optimize the indexing and search processes by specifying custom parameters like:

ef_construction: Adjusting the construction of HNSW graphs.
compression_level: Providing different compression levels such as 32x for 1-bit, 16x for 2-bit, and 8x for 4-bit.
oversample_factor: Fine-tuning search accuracy by oversampling neighbors during the search process.

Memory Estimation for Binary Quantization:

Provided memory estimation formulas for HNSW graph construction for 1-bit, 2-bit, and 4-bit quantization, helping users estimate the memory requirements based on their vector dimensions and index configurations.

Example Configurations:

Basic Binary Quantization Example: Demonstrates how to configure Binary Quantization with minimal setup and default 1-bit quantization.
Advanced Configurations: Shows how to customize parameters like compression level and ef_construction to achieve optimal performance for different use cases.

Issues Resolved
Closes #[insert issue number]
Version
2.17
Frontend features
If you're submitting documentation for an OpenSearch Dashboards feature, add a video that shows how a user will interact with the UI step by step. A voiceover is optional.
Checklist

[ ] By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and subject to the Developers Certificate of Origin.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@Vikasht34 Please let me know when this PR is ready for doc review. Thanks!

@Vikasht34 Please let me know when this PR is ready for doc review. Thanks!

Please start review!!


Add git package

Would you please sign CLA so I can merge this change? I understand that it's small but still we need to follow the process. Sorry for the inconvenience.

@juliengk can you please sign the CLA? :)


Preview is inverse

how to fix  mirror effect.

This library is not maintained anymore.
Use CameraX Preview instead of this library.


Adjust indentation when saving incvrements to match changes in oops

Description
I changed the indentation that write increment needs to have, it is now under online diagnostics.
Dependencies

waiting on JCSDA-internal/oops/pull/1276

oops PR was merged, this PR can be merged now.


changed line 217 & 218

converted the data to kannada language

Changes are descoped hence closing the PR.


feat: add workflows quickstart

Creates a workflows quickstart (simple program for running a workflow and waiting for results).
Based on Node quickstart: https://github.com/GoogleCloudPlatform/nodejs-docs-samples/blob/master/workflows/quickstart/test/quickstart.test.js

[ ] I have followed Sample Format Guide
[ ] pom.xml parent set to latest shared-configuration
[ ] Appropriate changes to README are included in PR
[x] API's need to be enabled to test (tell us)

workflows.googleapis.com

[ ] Environment Variables need to be set (ask us to set them)
[ ] Tests pass:   mvn clean verify required
[x] Lint  passes: mvn -P lint checkstyle:check required
[ ] Static Analysis:  mvn -P lint clean compile pmd:cpd-check spotbugs:check advisory only
[x] Please merge this PR for me once it is approved.

@grant Will you be completing this sample?

Closing the PR for now. May re-open later.


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-2.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 2668

Questions ?
Please refer to the Backport tool documentation


python312Packages.lxmf: 0.5.5 -> 0.5.6, python312Packages.rns: 0.8.3 -> 0.8.4

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 348206 run on x86_64-linux 1

12 packages built:

python311Packages.lxmf
python311Packages.lxmf.dist
python311Packages.nomadnet
python311Packages.nomadnet.dist
python311Packages.rns
python311Packages.rns.dist
python312Packages.lxmf
python312Packages.lxmf.dist
python312Packages.nomadnet
python312Packages.nomadnet.dist
python312Packages.rns
python312Packages.rns.dist

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 348206

x86_64-linux

:white_check_mark: 12 packages built:

python311Packages.lxmf
python311Packages.lxmf.dist
python311Packages.nomadnet
python311Packages.nomadnet.dist
python311Packages.rns
python311Packages.rns.dist
python312Packages.lxmf
python312Packages.lxmf.dist
python312Packages.nomadnet
python312Packages.nomadnet.dist
python312Packages.rns
python312Packages.rns.dist


migration in version 6 doesnt work

Hi thanx for awesome package.
I was using the package v5 and it is perfect and working perfectly but yesterday i started a new project and I attempt to install the new version of the package which was v6 and after coping my modules from another project some of them has migrated perfectly but majority of them didn't.
I used "php artisan migrate" command and it did not migrate all of the migrations but then I used "php artisan module:migrate ModuleName" and It worked. but there is a problem, I am using config file for declaring table names and using that config address in the Schema::create(config('ModuleName.tableNames.article), function() { ... }) and the package does not recognize the config file in v6 while it is working fine in the v5.
the error message for migration the module with table names in config file says: cant create table ' '

HI,
Did you run the migration command to migrate your modules to the v6 setup?
php artisan module:v6:migrate

unfortunately I have a deadline to reach and I have forced to change the module version to v5. Don't close the issue, I will test it.


Bot seems to not see any pokemon after a while

https://www.reddit.com/r/pokemongobotting/comments/4vftw9/if_your_bot_has_stopped_catching_pokemon_its/
Is there a fix implemented yet?

I think throttling is already implemented.

How do i apply throttling?

Can someone confirm?

for what it's worth, I noticed this a long time ago, and it was just because my bot had wandered into a place with few spawns, even though it started in a very populated location. but to answer the other points made, yes, there is some throttling implemented, and 5 second throttling for pokemon checks are coming soon.


fix: react-query typescript in connect-query-plugin

I was discovered that there is an inconsistency with the parameters passed to the useInfiniteQuery function, particularly when using useInfiniteQuery. This inconsistency results in type mismatch errors.
Current Implementation:
The useInfiniteQuery function has the following signature:
useInfiniteQuery: <ParamKey extends keyof PartialMessage<I>>(
  input: DisableQuery | PartialMessage<I>,
  options: BaseInfiniteQueryOptions<I, O, ParamKey> & RequireExactlyOne<{
    applyPageParam: (options: {
      pageParam: PartialMessage<I>[ParamKey] | undefined;
      input: PartialMessage<I>;
    }) => PartialMessage<I>;
    pageParamKey: ParamKey;
  }>
) => {
  // Implementation details...
};

However, in the useSayInfiniteQuery function, the queryOptions and options are made optional:
export const useSayInfiniteQuery = (
  inputs: Parameters<typeof say.useInfiniteQuery>[0],
  queryOptions?: Partial<UseInfiniteQueryOptions<PartialMessage<SayRequest>, ConnectError>>,
  options?: Parameters<typeof say.useInfiniteQuery>[1],
) => {
  const baseOptions = say.useInfiniteQuery(inputs, options);
  return useInfiniteQuery({
    ...baseOptions,
    ...queryOptions,
  });
};

However, the options parameter is currently required in useInfiniteQuery. To address this, we propose swapping the order of queryOptions and options, making options required instead. This adjustment will not only ensure consistency but also enhance code readability. We'll also need to update the order of parameters for other hooks to maintain uniformity across the project
PLEASE HELP HAVE A LOOK
Also, there is an issue with the useInfiniteQuery function when the InputRequest is an empty object (PartialMessage = {}). This leads to a TypeScript error in certain scenarios.
useInfiniteQuery: <ParamKey extends keyof PartialMessage<I>>(input: DisableQuery | PartialMessage<I>, options: BaseInfiniteQueryOptions<I, O, ParamKey> & RequireExactlyOne<{
        applyPageParam: (options: {
            pageParam: PartialMessage<I>[ParamKey] | undefined;
            input: PartialMessage<I>;
        }) => PartialMessage<I>;
        pageParamKey: ParamKey;
    }>) => {
        enabled: boolean;
        queryKey: ConnectQueryKey<I>;
        queryFn: (context: QueryFunctionContext<ConnectQueryKey<I>, PartialMessage<I>[ParamKey]>) => Promise<O>;
        getNextPageParam: GetNextPageParamFunction<O>;
        onError?: (error: ConnectError) => void;
    };

with

PartialMessage = {}
<ParamKey extends keyof PartialMessage> = never

EX in useWorkInfiniteQuery
it said
      Types of property 'queryFn' are incompatible.
        Type '(context: QueryFunctionContext<ConnectQueryKey<Nothing>, never>) => Promise<Nothing>' is not assignable to type 'QueryFunction<Nothing, ConnectQueryKey<Nothing>>'.

also tried to rteplace ConnectQueryKey = never but it's said
        Type '(context: QueryFunctionContext<ConnectQueryKey<Nothing>, never>) => Promise<Nothing>' is not assignable to type 'QueryFunction<Nothing, ConnectQueryKey<Nothing>>'.

I've make an change like this
return useInfiniteQuery<Nothing, ConnectError, Nothing, keyof typeof inputs extends never ? any : ConnectQueryKey<Nothing>>({
        ...baseOptions,
        ...queryOptions,
    });

if keyof InputRquest is never, take any to bypass this situation.
Otherwise, it works well in others

@vctqs1 Things just got a little busy on my end, but I promise I haven't forgotten. I'll take a look at this sometime this week, just trying to clear my plate a little.

@paul-sachs hi,  just resolve the conflicts, please help me review it when you can. thank you

@paul-sachs please help me know if I need to do anything else to get it merge thank you

@paul-sachs Could you help, please let me know when it can be published? I'm waiting to use it


OAuth2Module: Don't throw away errors

RFC 6759 section 5.2 specifies the error data that can be returned when requesting an access token. Rather than discarding this data, we should return it to the user if it is available.

+1


How to Persist PDF Zoom Level Centered at Top white rotating

Hello,
I'm currently building an app that includes a feature called "lock zoom," which aims to persist the zoom level of a PDF.
The feature works fine if I use it in the same orientation because I just call setZoom. However, when I rotate the phone, I need to persist the zoom of the PDF. To achieve this, I need to adjust the zoom level based on the screen size. Since I don't know how to calculate the top position of the PDF, I use the center position and then use goToArea later.
While I have managed to implement this feature as a workaround, it does not work smoothly but gives me the desired result. I believe there might be a better implementation that I have missed. Any guidance or support on this matter would be greatly appreciated.
Here is the relevant code snippet:
final firstRun = useRef(true);
useEffect(
  () {
    // Only run the function after the first build, so it only runs when the orientation changes
    if (firstRun.value) {
      firstRun.value = false;
      return;
    }

    final currentZoom = pdfCtr.currentZoom;
    final portraitViewWidth = context.actualScreenWidth;
    final landscapeViewWidth = context.actualScreenHeight;

    final newZoom = context.isLandscape
        ? (landscapeViewWidth / portraitViewWidth) * currentZoom
        : (portraitViewWidth / landscapeViewWidth) * currentZoom;

    final persistedZoomValue = ref.read(_zoomProvider);
    final offset = Offset(
      persistedZoomValue?.dx ?? pdfCtr.centerPosition.dx,
      persistedZoomValue?.dy ?? pdfCtr.centerPosition.dy,
    );

    final rec = pdfCtr.visibleRect;
    final bottom = rec.bottom + context.screenHeight;

    final adjustedRect = Rect.fromLTRB(rec.left, rec.top, rec.right, bottom);

    // Only delay which makes zoom work
    Future.delayed(10.milliseconds).then((_) {
      pdfCtr.setZoom(offset, newZoom).then((_) {
        pdfCtr.goToArea(
          rect: adjustedRect,
        );
      });
    });

    return null;
  },
  [context.isLandscape],
);

return PdfViewer.file(
  path,
  controller: pdfCtr,
  params: PdfViewerParams(
    backgroundColor: backgroundColor,
    panEnabled: true,
    enableTextSelection: false,
    scaleEnabled: true,
    panAxis: lockHorizontalScroll ? PanAxis.vertical : PanAxis.free,
    onInteractionEnd: (details) {
      // Persist for local state use
      EasyDebounce.debounce(
        'persist-local-zoom',
        100.milliseconds,
        () {
          final offsetX = pdfCtr.centerPosition.dx;
          final offsetY = pdfCtr.centerPosition.dy;
          final zoom = pdfCtr.currentZoom;
          ref.read(_zoomProvider.notifier).state = (dx: offsetX, dy: offsetY, zoom: zoom);
        },
      );
    },
  ),
)

Below is a video demonstrating the feature:
https://github.com/espresso3389/pdfrx/assets/78638472/61c0cd23-31b1-4043-87a1-9b701dca9d89
Thank you

1.0.73 introduces PdfViewerParams.onViewSizeChanged, which is called on view size change.
The following fragment illustrates how to use it to keep the same point shown on the device screen center during device rotation:
https://github.com/espresso3389/pdfrx/blob/master/example/viewer/lib/main.dart#L252C1-L271C23
onViewSizeChanged: (viewSize, oldViewSize, controller) {
    if (oldViewSize != null) {
      //
      // Calculate the matrix to keep the center position during device
      // screen rotation
      //
      // The most important thing here is that the transformation matrix
      // is not changed on the view change.
      final centerPosition =
          controller.value.calcPosition(oldViewSize);
      final newMatrix =
          controller.calcMatrixFor(centerPosition);
      // Don't change the matrix in sync; the callback might be called
      // during widget-tree's build process.
      Future.delayed(
        const Duration(milliseconds: 200),
        () => controller.goTo(newMatrix),
      );
    }
  },

Awesome, Thank you very much for continuously enhancing its customizability.


Update Grunt dependency

Currently on ~0.4, should be fixed since this will prevent projects from upgrading to the latest version of Grunt.

Please post new version to npm as soon as you have time!

+1

Duplicate of https://github.com/jharding/grunt-exec/pull/68

+1

npm install grunt grunt-exec
npm ERR! peerinvalid The package<EMAIL_ADDRESS>does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants grunt@>= 0.4.5
npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>

Hey guys, just use https://github.com/sindresorhus/grunt-shell which is up-to-date :)

if this wouldn't be 3rd-party-code - why not...

Thank you @Miw0, I'll try it out as an alternative.  This repo appears to be dead which is unfortunate given the 5k downloads per day.

Hi @markusbrunner-design I have forked this repo, resolved js-lint issues, resolved win32 issues, resolved package.json license issue, got a travis CI build going, and have reached out to NPM and @jharding to hopefully replace grunt-exec with this new community-driven variation.  Repo here: https://github.com/gwicksted/grunt-exec

gwicksted: Thanks, now "upload to" https://www.npmjs.com/package/grunt-exec ;-)

@panther7 coming soon! @jharding has added myself as an owner of the npmjs grunt-exec package.  He has also offered to allow me to modify this repo instead of maintaining the fork which would be great.

Really nice news! Thank you for overtaking this repo :)
Von meinem iPhone gesendet

Am 11.05.2016 um 22:46 schrieb Graeme Wicksted<EMAIL_ADDRESS>@panther7 coming soon! @jharding has added myself as an owner of the npmjs grunt-exec package. He has also offered to allow me to modify this repo instead of maintaining the fork which would be great.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub

Fixed in 0.4.7 (latest)

@gwicksted Thanks!!!