[Bug]: Some files won't sync even when changes are found

Issue validation

[X] I checked the issue to prevent duplicate
[X] I checked my configurations files and the documentation

Command used
Refresh published and upload new notes
Plugin version
7.2.13
Describe the bug
I usually use refresh published and upload new notes to sync with the repo, but there are a few files that just won’t ever get sent, even when it's apparent that enveloppe is flagging a file to be sent as apparent on the top right notification. I tried all possible commands and they did not help.
These problematic notes have worked before, and this is after manually deleting the contents folder during an attempt to resync some of the missing files (potentially due to the same error) that they started being ignored.
The repo in question can be found here.
Attaching video of encountered problem.
https://github.com/user-attachments/assets/e470857d-3a5d-4427-9f8a-a6ebd98f342a
Thank you!
How to reproduce ?
No response
Minimal Reproducible Example
The content of the file refusing to be send is as follows. Keep in mind that this same file has worked before.

---
title: Yifu Design Lab
tags:
  - project
share: true
status: DONE
---
%%[parents:: [[People/Yifu Ding|Yifu Ding]]]%%
%%https://bit.ly/45WKQSC%%
%%https://thinkwithpbody.github.io/Yifu-Pages/Projects/2024/Yifu-Design-Lab/Yifu-Design-Lab%%

### Service

%%End of Year 50% Off!%%
*Cheaper, better, and faster than Stratasys FDM!*

Pick up at Daniels or 404-Major Mackenzie Dr E.

> [!tip]+ 100% satisfaction guarantee
> *Get a full reprint or 100% Refund if you are not happy with your order.*
>
> We will inspect your files to ensure they will print correctly. If you are not happy with the quality of the product you purchased, and this is due to factors under our control, we will replace or refund your print fully. For factors that we don’t control, such as incorrect models or scale, we will strive to find a solution. For any issues contact Yifu within 7 days of job completion.

#### Machine

FDM Bambu P1S with AMS
- Up to 4 filaments per plate
- Build volume XYZ: 225mm * 225mm * 250mm | 8.85in * 8.85in * 9.85in
- 0.4 mm hardened steel nozzle
- Bambu Studio slicer

#### Service Charge

Total = Setup + Printing Minutes + Filament Grams

Invoice available upon request.

