Fix for CRLF issue when working repo on linux/mac

From Thanpolas on October 29, 2012 03:29:41
Hi,
i forked and checked out the project on my mac and it went a bit crazy with the crlf line endings...
To fix that i had to create a .gitattributes file, here's the commit: https://code.google.com/r/thanpolas-jquery-csv/source/detail?r=733b531727e169a10cd8743a78b5485d7d80466b&name=gitattributes-crlf-fix
Original issue: http://code.google.com/p/jquery-csv/issues/detail?id=16

From<EMAIL_ADDRESS>on October 29, 2012 21:02:32
What's the big deal? Line endings are nothing but window dressing anyway... The code works fine without them and we're not fancy enough to use carriage returns here? /s
I'm kidding. It's probably jumbling the code for you because all of the development on jquery-csv happens in linux (which uses lf not crlf). I'm also using Notepad++ (via WINE) so it should be trivial to batch convert everything to crlf.
I'll let you know as soon as the source is ready.
Status: Accepted
Labels: -Priority-Medium Priority-Low

From Thanpolas on October 30, 2012 11:19:21
Actually my issue is with git, not my ide...
I have my git configured so as to convert crlf to lf, which is the default setting on most unix based machines.
This causes each checkout, to have uncommitted changes by default.
Adding the ".gitattributes" file, fixes that.
However, yea it would be a good idea to convert all to LF

From<EMAIL_ADDRESS>on October 30, 2012 16:58:49
Go figure.  As a result, half of the project files use CRLF, the other half use LF.
The project-wide convention is LF. I had to add an additional line-conversion commit to the repo but everything should be consistent now.
Quick question, you're saying the following setting sets all line endings to lf on commit?
# Set default behaviour, in case users don't have core.autocrlf set.

text=crlf

From Thanpolas on October 31, 2012 02:16:49
The .gitattributes file helps ignore the crlf issue.
If you want it to force normalization then it's better you see this article: http://git-scm.com/book/en/Customizing-Git-Git-Configuration#Formatting-and-Whitespace

From<EMAIL_ADDRESS>on October 31, 2012 22:54:03
OK, thanks for clarifying.
I'll add the .gitattributes to ensure that I don't accidentally add crlf to any documents I create in the future (as git should notify where any inconsistencies occur).
I'd like to say that this is an uncommon issue but it's not the first time I have encountered it. At least, now I have a workable solution.
Thank you for the feedback.

From<EMAIL_ADDRESS>on October 31, 2012 22:54:22
Status: Verified

From<EMAIL_ADDRESS>on November 04, 2012 15:03:07
Owner<EMAIL_ADDRESS>


Url live display

takes input text from form and displays below formatted as URL example
https:// + Bagof.party + /7h0p/ + "input-text-from-form"
The issues is that the random letter/number combo is not the same as generated on server


KDE Display Issue on Arch Linux

xrdp version
0.10.1-1
Detailed xrdp version, build options
xrdp 0.10.0
  A Remote Desktop Protocol Server.
  Copyright (C) 2004-2024 Jay Sorg, Neutrino Labs, and all contributors.
  See https://github.com/neutrinolabs/xrdp for more information.

  Configure options:
      --prefix=/usr
      --sysconfdir=/etc
      --libexecdir=/usr/lib
      --localstatedir=/var
      --sbindir=/usr/bin
      --with-systemdsystemunitdir=/usr/lib/systemd/system
      --enable-jpeg
      --enable-tjpeg
      --enable-fuse
      --enable-fdkaac
      --enable-opus
      --enable-rfxcodec
      --enable-mp3lame
      --enable-pixman
      --enable-painter
      --enable-vsock
      --enable-ipv6
      --enable-pam-config=arch
      --enable-rdpsndaudin
      --with-imlib2
      CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection         -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/home/anonymous/xrdp/src=/usr/src/debug/xrdp -flto=auto
      LDFLAGS=-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now          -Wl,-z,pack-relative-relocs -flto=auto
      CXXFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection         -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/home/anonymous/xrdp/src=/usr/src/debug/xrdp -flto=auto

  Compiled with OpenSSL 3.3.1 4 Jun 2024

Operating system & version
Arch Linux
Installation method
git clone & make install
Which backend do you use?
xorgxrdp
What desktop environment do you use?
KDE
Environment xrdp running on
Hyper-V VM
What's your client?
Microsoft RDP client
Area(s) with issue?
Graphic glitches
Steps to reproduce
Successfully connect and authenticate using xrdp and a widescreen monitor with a maximum resolution of 5120x1440.
✔ Expected Behavior
To see the desktop.
❌ Actual Behavior
I have a Samsung Odyssey G9 monitor with maximum resolution of 5120x1440.
I am able to authenticate and login using xrdp.
However, the screen is only partially updated. I can see the KDE spin icon in a small area of the screen (which keeps spinning) and a small subsection of the bottom left corner where task bar icons are, but most of it is just the default Microsoft blue RDP screen.
Anything else?
/var/log/xdrp.log
[2024-07-27T10:51:37.373-0400] [INFO ] Socket 14: connection accepted from [::ffff:<IP_ADDRESS>]:58215
[2024-07-27T10:51:37.377-0400] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
[2024-07-27T10:51:37.379-0400] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem
[2024-07-27T10:51:37.382-0400] [INFO ] Security protocol: configured [SSL|RDP], requested [SSL|HYBRID|HYBRID_EX|RDP], selected [SSL]
[2024-07-27T10:51:37.422-0400] [ERROR] SSL_read: I/O error
[2024-07-27T10:51:37.424-0400] [ERROR] libxrdp_force_read: header read error
[2024-07-27T10:51:37.426-0400] [ERROR] Processing [ITU-T T.125] Connect-Initial failed
[2024-07-27T10:51:37.427-0400] [ERROR] [MCS Connection Sequence] receive connection request failed
[2024-07-27T10:51:37.428-0400] [ERROR] xrdp_sec_incoming: xrdp_mcs_incoming failed
[2024-07-27T10:51:37.429-0400] [ERROR] xrdp_rdp_incoming: xrdp_sec_incoming failed
[2024-07-27T10:51:37.430-0400] [ERROR] xrdp_process_main_loop: libxrdp_process_incoming failed
[2024-07-27T10:51:37.431-0400] [ERROR] xrdp_iso_send: trans_write_copy_s failed
[2024-07-27T10:51:37.432-0400] [ERROR] Sending [ITU T.125] DisconnectProviderUltimatum failed
[2024-07-27T10:51:38.695-0400] [INFO ] Socket 14: connection accepted from [::ffff:<IP_ADDRESS>]:58216
[2024-07-27T10:51:38.697-0400] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
[2024-07-27T10:51:38.698-0400] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem
[2024-07-27T10:51:38.700-0400] [INFO ] Security protocol: configured [SSL|RDP], requested [SSL|HYBRID|HYBRID_EX|RDP], selected [SSL]
[2024-07-27T10:51:38.708-0400] [INFO ] Connected client computer name: ANONYMOUS-PC
[2024-07-27T10:51:38.710-0400] [INFO ] client supports gfx protocol
[2024-07-27T10:51:38.712-0400] [WARN ] Received [MS-RDPBCGR] TS_UD_HEADER type 0xc006 is unknown (ignored)
[2024-07-27T10:51:38.713-0400] [WARN ] Received [MS-RDPBCGR] TS_UD_HEADER type 0xc00a is unknown (ignored)
[2024-07-27T10:51:38.716-0400] [INFO ] xrdp_load_keyboard_layout: Keyboard information sent by the RDP client, keyboard_type:[0x04], keyboard_subtype:[0x00], keylayout:[0x00000409]
[2024-07-27T10:51:38.717-0400] [INFO ] xrdp_load_keyboard_layout: model [] variant [] layout [us] options []
[2024-07-27T10:51:38.718-0400] [INFO ] TLS connection established from [::ffff:<IP_ADDRESS>]:58216 TLSv1.3 with cipher TLS_AES_256_GCM_SHA384
[2024-07-27T10:51:38.728-0400] [INFO ] Client supports single-screen resizes by xrdp
[2024-07-27T10:51:38.730-0400] [INFO ] xrdp_caps_process_pointer: client supports new(color) cursor
[2024-07-27T10:51:38.732-0400] [INFO ] xrdp_process_offscreen_bmpcache: support level 1 cache size 10485760 MB cache entries 100
[2024-07-27T10:51:38.733-0400] [INFO ] xrdp_caps_process_codecs: NSCodec(CA8D1BB9-000F-154F-589F-AE2D1A87E2D6), codec id [1], properties len [3]
[2024-07-27T10:51:38.734-0400] [INFO ] xrdp_caps_process_codecs: Image RemoteFX(2744CCD4-9D8A-4E74-803C-0ECBEEA19C54), codec id [5], properties len [49]
[2024-07-27T10:51:38.735-0400] [INFO ] Client Capability: LARGE_POINTER_FLAG_96x96 supported
[2024-07-27T10:51:38.738-0400] [INFO ] Loading keymap file /etc/xrdp/km-00000409.ini
[2024-07-27T10:51:38.740-0400] [WARN ] local keymap file for 0x00000409 found and doesn't match built in keymap, using local keymap file
[2024-07-27T10:51:38.742-0400] [INFO ] Login screen monitor height is 1440 pixels over 336 mm (108 DPI)
[2024-07-27T10:51:38.759-0400] [INFO ] xrdp_egfx_create: error 0 channel_id 1
[2024-07-27T10:51:39.576-0400] [INFO ] xrdp_mm_egfx_caps_advertise:
[2024-07-27T10:51:39.602-0400] [INFO ]   version 0x00080004 flags 0x00000000 (index: 0)
[2024-07-27T10:51:39.616-0400] [INFO ]   version 0x00080105 flags 0x00000000 (index: 1)
[2024-07-27T10:51:39.627-0400] [INFO ]   version 0x000a0002 flags 0x00000000 (index: 2)
[2024-07-27T10:51:39.641-0400] [INFO ]   version 0x000a0200 flags 0x00000000 (index: 3)
[2024-07-27T10:51:39.652-0400] [INFO ]   version 0x000a0301 flags 0x00000000 (index: 4)
[2024-07-27T10:51:39.662-0400] [INFO ]   version 0x000a0400 flags 0x00000000 (index: 5)
[2024-07-27T10:51:39.676-0400] [INFO ]   version 0x000a0502 flags 0x00000000 (index: 6)
[2024-07-27T10:51:39.687-0400] [INFO ]   version 0x000a0600 flags 0x00000000 (index: 7)
[2024-07-27T10:51:39.700-0400] [INFO ]   version 0x000a0701 flags 0x00000000 (index: 8)
[2024-07-27T10:51:39.710-0400] [INFO ]   replying version 0x000a0701 flags 0x00000000
[2024-07-27T10:51:39.720-0400] [INFO ] xrdp_mm_egfx_caps_advertise: xrdp_egfx_send_capsconfirm error 0 best_index 8
[2024-07-27T10:51:39.732-0400] [INFO ] xrdp_egfx_reset_graphics:
[2024-07-27T10:51:39.742-0400] [INFO ] xrdp_egfx_reset_graphics: width 5120 height 1440 monitorcount 1
[2024-07-27T10:51:39.751-0400] [INFO ] xrdp_mm_egfx_caps_advertise: xrdp_egfx_send_reset_graphics error 0 monitorCount 0
[2024-07-27T10:51:39.761-0400] [INFO ] xrdp_mm_egfx_create_surfaces: map surface_id 0 left 0 top 0 width 5120 height 1440
[2024-07-27T10:51:39.771-0400] [INFO ] xrdp_encoder_create: starting gfx rfx pro codec session
[2024-07-27T10:51:39.780-0400] [INFO ] xrdp_mm_egfx_invalidate_wm_screen:
[2024-07-27T10:51:39.790-0400] [INFO ] xrdp_mm_egfx_caps_advertise: egfx created.
[2024-07-27T10:51:47.248-0400] [WARN ] Ignoring obsolete SCP port value '3350'
[2024-07-27T10:51:47.562-0400] [INFO ] xrdp_wm_log_msg: sesman connect ok
[2024-07-27T10:51:47.757-0400] [INFO ] xrdp_wm_log_msg: Performing login request for anonymous
[2024-07-27T10:51:47.656-0400] [INFO ] xrdp_wm_log_msg: login was successful - creating session
[2024-07-27T10:51:48.161-0400] [INFO ] xrdp_wm_log_msg: session is available on display 10 for user anonymous
[2024-07-27T10:51:48.164-0400] [INFO ] xrdp_wm_log_msg: Connecting to session
[2024-07-27T10:51:48.167-0400] [INFO ] loaded module 'libxup.so' ok, interface size 10416, version 4
[2024-07-27T10:51:48.168-0400] [INFO ] lib_mod_connect: connecting via UNIX socket
[2024-07-27T10:51:48.169-0400] [INFO ] lib_mod_log_peer: xrdp_pid=2987 connected to Xorg_pid=3002 Xorg_uid=1000 Xorg_gid=1000 client=[::ffff:<IP_ADDRESS>]:58216
[2024-07-27T10:51:48.170-0400] [INFO ] xrdp_wm_log_msg: Connecting to chansrv
[2024-07-27T10:51:48.173-0400] [INFO ] Received memory_allocation_complete command. width: 5120, height: 1472
[2024-07-27T10:51:55.696-0400] [ERROR] xrdp_sec_recv: xrdp_mcs_recv failed
[2024-07-27T10:51:55.698-0400] [ERROR] xrdp_rdp_recv: xrdp_sec_recv failed
[2024-07-27T10:51:55.699-0400] [ERROR] libxrdp_process_data: xrdp_rdp_recv failed
[2024-07-27T10:51:55.700-0400] [ERROR] xrdp_process_data_in: xrdp_process_loop failed
[2024-07-27T10:51:55.701-0400] [ERROR] SSL_write: I/O error
[2024-07-27T10:51:55.703-0400] [ERROR] xrdp_iso_send: trans_write_copy_s failed
[2024-07-27T10:51:55.705-0400] [ERROR] Sending [ITU T.125] DisconnectProviderUltimatum failed

With a screen size of 5120x1440 you're likely running into #3083.

With a screen size of 5120x1440 you're likely running into #3083.

Thanks. But what does this mean as far as the xrdp source base on the Arch Linux AUR? I see that some files were changed in librfxcodec but how does that apply to the former?
Regards.

That issue was closed on 2024-07-09, but Arch AUR hasn't picked it up yet. I'm not familiar with AUR release plans or policies, but it's likely to be in the next point release.

We'll release v0.10.1 with the fix within a week. Hang tight until a release and AUR maintainer updates the package to v0.10.1.

We'll release v0.10.1 with the fix within a week. Hang tight until a release and AUR maintainer updates the package to v0.10.1.

Haha. thanks for the update. I couldn't wait so I just took the code for the fix from the link rowlap provided that was committed in the source base, overwrite those source files locally for the package , and made and installed the package again.
I'm happy to report that it worked!

@hammad-awan We have released xrdp v0.10.1 and the issue should be resolved.

Closing as resolved.


shipping imput filed fixed

Issue Reference
#7281

Remove extra input fields from inventory section of shipping page

@rachana-webkul
Now It is working fine.


Python Virtualenv not activated correctly in debug run

VSCode Version: 1.47.1
OS Version: Mac OS 10.15.5

I don't have the same problem if I downgrade to version 1.46.1.
I'm using Python 2020.6.91350 on both versions of VSCode
Steps to Reproduce:

Run Python module debug
Cannot find modules expected within the chosen virtualenv

The launch.json entry is like this:
        {
            "name": "Hub Local",
            "type": "python",
            "request": "launch",
            "module": "jupyterhub.app",
            "args": [
                "-f",
                "./examples/local_process_spawner.py",
                "--log-level=DEBUG"
            ],
            "justMyCode": false,
            "cwd": "${workspaceFolder}"
        }

There is a selected virtualenv for the project.
Under version 1.46 the Terminal output reads as expected:
bash-5.0$ source /Users/dan/.virtualenvs/cdslive/bin/activate
 env /Users/dan/.virtualenvs/cdslive/bin/python /Users/dan/.vscode/extensions/ms-python.python-2020.6.91350/pythonFiles/lib/python/debugpy/launcher 53522 -- -m jupyterhub.app -f ./examples/local_process_spawner.py --log-level=DEBUG

But under version 1.47, for some reason these entries appear the wrong way round (which doesn't make sense, and would explain why the virtualenv isn't correctly activated, and thus the Python modules are not found):
bash-5.0$ env /Users/dan/.virtualenvs/cdslive/bin/python /Users/dan/.vscode/extensions/ms-python.python-2020.6.91350/pythonFiles/lib/python/debugpy/launcher 53522 -- -m jupyterhub.app -f ./examples/local_process_spawner.py --log-level=DEBUG
source /Users/dan/.virtualenvs/cdslive/bin/activate

Does this issue occur when all extensions are disabled?: N/A (requires Python extension)
Thank you for any help!

I'm having a very similar issue between 1.46 and 1.47 in a node-based project where my debugger no longer works and the project won't properly start up.

I resolved this by changing my type to node-terminal and changing some of the props from here in the config based on the warnings.
https://github.com/microsoft/vscode-js-debug/blob/master/OPTIONS.md
I have to now use command in replacement of runtimeExecutable, args, restart and console.

/extPython


log errors from serve

@sandinmyjoints
Logs errors from when we're trying to serve a file from S3.
How to test
In ghost-s3-compat

Pull this branch

Register local module
$ npm link

In sd-blog

Link to local modules
$ npm link ghost-s3-compat

Try to get a file that doesn't exist like
curl http://localhost:8081/blog/content/images/2016/02/mexico12-9.jpg/

You should see an error in the server logs

LGTM. Approved.


Revert "[INFINITY-23222] Fix bootstrap networking shim (#1517)"

Reverts the bootstrap change in stable until @asridharan has time.
This reverts commit b0e86f34889ed41739c1b6506670cbb8ca6ad82c.

 revert bootstrap change stable


WIP: Use PBR Neutral tone mapping

@mwestphal for information a recent change in VTK broke one test on macos ARM.
I'll try to bissect to find the commit, but I suspect it's one of this MR: https://gitlab.kitware.com/vtk/vtk/-/merge_requests/11196

@mwestphal for information a recent change in VTK broke one test on macos ARM. I'll try to bissect to find the commit, but I suspect it's one of this MR: https://gitlab.kitware.com/vtk/vtk/-/merge_requests/11196

This MR is a backport MR to release, I dont see how it could have broke anything since we use master.


send indexing requests

how can send indexing requests for  a new job posting or Multiple requests
thank you ..

How you do that ?@EhabElzeny


auto indenting is wrong in JavaScript mode in a multi-line template string?

version 5.58.1
If you have code like this
const s = `
{  //  on the next line type 4 spaces and then a
`;

// what should happen? the { should be 4 spaces out
// what happens instead, the spaces are removed