| File Setup | Printing                                          | Filament      |
| ---------- | ------------------------------------------------- | ------------- |
| \$12       | %%\$3%%\$0.05/min | [[#Filament]] |

> [!info]
> [[#*Why is there a setup fee?*|Setup fee]] may be discounted or waived depending on complexity.
>
> Setup fee will be waived for Bambu Studio sliced .3mf files. However, please be aware that the outcome of the initial print will be final, as no adjustments or reprints will be provided for these waived jobs. The standard "100% satisfaction guarantee," which includes the option for a full reprint or refund if you are not satisfied with your order, does not apply to these waived jobs. If you accept these conditions and wish to proceed with complete control over the print process, please use the following [template](http://www.mediafire.com/view/rgq6dceauc22jln) to get started.

### Getting Started

1. Follow [[#File Preparation]] and export files.
2. Choose your [[#Filament]].
3. Choose from one of the [[#Quality Presets]].
4. Adjust [[#Slicing Options]] as needed.
5. Send your **ZIP** file, **filament**, **preset**, and any **custom options** to Yifu Ding over Teams or<EMAIL_ADDRESS>to place job order.
6. Email transfer fees to<EMAIL_ADDRESS>
#### Filament

| PLA                       |   $/kg | Hex Code                                                     |
| :------------------------ | -----: | ------------------------------------------------------------ |
| Matte Ivory White         |  25.99 | FFFFFF             |
| Matte Charcoal Black      |  25.99 | 000000 |
| Matte Sakura Pink         |  25.99 | E8AFCF             |
| Matte Lilac Purple        |  25.99 | AE96D4                    |
| Basic Bambu Green         |  25.99 | 00AE42                    |
| Marble White              |  38.99 | F7F3F0                    |
| Silk Gold                 |  38.99 | E5B03D                    |
| Sparkle Crimson Red       |  38.99 | 792B36        |
| Metal Iron Gray           |  38.99 | 43403D        |
| Breakaway Support         |  89.98 |                                                              |
| PVA Water-soluble Support | 101.98 |                                                              |

| ABS         |  $/kg | Hex Code                                         |
| :---------- | ----: | ------------------------------------------------ |
| Basic White | 29.99 | FFFFFF |

| PETG        |  $/kg | Hex Code                                         |
| :---------- | ----: | ------------------------------------------------ |
| Basic White | 29.99 | FFFFFF |
| Basic Clear | 29.99 |                                                  |

> [!info]
> Filament prices listed reflect bulk purchasing savings and are offered without any markup.
>
> HST will be added to the total charge.
>
> Other filaments may be available upon request.
> [Bambu Lab](https://ca.store.bambulab.com/collections/pla?skr=yes)

#### Quality Presets

For 1 inch hollow cube with 2 walls:

| Quality Presets   | Layer Height (mm) | Time  | Minimum $ (Time + Filament) |
| :---------------- | :---------------: | :---: | :-------------------------: |
| Extra Fine        |       0.08        | 35:01 |            3.69             |
| Fine              |       0.12        | 24:43 |            2.68             |
| Optimal (Default) |       0.16        | 19:04 |            2.11             |
| Standard          |       0.20        | 15:42 |            1.77             |
| Draft             |       0.24        | 13:10 |            1.44             |
| Extra Draft       |       0.28        | 11:34 |            1.28             |

#### Slicing Options

> [!info]
>  Default value in parenthesis.
>
>  Critical settings are marked with ❗.
>
>  Recommended values are marked with ⭕.

Print Orientation ❗

Layer Height (0.16mm) ❗
- Affects overhang performance

Print Speed

Wall Loops (2) ❗

Wall Generator (Classic)
- Classic ⭕
- Arachne ⭕

Order of Walls (Inner / Outer)
- Inner / Outer
- Outer / Inner
- Inner / Outer / Inner

X-Y Hole Compensation (0mm)

X-Y Contour Compensation (0mm)

Infill Pattern (Grid) ❗
- Concentric
- Rectilinear ⭕
- Grid ⭕
- Line ⭕
- Cubic ⭕
- Triangles
- Tri-hexagon
- Gyroid ⭕
- Honeycomb
- Adaptive Cubic ⭕
- Aligned Rectilinear
- 3D Honeycomb
- Hilbert Curve
- Archimedean Chords
- Octagram Spiral
- Support Cubic ⭕
- Lighting ⭕

Infill Percentage 0-100% (15%) ❗

Support (Normal Automatic) ❗
1. Normal Automatic
2. Normal Manual
3. Tree Automatic
4. Tree Manual

Raft (None)

Brim (Auto) ❗
1. Auto ⭕
2. Outer Brim Only ⭕
3. Inner Brim Only
4. Outer And Inner Brim
5. No Brim ⭕

Fuzzy Skin (None) ❗
- None
- Contour
- Contour And Hole
- All Walls

Surface Pattern (Monotonic)
1. Concentric ⭕
2. Rectilinear
3. Monotonic ⭕
4. Monotonic Line
5. Aligned Rectilinear ⭕
6. Hilbert Curve
7. Archimedean Chords
8. Octagram Spiral

Ironing (Top Surfaces) ❗
1. None ⭕
2. Top Surfaces ⭕
3. Topmost Surface
4. All Solid Layer

Ironing Pattern (Rectilinear)
1. Concentric ⭕
2. Rectilinear ⭕

Thick Bridges (None)

Seam Positions (Aligned)
1. Nearest
2. Aligned
3. Back
4. Random

Scarf Joint Seam (Contour And Hole)
1. None
2. Contour
3. Contour And Hole

### File Preparation

![[Projects/2024/Yifu Design Lab/Attachments/Yifu Design Lab/2024-04-10T21_01_21-05_00_TWP-X570-WIN10(Rhino).gif]]
*The pricing calculation in this demonstration is outdated.*

#### Orientate

Choose printing **orientation** for maximum smoothness.
- Printing a thin, organic piece vertically provides smoother detail and needs less support than laying it flat on the bed.

#### Divide

Divide large models exceeding the **build volume** with a **planar** cutter to provide **flat surfaces** that will adhere to the print bed nicely.
- Each model need to be a closed solid with no non-manifold geometry. They should be **watertight**.
- For pieces that are thin and tall, height is recommended to not exceed 100 mm.
- Keep in mind that any **overhang** exceeding 25 degrees will need substantial support structure which could be reduced or eliminated if they were divided and orientated differently.
- **WireCut** is a great command for this purpose. If WireCut didn't work on your model, chances are it isn't watertight and it won't print properly either.

#### Export

Files should be exported as **STL in millimetres**.
- Rhino files or incorrectly scaled STL will not be accepted.
- **Each separated body should be one file** regardless of which plate they may be on, to maximize nesting potential.
	- When relative positioning is important, add a small bridge with a cross section of 0.5-1mm² (depending on strength requirement) directly on the print bed and boolean union all connected bodies.
- For multiple objects, use the Rhino command **RunPythonScript** with the [[Projects/2024/Yifu Design Lab/Attachments/Yifu Design Lab/BatchExportSTLByObj.py|Batch Export Python Script]] to export all selected files at once.
- Deliver more than one .stl files as a **ZIP**.

### Showcase

![[Projects/2024/Yifu Design Lab/Attachments/Yifu Design Lab/DSCF4947.jpg|400]]

by Arjay Asuncion - 2024

### FAQ

###### *Why is there a setup fee?*

This setup fee allows me to take more care optimizing your print file and compensates me for my continued presence. Optimizations can massively reduce your print time and filament use, lowering total cost, but each job is different and it takes time. I try my best to provide affordable and environmentally responsible printing service, which is why I offer my time and expertise at a modest fee. You'll always have the option to slice it by yourself and I am pleased to waive the setup fee for such cases, but current success rate for this option is only 0%.
![[Projects/2024/Yifu Design Lab/Attachments/Yifu Design Lab/2024-04-10T00_15_05.jpg|400]]

%%
### Tiny Tracker

Abida - 3.95

%%

Configuration
{
  "github": {
    "branch": "v4",
    "automaticallyMergePR": true,
    "dryRun": {
      "enable": false,
      "folderName": "enveloppe"
    },
    "tokenPath": "%configDir%/plugins/%pluginID%/env",
    "api": {
      "tiersForApi": "Github Free/Pro/Team (default)",
      "hostname": ""
    },
    "workflow": {
      "commitMessage": "[ENVELOPPE] Merge",
      "name": ""
    },
    "verifiedRepo": true
  },
  "upload": {
    "behavior": "obsidian",
    "defaultName": "content",
    "rootFolder": "",
    "yamlFolderKey": "",
    "frontmatterTitle": {
      "enable": false,
      "key": "title"
    },
    "replaceTitle": [],
    "replacePath": [],
    "autoclean": {
      "includeAttachments": true,
      "enable": true,
      "excluded": []
    },
    "folderNote": {
      "enable": false,
      "rename": "index.md",
      "addTitle": {
        "enable": false,
        "key": "title"
      }
    },
    "metadataExtractorPath": ""
  },
  "conversion": {
    "hardbreak": false,
    "dataview": true,
    "censorText": [],
    "tags": {
      "inline": true,
      "exclude": [],
      "fields": []
    },
    "links": {
      "internal": true,
      "unshared": true,
      "wiki": false,
      "slugify": true
    }
  },
  "embed": {
    "attachments": true,
    "overrideAttachments": [],
    "keySendFile": [],
    "notes": true,
    "folder": "",
    "convertEmbedToLinks": "keep",
    "charConvert": "->",
    "unHandledObsidianExt": [
      "py"
    ],
    "sendSimpleLinks": true,
    "useObsidianFolder": true
  },
  "plugin": {
    "shareKey": "share",
    "excludedFolder": [
      "Configs/Templater",
      "Family/Finance",
      "Family/Recipe"
    ],
    "copyLink": {
      "enable": true,
      "links": "",
      "removePart": [],
      "transform": {
        "toUri": true,
        "slugify": "lower",
        "applyRegex": []
      }
    },
    "setFrontmatterKey": "Set"
  },
  "tabsId": "github-configuration"
}

Relevant log output
No response
OS
Windows
Anything else?
No response
Obsidian information
SYSTEM INFO:
	Obsidian version: v1.6.7
	Installer version: v1.5.3
	Operating system: Windows 10 Enterprise 10.0.19045
	Login status: not logged in
	Insider build toggle: off
	Live preview: on
	Base theme: light
	Community theme: Minimal v7.4.6
	Snippets enabled: 3
	Restricted mode: off
	Plugins installed: 37
	Plugins enabled: 31
		1: Google Calendar v1.10.15
		2: Recent Files v1.5.0
		3: Tasks v7.9.0
		4: Advanced Tables v0.22.0
		5: Excalidraw v2.4.1
		6: Iconize v2.14.3
		7: Dataview v0.5.67
		8: Tag Wrangler v0.6.1
		9: Find orphaned files and broken links v1.10.1
		10: Better Word Count v0.10.1
		11: Emoji Toolbar v0.4.1
		12: Advanced Slides v1.20.0
		13: Periodic Notes v0.0.17
		14: Paste URL into selection v1.7.0
		15: Calendar v1.5.10
		16: Hover Editor v0.11.20
		17: Commander v0.5.1
		18: Minimal Theme Settings v8.1.1
		19: Sortable v0.3.1
		20: Templater v2.7.1
		21: Path Finder v1.1.7
		22: ExcaliBrain v0.2.15
		23: Omnisearch v1.24.1
		24: Text Extractor v0.5.2
		25: QuickAdd v1.11.1
		26: Map View v5.0.3
		27: Outliner v4.8.1
		28: Attachment Management v0.9.14
		29: Enveloppe v7.2.13
		30: April's Automatic Timelines v0.13.5
		31: Pandoc Plugin v0.4.1

RECOMMENDATIONS:
	Custom theme and snippets: for cosmetic issues, please first try updating your theme and disabling your snippets. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community theme and snippets.
	Community plugins: for bugs, please first try updating all your plugins to latest. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community plugins.

Could you please retry with the last version ?
It is possible that the bug fix for #363 fix also this issue

Hello, thanks for taking a look into this. I updated to 7.3.2 then tried Refresh and Upload, Upload All, and Upload Single Active. Unfortunately, they exhibit the same behavior, ignoring some files that are marked for share.

Did you have something in the console ?

Seems to be an issue on your side then !

Sorry, do you mind sharing what was wrong with this note then? I don't quite understand what the problem could be here.

Your regex is bad!
See this line:   SyntaxError: Invalid regular expression: /(\[{2}#\*Why is there a setup fee\?\*(\\?\|.*?)?\]{2})|(\[.*?\]\((#\*Why is there a setup fee\?\*|#*Why%20is%20there%20a%20setup%20fee?*)\))/g
Don't hesitate to test it with Regex101 with EmacScript settings :)

I just wanted to come back to report on what went wrong here.
I had a reference to a level 6 heading with italics within a callout block. The line looked like this:
> [[#*Why is there a setup fee?*|Setup fee]] may be discounted or waived depending on complexity.
And this was considered a bad regex. When I removed the italics and updated the reference, the file upload went without a problem.


Check the type of the keyword rest argument

If a non-hash object is passed in OP_SEND and OP_SUPER, an error should occur.
kwd = "string"
p(**kwd)  #  => expect raised TypeError

This PR also integrates the code that was copied and pasted in #5628.

It turns out that there is a problem that this patch does not fix.
% bin/mruby -e 'p [**1]'
[1]

% ruby31 -e 'p [**1]'
-e:1:in `<main>': no implicit conversion of Integer into Hash (TypeError)

I also found a problem where the hash object is destroyed when it is expanded as a keyword argument at the beginning of the argument.
% bin/mruby -e 'h = {}; p(**h, a: 1, b: 2); p h'
{:a=>1, :b=>2}
{:a=>1, :b=>2}

% ruby31 -e 'h = {}; p(**h, a: 1, b: 2); p h'
{:a=>1, :b=>2}
{}

The solution I came up with after viewing the irep for the above two problems is to add an implicit empty hash by codegen.c if the first element of NODE_KW_HASH is NODE_KW_REST_ARGS.
I've mimicked the behavior by hand, and it seems to be the result I'm expecting.
% bin/mruby -e 'p [**{}, **1]'
-e:1: Integer cannot be converted to Hash (TypeError)

% bin/mruby -e 'h = {}; p(**{}, **h, a: 1, b: 2); p h'
{:a=>1, :b=>2}
{}

So far, I have not been able to write a patch to fix it (If it is a patch that crashes, I can prepare it right away).
Hmmm... I would like to leave it to @matz...

Is this correct?
diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c
index b90eae3e8..20b7d5c89 100644
--- a/mrbgems/mruby-compiler/core/codegen.c
+++ b/mrbgems/mruby-compiler/core/codegen.c
@@ -1605,10 +1605,16 @@ gen_hash(codegen_scope *s, node *tree, int val, int limit)
   if (cursp() >= GEN_LIT_ARY_MAX) slimit = INT16_MAX;
   int len = 0;
   mrb_bool update = FALSE;
+  mrb_bool first = TRUE;

   while (tree) {
     if (nint(tree->car->car->car) == NODE_KW_REST_ARGS) {
-      if (val && len > 0) {
+      if (val && first) {
+        genop_2(s, OP_HASH, cursp(), 0);
+        push();
+        update = TRUE;
+      }
+      else if (val && len > 0) {
         pop_n(len*2);
         if (!update) {
           genop_2(s, OP_HASH, cursp(), len);
@@ -1647,6 +1653,7 @@ gen_hash(codegen_scope *s, node *tree, int val, int limit)
       update = TRUE;
       len = 0;
     }
+    first = FALSE;
   }
   if (val && len > limit) {
     pop_n(len*2);

I think the patch in the above comment should work.
Could you make a pull request?


Regex support for REST API whitelisting config

Currently, REST API whitelisting checks the exact URI of incoming requests. This can sometimes be an issue when trying to whitelist PUT/PATCH APIs, since each exact URI needs to be individually whitelisted. A feature that enables whitelisting 'requests' in this manner:
requests: /_opendistro/_security/api/rolesmapping/* : ["PUT"]
could be a potential solution to allow all PUT requests with URI's that start with /_opendistro/_security/api/rolesmapping to be whitelisted.

We are doing some "spring cleaning in the fall", and to make sure we focus our energies on the right issues and we get a better picture of the state of the repo, we are closing all issues that we are carrying over from the ODFE era (ODFE is no longer supported/maintained, see post here).
If you believe this issue should still be considered for current versions of OpenSearch, apologies! Please let us know by re-opening it.
Thanks!


chore(Python): add knapsack problem

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[x] New algorithm
[ ] Optimization in previous algorithms
[ ] Code style update
[ ] Refactor
[ ] Documentation
[ ] Other, please describe:

Briefly describe the changes in this PR

Other information:

what is the issue, why is this failing ?

Hi @codelight2711,
The Python check is failing, see the detail

Warning❗❗
@codelight2711 if you do not respond in 2 weeks then we will close the PR


Why should I Dockerize my tests? need more info

@vbanthia can you please clarify below doubts

"...The only way to reduce run time is by parallelisation.." , does this mean each container run tests on individual emulator or physical device ?

If I've 10 android devices , how do I allocate each to individual container ?

I'm using Docker technology to run web automation in parallel with help of selenium grid. One container works as Hub and others are node.

Does this project also uses similar technique ?

Thanks in advance.
Regards,
Vikram

there is na issue regarding running more than 1 device. E.g. I have 2 devices and start one container. then I start another container.  running adb devices on the first container shows the devices. running adb devices on the second doesnt show anything. If I unplug and replug one device it is then seen by the second container. ( 1 on each container when running adb devices )


sample naming convention

[Enter feedback here]
Regarding your naming convention of Azure lab service, the name starts "xxxx-la" and "xxxx-rg".
However your general naming convention starts "type-xxxx-xxxx-xxxx". For example, rg-mktgsharepoint-prod-001.
So this page should follow the general naming convention, I think.

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

ID: 191dec24-ed36-2aea-3384-dfeb69c6d1c8
Version Independent ID: c3cc622e-c92e-feb0-2835-551ddd601cf3
Content: Azure Lab Services - Administrator guide - Azure Lab Services
Content Source: articles/lab-services/administrator-guide.md
Service: lab-services
GitHub Login: @Juliako
Microsoft Alias: juliako

Thanks for the feedback! We are taking a look into this and will get back to you soon.

#reassign: @RoseHJM

#please-close
The account that the feedback came from has since been deleted, so there is no one to respond to.
The issue was resolved during the v2 content update, and examples given on this page now align with the general naming convention.


No logs for incoming rtmp connections to say what went wrong

I don't see any logs at all for connections on the 1935 port.  It doesn't log it started/stopped/failed anything at all in the logs.  Is it supposed to?  Is there something I can add so it does log something?  Right now it is disconnecting immediately and not saying why.

hello @pinkfish,
You can access the logs directly from outside the container using docker logs.
docker logs -f <container_name>
The logs inside the container are in  var/log/nginx/
You can also check the connection using the stats page http://<server-ip>:8080/stats
If there is an issue from the media server, it should show in these logs.

Ahhh.  THanks!
On Wed, 13 May 2020 at 03:38, Tareq Alqutami<EMAIL_ADDRESS>wrote:

hello @pinkfish https://github.com/pinkfish,
You can access the logs directly from outside the container using docker
logs.
docker logs -f <container_name>
The logs inside the container are in var/log/nginx/
You can also check the connection using the stats page http://
:8080/stats
If there is an issue from the media server, it should show in these logs.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/TareqAlqutami/rtmp-hls-server/issues/3#issuecomment-627899916,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AATOMMIXYM6VMFNYP725TJ3RRJ2BXANCNFSM4MYO4UTQ
.


UPF turned off after few requests

Hi @abousselmi,
I am trying to send multiple request like (Register, PDU Session release,..) using 4 UEs.
But I after few minutes the upf is turning down and not able to handle the request any more.
Do you have any idea?

Error message: Host lookup failed: lookup upf.free5gc.org no such host
Regards,
Nathalie Wehbe

Hi @nathalie21005 ,
If you say the upf is crashing it should be normal that URANSIM is not able to reach it. I'p not sure if docker  will continue resolving the fqdn of a dead container, but anyway, do you have the error logs of the upf?
Regards,

Hi @abousselmi,
I found the problem and the fix, and I suggest to modify it in this project too.
The problem is the size of the buffer of the upf, so I modified the code by multiplying the buffer size by 32.
under this upf\lib\utlt\src path the file is utlt_buff.c.
The code I modified is the following:
#define MAX_NUM_OF_BUFBLK_POOL       256 * 32
#define MAX_NUM_OF_BUFBLK_POOL_64    128 * 32
#define MAX_NUM_OF_BUFBLK_POOL_128   128 * 32
#define MAX_NUM_OF_BUFBLK_POOL_256   128 * 32
#define MAX_NUM_OF_BUFBLK_POOL_512   64 * 32
#define MAX_NUM_OF_BUFBLK_POOL_1024  64 * 32
Regards,
Nathalie

Hi @nathalie21005,
Thanks for sharing this feedback, it will for sure help other users and devs. I don't think adding the change to the free5gc-compose project will be a good move.
But I suggest that you create a PR in the free5gc/upf project and check with @free5gc-org to make sure that this doesn't produce regression down the road.
Regards,


Question: How do I run /sbin/my_init as a different USER?

I apologize if I missed this particular issue, but I am trying to run /sbin/my_init (the CMD) in my Dockerfile as a USER that is not 'root'.  I keep getting the following error:
myuser@b4944d852d6d:/$ /sbin/my_init
*** Killing all processes...
Traceback (most recent call last):
  File "/sbin/my_init", line 346, in <module>
    main(args)
  File "/sbin/my_init", line 264, in main
    import_envvars(False, False)
  File "/sbin/my_init", line 65, in import_envvars
    for envfile in listdir("/etc/container_environment"):
  File "/sbin/my_init", line 51, in listdir
    return sorted(os.listdir(path))
PermissionError: [Errno 13] Permission denied: '/etc/container_environment'

I have already tried adjusting the permissions of /etc/container_environment, including the .json and .sh files but nothing seems to work.  Has anyone ran into this issue?  Does the /sbin/my_init even support running as a user other than root?
Thanks,
Jason Cameron

You cannot. my_init requires root privileges. But what you can do is having subprocesses run as a different user using the setuser tool.

This seems that baseimage can not startup  with non-root user. Startup as root user is not a good way for many docker image.

It is true that containers should run with the least privilege possible. While my_init itself requires root privileges, it allows -- and encourages -- you to run all other code, e.g. your own apps, with non-root privileges and provides tools to make that easy. See my comment above.
It literally isn't possible to do the things my_init does -- namely ensuring a clean exit by killing all processes at termination -- without root privileges. This is a limitation imposed by the kernel, and unfortunately there is nothing we can do about that.
And the way my_init works is not all that strange, and is quite common in Unix applications. For example many web servers, such as Nginx, also require root privileges. They do the bare minimum they need to do with root privileges -- namely binding to port 80 -- and then they drop their privileges to a normal user. my_init is similar: it does very few things by itself, and it encourages the user to run all their own code with non-root privileges.

@FooBarWidget Thank you very much for your reply.  If I want a container startup with a non-user in interactive TTY which bash running on, is this context  possible with my_init?

docker run -ti --rm phusion/baseimage /sbin/my_init -- setuser <normalusername> bash
Sent from my Android phone.
Op 17 mei 2017 11:13 schreef "Jack Liu"<EMAIL_ADDRESS>
@FooBarWidget https://github.com/foobarwidget Thank you very much for
your reply. If I want a container startup with a non-user in interactive
TTY which bash running on, is this context possible with my_init?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/phusion/baseimage-docker/issues/264#issuecomment-302032997,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAADM_5MHGgPtb3ZmJw3gogjmYWGDAB8ks5r6rpIgaJpZM4GuZwO
.

@FooBarWidget  It works as I hope.
And then I try to put /sbin/my_init -- setuser <normalusername> bash in CMD  in Dockerfile like this,
CMD ["/sbin/my_init","--", "setuser myself_name bash"]

which will avoid users touch this command when using my container, but the bash exit rather than act in interactive mode. Could you give me some suggestions for this context? Thank you in advance!

CMD ["/sbin/my_init","--", "setuser myself_name bash"]

This is not the correct way to pass parameters. You are passing the "setuser username bash" thing as a single parameters. They should be separate:
CMD ["/sbin/my_init","--", "setuser", "myself_name", "bash"]

@FooBarWidget Thank you very much! Now everything works!

@FooBarWidget I actually ran into a similar issue.
I use Heroku Docker containers, and you simply can not run anything as root.
I tried  /sbin/my_init -- /sbin/setuser {my non root user} but this leads to:
*** Killing all processes...
Traceback (most recent call last):
  File "/sbin/my_init", line 353, in <module>
    main(args)
  File "/sbin/my_init", line 271, in main
    import_envvars(False, False)
  File "/sbin/my_init", line 65, in import_envvars
    for envfile in listdir("/etc/container_environment"):
  File "/sbin/my_init", line 51, in listdir
    return sorted(os.listdir(path))
PermissionError: [Errno 13] Permission denied: '/etc/container_environment'

Can I conclude from your answer that this would make Passenger unusable when using Docker on Heroku (or any other platform that does not allow you to use the root user)?

@FooBarWidget Same as @edwardmp, this does not work on most PaaS (e.g. openshift online)

@leifcr you can actually run passender standalone as non root. Just not with nginx in front of it

It seems that /sbin/my_init startup with root user, but when container exit it just has non-root privilege.  So /sbin/my_initfailed to reap some processes in this context.

@jacknlliu I don't understand how that is possible...

@Theaxiom  I just made a guess for PermissionError: [Errno 13] Permission denied: /etc/container_environment which mentioned by @edwardmp .

Could this be solved by having a my_init user owning the /etc/container_environment stuff?

I'm having this same error running on OpenShift. Is there any alternative? Running as root is not an option for my environment.

I don't really have a solution coming to mind at this point in time.

Just to add some information:
https://laradock.io uses this as the base image for the workspace container. I tried to run some commands (composer install etc) in there by first switching to non-root user, but then it fails.
Ill guess I just have to specify for each command to run it as the non-root user?

Does phusion still not support running as non-root? This issue blocks the possibility of running any image based on phusion on any PaaS..


Please add support for DNS validation

I've a bootstrapping issue, my domain uses HSTS and redirects 80 to 443, meaning I cannot easily validate via HTTP.  I can however very easily poke my DNS API with a TXT record output by acme-tiny.  Please consider, thanks.

Apologies, on further digging I see that DNS hasn't actually been fully implemented by the LetsEncrypt service yet.  Closing.

This is not an issue at all: Lets Encrypt happily accepts challenges via redirection to HTTPS even with an invalid or  selfsigned certificate.
But acme_tiny itself uses python urllib for pre-validation of the challenge. This call does certificate checking. See my pull request #2 for a fix to this (only works in recent python versions, not needed in older ones).

Implemented a version described here: https://github.com/diafygi/acme-tiny/issues/141


Button to expand layer properties

🚀 Feature
Right now you need to double click the layer properties to expand then, but instead we could have a button that either pointed up or down to expand them. I think people would find this a more intuitive UI. Now that we've made the top part of the layer properties independent (in #314) we can easily add the button next to the layer name, and drop support for double clicking. Thoughts?

imho we should add the button (with the sandwich icon), but keep double click anywhere else on the layer. I don't think double clicking hurts here.


Do not refresh explorer more than necessary, upon file events

Testing #29478
Currently, regardless of the file event, the whole explorer is refreshed.

We currently react on both vscode internal file events and external file events.
On internal file events we are smart and refresh only what is needed but on external we refresh the whole tree.
This should be imrpoved by passing in what to referesh here
Pushing to october and debt


[Doc] Improve README for oap-project/oap-mllib

@HongW2019 I have revised README a bit. Could you review and revise some links for OAP 1.1 release?

@HongW2019 I have revised README a bit. Could you review and revise some links for OAP 1.1 release?

Sure, will submit another PR to add some modifications today.

@HongW2019 could you reproduce #52 to revise master as well?


robot_controllers: 0.9.1-1 in 'humble/distribution.yaml' [bloom]

Increasing version of package(s) in repository robot_controllers to 0.9.1-1:

upstream repository: https://github.com/fetchrobotics/robot_controllers.git
release repository: https://github.com/fetchrobotics-gbp/robot_controllers-ros2-release.git
distro file: humble/distribution.yaml
bloom version: 0.11.1
previous version for package: 0.9.0-1

robot_controllers
* move transform listener to manager (#77 <https://github.com/fetchrobotics/robot_controllers/issues/77>)
  each transform listener incurs an extra DDS node, which can
  have a significant effect in a large system. this change
  allows our robot driverrs to have a single shared transform
  listener across all controllers (and even the whole node,
  since the buffer can be passed in with the new constructor)
* Contributors: Michael Ferguson

robot_controllers_interface
* move transform listener to manager (#77 <https://github.com/fetchrobotics/robot_controllers/issues/77>)
  each transform listener incurs an extra DDS node, which can
  have a significant effect in a large system. this change
  allows our robot driverrs to have a single shared transform
  listener across all controllers (and even the whole node,
  since the buffer can be passed in with the new constructor)
* Contributors: Michael Ferguson

robot_controllers_msgs

No changes

Thanks, I think I was looking at the wrong branch.


Video challenges out of sequence

Computer Basics video challenges are out of sequence

The Variables in Code video uses information explained in Console and Logging video
Console and Logging should be moved to position before Variables in Code

http://www.freecodecamp.com/videos/variables-in-code
http://www.freecodecamp.com/videos/console-and-logging
Screenshot

This is not me

I've also found that in the Computer Basics section, Binary Bytes feels like it would be better suited going after Decoding a Binary Number.
Binary Bytes
Decoding a Binary Number

Hi, I was thinking about trying to fix this issue and put the challenges in the correct order, but being a relatively new contributor here I was unable to find the place where the challenges names are stored. Any help would be appreciated.

@sahilkhurana19 https://github.com/FreeCodeCamp/FreeCodeCamp/tree/staging/seed/challenges


Setup Angular

Set up the latest version of Angular in the data register project.
Acceptance Criteria:

Latest (16.X) Angular version is set up for front end development in the data register project
sysadmin is only role and only uses IDIR

Notes

#39

how to deployed angular app in github

i am see Blanck page after deploy

Blocked by https://github.com/bcgov/parks-data-register/issues/35

moving to done - can test login through #24


Use Java8 features in APIs now

There have been a couple of issues recently where more elegant solutions could be provided using features from Java 8. These have included

use of lambda functions for datastore transaction
direct use of standard function classes rather than Guava equivalents
use of new Time classes
use of Optional rather than JSR-305 annotations

To do this we would need to raise the minimum JDK version from 7 to 8 which cause may problems for users who still use older Java runtimes. However, Oracle have already EOLed their public version of Java 7.
The main advantage of doing this now rather than waiting is that it avoids needing to rev a new version of the API to make use of these idioms and avoids having to support two API versions.

We want to move asap to Java8, given the constraints we have:
1/ App Engine V1 is still only on Java 7
2/ Managed VM V2 is still on Java 7 with optional customization for Java 8
3/ Android clients?
4/ Customer constraints... I've heard this week that in the GRPC/BigTable/HBase area that Hbase has issues with Java 8 and requires for now a Managed VM Java 7 only. Things are progressing, but we need to be cautious there to not hurt possible customers in Q3/Q4.
5/ Other Google internal constraints.
Once we are clear of these points we will move to Java 8. At that point, we ideally would have an Android story.
Do we know when Guava is moving to Java 8?

We won't be going GA with this API for a few months, will those internal issues be resolved by then? In the meantime AppEngine users can continue to use the existing appengine APIs so they would still be able to use the underlying services.
The nicer, Java8-dependent version could still be used for development (on desktop), on GCE or other compute environments, and on AppEngine Managed VMs with a custom runtime.
Android seems like a different beast in many ways. We might be better having a separate, optimized for Android library - gcloud-android perhaps.

We are talking months, not years:-)... But
Existing App Engine customers need/want Storage APIs, or PubSub APIs, etc,...and explore the new world (shared apps/modules between V1 and V2 is a very common scenario for V2 customers).
Meanwhile, I prefer the keep HEAD on Java7 and this is helping as well the Android side.
At some point of time, where we have more APIs support, more stability, more usage and more feedback, we can handle the dual support, Java7: mostly for Android and legacy gcloud-java for hardcore Java7 users, and Java8. We are not setup yet for this mode, but are working toward this..

If it's months then it does not sound like we have a problem as release of this API would coincide with when the AppEngine issues would be fixed. And everyone not using AppEngine would get the benefits immediately.
By using newer features now is that we will defer having to support multiple versions until Java 9 (or possibly even longer given the Java 9 focus on modularity rather than language features) - IOW, not for several years. We'd be offering the API everyone seems to wish to offer now rather than later.

+1 We should find a way to include J8 idioms and still run on J7 (without those API's.)

I think there will be less churn if we just stick to Java 7 idioms until we are cleared for Java 8. Closing this issue now because it's stale.


ARROW-1474:[WIP] Java Vector Refactor (Implementation Phase 2)

Implementation of all scalar types.
cc @jacques-n , @BryanCutler , @icexelloss

@BryanCutler,
I have addressed most of your general comments. Few points on remaining comments
(1) Regarding Logger - I had added this as a TODO in my previous patch. The thing is that we really don't log much. We only log in the base class during realloc and alloc functions where there is a chance of catching memory related exceptions. So I have been contemplating if we really need logging. It's more of an unnecessary heap overhead.
The reason I initialize the specific logger in each subclass is because when the super class methods dump out log messages we can see which exact vector type the messages correspond to.
But again, since we barely log messages, I think we are better off not having any logging at all. You can take a look at BaseNullableFixedWidthVector and see what you think. Can we afford no logging?
https://github.com/apache/arrow/commit/60a2ebdfc9164d2405f9656030dedfbf789997b5#diff-dddca025d8d6792d8776d3c59ce508f7R270
(2) Regarding FieldReader -- I think you are right. When we are working with a vector type, we have enough information available to create the reader on demand as opposed to carrying the FieldReader object inside each vector. Is this what you were suggesting?
However, we may have to see the impact of changes. This is definitely doable but we will have to refactor code in map, list and union vectors where when they read nested scalar vectors, they can no longer make a call to getReader().

All scalar types refactored and new implementation is ready -- builds fine. Corresponding Legacy vectors are also ready.
Testing has issues w.r.t mutator/accessor in LIST, MAP, UNION. Next step is to refactor them.

Thanks @siddharthteotia. I went through the change and left a few comments.

@BryanCutler and @siddharthteotia , the reason the vector holders a reference to ArrowReader is that there are several cases where you don't want to constantly be recreating the reader and at the time, this was the easiest place to maintain it. Not sure if this still the case but it is something that should be reviewed before removing.

@siddharthteotia , regarding the logger can you specific vector logs by moving to the base class and initializing the logger with the class name as a string, e.g. getLogger(this.getClass().getSimpleName());?

Thanks for the thorough review @jacques-n , @BryanCutler , @icexelloss , @wesm . I am in the process of addressing comments as we are reaching consensus. Meanwhile, I am trying to prioritize stability of tests.
Right now we have 2 related failures in ComplexWriter, Promotable Writer and lots of failures in TestJsonFile since getFieldInnerVectors is no longer applicable. I am addressing the former ones as of now.
The recent commit has refactored complex types -- LIST, FIXED SIZE LIST, MAP, UNION along with corresponding Legacy types and code changes in the callers to make things work.

@BryanCutler, for the logger we discussed that internally (@siddharthteotia and I) and should have posted the thoughts here.  We thought it wasn't worth the cost.

@siddharthteotia I also found the new files are 3-space indented. The current files are 2-space indented. Please fix the indentation?

Is this style issue being checked in Travis CI?

Probably not. I fixed some checkstyles warning  but not all of them:
https://github.com/apache/arrow/pull/930#issuecomment-319492008
So we cannot failure the build for checkstyles yet.

I opened https://issues.apache.org/jira/browse/ARROW-1688. We must keep our code clean

@jacques-n , @BryanCutler , @icexelloss

Addressed issues in JsonFileReader and JsonFileWriter. Quite some work was needed here because getFieldInnerVectors is not applicable anymore. I have introduced static methods in vectors as helper routines for reading from and writing into JSON.

Removed logger from all vectors.

Addressed failures in tests. Down to one failure now.

Remaining:

I haven't yet removed the inner vectors from List. Will do that tomorrow.

I looked at JSONfile reader/writer and looks good from what I can tell so far, just some minor style comments

The latest commit addresses some recent review comments and removes the inner vectors from LIST. I guess we are left with Implementing Timestamp vectors as suggested above -- https://github.com/apache/arrow/pull/1203#discussion_r145286430
I will get going with it unless there are other specific concerns (modulo indentation etc)

All tests run clean with latest commit.

Thanks @siddharthteotia. I will find some time to review this tomorrow.

@jacques-n , @BryanCutler , @icexelloss
The latest commit addresses the changes suggested w.r.t timestamp vector hierarchy. The concrete timestamp classes now have only holder specific methods.
Adjusted license headers for consistency.
All tests run clean.

@siddharthteotia I went through the change and left some comments. I haven't  read all your reply yet but I will do it later. (Have to go now)

@jacques-n , @BryanCutler , @icexelloss

All code changes done.

Tests run clean with latest commit (note all commits are now squashed)

I will review the code tonight primarily for adding JavaDocs, comments and any review comments that we haven't got a closure on.

I have added some new tests too but will file follow-up JIRAs to improve our test suite going forward.

A few high level comments:

There are a few functions that seems to be placeholder for the interface - for instance getNullCount  that only returns 0. I suppose these functions are not going to be removed in 0.8? If that's the case, I think we should make it clear to the user that these functions will not work and shouldn't be called. Having bogus implementation could be confusing to user.

API added in vectors classes that are for json reader/writer. I think those shouldn't be a part of the public API. Also I am not sure why we need to make such changes, maybe @siddharthteotia can help clarify?

@siddharthteotia For future reference, I usually prefer not to squash commit during PR - this makes it hard to track incremental changes. We can squash commit when merging.

W.r.t introduction of some static interfaces for JsonFileWriter/Reader
The introduction of couple of static interfaces is not absolutely necessary. They are written for better readability in JsonFileReader's gigantic switch block when it parses Json and writes to the vector (and its inner vectors). Since now we no longer have inner vectors, we obviously couldn't leverage the same code. The JsonFileReader had to be changed to specifically write to different buffers (TYPE, VALIDITY, OFFSET, DATA) for a particular vector. Also it has to allocate the buffer and appropriately set writer index before calling loadFieldBuffers. This is something that was needed for every case in switch block here. Once I did this, the code looked pretty messy and ugly. So I moved all the logic private to vectors and made them as part of static interfaces.
On the other hand, in JsonFileWriter we were reading from vector (and its inner vectors) and writing out Json data. Again, since there are no inner vectors, all operation had to be transformed to work at the buffer level -- for writing the contents of each inner buffer. Also, the old code of JsonFileWriter stated a TODO that it was not handling each type. The new code handles all types.
If the general preference is to not introduce static interfaces in vector APIs, I am fine with removing them and moving all logic into JSon code itself. The javadocs already indicate that external use of these APIs is not recommended.
W.r.t introduction of some new APIs in ValueVector
Note that top level interface is still ValueVector even though hierarchy underneath has changed. So there are still non-nullable vectors extending ValueVector, implementing mutator/accessor interfaces etc.
So I introduced APIs like getNullCount(), getValueCount(), setValueCount(), getObject() for the new nullable vectors. Once we remove non-nullable vectors and remove mutator/accessor from ValueVector, we can get rid of these APIs too.
User is free to call such methods on vectors since internally they delegate the call to corresponding mutator/accessor operation for non-nullable vectors and for nullable vectors we already have the new implementation. For legacy vectors, it doesn't really matter since each operation is just a pass-through to new code.
Each vector (nullable or non-nullable) has a concrete implementation of all such interfaces prescribed by ValueVector. Correctness is not affected anywhere. We should be able to do the simple cleanup once we remove non-nullable vectors. If we are not planning to remove non-nullable vectors then we should just remove mutator/accessor interfaces from them and expose all the get/set APIs directly just like we have done for other nullable and complex vectors.

Looking into Travis CI failures -- build (with tests) runs clean locally

For future reference, I usually prefer not to squash commit during PR - this makes it hard to track incremental changes. We can squash commit when merging.

We're really running into a weakness of GitHub code reviews. My understanding is that Dremio uses Gerrit for code reviews (like Kudu, Impala, and lots of Google projects) and so the squashing is a key part of the Gerrit workflow. But it works pretty poorly for GitHub, where having a string of new commits is better (although the GitHub UI is terrible for reviewing incremental diffs)
I would really like to have the option of doing large Arrow code reviews on Gerrit. It can be a bit challenging to do (because Gerrit can fall out of sync) unless you have 100% of your reviews hosted on there, and Gerrit is quite a bit of process for some users. I hope that we find a way to do this in the future.

@siddharthteotia , thanks for the explanation.
W.r.t introduction of some static interfaces for JsonFileWriter/Reader
I see, so the reason is inner vectors are removed and therefore the json reader/writer doesn't work anymore.
In that case, I am sort of OK with leaving these methods as public static but document clearly those methods are not part of public API and should not be used (IMHO "not recommended" is not strong enough, I would probably say "shouldn't") and refactor that later, before or after 0.8 release.
What do other people think?
W.r.t introduction of some new APIs in ValueVector

So I introduced APIs like getNullCount(), getValueCount(), setValueCount(), getObject() for the new nullable vectors. Once we remove non-nullable vectors and expose mutator/accessor functions as direct get/set in ValueVector, we can get rid of these APIs too.

User is free to call such methods on vectors
@siddharthteotia, let me see if I understand this correctly:

getNullCount(), getValueCount(), setValueCount(), getObject() are a part of the new vector API and we will keep them going forward.
I think I saw a version of the BaseValueVector that these methods are returning bogus values, it seems to be correct row. I probably just saw a wip version.

@jacques-n , @BryanCutler , @icexelloss
The latest commit has good javadocs for each and every new function in all vector types.
How do you feel about merging this patch to java-vector-refactor branch? I believe merging into master will require proper formal sign off.
We are going to kickstart testing these in Dremio after cherry-picking these two patches from java-vector-refactor branch and making the necessary code changes.

I'm on board with merging to the refactor branch whenever you all agree

I'm onboard with merge. We can still continue to address comments post merge as necessary. Big patches and github don't mix...

Thanks @siddharthteotia , I agree to merge to refactor branch and continue there.  This is getting a little to big to focus on any one change.
W.r.t introduction of some static interfaces for JsonFileWriter/Reader
I don't really like having these static set methods in the vector public apis if they shouldn't be used outside of JSON reader/writer, but lets continue this discussion after merging this

I agree we can merge this. I will open Jiras to track major unresolved discussion .

Merged in https://github.com/apache/arrow/commit/612b9708658ece27b1ba12ee92a997652beb007b, thanks @siddharthteotia and everyone for reviewing!


TextSelection.start &and TextSelection.end are being returned as -1 when a selection is in place

I have this insertText(TextEditingController textController, String myText) .
It inserts the string in the selected location using TextSelection.start and TextSelection.end.
This is exactly similar to what a real keyboard does.
if you have a selected more than one character, these characters will be replaced with myText
this was working smoothly for many versions in flutter,
the latest version is 2.13.4
when I upgraded to flutter 2.5.2 and 2.5.3, this functionality stopped working
I tracked the the cause of this issue, it was in this commit   exactly in editable_text.dart file
Steps to Reproduce
USING flutter web on windows desktop
1- copy and paste the MiniKey widget to your project
2- enter abc text in the TextFormField,
3- select the entered text with your cursor
4- press on the button 1
Expected results:
abc should be replaced with 1
Actual results:
in TextFormField 1 is added in front of abc resulting in 1abc
To Fix the issue:
revert  editable_text.dart to before the culprit commit   OR use flutter 2.13
the expected result will happen

Code sample
import 'dart:math';
import 'package:flutter/material.dart';
class MiniKey extends StatefulWidget {
  const MiniKey({Key? key}) : super(key: key);

  @override
  State<MiniKey> createState() => _MiniKeyState();
}

class _MiniKeyState extends State<MiniKey> {
  final TextEditingController controller = TextEditingController();

  @override
  void dispose() {
    controller.dispose();
    super.dispose();
  }

  void insertText(String myText, TextEditingController textController) {
    final text = textController.text;
    final textSelection = textController.selection;
    final newText = text.replaceRange(
      (textSelection.start >= 0) ? textSelection.start : 0,
      (textSelection.end >= 0) ? textSelection.end : 0,
      myText,
    );
    final myTextLength = myText.length;
    textController.text = newText;
    textController.selection = textSelection.copyWith(
      baseOffset:
          min(textSelection.start + myTextLength, textController.text.length),
      extentOffset:
          min(textSelection.start + myTextLength, textController.text.length),
    );
  }

  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        TextFormField(
          controller: controller,
        ),
        Row(
          children: [
            ElevatedButton(
                onPressed: () {
                  insertText('1', controller);
                },
                child: Text("1")),
            ElevatedButton(
                onPressed: () {
                  insertText('2', controller);
                },
                child: Text("2")),
            ElevatedButton(
                onPressed: () {
                  insertText('3', controller);
                },
                child: Text("3")),
          ],
        )
      ],
    );
  }
}

Logs

This is WAI, the TextEditingController.text setter removes the current selection: https://master-api.flutter.dev/flutter/widgets/TextEditingController/text.html.

This is WAI, the TextEditingController.text setter removes the current selection: https://master-api.flutter.dev/flutter/widgets/TextEditingController/text.html.

I am not sure that i understand what you mean.
I know the selection will be removed however this should happen only after the selected text has been replaced with the new text.
As in the expected section.
This was not the case before.
Can you please elaborate if this was changed on purpose?, what is the reason for that change?

Oh sorry I thought the code sample was modifying the selection based on the new selection after setting the text. But I couldn't reproduce the issue on android or on the web. I'll wait for people that have the right environment to triage this then.

Hi @hassaanalansary, Thanks for filing the issue. I was able to reproduce the issue on the stable 2.5.3 on
Desktop & Web on both (windows/mac), But this issue seems to be fixedd on the latest master 2.6.0-12.0.pre.555 channel.
I would advise you to please either wait until the fix lands on the stable or you could switch to the master channel by running
flutter channel master
flutter channel upgrade

or you could cherry-pick the fix locally.
Desktop (MacOS)

Stable
Master

Android (Stable and master)
https://user-images.githubusercontent.com/31410839/139843162-6022de62-3065-4db5-ab75-f4d1a693d88c.mov
Web (MacOS)

Stable
Master

Stable

Android
IOS
MacOs
Web

✅
✅
❌
❌

✅ : No Issue ❌: Issue reproduced
Master

Android
IOS
MacOs
Web

✅
✅
✅
✅

✅ : No Issue ❌: Issue reproduced

flutter doctor -v
[✓] Flutter (Channel master, 2.6.0-12.0.pre.555, on macOS 12.0.1 21A559 darwin-arm, locale en-GB)
    • Flutter version 2.6.0-12.0.pre.555 at /Users/mahesh/Documents/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 067386d706 (3 hours ago), 2021-11-02 05:13:04 -0400
    • Engine revision 76b4caeafe
    • Dart version 2.15.0 (build 2.15.0-268.0.dev)

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

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

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

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

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

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

[✓] Connected device (3 available)
    • sdk gphone arm64 (mobile) • emulator-5554 • android-arm64  • Android 11 (API 30) (emulator)
    • macOS (desktop)           • macos         • darwin-arm64   • macOS 12.0.1 21A559 darwin-arm
    • Chrome (web)              • chrome        • web-javascript • Google Chrome 95.0.4638.54

• No issues found!

@maheshmnj thank you for your response and investigation.
I have installed fluter beta 2.7.0-3.1.pre and it was fixed.
Thank you and @LongCatIsLooong  for the great effort, keep it up


Include github actions

Purpose

Include github actions

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@430ef6b). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master   #18019   +/-   ##
=========================================
  Coverage          ?   19.88%
=========================================
  Files             ?       53
  Lines             ?     1368
  Branches          ?      213
=========================================
  Hits              ?      272
  Misses            ?     1082
  Partials          ?       14

Continue to review full report at Codecov.

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


Clean README

I imagine that I am a new one who wants to use this package and try to make the documentation nicer.
I also help to fix some typo such as "of you required composer packages".

Thanks for the improvements. Some changes needed tho :)

I resolved your comments.

Thank you. Merged.


⚠ ku-s has degraded performance

In a212e31, ku-s ($KU_API_STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 7811 ms

Resolved: ku-s performance has improved in 014eaf1.


Add plugin support

The app would be incredibly powerful if we were to add support for user-made modules (i.e. plugins). This would allow any user to enhance the experience of AragoJ, akin to ImageJ.
While this is not top priority right now, it is being taken to account with the refactor done in #39 to facilitate the implementation of plugin support in the future.

UAU!
On Tue, 6 Aug 2019, 22:55 Francisco Aleixo<EMAIL_ADDRESS>wrote:

The app would be incredibly powerful if we were to add support for
user-made modules (i.e. plugins). This would allow any user to enhance the
experience of AragoJ, akin to ImageJ.
While this is not top priority right now, it is being taken to account
with the refactor done in #39
https://github.com/franciscoaleixo/AragoJ/issues/39 to facilitate the
implementation of plugin support in the future.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/franciscoaleixo/AragoJ/issues/40?email_source=notifications&email_token=AHU3KZLWE5BFXCJVXHSC7D3QDH6NDA5CNFSM4IJ24BGKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HDYBJ5Q,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHU3KZJ64666GWZ4TE2ACSTQDH6NDANCNFSM4IJ24BGA
.

Image reading plugins supported in 0.6


feat(plugins): signal that --ui-resource-location will be unneeded in…

… Spinnaker 1.20.0
These notes are inadequate and will need to be updated once Spinnaker 1.20.0 is actually out, but it's a signal of what's to come.
In order to omit the --ui-resource-location flag from your Hal config, you'll need<EMAIL_ADDRESS>but that version requires a change in Orca that won't arrive until Spinnaker 1.20.0.

@aimeeu please review


Vsync context relative, minimum value too high

I am adding multimonitor support to my application, as soon as I use more than one window I get screen tears, so I enabled vsync to find that it is context relative, which is alright however because I enable vsync for each windows context using the minimum value (1second) it is applied too both contexts which means that with two windows the FPS drops from 60fps (with one) to 30fps (with two windows)
Is there a reason why it is context relative?
Can the value be even lower? (i.e 0.5 so that both windows cap to 60fps)

A common workaround is to set the swap interval to zero for all windows except the first, and set the interval for that to one. That way you only wait once per update of all windows.

I find this to be a suitable solution. Maybe all that is required is for this to be mentioned in the documentation. Thank you.

Yeah, it really should be documented. I'll be adding a Common tasks guide and this problem is on the list.

This is a bad idea imo, since if the two windows are on two monitors that have a different refresh rate you will be badly synchronised.
I would personally recommend to use one thread per window, that would just glfwSwapBuffers() and then either signal to the main loop that it can draw again, or handle drawing in the thread itself.  You have to take care of potentially huge differences in refresh rate though, 60fps isn’t the only one anymore, some older display controllers can only drive 4k monitors at 30fps, and 120fps or even 144fps monitors exist too.

I don't have the hardware to verify, but I suspect that OpenGL swap interval simply follows the primary monitor whatever other hardware is plugged in.

@elmindreda AFAIK, you're right about this. The software I develop, which can output on many monitors (a project-mapping engine) is synced on the main display, and this is the reason we need to use professional cards with sync cards (like Quadros with Quadro Sync) to have synchronization on all ouptuts. And even with this, the best is to have projectors synced to.


Fix observe() method when called for SGVector/SGMatrix.

Fix observe() method when called for SGVector/SGMatrix. The given SGVector/SGMatrix was not cloned correctly (since copying them just copy the pointer to the raw data and it does not make a clone of the data itself).

I moved some useful type traits from type_case.h to base_types.h since I did not want to pollute too much SGObject.h with unnecessary headers.
Any comments on this change? @karlnapf @vigsterkr @gf712

@karlnapf any final comments before I merge this? :)

good!


Make the inverted version of Logo show white text

Hey @carlitoshxcx nice trick! can you do the same for the icon section?

Hey @carlitoshxcx nice trick! can you do the same for the icon section?

Sure @yannbf, good catch! Done!

Thanks @carlitoshxcx – going to merge it now 🙇♂

Thanks @carlitoshxcx – going to merge it now 🙇♂

Thanks for accepting the PR @domyen!
Best


Please provide more information about the behavior of the creation and removal service-endpoint

In the effort to automate the deletion and creation of ACR service endpoint, I've had hard time figuring out the following behaviors of the creation and removal of a service endpoint:

An app registration and service principal (as well as a role assignment) is created automatically upon creation of the service endpoint for ACR Container Registry
When the service endpoint is deleted, the app registration / service principal and role assignment associated with that service endpoint don't get cleaned up

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

ID: 6ecb62a2-f74c-a539-d3a8-c8fde7c2de06
Version Independent ID: 5760936e-90a1-4129-6f6f-6dd4194bb73c
Content: az devops service-endpoint
Content Source: latest/docs-ref-autogen/ext/azure-devops/devops/service-endpoint.yml
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

devops

@ngnmhieu - I have created an issue in azure devops cli extension repo - https://github.com/Azure/azure-devops-cli-extension/issues/986 to follow up on this. I am closing this issue. Kindly follow progress on the mentioned issue.


Fix a non-deterministic retain/release insertion in RRCodeMotion

@swift-ci Please smoke test Linux

I am going to merge this to unbreak the bots and monitor when the bots are good


ccw can't resolve path but cw can

from extremitypathfinder import PolygonEnvironment

environment = PolygonEnvironment()
boundary_coordinates = [(-2670.0220709984246, 2849.785328817447), (-534.0066345219713, 4408.091718018869), (2347.252358687458, 3455.8632661053057), (-290.58214669197565,<PHONE_NUMBER>7652582), (2576.3601774807016, -1781.9414137932943), (-3616.182881567927, -2546.608038824627)]
list_of_holes = []
start = (-3616.182881567927, -2546.608038824627)
end = (-290.58214669197565, 4327.64226042047)
environment.store(boundary_coordinates, list_of_holes, validate=False)
environment.prepare()
print(environment.find_shortest_path(start, end))

return ([], None)
but reverse boundary_coordinates, can get ([(-3616.182881567927, -2546.608038824627), (-2670.0220709984246, 2849.785328817447), (-534.0066345219713, 4408.091718018869), (-290.58214669197565, 4327.64226042047)], 8379.112990147512)

Please note that the boundary polygon has to be given in counter clockwise vertex numbering.
Use validate=True to check if the input data satisfies all prerequisites:
environment.store(boundary_coordinates, list_of_holes, validate=True)

I mean that the example code has already been counter clockwise.
It seems find_visibiliy returns empty list?

Sorry, I post wrong example code. Please use this:
from extremitypathfinder import PolygonEnvironment

environment = PolygonEnvironment()
boundary_coordinates = [(-3616.182881567927, -2546.608038824627), (2576.3601774807016, -1781.9414137932943), (-290.58214669197565,<PHONE_NUMBER>7652582), (2347.252358687458, 3455.8632661053057), (-534.0066345219713, 4408.091718018869), (-2670.0220709984246, 2849.785328817447)]
list_of_holes = []
start = (-3616.182881567927, -2546.608038824627)
end = (-290.58214669197565, 4327.64226042047)
environment.store(boundary_coordinates, list_of_holes, validate=True)
environment.prepare()
print(environment.find_shortest_path(start, end))

It seems that find_visible return empty list.

For me this correctly returns ([(-3616.182881567927, -2546.608038824627), (-290.58214669197565, 4327.64226042047)], 7636.421768372853).
Which result do you expect?

But on my computer, it returns ([], None)

please update to the latest version of extremitypathfinder, use python3.7+ and maybe also try this:
    boundary_coordinates = list(reversed(boundary_coordinates))

python3.8 extremitypathfinder1.3.0,
[(-3616.182881567927, -2546.608038824627), (2576.3601774807016, -1781.9414137932943), (-290.58214669197565,<PHONE_NUMBER>7652582), (2347.252358687458, 3455.8632661053057), (-534.0066345219713, 4408.091718018869), (-2670.0220709984246, 2849.785328817447)]
already count clockwise, need it reversed again?

Not normally. I get regular results with this input.

So strange.
If I change end point from (-290.58214669197565, 4327.64226042047) to (-290.58214669197565, 4327.64226042046), it will return right path.
last value from 7 to 6
But find_shortest_path has been verified.

F**k numpy!
numpy==1.18.3 cause the problem.
I update numpy to 1.18.4, and be fixed.

Considering update requirements.txt to:
numpy>=1.16,!=1.18.3

Thanks for resolving this. is it only caused by numpy==1.18.3?
or should i rather set the requirements to numpy>=1.18.4

It's so strange again....
I uninstalled 1.18.4 and reinstall 1.18.1, 1.18.2, 1.18.3, it can still resolve path.
I really don't know why...........

ok, then for now i will leave the requirements as is. let me know if you find the cause of the complications. thanks

sorry for disturbing you.

Please....see this example, this is count clockwise already, if I remove a point such as (25.143824159896702, 50.75304334650772) it will pass validation:
from extremitypathfinder import PolygonEnvironment

environment = PolygonEnvironment()
boundary_coordinates = [(-2149.4036256395066, 2001.7590183818127), (-3431.0233936218774, 2410.5647452618605), (-4017.2943008798484, 1361.978351815837), (-1054.546974197546,<PHONE_NUMBER>442141), (-3181.1501133246757, -1967.5897135182254), (25.055804799501843, 50.756640615771744), (25.143824159896702, 50.75304334650772), (3389.8934865553656, -2472.9651791492142), (1882.5620718508735, 1507.675315397706), (3879.9702870888277, 4442.818958344931),<PHONE_NUMBER>3989327, 2851.364918310943), (-2055.8189838443313, 4870.213713763695), (-2864.980706317556, 3422.9715569745244)]
list_of_holes = []
start = (-2149.4036256395066, 2001.7590183818127)
end =<PHONE_NUMBER>3989327, 2851.364918310943)
environment.store(boundary_coordinates, list_of_holes, validate=True)
environment.prepare()
print(environment.find_shortest_path(start, end))

assert not has_clockwise_numbering(boundary_coords)

Okay, the problem fixed, thanks

😂😂😂😂 Sorry again....
from extremitypathfinder import PolygonEnvironment
environment = PolygonEnvironment()
boundary_coordinates = [(4196.035531444209, 1524.5174141906843),<PHONE_NUMBER>6761083, 1964.5309552310625), (-1560.1327143180315, 3953.1950461671404), (-1845.7183461510908, 2184.3530258772616), (-4008.99249567332, 2308.524464730015), (-2077.147281929666,<PHONE_NUMBER>0636463), (-4397.1723772192245, -1684.1387542764294), (-3542.469485595629, -2760.93575183657), (-3542.443309415404, -2760.9398379707277)]
list_of_holes = []
start = (4196.035531444209, 1524.5174141906843)
end = (-2077.147281929666,<PHONE_NUMBER>0636463)
environment.store(boundary_coordinates, list_of_holes, validate=True)
environment.prepare()
print(environment.find_shortest_path(start, end, verify=True))

assert not np.allclose(p1, p2)

if I change
assert not np.allclose(p1, p2)

to
assert not np.allclose(p1, p2, rtol=1e-09)

it return ([], None) again.

what are p1 and p2? and what do you want to achieve?
please open up new issue for every case to avoid confusion.


Font Color in "Word of the Day" Section Not Optimized in Dark Theme and Twitter Logo Disappears

Describe the bug
When switching to the inbuilt dark theme, two issues occur:

The font color in the "Word of the Day" section does not provide enough contrast, making it hard to read.
The Twitter logo under the "Connect with Us" section disappears because it blends into a dark background.

To Reproduce
Steps to reproduce the behavior:

Go to the website.
Switch to the dark theme using the inbuilt theme switcher.
Scroll down to the "Word of the Day" section and observe the font color.
Scroll to the "Connect with Us" section and see that the Twitter logo is not visible.

Expected behavior

The font color in the "Word of the Day" section should be darker to provide better contrast and readability in the dark theme.
The Twitter logo should be visible in the dark theme, with a white background behind it to make it stand out.

Screenshots

Please assign this issue to me. I'd be happy to work on these fixes.

Hi @ANSHIKA-26, please assign me this issue too so that I can start working on it.


TextSpan tree accessibility improvements

Internal bug: b/137602251
We would like to be able to show a message such as:
"By continuing, you agree to our Terms of Service and Privacy Policy."
We would like behavior to existing NSAttributedString on iOS:
a) The entire text can be selected at once, and will read out "By continuing, you agree to our Terms of Service (Link) and Privacy Policy (link)
b) Swiping right in link mode* will then take you to "Terms of Service". Swiping right again should take you to "Privacy Policy".
Right now, it seems that RichText currently splits up the semantics into 4 parts by default, and will only read out "By continuing, you agree to our ". Then you have to swipe right to read "Terms of Service", then right again for "and", and then a final time for "Privacy Policy"

see https://a11y-guidelines.orange.com/mobile_EN/voiceover.html#OpenLink

Internally tracked in b/140825718

Customer Money (g3) needs this fixed by mid-Q4.  Removing the milestone for now since it's not yet assigned.

What we currently do matches how text and links are represented in Safari on iOS and Chrome on Android.
Steps:

Check that native actually offers this other behavior (on both platforms?)
We could provide a flag on Text to switch between the two behaviors
We may have to add a SemanticsFlag for Links to match https://developer.apple.com/documentation/uikit/uiaccessibility/uiaccessibilitytraits/1620178-link if that's what iOS uses (check if there's an equivalent for Android).

There will likely be similar requirements for link accessibility on the web.

@jonahwilliams What do you mean? Isn't what we currently do basically what the web does?

What I mean is that we have no concept of a link in our semantics.

Oh, yes. Makes sense.

This is a runnable sample I'm working with to test behavior based on the description above. If this reproduction is off-base let me know. :)
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart' as launcher;

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) => MaterialApp(home: MyHomePage(title: 'Demo'));
}

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

class _MyHomePageState extends State<MyHomePage> {
  final String flutter = 'https://flutter.dev/';
  final String pub = 'https://pub.dev/';

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text(widget.title)),
      body: Center(
        child: RichText(
          text: TextSpan(
            style: TextStyle(color: Colors.black87),
            children: <TextSpan>[
              TextSpan(text: 'By continuing, you agree to our '),
              TextSpan(
                text: 'Terms of Service',
                style: TextStyle(color: Colors.blue),
                recognizer: TapGestureRecognizer()
                  ..onTap = () => launcher.launch(flutter),
              ),
              TextSpan(text: ' and '),
              TextSpan(
                text: 'Privacy Policy',
                style: TextStyle(color: Colors.blue),
                recognizer: TapGestureRecognizer()
                  ..onTap = () => launcher.launch(pub),
              ),
              TextSpan(text: '.'),
            ],
          ),
        )
      ),
    );
  }
}

cc/ @GaryQian who recently refactored TextSpan.

Customer reported this fixed.


update readme

Quick brush over the readme; adding a new screenshot later today

reviewed wording and updated screenshot, approved!

whoop whoop - merging!


makes since decorator work with classes

Changes the @since decorator to work with classes. It does so by decorating each test method on its argument if its argument is a class.
I've written a test for this decorator here. Is there a place to put test rig tests?
closes #152

Did you mean to merge this into master from the branch on riptano/cassandra-dtest?

Is there no way to simply just skip the class, rather than decorating each method? We could also, if that is impossible, add a new decorator sinceClass() that is for classes only. Name TBD

Did you mean to merge this into master from the branch on riptano/cassandra-dtest?

The source is correct, the destination isn't. I'll close and open a new one once we figure out implementation stuff (below).

Is there no way to simply just skip the class, rather than decorating each method?

Should be doable with unittest.skip. The limitations there:

it'll break compatibility with pre-2.6. Do we care about that?
it'll circumvent the existing test-skipping facilities in Tester. Is there some reason to use that over unittest.skip?

it'll break compatibility with pre-2.6. Do we care about that?

No
it'll circumvent the existing test-skipping facilities in Tester. Is there some reason to use that over unittest.skip?

No


Update locals.tf

Add 'IdentitiesOnly yes'  to ssh_args, helps me to fix "Too many authentication failures"

This is a good default IMHO, as we are always specifying a a key. I have it enabled globally in my ~/.ssh/config.
http://man.openbsd.org/ssh_config.5

IdentitiesOnly
Specifies that ssh(1) should only use the configured authentication identity and certificate files (either the default files, or those explicitly configured in the ssh_config files or passed on the ssh(1) command-line), even if ssh-agent(1) or a PKCS11Provider or SecurityKeyProvider offers more identities. The argument to this keyword must be yes or no (the default). This option is intended for situations where ssh-agent offers many different identities.

@Maxon4eg A tiny PR would be appreciated for this, will merge ASAP.

Thanks @Maxon4eg, @phaer!; pretty helpful indeed. It will fail fast and not ban the IP!


Question: Reconnect.

If for example app goes to background and goes to foreground, and you would like to reconnect to server, then what would be the best approach?
From what I gather, I need to create a new socket object with new event handlers. Is that correct?
If the above approach is correct, then I would respectfully suggest the following:
Make it possible to create a WebSocket instance without connecting right away. And then being able to ws.close and ws.open on that same object, and reuse the already added eventhandlers.
With this it will also be possible to add eventhandlers and setup other stuff before you actually try to connect to the server. This would be practical to me at least :-)

The current implementation matches the API and behavior of the Javascript version, which auto connects upon instantiation. For current apps using this library, It would be a breaking change to require an .open(), and would no longer match the JS version (not a deal-breaker, just a nice-to-have).
The event object is simply a struct and could easily be copied between objects. For example.
let event = ws.event
ws = WebSocket('ws://url')
ws.event = event

Could this problem be solved by creating a wrapper class around the WebSocket object? Perhaps the wrapper has a .open() methods that creates a new WebSocket when called. And it (re)assigns the .event struct at the same time.

Thanks for the tip, a wrapper is a reasonable solution.
To avoid breaking changes, you could consider letting  a websocket to be instantiated without a URL.
And if it's created without a url, naturally you would have to set this afterwards, and then you could call .open() on it. I think that would be expected behaviour in that case, it would not be a breaking change and it would offer a bit more flexibility.
But I completely respect it if this is not a path you wish to pursue.
A few suggestions however.
// Suggestion 1:
let ws = WebSocket()
ws.url = "ws://url"
ws.open()

// Or perhaps 2:
let ws = WebSocket()
ws.openURL("ws://url")

// 3:
let ws = WebSocket("ws://url",  autoConnect: false)

I like suggestion 2. I'm working on it.

The master branch now includes this feature.


AttributeError: 'Field' object has no attribute 'PicklistParentValueField'

Looks like a number of entity fields do not have the PicklistParentValueField, which is causing picklist operations to fail. For example, I can't do anything with opportunities at all.
at.picklist['Opportunity'].fields[0]
(Field){
   Name = "id"
   Label = "Opportunity ID"
   Type = "long"
   Length = 0
   IsRequired = True
   IsReadOnly = True
   IsQueryable = True
   IsReference = False
   ReferenceEntityType = None
   IsPickList = False
 }

at.picklist['Opportunity']['AccountID']
Traceback (most recent call last):
  File "atws/picklist.py", line 292, in lookup
    return self._entity_fields[field]
KeyError: 'AccountID'
parent_field_name = field_picklist.PicklistParentValueField
AttributeError: 'Field' object has no attribute 'PicklistParentValueField'

This should be an easy fix, I'll catch the error and return None. Will get a PR out stat.

Thank you for the contribution.
I'll try and release a new version over the weekend with the latest improvements.


Kingdom of Miscellania Price Check Rewards

It would be nice to know how much the Kingdom of Miscellania resources are worth upon collection.
A possible fix would be adding a chat notification similar to the clue casket message ("Your treasure is worth around X Coins!").

OMG YES

If someone can grab me the InventoryID from the Kingdom Loot Interface, I'll work on it. - I don't use Kingdom, so I have nothing to collect to grab it with, lol.

If someone can grab me the InventoryID from the Kingdom Loot Interface, I'll work on it. - I don't use Kingdom, so I have nothing to collect to grab it with, lol.

Someone help this fellow

I tried adding it but there is no dev tool to get the inventoryID so the only way to get the ID is by using runestar(Which I am unsure how to use) If someone can grab me the inventoryID of the kingdom interface I also can put this together quick, just having issues with getting the inventoryID as well

Just subscribe to InventoryChanged and log that.

InventoryChanged?

Added in #9607


"Exception: Cannot fetch the page from Google Scholar." for "citedby" attribute in Publication module

When I try to run [citation.bib['title'] for citation in pub.citedby], it returns the error message: "Exception: Cannot fetch the page from Google Scholar." I am following the example on the documentation page.

Could confirm the same happens. The usage section on readthedocs.io suggests citation.bib['title'] for citation in pub.get_citedby() should be used, but that just gives me 'Publication' object has no attribute 'get_citedby'.

I am getting the same issue as well. I tried using FreeProxies which did not work as expected.
I am currently using Tor, I configured my Mac to use Tor, my browsers seems to be using Tor and works fine but I am still getting the same error while trying to fetch data.
Am I missing something?

I also had this problem.
After looking into the code and turning on the logging in _navigator.py, I found the actual error is:
INFO:scholarly:Exception WebDriverException while fetching page: ("'geckodriver' executable needs to be in PATH. ",)
Configuring geckodriver with Selenium correctly will get it work.
For simplicity, I just put that geckdriver executable in the working dir and it works

I also tried using the free proxy and still had the error. @a1png can you explain in more detail how you worked around the error? do you mind sharing the code maybe? I would really really love to figure this out. Thank you so much!!

@CinnyLin If you look into the log file in the working directory, which is scholar.log, or turn on logging in command line tool by removing the filename parameter in logging.basicConfig(filename='scholar.log', level=logging.INFO) in _navigator.py in the library, you will be able to see the actual reason of this error.
In my case, the actual error was that Selenium, a library that this lirary depends on, need a dependency called 'geckodriver', all you need to do is to configure it to run with Selenium. See here.  I put the geckodriver executable, which can be found here, in my work dir and it worked for me.

@a1png Thank you so much!! I followed your steps, checking my logs, downloading geckodriver and changing its path to executable. But according to the documentation, geckodriver doesn't work for macOS right now.
I tried using the fix they proposed on the doc and received another error. I checked the log file and it seems that it is another error from Selenium, Exception SessionNotCreatedException while fetching page: ("Expected browser binary location, but unable to find binary in default location, no 'moz:firefoxOptions.binary' capability provided, and no binary flag set on the command line", None, None). I couldn't really find the solution for this error on Google but thank you so much for your help until this point!!

There is an issue for checking the build on Mac and Windows https://github.com/scholarly-python-package/scholarly/issues/89 in addition to https://github.com/scholarly-python-package/scholarly/issues/185
I will close this issue as duplicate.


Error during crc start on MacOS - ERRO Error creating host

General information

OS: macOS
Hypervisor: KVM / Hyper-V / hyperkit - Hyperkit
Did you run crc setup before starting it (Yes/No)? Yes

CRC version
crc version: 1.7.0+fa7e558
OpenShift version: 4.3.1 (embedded in binary)`

CRC status
Machine 'crc' does not exist. Use 'crc start' to create it.`

CRC config
n/a

Host Operating System
ProductName:	Mac OS X
ProductVersion:	10.15.2
BuildVersion:	19C57

Steps to reproduce

Download crc tar file
Unpack to directory and add the directory to PATH
Run crc setup
Run crc start

Expected
A working cluster
Actual
The following Error:

Logs
You can start crc with crc start --log-level debug to collect logs.
Please consider posting this on http://gist.github.com/ and post the link in the issue.
crc start -p ./pull-secret.txt --log-level debug
WARN A new version (1.8.0) has been published on https://cloud.redhat.com/openshift/install/crc/installer-provisioned
INFO Checking if oc binary is cached
DEBU oc binary already cached
INFO Checking if podman remote binary is cached
DEBU podman remote binary already cached
INFO Checking if running as non-root
INFO Checking if HyperKit is installed
DEBU Checking if hyperkit is installed
INFO Checking if crc-driver-hyperkit is installed
DEBU Checking if crc-driver-hyperkit is installed
DEBU Running '/Users/sdesmond/.crc/bin/crc-driver-hyperkit version'
DEBU crc-driver-hyperkit is already installed in /Users/sdesmond/.crc/bin/crc-driver-hyperkit
INFO Checking file permissions for /etc/resolver/testing
INFO Checking file permissions for /etc/hosts
Checking file: /Users/sdesmond/.crc/machines/crc/.crc-exist
INFO Loading bundle: crc_hyperkit_4.3.1.crcbundle ...
INFO Checking size of the disk image /Users/sdesmond/.crc/cache/crc_hyperkit_4.3.1/crc.qcow2 ...
INFO Creating CodeReady Containers VM for OpenShift 4.3.1...
Found binary path at /Users/sdesmond/.crc/bin/crc-driver-hyperkit
Launching plugin server for driver hyperkit
Plugin server listening at address <IP_ADDRESS>:57793
() Calling .GetVersion
Using API Version  1
() Calling .SetConfigRaw
() Calling .GetMachineName
(crc) Calling .GetMachineName
(crc) Calling .DriverName
Running pre-create checks...
(crc) Calling .PreCreateCheck
(crc) DBG | exe=/Users/sdesmond/.crc/bin/crc-driver-hyperkit uid=0
(crc) Calling .GetConfigRaw
Creating machine...
(crc) Calling .Create
(crc) DBG | exe=/Users/sdesmond/.crc/bin/crc-driver-hyperkit uid=0
(crc) Downloading /Users/sdesmond/.crc/cache/crc.disk from file:///Users/sdesmond/.crc/cache/crc_hyperkit_4.3.1/crc.qcow2...
(crc) DBG | exe=/Users/sdesmond/.crc/bin/crc-driver-hyperkit uid=0
(crc) DBG | clean start, hyperkit pid file doesn't exist: /Users/sdesmond/.crc/machines/crc/hyperkit.pid
(crc) DBG | Using hyperkit binary from /Users/sdesmond/.crc/bin/hyperkit
(crc) DBG | Using UUID c3d68012-0208-11ea-9fd7-f2189899ab08
(crc) DBG | virtio_net: Could not create vmnet interface, permission denied or no entitlement?
ERRO Error creating host: Error creating the VM: Error creating machine: Error in driver during machine creation: getting MAC address from UUID: vmnet: error from vmnet.framework: -1
Making call to close driver server
(crc) Calling .Close
(crc) DBG | Closing plugin on server side
Successfully made call to close driver server
Making call to close connection to plugin binary

Any ideas? I'm sure this is something small but haven't been able to solve it. CRC had worked previously and stopped working when I tried to create a new cluster with crc delete -> crc setup -> crc start. I deleted the ~/.crc directory and the crc files I previously downloaded, grabbed a fresh copy and tried again from a new directory. Same error.

Check if you have stale hyperkit process running, and kill it if there is one ( ps aux |grep hyperkit and killall -9 hyperkit)


Code feedback

Hi everyone,
really great work overall. Here are some minor pieces of feedback on the C++ portion that I hope might be helpful for you. Note: These are not corrections that you need to do, its just for the future!

Be careful with abbreviations, especially in interfaces (e.g. names of functions, function parameters, or generally anything that goes in a header file). Try to think about whether using an abbreviation makes the code easier to read for someone other than yourself (or yourself in a couple of months). If you are unsure or it makes reading harder, it might be better to not abbreviate (characters are free!). In particular, be careful with abbreviating "Temperature" to "temp", it is super common for people to mix it up with an abbreviation for "Temporary". For a bit of discussion regarding length of names, see https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#es7-keep-common-and-local-names-short-and-keep-uncommon-and-non-local-names-longer

In particular, the name tempss in nbrDaysPerMonth doesn't communicate anything to the reader!

Don't include things with this kind of path #include "../include/Record.h". This should be handled by passing an appropriate flag to your compiler (-I for gcc)! See e.g. Record.cpp
Looking at the constructor for your Record class, you have an interface that looks like this Record(int, int, int, double, double, int).  If possible, try to avoid functions that take many parameters and in particular be careful with having parameters of the same type after each other. It is a common source of bugs. Generally, this is a symptom of missing some form of abstraction. Here, there is a strong relationship between the three integers (they are describing a date!), make that relationship formal as a new type. You don't need to make this class complicated (i.e. like we did in the exercise), you'll start to see benefits just from giving things names. It will also end up cleaning up a lot of your remaining code (e.g. the stuff in Analyze.cpp). See https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#i24-avoid-adjacent-parameters-that-can-be-invoked-by-the-same-arguments-in-either-order-with-different-meaningmany for discussion about this
In the print function of the Record class, you are using member functions (e.g. Record::year()) to access the values of your member variables (e.g. Record::_year). Since you are in a member function, you can just access the member variables directly!
Consider using the : {} initialization syntax to give your member variables values in your constructor rather than assignment statements in the constructor body. See https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#c49-prefer-initialization-to-assignment-in-constructors for discussion about this.
In nbrDaysPerMonth, be careful with leap years :)
Consider avoiding to use using namespace. At the very least, never use it at global scope in a header like you do in Record.h (see https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#sf7-dont-write-using-namespace-at-global-scope-in-a-header-file)
In readFromFile consider taking the string parameter by reference to const. This is a better default for when you are intending to just look at something that might be expensive to copy.
In e.g. make_graph_ave you are accessing the underlying array of a vector with &(vector[0]), which works, but its easier and less error-prone to use the vector.data()-member function! :)

Again, really great work all of you!

Hej Einar,
Thank you so much for these extremely valuable feedback which will for sure improve our coding skills in the future.
Also thank you for all the hardwork you put into this course, we appreciate it a lot :)
Have a great Monday!
Mvh, Pinar

abbreviations: sometimes it's better to not abbreviate → characters are free
xss: not intuitive → confusing
#include paths: fix by using the right flag → use -I for include path
constructors: avoid too many parameters → abstraction → ex: use type DateTime instead of int, int, int
member access: don't complicate with getters, call directly if possible
constructor initialization: use :{} syntax instead of assignment statements in the body
namespaces: avoid using ... → especially in global scope level
reference parameters by default → sometimes it's expensive to copy
access the array inside a vector: by in-built vector.data()


Ruby2.7

You will find this fix quite boring
but the breaking line, which was refactored in https://github.com/ruby/ruby/commit/5f35b8ca30cba69968d4d0c885a4bf5c48b03e17 isn't used by looksee and can be simply commented out
looksee installs and works fine in 2.7 with this small change
note the internal.h was split in several files in ruby. but I don't know if we need to care so much...
https://github.com/ruby/ruby/commit/5e22f873ed26092522f9bfc617d729bac88b284f

Thanks. As you were pushing this I was looking at it too. I just copied the corresponding headers from ruby 2.7 and it seemed to build ok. I'd prefer not to hack the 2.3 headers to keep support for older rubies more robust.

alright, no worries.

@oggy might be a good idea to update the travis file as well?
suggestion: https://github.com/mathieujobin/looksee/commit/1c7146e2210fc73402522c354413857fd120915e

Great idea, thanks!


Hint text in API documentation Search box in distracting

See https://github.com/flutter/website/issues/1422

I'm not seeing the issue in your screenshots on my Chrome for Mac OS X. It could be a browser/OS specific bug.
Cc: @gspencergoog @jcollins-g

I'm seeing it on Chrome for Linux.  But it only appears to be a thing on the flutter site, not pub.dartlang.org or other dartdoc sites.  It might have something to do with the custom CSS for Flutter.

Poking around in the inspector, disabling overrides.css #searchbox css for border, border radius, font family, and padding seems to make the issue go away.  However I don't know if that would make things worse on other platforms.

Issue moved to flutter/website #2010 via ZenHub

This is not a "website" issue, it's an API docs issue.

@gspencergoog thanks for the feedback!
I concluded because of

not pub.dartlang.org or other dartdoc sites

Yeah, no worries, it was a little unclear.  The API docs are hosted on docs.flutter.io (as opposed to the website at flutter.io, in case you see that referenced in other places.

This doesn't looks so bad now

vs the image posted in https://github.com/flutter/website/issues/1422

I'm going to try to fix the custom CSS here; at head currently things are much worse on Safari yet changed a little bit on Chrome.


Tag Vlan on Veth to Openvswitch bridge

Hi
Just wondering if its possible to set a tag on a container's veth port, similar how to you would manually do it with ovs-vsctl and end up with something like this. (basically putting it on a access port on vlan 80)
manual command : ovs-vsctl set port vethB8NH5G tag=80
results in ...
Bridge "lxdbr80"
Port "vethB8NH5G"
tag: 80
Interface "vethB8NH5G"
Port "patch0"
trunks: [80]
Interface "patch0"
type: patch
options: {peer="patch1"}
    Port "lxdbr80"
        Interface "lxdbr80"
            type: internal

Cheers,
Jon.

This isn't possible right now and isn't something that LXD itself could do until such a feature would be added at the liblxc level. If liblxc grows support for openvswitch configuration of tagged and untagged vlan, then LXD can be updated to make use of it.

OK That's fair enough.
In that case, is there a way I can get LXD to keep the veth "ID"/code static, so that would mean I can manually go in and tag the veth on the bridge and then after a reboot, if it stays the same, it shouldn't overwrite it or generate a new one which is what seems to be happening?
Cheers,
Jon

@bodleytunes you can set the host_name property on the nic to have it be set to whatever name you want on the host. The device will however still be recreated every time the container starts as the container going down causes the kernel to destroy the device.

I was able to solve this using OVS "fake-bridges"
ex.
sudo ovs-vsctl add-br br0
sudo ovs-vsctl add-port br0 eno1
sudo ovs-vsctl add-br vlan100 br0 100

lxc network attach-profile vlan100 default eth0

After that any container you launch in the default profile should be have the access vlan tag of 100.  (This assumes that your upstream switch was tagging vlan 100 down to the physical interface eno1 on your server.)

Cheers for the info...
I wanted to tag on the internal ovs bridge so I can have multiple vlans on the same bridge.  I didn't want to bridge but route the containers out as I have a peering from container host server to the switch running ospf w/ FRR routing.
I can see you are bridging to a physical nic and switch, in that case, you will get all vlans by default.  what I have done there is I created a trunk with ovs, tagged specific vlans on the ovs side and also on the physical switch side (cisco 3560g) and then you can create a veth between the lxdbridge and the ovs bridge to pipe specific bridged / tagged networks into your container space directly.  You can also use a child bridge (I think its called?)
Example of what I did:
## Bonded interfaces

/// physical interface 1
auto enp2s0f0
iface enp2s0f0 inet manual

/// physical interface 2
auto enp2s0f1
iface enp2s0f1 inet manual

/// lacp bond
allow-bridge0 bond0
iface bond0 inet manual
  ovs_bridge bridge0
  ovs_type OVSBond
  ovs_bonds enp2s0f0 enp2s0f1
  ovs_options bond_mode=balance-tcp lacp=active other-config:lacp-time=slow other_config:lacp-fallback-ab=true tag=1 vlan_mode=native-untagged trunks=1,80,88

^tagging 1,80 and 88 (1 is just used to allow stp to pass)

auto bridge0
allow-ovs bridge0
iface bridge0 inet manual
  ovs_type OVSBridge
  ovs_ports bond0 vlan_88
  up /etc/network/if-up.d/vlans

/// Main upstream / switch facing interface which ospf runs over.

allow-bridge0 vlan_88
iface vlan_88 inet static
  ovs_type OVSIntPort
  ovs_bridge bridge0
  ovs_options vlan_mode=access tag=88
  address <IP_ADDRESS>
  netmask <IP_ADDRESS>
  gateway <IP_ADDRESS>
  up ip route add <IP_ADDRESS>/16 via <IP_ADDRESS>

/// Routed only bridge

auto lxdbr99
allow-ovs lxdbr99
iface lxdbr99 inet static
  ovs_type OVSBridge
  address <IP_ADDRESS>
  netmask <IP_ADDRESS>

/// creating the child bridges on boot with if-up.d script
/// basically the lxd bridge (lxdbr80) will be plumbed into vlan 80 which is tagged on the trunk, any containers on this bridge will have L2 directly out to the physical network on vlan 80

root@server01:/home/jon# cat  /etc/network/if-up.d/vlans

ovs-vsctl add-br lxdbr80 bridge0 80

Also unfortunatly I have to disable Netplan as Netplan is useless for doing anything with openvswitch at the moment! 👎