And follow the directions above, type [space] [space] [space] [space] [{]  the spaces are deleted. That seems unintentional?
In other words I want this
const s = `
{
    {

but I get this
const s = `
{
{

repo:
https://jsgist.org/?src=7e596608ea9ebfb166cfd21467accbfc

wow! I'm sure you guys are busy and frustrated to get bug reports but seriously? not even comment on why? I'm sorry if this was the wrong place to post what seems like a bug.
It kind of makes it hard to type JavaScript if you use multi-line template literals (which I use all the time since in WebGL you need to type code in them for GLSL)

Look closer at how the bug was closed. It was done via a patch that fixes this.

Doh! thank you. Sorry I didn't notice the link


feat(web): copy deployments from default version

When creating a new version in a complex product copy the deployments from the default version.

Codecov Report
Base: 17.51% // Head: 17.51% // No change to project coverage :thumbsup:

Coverage data is based on head (cc2d628) compared to base (d99c0c4).
Patch has no changes to coverable lines.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff            @@
##           develop     #481   +/-   ##
========================================
  Coverage    17.51%   17.51%
========================================
  Files           57       57
  Lines         6105     6105
========================================
  Hits          1069     1069
  Misses        4954     4954
  Partials        82       82

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Added reference to lit-html guide for how to create templates

I was trying to find the documentation for the lit-html API for how to write templates but had some problems finding it. I suspect I'm not alone, so I added a sentence and a link to the lit-html guide to make it easier to find.

Thanks


Replay button is missing tooltip text

Current Behavior:
The repeat button, which replaces the play/pause button after a video ends, does not have any tooltip text when hovering over it.

The community skin translation also does not a key for this, so it was probably completely overlooked.
Expected Behavior:
The tooltip should have a text like "Replay" or "Repeat".

This should be resolved now in 1.0@next, let me know if the issue persists!


Wrong plugin type?

I was going through the plugin types file and I was wondering: shouldn't the return type of the default export be StartPlugin or StartPluginAsync instead of StartPluginSync?
Since the default export is an async function expression, it will implicitly use a Promise to return its result.

Hi.
Yeah, I know, it feels a bit messy at the first glance. But:
export default (value: any, message?: string) =>
  plugin('assert', async () => {
    const { default: assertLib } = await import('assert')

    assertLib(value, message)
  })

plugin wrapper itself is sync, it's internal callback is async. Otherwise plugin is not callable and should be awaited first before becoming a function.

Hm, maybe I'm wrong. Will play with the types and see.

Yep, the fact that the internal callback is async is taken care by the fact that StartPluginFn can return a Promise<StartPluginPropsOut>.
Unless I'm reading typescript wrong (I never actually wrote ts :D) the return type at line 28 refers to the async function declared just after, so it should definitely be Promise<StartPluginSync>, or at least StartPlugin :) btw, thank you for the quick response, really enjoying this library!

"Fixed" with renaming "Sync" to "Async" :) The rest is fine – async function is a function that returns a promise, which matches StartPluginAsync just fine.

thank you for the quick response, really enjoying this library!

Glad you like it 👌

Oh I understand, so it's also possible to define a plugin as a Promise that gets resolved to a StartPluginAsync function, right? Much clearer now, thanks!

Yeah, there are really "async" plugins, my personal use case is so called "sub-tasks" (I know, I suck at documentation and things like that are almost not documented anywhere):
export const task1 = async () => {
  const { default: config } = await import('./config')

  // ...
}

export const task2 = () =>
  sequence(
    plugin1(),
    task1(),
    plugin2()
  )

In this case task1() is a Promise that returns some plugin(s).


dockerEnv - Environment variable not available in container

Hi folks,
we are using SLS and python requirements to packjage our python handler.
Besides we are integrating the distribution of a private repository by using token to access the repo content.
For this we are setting the token with an environment variable and use the dockerEnv to transfer the variable to the docker container.
Unfortunately the variable is not set when we try to access it in our setup.py file during packaging.
Besides the environment variable is available within sls (${env:GITHUB_TOKEN} )
and it works fine without dockerizing (dockerizePip: false)
Any help here appreciated. Thanks.
OS:                     	 	darwin
Node Version:           		9.4.0
Serverless Version:     		1.29.2
python-requirements Version: 	4.2.5
serverless.yaml:
pythonRequirements:
    dockerizePip: true
    pipCmdExtraArgs:
      - '--process-dependency-links'
    dockerEnv:
      - GITHUB_TOKEN

setup.py:
import os
from setuptools import setup, find_packages

github_token = os.getenv('GITHUB_TOKEN', None)

setup(
    version='0.0.1',
    name='my-lib',
    author='XXXXXX',
    author_email='XXXXXX',
    description='XXXXXX',
    long_description='XXXXXX,
    url='XXXXXX',
    packages=find_packages(where="./src"),
    package_data={
        'yoma.util': ['data.csv']
    },
    package_dir={"": "src"},
    zip_safe=True,
    keywords="",
    classifiers=[
        'Development Status :: 1 - Planning',
        'Programming Language :: Python :: 3.6',
    ],
    dependency_links=[
        f"git+https://{github_token}<EMAIL_ADDRESS>    ],
    install_requires=[
        'boto3==1.7.14',
        'my-lib==0.1.0'
    ]
)

Error message:
  Stack Trace --------------------------------------------

Error: DEPRECATION: Dependency Links processing has been deprecated and will be removed in a future release. A possible replacement is PEP 508 URL dependencies. You can find discussion regarding this at https://github.com/pypa/pip/issues/4187.
Command "git clone -q<EMAIL_ADDRESS>/tmp/pip-install-51su5snj/my-lib" failed with error code 128 in None

    at installRequirements (/Users/xxx/devspace/xxx/xxx/node_modules/serverless-python-requirements/lib/pip.js:146:11)
    at ServerlessPythonRequirements.installAllRequirements (/Users/xxx/devspace/xxx/xxx/node_modules/serverless-python-requirements/lib/pip.js:242:5)
From previous event:
    at PluginManager.invoke (/usr/local/lib/node_modules/serverless/lib/classes/PluginManager.js:390:22)
    at PluginManager.run (/usr/local/lib/node_modules/serverless/lib/classes/PluginManager.js:421:17)
    at variables.populateService.then.then (/usr/local/lib/node_modules/serverless/lib/Serverless.js:157:33)
    at runCallback (timers.js:756:18)
    at tryOnImmediate (timers.js:717:5)
    at processImmediate [as _immediateCallback] (timers.js:697:5)
From previous event:
    at Serverless.run (/usr/local/lib/node_modules/serverless/lib/Serverless.js:144:8)
    at serverless.init.then (/usr/local/lib/node_modules/serverless/bin/serverless:43:50)
    at <anonymous>

Did you figure out what was wrong @rockycore ?


max-statements-per-line: 2

What version of this package are you using? 14.3.1
What problem do you want to solve? I'd like to limit the number of statements per line.
What do you think is the correct solution to this problem?
{
  "max-statements-per-line": ["error", { "max": 2 }]
}

Previously a maximum of one statement per line was suggested as https://github.com/standard/standard/issues/798, but this is very aggressive. Instead, I'd like to propose a maximum of two statements per line. This should allow:
// ✔ 2
if (err) { throw err }
// ✔ 2
list.map((item) => item.reverse())

But disallow:
// ✘ 3
if (err) { throw err } else { return 42 }
// ✘ 5
function isJson (str) { try { JSON.parse(str) } catch (e) { return false } return true }

Are you willing to submit a pull request to implement this change?
Yes!

Ecosystem impact:
$ npm t
echint/lib/bin.js:14:111: This line has 3 statements. Maximum allowed is 2.
standard-engine/test/clone.js:58:41: This line has 3 statements. Maximum allowed is 2.
markdown-pdf/phantom/render.js:84:31: This line has 5 statements. Maximum allowed is 2.
markdown-pdf/test/index.js:94:78: This line has 5 statements. Maximum allowed is 2.
markdown-pdf/test/index.js:110:80: This line has 5 statements. Maximum allowed is 2.
aerospike/test/client.js:110:82: This line has 3 statements. Maximum allowed is 2.
levelup/test/benchmarks/index.js:59:94: This line has 3 statements. Maximum allowed is 2.
testdouble/test/safe/callback.test.js:65:61: This line has 3 statements. Maximum allowed is 2.
testdouble/test/safe/config.test.js:34:52: This line has 3 statements. Maximum allowed is 2.
testdouble/test/unit/when/chain-stubbing.test.js:13:38: This line has 3 statements. Maximum allowed is 2.

1..220
# tests 220
# pass  214
# fail  6

Thank you for the idea, @christianbundy.
I do use 2 statements per line quite often, such as if (foo) return. I do not remember when's the last time I have used 3 statements in one line.
What anti-pattern are we trying to prevent with this? Here are examples from the rule docs:
/*eslint max-statements-per-line: ["error", { "max": 2 }]*/

var bar; var baz; var qux;
if (condition) { bar = 1; } else { baz = 2; }
for (var i = 0; i < length; ++i) { bar = 1; baz = 2; }
switch (discriminant) { case 'test': break; default: break; }
function foo() { bar = 1; baz = 2; }
var foo = function foo() { bar = 1; };
(function foo() { bar = 1; baz = 2; })();

I never do any of those.

Yep, exactly. I was looking at some non-StandardJS code and saw if (a) { b()  } else { c() } and realized that eslint:recommended reported this an an error. When I noticed that we didn't report this for this I figured I should open an issue, but saw the old issue and decided that we should probably allow two statements per line to keep the ecosystem impact small.

While I don't make final calls here, I assume that this would be accepted. Therefore if you'd like to contribute further, I suggest a pull request could be a good next step.

Pull request is not necessary. I'll take a closer look at this when I have time to do another StandardJS release and I can PR it.

Thanks, please let me know if there's anything I can do to help out.

In general, we try to avoid rules that have "magic numbers" in them since they may be hard to remember and we always want it to be possible to write code that passes standard without needing to rely on auto-fixing or a text editor with built-in support.
But I agree that some of the examples you posted are egregious. I just don't think we'd be able to enforce this without a lot of false positives – i.e. code that's actually easy-to-read but technically has 3+ statements.
@standard/team – any thoughts on this?

I think the following is still readable:
Object.keys(obj).map((a) => a.prop).reduce(fn)
I feel 2 might be a bit too restrictive.
I think we can start adding it with a higher number (maybe 10?) we can agree to be always problematic. I've seen this abused by some teams.

Consider the number you use for function parameters ( https://eslint.org/docs/rules/max-params ).
ESLint says 4 function parameters in a method or function is too much.
Making 4 statements too many seems reasonable.
I do notice that standard has no opinion on max-params so it might also make sense for it to have no opinion on max-statements-per-line.

Personally leaning against this because of the "magic number" argument

I do notice that standard has no opinion on max-params so it might also make sense for it to have no opinion on max-statements-per-line.

👍 feels like an overreach to me fwiw


Add pagination to profile pages

As a planetary.name member I want to be able to find and link to posts from my friends that aren't in their last 10 published messages.
The best way to support this seems to be to add pagination to the profile pages.

Images have been built with these latest changes for rooms-frontend and planetary-graphql, and the stable tag for both now point to these latest images.
The stable images have been deployed to planetary.name


feat(Input): add iconRight to Input component

Checklist

[x] Fix linting errors
[x] Tests have been added / updated (or snapshots)

Change information

:tada: This PR is included in version 2.0.0-alpha.12 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Speech recognizers try to start in situations they aren't supported

Describe the bug
This is especially obvious in our test runs, where currently 328 logs print out saying either
Failed to start keyword recognizer. Are microphone permissions granted? Exception: UnityEngine.UnityException: Speech recognition is not supported on this machine.
or
Failed to start dictation recognizer. Are microphone permissions granted? Exception: UnityEngine.UnityException: Speech recognition is not supported on this machine.
We should double check that speech is actually supported, perhaps by using PhraseRecognitionSystem.isSupported.
Additional context

We appreciate your feedback and thank you for reporting this issue.
Microsoft Mixed Reality Toolkit version 2 (MRTK2) is currently in limited support. This means that Microsoft is only fixing high priority security issues. Unfortunately, this issue does not meet the necessary priority and will be closed. If you strongly feel that this issue deserves more attention, please open a new issue and explain why it is important.
Microsoft recommends that all new HoloLens 2 Unity applications use MRTK3 instead of MRTK2.
Please note that MRTK3 was released in August 2023. It features an all new architecture for developing rich mixed reality experiences and has a minimum requirement of Unity 2021.3 LTS. For more information about MRTK3, please visithttps://www.mixedrealitytoolkit.org.
Thank you for your continued support of the Mixed Reality Toolkit!


Run AdoptOpenjdk tests only

The tests runs the jtreg and the AdoptOpenjdk test, but I want to run AdoptOpenjdk tests only. Is there a way for me to accomplish this?
thanks :)

I'm interested in AdoptOpenJDK tests only

Ok I can interpret your request 2 ways, but I think you want the 1st option below:

To run test material that are hosted 'in AdoptOpenJDK repos':

https://github.com/AdoptOpenJDK/openjdk-systemtest  (use TARGET=system)
https://github.com/AdoptOpenJDK/openjdk-tests/tree/master/functional (use TARGET=special.functional)

To run the test material that 'AdoptOpenJDK runs' to verify their binaries:

openjdk tests from openjdk project (use TARGET=openjdk)
system tests from openjdk-systemtest and openj9-systemtest repo (use TARGET=system)
functional tests from openjdk-tests and openj9 repo (use TARGET=functional)
external tests pulled from various large Java application repos and microprofile tcks (scala,tomcat,jenkins, etc) (use TARGET=external)
perf tests pulled from various benchmark repos (use TARGET=perf)

In other words, AdoptOpenJDK uses test material from a variety of locations to verify its binaries.  More details here: https://medium.com/adoptopenjdk/the-first-drop-introducing-adoptopenjdk-quality-assurance-aqa-v1-0-fe09f10ced80
So, the steps to run the system tests:
export TEST_JDK_HOME=/locationOfJDKUnderTest
git clone https://github.com/AdoptOpenJDK/openjdk-tests.git (to /testLocation)
cd openjdk-tests
./get.sh -t /testLocation/openjdk-tests
cd TestConfig
export BUILD_LIST=system
make -f run_configure.mk
make compile
make _sanity.system

I set $BUILD_LIST and then make -f run_configure. But I have this issue when I run make compile :/
get-source:      [exec] Didn't find password for CVSROOT ':pserver:anoncvs@sourceware.org:/cvs/mauve'.

Perhaps we can connect tomorrow via AdoptOpenJDK Slack #testing channel, and step through it.
alternatively please share the full output of your compile step, and please share printenv output, so I can see if there are env vars that are set but wrong.
I will verify tonight that the instructions I shared work locally on my machine.

You can also see the console output of a Grinder job that runs sanity.system target to see the commands that are run to achieve it:
https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/961/consoleFull

I have verified the instructions shared to run system tests locally.  I also captured the steps in a 1 minute recording.  If you follow those steps without variance and still are unable to run the system tests, please re-open this issue (and share output of printenv to see what may be running interference).

yeah, it already works :) thanks for your help


EditorPlugin.make_visible() is called multiple times when already visible and selecting another object the plugin handles

Godot 3.2.2
Windows 10 64 bits
As a continuation of https://github.com/godotengine/godot/issues/6459#issuecomment-653980413
I made a plugin which can edit a specific object with a graph editor. Selecting that object shows it (throught make_visible), and clicking on a GraphNode may allow to inspect properties of a sub-object using the inspector, similar to how VisualScript works. I made it so my plugin handles both object types, so my expectation was that it would not be made invisible when I select back and forth between these objects.
The problem is, when I use inspect(), Godot calls make_visible() on my plugin 4 times in a row, with alternating visibilities. Not only this is a waste as I cleanup my UI when my plugin is hidden, but even if I don't cleanup anything, hiding the GraphEdit breaks its input management, causing nodes to stick to the mouse, box selections to never end or to never be shown. It's basically unusable.
I would have expected make_visible() to not be called at all, because I edited another sub-object my plugin also handles.
Repro:
PluginInspectMakeVisible.zip
Here I chose Sprite and GraphNode for the sake of testing, in reality my objects are different.

Open main.tscn
Select Sprite: the graph editor should open in the bottom panel, with 2 sample graphnodes in it
Select one of the graphnodes: observe the node sticks to the mouse unexpectedly.
Observe in the console that 7 make_visible prints happened:
3 prints due to https://github.com/godotengine/godot/issues/40165

Called make_visible True (1)
Called make_visible False (2)
Called make_visible True (3)

4 additional prints from the present issue, due to selecting the second handled object:
Called make_visible False (4)
Called make_visible True (5)
Called make_visible False (6)
Called make_visible True (7)

I expected just one in total, make_visible(true).

Godot Version: 3.3.rc8.official
Windows 10 64bit
I believe I'm hitting this same bug when using a Main Screen Plugin.
inspect_object() seems to be triggering make_visible calls when then lead to the GraphNode getting "stuck" to the mouse.
plugin_test_01.zip

I can also reproduce this under exact same circumstances.

Unfortunately inspect_object(obj, '', true) calls edit(null) and make_visible(false) when I try it...


Fix CAN timing.

In STM32F4_CAN.cpp Propagation is ignored.
In LPC17_CAN.cpp Propagation, SJW, and UseMultiBitSampling are ignored.
In AT91SAM9X35_CAN.cpp Propagation, Phase1, Phase2, BaudratePrescaler, and SJW must all have one subtracted before setting baud rate.
In STM32F7_CAN.cpp Propagation is ignored.

LPC24_CAN.cpp also ignores Propagation, SJW, and UseMultiBitSampling.

Once we review this, review and update the sample timings in docs


Fridge

Possibly the most simple example using Events to update document state example using Fridge Status as the example context.
Includes use of "Delivery" timestamps as an exploration of Delivery as well as Event objects.

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

Thanks Nige will take a look shortly.
BTW, Can you sign the CLA? Only have to do this once

Thanks Tim  -  I "signed electronically" the CLA looks like it has gone in to a further process of approval

Looks good!

Sometimes the CLA isn't marked as signed if you are using a different email address for GitHub than the one you used in the CLA...


Run TurboRepo Across Multiple Terminal Tabs

Which project is this feature idea for?
Turborepo
Describe the feature you'd like to request
Include an option to run a turbo pipeline, then separate each workspace's output into its own terminal window/tab.
When TurboRepo runs, it spins up a pipeline consisting of several workspace processes and emits the log details to a single terminal window/tab. This can make process-specific debugging a bit of a nightmare, as we must slog through logs for multiple processes that are side-by-side in the same terminal instance. TurboRepo does color-code the process' workspaces different from one another, which is very helpful, but it would seem a better solution to Include an option to run a turbo pipeline, then separate each workspace's output into its own terminal window/tab.
Describe the solution you'd like
Include an option in turbo.json option to separate a turbo pipeline's workspaces into several terminal windows/tabs.
Describe alternatives you've considered
Alternative solutions would bypass turbo completely.

Write a bash script that accepts a script command, then creates a new terminal window for each workspace in the pipeline, and runs '{yarn or alternative} workspace {command}' in that window.

Manually open a terminal window for each workspace in the pipeline, then run the script within it.

I'm wondering if a more approachable solution would be something like turbo run dev --logs-filter=web, where logs-filter would be the workspace that you are interested in seeing logs for.

@anthonyshew This would also be a great solution, though it does not address the use case directly I'm hoping for, since I want to see logs for most or all of my workspaces still, but I want them to be separated for clarity.
--logs-filter is very useful, though; is that already part of TurboRepo CLI?

Ah, I see! I didn't quite put together that you still needed to see the logs from your various apps in parallel. I believe something like this would be new territory for turbo. I'm not sure that we have any existing functionality that moves across different shells. 🤔
--logs-filter (or similar) is not an existing part of the CLI at this time.

It would be pretty awesome! A --command that runs a script to open up several shell instances, then output Turbo's logs among them, would be pretty dang nifty. I'm stuck bypassing Turbo completely otherwise if I want to separate logs during development, even for a single service.
--logs-filter would be pretty nifty, too!

Maybe terminal multiplexing could play a part. I'll poke through the TurboRepo source this week and see if I can muster up a solution

Any updates here ?

I'm using Expo and, currently, when ran through a Turbo pipeline, all control over the Expo server is lost as it gets ran in non-interactive mode.
The idea of spawning a new shell with the pipeline's elements in each their own would be great, as it could potentially mean gaining the interactivity with the Expo server back.
Same goes for Jest in watch mode.
It would truly be a killer feature !


[FIREBASE_ADMOB] Update podspec to remove UIWebView references

Describe the bug
For a while now, Apple has been issuing a warning to users of this plugin for ITMS-90809, which specifies that as of April 2020, no more submissions that use the deprecated UIWebView API will be accepted.
The iOS component of this plugin still retains references to this API, as evidenced by the Mobile Ads SDK Team member here.
This means that a new version needs to be released in at most one week to avoid disruptions to all users of this plugin.

This issue is really concerning, especially because of the tight deadline!

The AdMob SDK team has confirmed release of the new version that removes all forbidden references - can we force a podspec update in the plugin to target at least AdMob SDK version 7.57.0?
cc @iapicca in caase he's the one coordinating work on this issue.

@zmeggyesi
I am not, but I do what I can to underline the issue.
thank you for reporting this

Guys? Any updates here?
Google Admob sent me a letter asking to upgrade my GMA SDK version to 7.55 or higher

Internal bug: b/140559063

Run pod update in the location of your Podfile under the ios folder.

The firebase_admob plugin will be deprecated in April 2021 in favor of Google Mobile Ads SDK for Flutter.
Google Mobile Ads SDK for Flutter is a new Flutter plugin that supports more Ads formats than firebase_admob does. Google Mobile Ads SDK for Flutter currently supports loading and displaying banner, interstitial (full-screen), native ads, and rewarded video ads across AdMob and AdManager. It also supports displaying banner and native ads as Widgets as opposed to being overlayed over all app content.
We're now recommending projects currently using firebase_admob migrate to Google Mobile Ads SDK for Flutter following the instructions outlined here.
Issues with migrating or with using the new package should now be raised over on the Google Mobile Ads SDK for Flutter repository.


BUG: GH11349 where Series.apply and Series.map did not box timedelta64

closes #11349
closes #11925

One test failing test_timedelta64_conversions (pandas.tests.test_series.TestSeries)
OK:
import pandas as pd
import numpy as np
startdate = pd.Series(pd.date_range('2013-01-01', '2013-01-03'))
enddate = pd.Series(pd.date_range('2013-03-01', '2013-03-03'))
s1 = enddate - startdate
s1[2] = np.nan
s1.apply(lambda x: x / pd.Timedelta(1, 'D'))

Fail:
s1.apply(lambda x: x / np.timedelta64(1, 'D'))

I think because
pd.NaT/np.timedelta64(1, 'D') fails
Solutions I can think of all seem quite intrusive:

define __truediv__ for Timestamp (maybe too small a use case to justify the change IMO)
define __truediv__ for NaTType (confusing because time series operations might succeed or fail depending on whether it is all NaT)

Besides this, is there any need to have NaT support other np.timedelta or pd.Timedelta operations?

why would this be failing?
In [23]: s1
Out[23]:
0   59 days
1   59 days
2       NaT
dtype: timedelta64[ns]

In [22]: s1.apply(lambda x: x / pd.Timedelta(1, 'D'))
Out[22]:
0    59
1    59
2   NaN
dtype: float64

In [25]: s1.apply(lambda x: x / np.timedelta64(1, 'D'))
Out[25]:
0    59
1    59
2   NaN
dtype: float64

I meant if you are to box timedelta64 on apply.
It would fail for the same reason this fails in master
In [9]: s1[2]/np.timedelta64(1, 'D')
TypeError: ufunc true_divide cannot use operands with types dtype('O') and dtype('<m8[D]')

@kawochen I c.
yes, I think that NaT should have these methods (__div__/__floordiv__/__truediv__/__mul__), and either raise TypeError (e.g. if the rhs is a datetime64[ns]/Timestamp) or return a NaT if its a timedelta64[ns]/Timedelta
In [17]: s1[2]/np.timedelta64(1,'s')
TypeError: ufunc divide cannot use operands with types dtype('O') and dtype('<m8[s]')

In [18]: s1[2]/pd.Timedelta(np.timedelta64(1,'s'))
Out[18]: NaT

I think what happens now is that the reversed methods are called and for example Timedelta knows how to handle NaT so it works, but of course timedeltat64[ns] has no clue.

Addtl cases which should all be the same (e.g. should all raise a TypeError). I think [20] is wrong. We don't allow division for Timestamps at all. But this is incorrectly converted to Timedelta division.
Ideally also would have more uniform / better error messages (e.g. [21]) is hard to understand and [22] is deferring to numpy and even more tricky to understand.
In [20]: Timestamp('nat')/Timedelta('1s')
Out[20]: NaT

In [21]: Timestamp('nat')/Timedelta('nat')
TypeError: unsupported operand type(s) for /: 'NaTType' and 'NaTType'

In [22]: Timestamp('nat')/np.timedelta64(1,'s')
TypeError: ufunc divide cannot use operands with types dtype('O') and dtype('<m8[s]')

@kawochen lmk progress on this.

@kawochen can you update

will update soon.  but I think __mul__ should never succeed, and the divisions should return nan if Timedelta/timedelta64?

@kawochen these interactions are already defined in core/ops.py/_Timeop, which handle Series interactions. So these should all be uniform (prob best to look at the tests for this, mostly in tseries/tests_timeseries.py and test_series.py

seems to depend on whether NaT is the divisor or the dividend.
#timedelta/NaT -> float
In [19]: pandas.Series(pandas.Timedelta('0 days 00:00:04'))/pandas.NaT
Out[19]:
0   NaN
dtype: float64

#NaT/Timedelta -> NaT
In [20]: pandas.NaT/pandas.Series(pandas.Timedelta('0 days 00:00:04'))
Out[20]:
0   NaT
dtype: timedelta64[ns]

#Timedelta/Timedelta -> float
In [25]: pandas.Series(pandas.Timedelta('0 days 00:00:08'))/pandas.Series(pandas.Timedelta('0 days 00:00:04'))
Out[25]:
0    2
dtype: float64

#Timedelta/NaT -> float
In [26]: pandas.Series(pandas.Timedelta('0 days 00:00:04'))/pandas.Series(pandas.NaT)
Out[26]:
0   NaN
dtype: float64

In [27]: pandas.Series(pandas.NaT) / pandas.Timedelta('0 days 00:00:02')
TypeError: can only operate on a datetime with a rhs of a timedelta/DateOffset for addition and subtraction, but the operator [__truediv__]
was passed

Maybe this is better, since a Timedelta divided by a Timedelta is a float now.

/
Timedelta
Timestamp
NaT

Timedelta
float
TypeError
nan

Timestamp
TypeError
TypeError
TypeError

NaT
nan
TypeError
?

Since NaT plays the dual role of Timestamp null and Timedelta null, it's not clear whether NaT/NaT should error or not.

NaT / NaT should prob be nan or ok with error as well. its a bit inconsitent but not should can avoid that.

OK.  How about these? Should all of them be NaN?
#all current behavior
In [83]: Timedelta('1s')/NaT
Out[83]: NaT

In [84]: NaT/Timedelta('1s')
Out[84]: NaT

In [85]: Series([Timedelta('1s')])/Series([NaT])
Out[85]:
0   NaN
dtype: float64

In [86]: Series([NaT])/Series([Timedelta('1s')])
TypeError: ...

So if we have timedelta/timedelta it returns a float, otherwise tries to preserve type.
In [2]: pd.Timedelta('1s')/10
Out[2]: Timedelta('0 days 00:00:00.100000')

In [3]: pd.Timedelta('1s')/np.nan
Out[3]: NaT

In [5]: Timedelta('1s')/Timedelta('2s')
Out[5]: 0.5

I think would be ok to make [3] return np.nan though (and all of your examples). Generally if that is intermixed with other Timedeltas it would be eventually coerced as well, e.g.

In [18]: pandas.Series([pandas.Timedelta('1s')])/2
Out[18]:
0   00:00:00.500000
dtype: timedelta64[ns]

In [19]: pandas.Series([pandas.Timedelta('1s')])/2.0
TypeError: ...

Should [19] work?
Should Series([pd.NaT])*2 , Series([pd.NaT])*2.0, Series([pd.NaT])/2.0 work? (I think they should, since the analogous numpy ops work)

yes in all

OK.  Lots to change :smile:

Just realized pd.Timedelta('1s')/2.0 doesn't work.  Should it?

yep suppose that dividing by floats should also work

So a naked pd.NaT or np.nan is always the same as Series([pd.NaT], dtype='timedelta64[ns]')?

@kawochen can you add a whatsnew note detailing any changes in the API here (might need a sub-section).
@sinhrks can you have a look

updated

@kawochen really just some minor comments. looks really good! lots of edge cases you figured out!

@kawochen can you check this:
This is on master
In [12]: s2
Out[12]:
0   1 days
1   2 days
2   3 days
dtype: timedelta64[ns]

In [9]: pd.Timestamp('2012-01-01') + s2
Out[9]:
0   2012-01-02
1   2012-01-03
2   2012-01-04
dtype: datetime64[ns]

In [10]: pd.Timestamp('2012-01-01') - s2
TypeError: can only operate on a timedelta/DateOffset and a datetime for addition, but the operator [__rsub__] was passed

In [11]: pd.Timestamp('2012-01-01') + (-s2)
Out[11]:
0   2011-12-31
1   2011-12-30
2   2011-12-29
dtype: datetime64[ns]

this last fails, xref https://github.com/pydata/pandas/issues/11925

updated

@kawochen very minor comment. ping when pushed.

http://pandas-docs.github.io/pandas-docs-travis/whatsnew.html#nat-and-timedelta-operations
There is this naked exception.
In [3]: pd.Timestamp('1990315') + pd.Timestamp('19900315')
ValueError:

can you raise an informative message here?

yes sorry I made a mistake in the example.  will get to it tonight.


[AAP-12383] Standalone RQ scheduler

Install rq-scheduler.
Add all-in-one management command scheduler, that performs cleanup of previously scheduled jobs, adds jobs specified in settings and executes RQ scheduler.
Add new service to the docker development environment and K8S environment.
Fix existing delated jobs.

Added changes as per suggestions, please review again.

It is weird, all the required checks pass but GH doesn't allow to merge the PR. I don't know what is happening it might be a bug in GitHub.  Since this only happens here, I will bypass the protection (which should be correct) to merge the PR.


overc-system-agent: fix a wrong syntax in *_get_containers functions

I made a mistake in *_get_containers functions, I intended to skip the
first two lines from the 'cube-ctl list' output, but I actually let it
get the last two lines.
Fix it by replacing tail command by a sed command.
Signed-off-by: Ming Liu<EMAIL_ADDRESS>

merged. I didn't test this, but since it is a simple enough change. I didn't pend it on other merges.


Social Ledger Prototype Demo and Trial

the social ledger mattermost slack alternative integration we are building in diglife facilitates organic growth of the organization while fostering cooperation and coordination. RChain will be more or less participating in the trial and demo of the social ledger.https://docs.google.com/document/d/1v7JaVwJUhWix52y7piNqlpAYiVCtNhim2I0KvJyE16M/edit#heading=h.9elnran28cug
Sponsored RHOC bounties are available for help facilitating the trial.

Please set a budget for #89 in RChain Activist RHOC Distribution

@jimscarver  i believe that this is a duplicate issue


App npm run dev error Ver 3.2.1

Hi @drdalessandro  -  Thanks for submitting, and apologies for the inconvenience.
Is this the Medplum app or a different app?
The error is on this line:
const reference = useMemo(() => ({ reference: 'Agent/' + id }) as Reference<Agent>, [id]);

That is valid TypeScript code.  It looks like Vite is treating it as a JavaScript file rather than a TypeScript file though.
Can you share your Vite config and tsconfig?
Have you tried reinstalling NPM dependencies?

Hello @codyebberson
Is this the Medplum app
Vite Config
///
import react from '@vitejs/plugin-react';
import { execSync } from 'child_process';
import { copyFileSync, existsSync } from 'fs';
import path from 'path';
import { defineConfig } from 'vite';
import packageJson from './package.json' with { type: 'json' };
if (!existsSync('.env')) {
copyFileSync('.env.defaults', '.env');
}
let gitHash;
try {
gitHash = execSync('git rev-parse --short HEAD').toString().trim();
} catch (error) {
gitHash = 'unknown'; // Default value when not in a git repository
}
process.env.MEDPLUM_VERSION = packageJson.version + '-' + gitHash;
export default defineConfig({
envPrefix: ['MEDPLUM_', 'GOOGLE_', 'RECAPTCHA_'],
plugins: [react()],
server: {
port: 3000,
},
publicDir: 'static',
build: {
sourcemap: true,
},
resolve: {
alias: {
'@medplum/core': path.resolve(__dirname, '../core/src'),
'@medplum/react': path.resolve(__dirname, '../react/src'),
},
},
});
Have you tried reinstalling NPM dependencies?
Nop!
Thank you!

I just hit a repro myself.  Investigating.  Sorry for inconvenience!

Hi @drdalessandro  - this should be fixed in https://github.com/medplum/medplum/pull/4896
We'll publish a new release asap.
Thank you!

All right! @codyebberson Sailing again and at full steam!
I have been following Medplum for more than a year (The team's work is incredible... and the future of medplum is even greater).
I am currently using it for Women's Health Prevention at different stages of life (Your work on the Chart helped me a lot...)
I am proposing in different work teams to use medplum in several projects in Latin America (Chile - Ecuador - Perú - México)!
When I have news I will let you know.


Rebuild process management system

The process management system is a mess. This issue tracks general progress, but specific issues will be further split into smaller tickets:
Issues:

[ ] Fix process/thread data encapsulation (#19)
[ ] Multithreading semantics (#20)
[ ] binfmt support (#21)

Removed:
- [ ]  Switch stack pointers (#18)

Dropped switching stack pointers (#18) due to difficulties in implementation.

Completed stack pointer implementation, readding to list.


resizing the font (ctrl-+ / ctrl--) in linux doesn't refresh the vertical height

so if you make the font larger, the bottom goes off the screen.

Unfortunately this has to do with termui, it doesn't support vertical resizing. So for now this isn't supported. However I'm looking into using gocui instead of termui, and it might be supported in that package.


[Proposal] Guard workflow controller's configmap from being modified by memoization

Summary
What change needs making?
Add identifier for workflow controller's configmap and avoid modifying it by memoization.
Use Cases
When would you use this?
If a user submits a workflow that contains the following in the template:
    memoize:
      key: containerRuntimeExecutor
      maxAge: "300s"
      cache:
        configMap:
          name: workflow-controller-configmap
          key: whalesay-cache

The controller's configmap will be accidentally modified to something like:
Name:         workflow-controller-configmap
Namespace:    argo
Labels:       <none>
Annotations:  kubectl.kubernetes.io/last-applied-configuration:
                {"apiVersion":"v1","data":{"containerRuntimeExecutor":"k8sapi"},"kind":"ConfigMap","metadata":{"annotations":{},"name":"workflow-controlle...

Data
====
test-5:
----
{"nodeID":"memoized-simple-workflow-kgtfn","outputs":{"parameters":[{"name":"hello","value":" ________ \n\u003c test-5 \u003e\n -------- \n    \\\n     \\\n      \\     \n                    ##        .            \n              ## ## ##       ==            \n           ## ## ## ##      ===            \n       /\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"___/ ===        \n  ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~   \n       \\______ o          __/            \n        \\    \\        __/             \n          \\____\\______/   ","valueFrom":{"path":"/mnt/hello_world.txt"}}],"exitCode":"0"},"creationTimestamp":"2021-03-26T18:31:22Z"}
containerRuntimeExecutor:
----
k8sapi
Events:  <none>

As a result, this cache entry is invalid and controller fails to update its configmap:
time="2021-03-26T18:34:28.251Z" level=info msg="config map cache loaded" name=workflow-controller-configmap namespace=argo
time="2021-03-26T18:34:28.252Z" level=info msg="Skipped node memoized-simple-workflow-hc64g initialized Error (message: malformed cache entry: could not unmarshal JSON; unable to parse: invalid character 'k' looking for beginning of value)" namespace=argo workflow=memoized-simple-workflow-hc64g
time="2021-03-26T18:34:28.253Z" level=error msg="error in entry template execution" error="malformed cache entry: could not unmarshal JSON; unable to parse: invalid character 'k' looking for beginning of value" namespace=argo workflow=memoized-simple-workflow-hc64g
time="2021-03-26T18:34:28.254Z" level=info msg="Updated phase Running -> Error" namespace=argo workflow=memoized-simple-workflow-hc64g
time="2021-03-26T18:34:28.254Z" level=info msg="Updated message  -> error in entry template execution: malformed cache entry: could not unmarshal JSON; unable to parse: invalid character 'k' looking for beginning of value" namespace=argo workflow=memoized-simple-workflow-hc64g

Since the controller's configmap can have arbitrary name and gets passed to the controller via --configmap. This exposes a risk to users who may not be aware that they may be modifying it in the cache.

Message from the maintainers:
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.

it makes sens, "users" could not be able to modify "operator" resources.


[KeyVault] BackupAndRestoreMultiPartFolderName failing in nightly runs

KeyVault nightly test runs are failing with:

Error message
Azure.RequestFailedException : Invalid backup: Reason: Cannot read backup status document
InnerError:
Code: BadRequest
Stack trace
at Azure.Security.KeyVault.Administration.RestoreOperationInternal3.UpdateStatusAsync(Boolean async, CancellationToken cancellationToken) in /mnt/vss/_work/1/s/sdk/keyvault/Azure.Security.KeyVault.Administration/src/RestoreOperationInternal.cs:line 221    at Azure.Security.KeyVault.Administration.RestoreOperationInternal3.UpdateStatusAsync(CancellationToken cancellationToken) in /mnt/vss/_work/1/s/sdk/keyvault/Azure.Security.KeyVault.Administration/src/RestoreOperationInternal.cs:line 181
at Azure.Core.OperationPoller.WaitForCompletionAsync(Boolean async, Operation operation, Nullable1 suggestedInterval, CancellationToken cancellationToken) in /mnt/vss/_work/1/s/sdk/core/Azure.Core/src/Shared/OperationPoller.cs:line 65    at Azure.Core.OperationPoller.WaitForCompletionAsync[T](Operation1 operation, Nullable1 suggestedInterval, CancellationToken cancellationToken) in /mnt/vss/_work/1/s/sdk/core/Azure.Core/src/Shared/OperationPoller.cs:line 39    at Azure.Core.OperationHelpers.DefaultWaitForCompletionAsync[TResult](Operation1 operation, TimeSpan pollingInterval, CancellationToken cancellationToken) in /mnt/vss/_work/1/s/sdk/core/Azure.Core/src/Shared/OperationHelpers.cs:line 45
at Azure.Security.KeyVault.Administration.Tests.FullBackupClientLiveTests.BackupAndRestoreMultiPartFolderName() in /mnt/vss/_work/1/s/sdk/keyvault/Azure.Security.KeyVault.Administration/tests/FullBackupClientLiveTests.cs:line 78
at NUnit.Framework.Internal.TaskAwaitAdapter.GenericAdapter1.BlockUntilCompleted()    at NUnit.Framework.Internal.MessagePumpStrategy.NoMessagePumpStrategy.WaitForCompletion(AwaitAdapter awaiter)    at NUnit.Framework.Internal.AsyncToSyncAdapter.Await(Func1 invoke)
at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod(TestExecutionContext context)
at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute(TestExecutionContext context)
at NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.<>c__DisplayClass1_0.<Execute>b__0()
at NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.RunTestMethodInThreadAbortSafeZone(TestExecutionContext context, Action action)

For more details check here:

https://dev.azure.com/azure-sdk/internal/_build/results?buildId=2683010&view=results

@jsquire for notification.

This is already being tracked.


joyent/node-krill#4: add support for outputting LDAP search filter

This is a work in progress. If that looks good, then I imagine we'll want to bump at least the minor version number in package.json at some point.

@davepacheco I pushed a new separate commit, hopefully that addresses your comments. I'm not sure if I got the indentation of nest object literals right though. It would be great to have a way to automatically check that style to avoid going back and forth.

Looks good!  Thanks.  Assuming it's make prepush clean, feel free to integrate and publish.  (I can also take care of that.)

Merged with 1252d0b0012ae96e24249e21074a3947afb4ae3c, thank you!


Executing supabase db diff --use-migra fails on Mac with M1 chip

Bug report

[x] I confirm this is a bug with Supabase, not with my own application.
[x] I confirm I have searched the Docs, GitHub Discussions, and Discord.

Describe the bug
Using supabase cli 1.50.10
Executing supabase db diff --use-migra fails with following output
supabase db diff --use-migra
Connecting to local database...
Creating shadow database...
Applying migration<PHONE_NUMBER>2558_schema.sql...
Applying migration<PHONE_NUMBER>2239_canceled-stripe-status.sql...
Diffing schemas: auth,extensions,public,storage
Error: error diffing schema: Error response from daemon: platform linux/arm64/v8 not supported:

I noticed the migra image is still using an amd64 image, maybe that is that cause?

To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:

Executed supabase db diff --use-migra on a local Supabase installation on an Apple with an M1 processor
See error output

Expected behavior
Should generate migration output into a file
A clear and concise description of what you expected to happen.
Screenshots
See screenshot above
System information

OS: MacOS Ventura on MacBook Air with M1 chip
Browser
Version of Supabase-cli: 1.50.10
Version of Node.js: 18.16.0

Hello @willopez, do you have docker desktop installed (not just docker client)? It is required for running cross architecture images.  https://docs.docker.com/build/building/multi-platform/

@sweatybridge hello yes I do, seems like the migra Docker image does not yet support Arm64 arch, I looked underlying project for migra image and it has an open PR and to support it. By the way that project does not seemed to be actively maintained.
I am working around this by using the --use-pgadmin flag.
I am curious what are the long term plans for supabase diff generation? Continue using migra or use PgAdmin?

The long term plan is to converge on a single diff tool and continue improving it. This is likely to be migra because it handles most use cases much faster than pgadmin.
Migra supports arm64 as it's written in python. We use the amd64 image but docker should be able to run it nevertheless on M1 using qemu. One fix I found was to disable containerd experimental support in docker settings. https://github.com/LAION-AI/Open-Assistant/issues/568#issuecomment-1418183835

Could you give it a try and let me know? I will update the docs if it works.

That fix worked for me, thanks! It should definitely be added to the docs. Also, perhaps Supabase should consider sponsoring development of the migra project or fork it as it's not getting a lot of attention at the moment.
Thanks! @sweatybridge


can i use TWISTED_REACTOR in spider class with custom_settings

when i set TWISTED_REACTOR in spider.custom_settings and send a request, then raise an error:
scrapy.exceptions.NotSupported: Unsupported URL scheme 'https': The installed reactor (twisted.internet.selectreactor.SelectReactor) does not match the requested one (twisted.internet.asyncioreactor.AsyncioSelectorReactor)

Setting TWISTED_REACTOR in custom_settings is currently not supported by Scrapy (see https://github.com/scrapy/scrapy/issues/4485). A fix has been merged (https://github.com/scrapy/scrapy/pull/5352), but not yet released. In the meantime, I'd suggest you to set the reactor in a project's settings, or running your spiders with CrawlerProcess as it's shown in the examples directory.

Update: since Scrapy 2.6 it is possible to specify the TWISTED_REACTOR in Spider.custom_settings

even with scrapy 2.6 i've still got the same problem

Please share your logs if you're having issues, a few of the scripts in the examples directory use Spider.custom_settings and can be executed successfully with scrapy runspider <file>:
$ scrapy runspider examples/contexts.py
2022-06-24 19:54:45 [scrapy.utils.log] INFO: Scrapy 2.6.0 started (bot: scrapybot)
2022-06-24 19:54:45 [scrapy.utils.log] INFO: Versions: lxml <IP_ADDRESS>, libxml2 2.9.12, cssselect 1.1.0, parsel 1.6.0, w3lib 1.22.0, Twisted 22.2.0, Python 3.9.6 (default, Sep  6 2021, 10:09:19) - [GCC 7.5.0], pyOpenSSL 22.0.0 (OpenSSL 1.1.1m  14 Dec 2021), cryptography 36.0.1, Platform Linux-5.4.0-121-generic-x86_64-with-glibc2.31
2022-06-24 19:54:45 [scrapy.crawler] INFO: Overridden settings:
{'EDITOR': 'nano',
 'SPIDER_LOADER_WARN_ONLY': True,
 'TWISTED_REACTOR': 'twisted.internet.asyncioreactor.AsyncioSelectorReactor'}
2022-06-24 19:54:45 [asyncio] DEBUG: Using selector: EpollSelector
2022-06-24 19:54:45 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor
2022-06-24 19:54:45 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop

(...)

2022-06-24 19:54:45 [scrapy.core.engine] INFO: Spider opened
2022-06-24 19:54:45 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2022-06-24 19:54:45 [scrapy.extensions.telnet] INFO: Telnet console listening on <IP_ADDRESS>:6023
2022-06-24 19:54:45 [scrapy-playwright] INFO: Starting download handler
2022-06-24 19:54:46 [scrapy-playwright] INFO: Launching 3 startup context(s)
2022-06-24 19:54:46 [scrapy-playwright] INFO: Launching browser chromium
2022-06-24 19:54:46 [scrapy-playwright] INFO: Browser chromium launched
2022-06-24 19:54:46 [scrapy-playwright] DEBUG: Browser context started: 'first' (persistent=False)
2022-06-24 19:54:46 [scrapy-playwright] DEBUG: Browser context started: 'second' (persistent=False)
2022-06-24 19:54:46 [scrapy-playwright] DEBUG: Browser context started: 'persistent' (persistent=True)
2022-06-24 19:54:46 [scrapy-playwright] INFO: Startup context(s) launched
2022-06-24 19:54:51 [scrapy-playwright] DEBUG: Browser context started: 'third' (persistent=False)
2022-06-24 19:54:51 [scrapy-playwright] DEBUG: [Context=persistent] New page created, page count is 2 (2 for all contexts)
2022-06-24 19:54:51 [scrapy-playwright] DEBUG: Browser context started: 'default' (persistent=False)
2022-06-24 19:54:51 [scrapy-playwright] DEBUG: [Context=persistent] Request: <GET https://example.org/> (resource type: document, referrer: None)

(...)

2022-06-24 19:54:57 [scrapy.core.engine] INFO: Spider closed (finished)
2022-06-24 19:54:57 [scrapy-playwright] INFO: Closing download handler
2022-06-24 19:54:57 [scrapy-playwright] INFO: Closing browser


How to update contentType in db.uploadfs.files collection?

Hi,
This is an addition to #86.
Package: UFS 0.6.9_1 + ufs-gridfs.
I convert a file from an initial format to another one in transformWrite and then update name, type, extension, path, and url fields in the corresponding collection in the onFinishUpload method:
MyCollection.update({_id: file._id}, {
  $set: {
    name: file.name.replace(/.oga/, '.' + newExt),
    type: newType,
    extension: newExt,
    path: file.path.replace(/.oga/, '.' + newExt),
    url: file.url.replace(/.oga/, '.' + newExt),
  },
});

But there is also such a field as contentType in db.uploadfs.files collection.
Question: Is it necessary to change this field?
If the answer is YES: How to do it correctly from the onFinishUpload method -- without destroying something in the UFS work?
Thank you in advance for the answer.

Hi @seabrus, as I see the contentType attribute you are talking is added by GridFS, not UploadFS.
So I would says YES, you should change it to reflect the real type of the file, but I don't think you could break something in the UploadFS process by changing this value in the onFinishUpload method.
The file type is used to return headers when accessing the file on the server (HTTP: GET). I guess GridFS needs this info for the same purpose.
I am glad I can help you.

@jalik I change contentType in onFinishUpload now.
Have a nice day!


fix: refactor to config from executor settings

Fixed env vars in tests
Removed AzBatchConfig class, using ExecutorSettings in it's place
Removed unused funcs, and other cleanup

Is it obvious to you why this is failing @johanneskoester ? I am having a hard time tracking down why this KeyError... https://github.com/snakemake/snakemake-executor-plugin-azure-batch/actions/runs/7117767600/job/19379237614#step:8:102

Is it obvious to you why this is failing @johanneskoester ? I am having a hard time tracking down a fix.. https://github.com/snakemake/snakemake-executor-plugin-azure-batch/actions/runs/7117767600/job/19379237614#step:8:102
Seems like it's trying to update the job in postprocess after the job is done

This is suprising, the other executors don't have that problem. I have added a debug message to the main Snakemake branch, let's see whether a rerun sheds some light on this.

Yay, fixed! The problem was that you reported job success and error multiple times. THose have to be called only once per job.

awesome, thanks


problem compiling with clang

I'm getting the following error message when trying to include this header file when compiling with clang
/Users/gjchen/projects/tau/tau2020/github/dctk/../Parser-SPEF/parser-spef/parser-spef.hpp:62:8: error:
no template named 'optional' in namespace 'std'
std::optional<std::pair<float, float>> coordinate;
gjchen% clang++ -v
Apple clang version 11.0.0 (clang-1<IP_ADDRESS>)
Target: x86_64-apple-darwin18.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Any idea what is going on?

Right now we only take G++ 8.2 version at least :) Apple clang is not supported.

Ok. I’ll try to fix my GCC install so I can use it.
George

On Oct 27, 2019, at 12:17 PM, Tsung-Wei Huang<EMAIL_ADDRESS>wrote:
Right now we only take G++ 8.2 version at least :) Apple clang is not supported.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

I'm unable to fix my gcc, due to a conflict between Apple and MacPort infrastructure.
I went back to clang and got it running further by moving to c++1z standard, but my clang compiler doesn't support experimental::filesystem::path until a later version.  Would it be possible to re-write the code so that it replaces experimental::filesystem::path with char*?  I've got some code that seems to compile and run OK at this point.  I can give you the changes when they are fully tested.


Publish to CRAN

Would be good to Publish to CRAN once you push to darwin-eu.

I added this to the milestone due on December 12.


Swipe / drag bug with iconbar extension: you can drag the page over the icon bar

First of all: I love the mmenu plugin and it's various extensions! Works very well with different devices and creates a really nice looking menu in a breeze. Goed bezig! ;)
I use the iconbar extension and I think I spotted a bug, at least on my device (Galaxy Note 4, newest Android). When you have opened and closed the menu once, afterwards you can 'drag' the main page to the left over the icon bar menu, hiding it. I see this behavior also when I open the iconbar demo page on my phone:
http://mmenu.frebsite.nl/demo/index.html?demo=iconbar
The dragging is not possible before the menu has been opened and closed once. That might be a hint to the problem source.
Actually what I think is going on is that the page width is re-calculated after menu open-close and somehow the 60px width from the iconbar are added to it, so the mobile browser allows horizontal scrolling to see the extra 60px on the right. Those extra 60px are empty and useless of course, so we must try to 'convince' the browser that the page has no extra width on the right.
I hope it is clear what I mean and you can reproduce it. If not, please let me know and I'll try to attach a screenshot.
I guess this can be solved with some CSS changes. I hope you can help me with that. Meanwhile, I'll try some options myself as well.

Not all options, extensions and add-ons might be compattible with one another. If you include the "debugger.js" script in your page, you'll get a warning in the console when using incompattible options, extensions and add-ons. At least, the ones I know of :-)
I'll do some testing and update the debugger if needed.

Thanks for your reply & suggestions. I looked at the debugger and I do not have any conflicting extensions or addons. Also, it happens at your own demo page for the iconbar:
http://mmenu.frebsite.nl/demo/index.html?demo=iconbar
and I assume that has no conflicts.
It seems this bug/issue is browser dependent. I tried it on a few mobile browsers and it happens on the default Android browser and on Firefox for Android, but it does not happen on Chrome for Android and also not on Opera for Android browsers. Not sure whether it should be counted as a browser CSS bug or not. I would be nice to solve it though. So if you have any further pointers on how to solve this, thanks!
I played with it a little bit and found that the added css below solves this issue, but unfortunately introduces another one, namely that the page is always 60 pixels shorter on the right side.
.mm-page {
    width: -moz-calc(100% - 60px);
    width: -webkit-calc(100% - 60px);
    width: calc(100% - 60px);
}

I am no CSS wizard, so maybe you have another suggestion that might fix this issue?
For clarity: steps to reproduce:

Open http://mmenu.frebsite.nl/demo/index.html?demo=iconbar in the default Android browser or in the Firefox for android browser.
Open the menu
Close the menu
Now drag the main page to the left and it will overlap the iconbar. This is probably a horizontal scrolling behavior, since the browser somehow 'thinks' the main page has 60 pixels extra to the right.

I've tried the overflow-x: hidden; before I think, it introduced more bad behavior.
I'll see If I can use the calc() solution, seems solid enough.

For now I'm using overflow-x: hidden; without any further problems. Do you remember what extra bad behavior you encountered when using that? The problem with the calc() solution that I had, was that the page was indeed 60 pixels smaller: not the same background color, not taken into account for centering items, etc. But maybe it can be tweaked so that it works or I attached it to the wrong elements or ...
I'm happy to test any possible solutions that you have.
You might also consider using an online tester, like in one of these results:
https://www.google.com/webhp?q=online+android+testing
Although these all seem to be paid services, there are some that offer some free tryout time.

Hmm, just checked and the iconbar extension already adds overflow-x: hidden; to the body.
I'll see if adding to the the html as well causes any unwanted behavior on desktop and ios.

Ah yes, I did not notice it before. Indeed, if I remove that from the css, the horizontal scroll bar shows up on a desktop browser and the same issue applies. For me as inexperienced CSS user, it seems very weird that adding a 'do not scroll' to the html element gives a different result than adding it to the body only. But oh well, browser quirks...
Seems then that this added piece of css indeed is the way to go to solve the issue. Only weird thing is that with overflow-x: hidden; added to both html and body it still fails on Firefox for Android. I'll check to see if it disappears if I add it to even more elements. :)


Default regex checking on input fields

Sui-input provides a regex checker called pattern as one of its props that accepts a regex string which is used to verify if input matches the regex. If users enters a string such as "email", we should automatically verify the input as an email field. We can consider verifying a few common strings such as "email" and "url".

added features in #103


[Bug Report] el-input can't work with validator inside a dialog

Element UI version
2.6.1
OS/Browsers version
windows 10 x64, Chrome 72 x64
Vue version
2.6.8
Reproduction Link
https://jsfiddle.net/bjhv5om2/
Steps to reproduce
click the button, then a parent dialog appear, then click OK, the child dialog would appear
then input and click OK, you will find the problem
What is Expected?
I hope the validator can restrict the input between 0 to 1, it's float
and reject other inputs
in element-ui-2.4.11 this bug doesn't exist, in newer version until 2.7.0, it exists
What is actually happening?
it would accept a non digital string, and pass the validator
it can't input float number, the '.' can't be input

see http://element.eleme.io/#/en-US/component/input#input

I add
type="number"
in el-input label
then it's resolved


install help

im on mac and im trying to install but as soon as i reach the command "virtualenv ." i hit a wall, have i missed something along the way?
x:~ xxxx$ git clone -b dev https://github.com/PokemonGoF/PokemonGo-Bot
fatal: destination path 'PokemonGo-Bot' already exists and is not an empty directory.
x:~ xxxx$ cd PokemonGo-Bot
x:PokemonGo-Bot xxxx$ virtualenv .
-bash: virtualenv: command not found
x:PokemonGo-Bot xxxx$

rorys-mbp:~ roryhellwig$ $ git clone -b master https://github.com/PokemonGoF/PokemonGo-Bot
-bash: $: command not found
rorys-mbp:~ roryhellwig$ $ cd PokemonGo-Bot
-bash: $: command not found
rorys-mbp:~ roryhellwig$ $ virtualenv .
-bash: $: command not found
rorys-mbp:~ roryhellwig$ $ source bin/activate
-bash: $: command not found
rorys-mbp:~ roryhellwig$ $ pip install -r requirements.txt
-bash: $: command not found
rorys-mbp:~ roryhellwig$
rorys-mbp:~ roryhellwig$ brew update && brew install --devel protobuf
Updated Homebrew from c4deed6 to 97b6a30.
Updated 1 tap (homebrew/core).
==> Updated Formulae
exiftool                                 redpen
Warning: protobuf-3.0.0-beta-4 already installed
rorys-mbp:~ roryhellwig$ $ git clone -b master https://github.com/PokemonGoF/PokemonGo-Bot
-bash: $: command not found
rorys-mbp:~ roryhellwig$ $ cd PokemonGo-Bot
-bash: $: command not found
rorys-mbp:~ roryhellwig$ $ virtualenv .
-bash: $: command not found
rorys-mbp:~ roryhellwig$ $ source bin/activate
-bash: $: command not found
rorys-mbp:~ roryhellwig$ $ pip install -r requirements.txt
-bash: $: command not found
rorys-mbp:~ roryhellwig$ git clone -b master https://github.com/PokemonGoF/PokemonGo-Bot
fatal: destination path 'PokemonGo-Bot' already exists and is not an empty directory.
rorys-mbp:~ roryhellwig$ cd PokemonGo-Bot
rorys-mbp:PokemonGo-Bot roryhellwig$ virtualenv .
-bash: virtualenv: command not found
rorys-mbp:PokemonGo-Bot roryhellwig$ virtualenv
-bash: virtualenv: command not found
rorys-mbp:PokemonGo-Bot roryhellwig$ source bin/activate
-bash: bin/activate: No such file or directory
rorys-mbp:PokemonGo-Bot roryhellwig$ pip install -r requirements.txt
Obtaining pgoapi from git+https://github.com/tejado/pgoapi.git@3787ffbe2e80ebce8a02d48eebceb9edf40179c1#egg=pgoapi (from -r requirements.txt (line 1))
Skipping because already up-to-date.
Collecting geopy==1.11.0 (from -r requirements.txt (line 2))
Could not fetch URL https://pypi.python.org/simple/geopy/: There was a problem confirming the ssl certificate: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590) - skipping
Could not find a version that satisfies the requirement geopy==1.11.0 (from -r requirements.txt (line 2)) (from versions: )
No matching distribution found for geopy==1.11.0 (from -r requirements.txt (line 2))
rorys-mbp:PokemonGo-Bot roryhellwig$

remove the existing "PokemonGO-Bot" folder

https://github.com/PokemonGoF/PokemonGo-Bot/wiki/Installation#requirements-click-each-one-for-install-guide

please see installation guide


AdminLTE requires jquery v2.4.8.

Hi,
I get this error when i try to reference the admin-lte

Is there something that i am missing probably something really basic ? I am using a typescript react project .  I have installed jquery and am importing jquery before importing admin-lte .Thanks.
Regards,
Francis P.

Any news? I've faced exactly the same issue. Is there any recommended way to integrate admin-lte into ES6 project via import?

try referencing the adminlte.js and the jquery in your public/index.html
<script type="text/javascript" charset="utf-8" src="jquery.js"></script>
  <script type="text/javascript" charset="utf-8" src="adminlte.js"></script>

try referencing the adminlte.js and the jquery in your public/index.html
<script type="text/javascript" charset="utf-8" src="jquery.js"></script>
  <script type="text/javascript" charset="utf-8" src="adminlte.js"></script>

Of course, it works. But it is not ES6 or CommonJS way to manage dependencies and bundling the application.


Does not compile with OTP 19.0

Hey,
it seems like the build fails on OTP 19.0 (regardless of Elixir version).
This can easily be averted by using OTP 18.0, but it would be nice to come up with a more future-proof solution.
== Compilation error on file web/router.ex ==
** (CompileError) web/router.ex: internal error in v3_core;
crash reason: {case_clause,
    {'EXIT',
        {badarg,
            [{erl_anno,anno_info,[-1],[{file,"erl_anno.erl"},{line,360}]},
             {v3_core,record_anno,2,[{file,"v3_core.erl"},{line,2410}]},
             {v3_core,expr,2,[{file,"v3_core.erl"},{line,539}]},
             {v3_core,safe,2,[{file,"v3_core.erl"},{line,1593}]},
             {v3_core,expr,2,[{file,"v3_core.erl"},{line,528}]},
             {v3_core,safe,2,[{file,"v3_core.erl"},{line,1593}]},
             {v3_core,'-safe_list/2-anonymous-0-',2,
                 [{file,"v3_core.erl"},{line,1608}]},
             {lists,foldr,3,[{file,"lists.erl"},{line,1276}]},
             {v3_core,expr,2,[{file,"v3_core.erl"},{line,538}]},
             {v3_core,safe,2,[{file,"v3_core.erl"},{line,1593}]},
             {v3_core,'-safe_list/2-anonymous-0-',2,
                 [{file,"v3_core.erl"},{line,1608}]},
             {lists,foldr,3,[{file,"lists.erl"},{line,1276}]},
             {v3_core,expr,2,[{file,"v3_core.erl"},{line,538}]},
             {v3_core,safe,2,[{file,"v3_core.erl"},{line,1593}]},
             {v3_core,expr,2,[{file,"v3_core.erl"},{line,528}]},
             {v3_core,safe,2,[{file,"v3_core.erl"},{line,1593}]},
             {v3_core,'-safe_list/2-anonymous-0-',2,
                 [{file,"v3_core.erl"},{line,1608}]},
             {lists,foldr,3,[{file,"lists.erl"},{line,1276}]},
             {v3_core,expr,2,[{file,"v3_core.erl"},{line,652}]},
             {v3_core,exprs,2,[{file,"v3_core.erl"},{line,512}]}]}}}

  in function  compile:'-select_passes/2-anonymous-2-'/2 (compile.erl, line 530)
  in call from compile:'-internal_comp/4-anonymous-1-'/2 (compile.erl, line 315)
  in call from compile:fold_comp/3 (compile.erl, line 341)
  in call from compile:internal_comp/4 (compile.erl, line 325)
  in call from compile:'-do_compile/2-anonymous-0-'/2 (compile.erl, line 175)
    (stdlib) lists.erl:1338: :lists.foreach/2
    (phoenix) expanding macro: Phoenix.Router.__before_compile__/1
    web/router.ex:1: Visualixir.Router (module)
    (elixir) lib/kernel/parallel_compiler.ex:116: anonymous fn/4 in Kernel.ParallelCompiler.spawn_compilers/1

Hey @duics, thanks for letting me know. I haven't had as much time as I'd like to work on the project recently.
Let me know if you have any further issues. :)


Add data flow diagram for the Vercel APL

during app deployment on Vercel we are using an additional microservice to setup environment variables
create a data flow that explains the whole process
describe used env variables, required setup by the CLI
use mermaid (can be displayed in the GH interface 🎉)

Vercel APL implementation: #35

Flow can be seen here https://github.com/saleor/saleor-app-sdk/blob/main/docs/apl.md


rename master branch to main

🤔 What's the problem you've observed?
We're still using a legacy trunk name that's not as inclusive as it could be.
✨ Do you have a proposal for making it better?
Rename it to main

Done


Haproxy not installed in vagrant

Haproxy is not installed in vagrant.

[ ] add haproxy to vagrant.yml
[ ] set a domain for vagrant

Closing as we are moving to traefik.


RFC: Remove pageFeatureGetters API, in favour of direct setting of features.

Summary
EdgeKit right now allows the user to pass an Array of pageFeatureGetters which are objects containing a name and func key:
const getHtmlKeywords = {
  name: 'keywords',
  func: () => ( return ['kw1', 'kw2'])
};

This seems to add a layer of complexity and boilerplate as EdgeKit, then simply executes these functions. For someone wanting to use the project if their function failed it would mean having to try and debug the internals.

The current API adds boiler
Adds a layer without any real utility or abstraction
No real error checking / handling

Proposal
Expose a new method which creates a more familiar set() based API.
Rather then providing a list of functions, which resolve to features, we would allow users to set features directly:
edkt.setPageFeatures('keywords', ['kw1', 'kw2']);

We could also return a pointer to the feature if for example it needed to be updated:
pageFeaturesPointer = edkt.setPageFeatures('dwell', 20);
// some time passes
pageFeaturesPointer.update('dwell', 30)

The current implementation for page features does add unnecessary complexity. Some questions I'd have right off the bat is how would this work with:

GDPR compliance

For example what happens if GDPR applies but there is no consent, should it return an error or silently fail? etc

edkt.run

What happens when this runs before/after edgekit runs?

That is a good point.
My initial thought was, we allow the user of the lib to set the features but internally we do not set them, we hold them until we know about consent and then decide to set / throw away.
However the issue there is if people are calling APIs, which we are for example there is a cost which we could reduce. Obvious option to solve that would be:
const isConsentGranted = edkt.checkForConsent();

if (isConsentGranted) {
  const features = makeApiCall();
  // the rest of the flow...
}

Do you have some ideas?
On the following:

edkt.run
What happens when this runs before/after edgekit runs?

Not very clear what you are referring to here to me - edkt is the same thing as running edgekit?

Yeah I think exposing checkForConsent might be the best route, it might be better to be less opinionated and more flexible for this kind of thing
edkt.run needs to be called explicitly right now, takes the page feature getters and audience definitions and runs the engine which stores the page views and matched audiences. How would this fit into that flow? would the user call edkt.setPageFeatures before calling edkt.run? or would it look different

Yeah the full flow would end up being:
const isConsentGranted = await edkt.checkForConsent();

if (isConsentGranted) {
  const features = await makeApiCall();
  const audiences = await makeApiCall();
  edkt.setPageFeatures(features);
  edkt.matchAudiences(audiences);
}

I am not 100% happy with this:

I do not like that it has to all go inside of the if block.
I would like to provide a simpler API if possible in addition to a more flexible modular one.

Any ideas for improvment?

What about making setPageFeatures and matchAudiences noop functions if there isn't consent, but also provide a way to disable that behavior if the user wants more explicit control?

Yeah that can be done, but does it solve the issue described above:

My initial thought was, we allow the user of the lib to set the features but internally we do not set them, we hold them until
we know about consent and then decide to set / throw away.
However the issue there is if people are calling APIs

I was thinking to give the user the ability to disable the behavior for implicit checking so that they have to do it explicitly, but I think that's too verbose.
What about just having the implicit check internally but then also exposing edkt.checkForConsent for users if they need more control?

@Risto-Stevcev please could you provide an example of your suggestion, and ensure its clear that it allows for the stopping of any calls to third party services, when consent is not granted.

I was thinking roughly something sort of like this:
// hasGdprConsent memoizes the result for any future invocations,
// the promise might already be resolved when called if it was already determined
import { hasGdprConsent } from './gdpr';

// These are all exposed to the user via `edkt.*`:

exports.checkForConsent = hasGdprConsent

exports.setPageFeatures = (...) => {
  if (await hasGdprConsent(vendorIds)) {
    /* Sets the page features _only_ if there's consent */
  }
}

exports.matchAudiences = (...) => {
  if (await hasGdprConsent(vendorIds)) {
    /* Matches and stores audiences _only_ if there's consent */
  }
}

That way the simple use-case is available but it's also flexible. For example, the user could use it like this:
const features = await makeApiCall();
const audiences = await makeApiCall();
edkt.setPageFeatures(features);
edkt.matchAudiences(audiences);

And it won't set page features or match audiences unless consent is granted.
Or, if the user needs to ensure that they won't make an API call unless consent is granted, they can check as well:
const vendorIds = // ...
if (await edkt.checkForConsent(vendorIds)) {
  const features = await makeApiCall();
  const audiences = await makeApiCall();
  edkt.setPageFeatures(features);
  edkt.matchAudiences(audiences);
}

I cannot tell how this is any different from https://github.com/AirGrid/edgekit/issues/57#issuecomment-698390029

The conditional is optional, it will check for consent either way and the library user can add it if they need if for API calls

Ohh yes ok I got you, that could be better apart from a little opaque if stuff fails due to consent - but we can expose it in config.
One more suggestion and I am not sure if this is better - but it avoids the if which I am not a fan off... we could provide users a wrapper function which checks for consent, where they can wrap their API calls, so:
const result = await runOnConsent(makeApiCall);
// if consent true; result is fetched, if consent false result is null

Ah nice, I like that suggestion more since it avoids the wrapped conditional

Ok great, I think we can easily make both methods available by:

exposing the consent check function
providing a util to "silence" a function call based on consent

@Risto-Stevcev I think this is good to start work on - some of this is already done as part of the recent work on the GDPR module.
One thing I would suggest we change from what was discussed on this thread is that we should set multiple page features in a single call.
We do not need to for now handle the ability to call it twice, or the ability to update. Lets let the API harden before extending with that sort of functionality.

Closing this as we set page features direct now.


Error installing on Python 3.10

Collecting neil-vst>=0.2.7
  Using cached neil_vst-0.2.7.tar.gz (310 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [13 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "C:\Users\user\AppData\Local\Temp\pip-install-weijus_4\neil-vst_d8f152744a9a421595b758bfe2db5d95\setup.py", line 16, in <module>
          ext_modules = cythonize( [
        File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\Cython\Build\Dependencies.py", line 970, in cythonize
          module_list, module_metadata = create_extension_list(
        File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\Cython\Build\Dependencies.py", line 816, in create_extension_list
          for file in nonempty(sorted(extended_iglob(filepattern)), "'%s' doesn't match any files" % filepattern):
        File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\Cython\Build\Dependencies.py", line 114, in nonempty
          raise ValueError(error_msg)
      ValueError: 'neil_vst/vst_host.pyx' doesn't match any files
      C:\Users\user\AppData\Local\Temp\pip-install-weijus_4\neil-vst_d8f152744a9a421595b758bfe2db5d95 ['neil_vst']
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

Installation requirement python >=3.7

>= stands for greater than or equal to.
I think you have left some files untracked.

No, all files are tracked. The "py-neil-vst-gui" repo have a sub module - "py-neil-vst" but this sub-module do not cloned by you while you clone the "py-neil-vst-gui" itself. Please use the "--recursive" or "--recurse-submodules" flags, like that:
git clone --recurse-submodules https://github.com/LeftRadio/py-neil-vst-gui

I don't think you understand the way submodules work. If you had one really, it would be visible as a link to another repo on Github. To prove myself, I clone your repo with
git clone --recurse-submodules https://github.com/LeftRadio/py-neil-vst-gui

This is the file tree it created:
PY-NEIL-VST-GUI
│   LICENSE
│   README.md
│   setup.py
│
├───img
│       0_1.png
│       0_2.png
│       0_3.png
│       1.png
│       1_1.png
│       2.png
│
└───neil_vst_gui
    │   job.py
    │   main.py
    │   main.qrc
    │   main.ui
    │   main_worker.py
    │   play_chain.py
    │   rects_animate.py
    │   resources.py
    │   tag_write.py
    │   ui_logging.py
    │   ui_settings.json
    │   ui_settings.py
    │   _job.json
    │   __init__.py
    │
    └───res
            all_btn.png
            background_text2.jpg
            start_btn.png
            stop_btn.png
            Untitled_000000.png

Sorry, this is a my mistake with link the sub-module to this repo. Fix this are soon as posible.
For now you may manualy install the sub-module (base package with CLI) from this repo:
https://github.com/LeftRadio/py-neil-vst


Select should be initiallized to the defsult value

Otherwise they will be undefined unless you select an option and then select the first one again

That was one of the two "issues" I wanted to let you know.


Tengine2.2.2 健康检查Http1.1 tomcat返回400 Bad Request

官网示例
check interval=3000 rise=2 fall=5 timeout=1000 type=http;
check_keepalive_requests 100;
check_http_send "HEAD / HTTP/1.1\r\nConnection: keep-alive\r\n\r\n";
check_http_expect_alive http_2xx http_3xx;
始终返回错误信息，后来通过Wireshark抓包发现tomcat返回400 Bad Request信息。
通过分析http的请求头发现没有host头信息。
在http1.1协议定义上找到如下说明
https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.23
A client MUST include a Host header field in all HTTP/1.1 request messages . If the requested URI does not include an Internet host name for the service being requested, then the Host header field MUST be given with an empty value. An HTTP/1.1 proxy MUST ensure that any request message it forwards does contain an appropriate Host header field that identifies the service being requested by the proxy. All Internet-based HTTP/1.1 servers MUST respond with a 400 (Bad Request) status code to any HTTP/1.1 request message which lacks a Host header field.
http1.1请求头当中必须包含host头（值可以为空），否则服务器要返回400错误。
我修改后的配置
check interval=3000 rise=2 fall=5 timeout=1000 type=http;
check_keepalive_requests 100;
check_http_send "GET / HTTP/1.1\r\nHost:\r\nProxy-Connection: keep-alive\r\n\r\n";
check_http_expect_alive http_2xx http_3xx;
其中加了host头，并且http将Connection头改为Proxy-Connection
再次通过抓包测试，返回正确200，并且nginx与tomcat之间使用长连接进行健康检查

if it's still a question, plz reopen.


Saving Email to Hard Drive Folder

I need JIRA to read emails stored on a local system folder but i don't know which API method will help me to do this.
Currently I am able to read email using below code
EmailMessage emailMessage = EmailMessage.bind(service, itm.getId());
Please advise

Hi,
what exactly do you want? EmailMessage emailMessage = EmailMessage.bind(service, itm.getId()); is the correct way to bind an Exchange Mail by its (EWS)-ID. What do you mean with:
'I need JIRA to read emails stored on a local system folder but i don't know which API method will help me to do this.'
Jan

Hi,
what exactly do you want? EmailMessage emailMessage = EmailMessage.bind(service, itm.getId()); is the correct way to bind an Exchange Mail by its (EWS)-ID. What do you mean with:
'I need JIRA to read emails stored on a local system folder but i don't know which API method will help me to do this.'
Jan

Hi Jan, I want to store each email as a text file. How can i do this ?.

Hi,
to store an email on local file system you need to handle the 'MimeContent'.
At first you've to load this property:
EmailMessage emailMessage = EmailMessage.bind(service, new ItemId("MyItemId"), new PropertySet(ItemSchema.Id, ItemSchema.MimeContent))
As result Exchange will return the MimeContent as byte[]. Then you have to store these bytes into a file:
File toSave= new File(".\myfolder\MyItemId.eml");
FileUtils.writeByteArrayToFile(toSave, emailMessage.getMimeContent().getContent());

This should do all you want :-)
Jan

Hi Jan,
Thanks for the code. But your code gives me below error
microsoft.exchange.webservices.data.core.exception.service.local.ServiceObjectPropertyException: You must load or assign this property before you can read its value

Thanks. It worked now. I can store emails as text file.