Add Additional Compactor metrics

Is your feature request related to a problem? Please describe.
With the addition of external compactors, there isn't a great way of identifying if a compactor is efficient or slow.
Describe the solution you'd like
Add metrics for bytes read and bytes written on a per-compactor basis.
This might need to be initially added at a per-iterator level, and then aggregated up to be reported at the compactor level.
This is expected to be emitted as data is being read and write as opposed to only being emitted when the compaction is complete.

K/V read and written will be easier than bytes I think. The FileCompactor already keeps track of entries read and written, they are just not emitted as metrics. Keeping track of bytes read and written at this level will likely not be accurate due to run-length encoding and compression.
METRICS_COMPACTOR_MAJC_STUCK is incremented in CompactionWatcher.run, which appears to be used in both internal and external compactions.

I can take a look at this unless someone else was planning to.

I can take a look at this unless someone else was planning to.

I think we should solidify whether we are trying to emit bytes or k/v entries before starting on anything. The answer to that question is going to directly impact the amount of work that needs to be done.

I can take a look at this unless someone else was planning to.

I think we should solidify whether we are trying to emit bytes or k/v entries before starting on anything. The answer to that question is going to directly impact the amount of work that needs to be done.

These metrics should help answer if a compaction strategy change and/or iterator change is positive or negative.
If we can get that information based on K/Vs then I think that's fine. It's at least a step in the right direction.

Do we track total entries in the tablet or the files for compaction? We use the bytes read/written in listcompactions output to get a feel for the percent complete. I can look at the files list and see the aggregate file size in the list and compare that to size read.
I know the monitor shows a percentage for external compactions, but would be good to be able to know not just how many it's written but also that 1) progress is being made and 2) with what speed
How does listcompactions get the data in bytes?

How does listcompactions get the data in bytes?

From what I'm seeing in listcompactions, the READ and WROTE columns are in K/V entries.
https://github.com/apache/accumulo/blob/2.1/shell/src/main/java/org/apache/accumulo/shell/commands/ActiveCompactionHelper.java#L96-L100

How does listcompactions get the data in bytes?

I think I see the point of confusion. The shortenCount method uses a suffix (K, M', B) that is very similar to bytes (Kb`, 'Mb', ...).

If we have 10 total compactors and only 7 of them are currently working on something, it may be nice if aggregations of the metrics only considered the 7 that were actually doing something.  Not sure how best to do this though.  Some of the micrometer Meters seem to not emit any data when its zero, but I don't have a good understanding of this.  That may be helpful for this case.

If we have 10 total compactors and only 7 of them are currently working on something, it may be nice if aggregations of the metrics only considered the 7 that were actually doing something. Not sure how best to do this though. Some of the micrometer Meters seem to not emit any data when its zero, but I don't have a good understanding of this. That may be helpful for this case.

I think it depends on whether Micrometer is reporting absolutes, or rates. The value that gets output depends on the system the metric is being sent to.

I have started on some changes for this and wanted to make sure I'm on the right track.
I have added metrics that track the same read and write values that are logged in CompactionWatcher.run:
https://github.com/apache/accumulo/blob/220cdc54da5ba779675d635bcbcc02a6514cd5e6/server/compactor/src/main/java/org/apache/accumulo/compactor/Compactor.java#L657-L660
These values have always been zero though. Both in the logs and the metrics that use these values.

I have started on some changes for this and wanted to make sure I'm on the right track.
I have added metrics that track the same read and write values that are logged in CompactionWatcher.run:
https://github.com/apache/accumulo/blob/220cdc54da5ba779675d635bcbcc02a6514cd5e6/server/compactor/src/main/java/org/apache/accumulo/compactor/Compactor.java#L657-L660
These values have always been zero though. Both in the logs and the metrics that use these values.

How are you testing this? Are you running a compaction on a table via uno or something? Is the compaction lasting several minutes?

I made the following change, and saw non-zero output.
diff --git a/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionProgressIT.java b/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionProgressIT.java
index abdf66b727..59f6e784bd 100644
--- a/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionProgressIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionProgressIT.java
@@ -129,6 +129,7 @@ public class ExternalCompactionProgressIT extends AccumuloClusterHarness {
     var ecMap = ecList.getCompactions();
     if (ecMap != null) {
       ecMap.forEach((ecid, ec) -> {
+        ec.getUpdates().forEach((timestamp, update) -> System.out.println(update.toString()));
         // returns null if it's a new mapping
         RunningCompactionInfo rci = new RunningCompactionInfo(ec);
         RunningCompactionInfo previousRci = runningMap.put(ecid, rci);

I have started on some changes for this and wanted to make sure I'm on the right track.
I have added metrics that track the same read and write values that are logged in CompactionWatcher.run:
https://github.com/apache/accumulo/blob/220cdc54da5ba779675d635bcbcc02a6514cd5e6/server/compactor/src/main/java/org/apache/accumulo/compactor/Compactor.java#L657-L660
These values have always been zero though. Both in the logs and the metrics that use these values.

How are you testing this? Are you running a compaction on a table via uno or something? Is the compaction lasting several minutes?

Yes a several minute compaction via uno.

I made the following change, and saw non-zero output.

I also see the -1 values printed when I add that line to the test.

Addressed in #4572


fix(ui-ux): show reset btn on service provider screen without edit

What this PR does / why we need it:
Which issue(s) does this PR fixes?:

Fixes #
Additional comments?:
Developer Checklist:

[ ] Read your code changes at least once
[ ] Tested on iOS/Android device (e.g, No crashes, library supported etc.)
[ ] No console errors on web
[ ] Tested on Light mode and Dark mode*
[ ] Your UI implementation visually matched the rendered design*
[ ] Unit tests*
[ ] Added e2e tests*
[ ] Added translations*

Codecov Report
Attention: 7 lines in your changes are missing coverage. Please review.

Comparison is base (9aa2fb6) 56.00% compared to head (4e82fab) 52.69%.

Files
Patch %
Lines

...screens/Settings/screens/ServiceProviderScreen.tsx
0.00%
7 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4155      +/-   ##
==========================================
- Coverage   56.00%   52.69%   -3.32%
==========================================
  Files         438      438
  Lines       12482    12483       +1
  Branches     4134     4135       +1
==========================================
- Hits         6991     6578     -413
- Misses       5406     5827     +421
+ Partials       85       78       -7

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


Extract own app package from manifest and use it for data in methods pie chart, for showing own methods

Thanks https://github.com/tmelz

Consider displaying a warning if the % of total methods is less than some threshold! I think <=30% would would be a very likely indication that something is wrong.

Trying to understand the broader idea. Is it to mark in the interface which packages are 1st party and which ones are 3rd parties?
A small nit is that the package declared in the APK doesn't have to match the actual packages used in the code. Most applications will follow the convention tough.

Moved to ClassyShark roadmap


Restore IO Error

Successfully backed everything up, did a factory reset stock marshmallow (Dec 2016)
App will still backup any new messages I get/send, but if I try to restore it just says calculating and then goes to an IO Error
My first thought was that I have too many messages. I went into restore settings and set it to just 100 messages and still having the same issue.

I am having the same issue.  I can back up all SMS and MMS.  When I try to restore, I get an I/O error.  Changing the number of texts to restore makes no difference.

Yes I have exactly the same issue on my Pixel (7.1.1)

675

Same problem. LG TP450, Android 7

Duplicate of #675


Resolutions less than 900px MLH widget covers text

On resolutions less than 900px the MLH widget covers text. Any action we should do to prevent this or leave as is?


Bubble outside of window

Hello!
I have grid with 100% width and last field with bubble only (just bubble icon). And window gets horizontal scroll when bubble shows, because bubble shows outside of window instead show with offset by horizontal.

There is a similar problem with grid's buttons and overlays.
Suppose the advanced search button is located at the right side of a grid's toolbar and no buttons come after it. When the overlay appears, document body scrollbars are shown briefly. Overlay size and position should be calculated before overlay is shown.

You should be able to workaround this issue since this pr: https://github.com/vitmalina/w2ui/pull/1198
by specifying an array of positions.
Example:
    {
        "field": "machineid",
        "caption": "machineid",
        ...
        "info": {
            "options": {
                "position": [
                    "left",
                    "right"
                ]
            }
        }
    },

If you're still having an issue despite this workaround, please create a fiddle.
If this solves your problem, please close the issue.
Cheers =)

Closing issue: no response, no reproducer


TODO - fix code to loop through each table

Need to fix the code so that it loops through each table, if there are more than 1, and exports each individual table as csv

Resolved


Add New University

@MuhammadSarimin First stage of verification passed, official domain is umrah.ac.id as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

Thank you sir, glad to hear that

@MuhammadSarimin Thank you for your patience while waiting for a review and processing your request. Pull request merged.


FunctionClauseError in Xandra.Cluster.ControlConnection.connected/3 (in 0.14.0)

Hi,
I am getting the following error when a failed node comes back again:
(FunctionClauseError) no function clause matching in Xandra.Cluster.ControlConnection.connected/3
(xandra 0.14.0) lib/xandra/cluster/control_connection.ex:118: Xandra.Cluster.ControlConnection.connected(:info, {:tcp, #Port<0.1150>, <>}, %Xandra.Cluster.ControlConnection{address: '', autodiscovery: false, buffer: "", cluster: #PID<0.14271.0>, new: false, node_ref: #Reference<0.497685454.1318322178.180956>, options: [protocol_module: Xandra.Protocol.V4, idle_interval: 30000, protocol_version: :v4, authentication: {Xandra.Authenticator.Password, [username: "", password: ""]}....
I saw that this case is not handled here, but it's handled/fixed in the master:
https://github.com/lexhide/xandra/blob/0d5d763abfea8fc9ab9d664646038308243e8bfa/lib/xandra/cluster/control_connection.ex#L132

Thanks for the report. Yes, it'll be fixed in 0.15.0, which I'll try to release at some point.


Suggest: Migrate to NextJs.

As the project is getting bigger I think now we should move the codebase to Next Js.
Benefits of using Next Js :

Better SEO.
Static-Site-Generation.
Server-Side-Rendering
Also suggested by React Dev team.

Currently, there isn't much need to migrate it to Next.js. We are thinking of changing the UI first, and after that, we can discuss the possibility of migration.

We are thinking of changing the Free-Hit Design, and during that time, we can migrate to Next.js

@dhawal-793 Do you want to work on it

Yeah sure,

Before starting on nextjs If possible we should move to Tailwind CSS, cause it will be more simpler file structure for nextjs.

I can transfer all the code to Tailwind with the current UI If you want.

@dhawal-793 go ahead . You and @priyankarpal  can do it. But he is kind of stuck in his exams

Ok I will do it, will take some time, is it ok

how can i solve issues im new to Open source project ?

@adarsh-k27 you can contact me through Discord


Update flyway-core to 10.17.0

About this PR
📦 Updates org.flywaydb:flyway-core from 7.15.0 to 10.17.0 ⚠
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.flywaydb", artifactId = "flyway-core" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.flywaydb", artifactId = "flyway-core" }
}]

labels: library-update, early-semver-major, semver-spec-major, commit-count:1

Superseded by #778.


Update link to "Advanced Linux Programming"

Update link to "Advanced Linux Programming" - fix for #2778

Please close  PR #2778


Fixing terminate called - stoul()

OS: Debian
GCC: 6.3.0
1: Clone..
2: Add % to the HTML code in main.cc
3: Build c++ main.cc ``pkg-config --cflags --libs gtk+-3.0 webkit2gtk-4.0`` -o webview-example
4: Run ./webview-example
terminate called after throwing an instance of 'std::invalid_argument'
  what():  stoul
Aborted

Can someone check why the clang-format test failing ?

This should be resolved by #560.


Put my reproduction experience here & GR-1复现交流群

GR-1复现交流群，作者大大加群的话会将群主权限移交，有复现进展会在此贴更新，二维码尽量保持更新
这种神仙repo大家点颗星再走

[2024.4.19] Successfully run the policy

Recommendations:

Use python 3.8. Since you install calvin in a conda environment with python 3.8, please install the GR-1 codebase directly in the conda environment
If you encounter problems installing pyhash (during installing calvin), you might execute

pip install setuptools==57.5.0

Generally speaking, you can install calvin with the following commands:

> pip install setuptools==57.5.0
> git clone --recurse-submodules https://github.com/mees/calvin.git
> export CALVIN_ROOT=$(pwd)/calvin
> cd calvin
> cd calvin_env; git checkout main
> cd ..
> ./install.sh; cd ..

Remember to use the latest calvin_env module, which fixes bugs of turn_off_led. See this for detail.
4. You dont have to download the ABCD-D or ABC-D datasets for evaluation of the policy. The small debug dataset is sufficient if you dont need training (and they haven't made it open source).
$ cd $CALVIN_ROOT/dataset
$ sh download_data.sh debug

If you get some error reported from GPT2, note that this repo relies on transformers==4.5.1, which can be easily install with python3.8

pip install transformers==4.5.1

[2024.4.20] Evaluation result of ABD->D
Results for Epoch None:
Average successful sequence length: 3.256
Success rates for i instructions in a row:
1: 88.0%
2: 75.2%
3: 63.9%
4: 54.5%
5: 44.0%
rotate_blue_block_right: 57 / 68 |  SR: 83.8%
move_slider_right: 229 / 238 |  SR: 96.2%
lift_red_block_slider: 107 / 111 |  SR: 96.4%
place_in_slider: 261 / 301 |  SR: 86.7%
turn_off_led: 159 / 162 |  SR: 98.1%
push_into_drawer: 78 / 100 |  SR: 78.0%
lift_blue_block_drawer: 14 / 14 |  SR: 100.0%
close_drawer: 166 / 166 |  SR: 100.0%
lift_pink_block_slider: 106 / 114 |  SR: 93.0%
open_drawer: 301 / 301 |  SR: 100.0%
rotate_red_block_right: 60 / 66 |  SR: 90.9%
lift_red_block_table: 138 / 146 |  SR: 94.5%
lift_pink_block_table: 120 / 136 |  SR: 88.2%
turn_on_led: 167 / 173 |  SR: 96.5%
push_red_block_left: 59 / 73 |  SR: 80.8%
lift_blue_block_table: 125 / 129 |  SR: 96.9%
rotate_blue_block_left: 53 / 53 |  SR: 100.0%
place_in_drawer: 136 / 141 |  SR: 96.5%
move_slider_left: 202 / 204 |  SR: 99.0%
rotate_red_block_left: 57 / 58 |  SR: 98.3%
stack_block: 114 / 153 |  SR: 74.5%
push_pink_block_left: 61 / 65 |  SR: 93.8%
lift_blue_block_slider: 106 / 111 |  SR: 95.5%
rotate_pink_block_right: 57 / 59 |  SR: 96.6%
unstack_block: 53 / 53 |  SR: 100.0%
push_red_block_right: 31 / 61 |  SR: 50.8%
rotate_pink_block_left: 44 / 45 |  SR: 97.8%
push_blue_block_left: 49 / 57 |  SR: 86.0%
lift_pink_block_drawer: 8 / 9 |  SR: 88.9%
push_pink_block_right: 34 / 57 |  SR: 59.6%
push_blue_block_right: 27 / 59 |  SR: 45.8%
turn_on_lightbulb: 43 / 172 |  SR: 25.0%
turn_off_lightbulb: 18 / 145 |  SR: 12.4%
lift_red_block_drawer: 16 / 16 |  SR: 100.0%

Best model: epoch None with average sequences length of 3.256
disconnecting id 0 from server
Destroy EGL OpenGL window.

Note that in their original paper, the performance is:

The success rate in my evaluation is even higher!
The log files:
result.txt
success_rate.txt

[2024.4.20] Evaluation result of ABCD->D
Results for Epoch None:
Average successful sequence length: 4.302
Success rates for i instructions in a row:
1: 95.2%
2: 91.1%
3: 86.5%
4: 81.7%
5: 75.7%
rotate_blue_block_right: 72 / 77 |  SR: 93.5%
move_slider_right: 274 / 274 |  SR: 100.0%
lift_red_block_slider: 126 / 137 |  SR: 92.0%
place_in_slider: 338 / 357 |  SR: 94.7%
turn_off_lightbulb: 150 / 150 |  SR: 100.0%
turn_off_led: 168 / 168 |  SR: 100.0%
push_into_drawer: 100 / 125 |  SR: 80.0%
lift_blue_block_drawer: 19 / 19 |  SR: 100.0%
close_drawer: 218 / 218 |  SR: 100.0%
lift_pink_block_slider: 140 / 141 |  SR: 99.3%
open_drawer: 359 / 360 |  SR: 99.7%
rotate_red_block_right: 74 / 75 |  SR: 98.7%
lift_red_block_table: 175 / 177 |  SR: 98.9%
lift_pink_block_table: 160 / 170 |  SR: 94.1%
move_slider_left: 252 / 252 |  SR: 100.0%
turn_on_lightbulb: 182 / 182 |  SR: 100.0%
rotate_blue_block_left: 64 / 68 |  SR: 94.1%
push_blue_block_left: 58 / 69 |  SR: 84.1%
turn_on_led: 176 / 179 |  SR: 98.3%
stack_block: 170 / 201 |  SR: 84.6%
push_pink_block_right: 47 / 67 |  SR: 70.1%
push_red_block_left: 65 / 78 |  SR: 83.3%
lift_blue_block_table: 173 / 178 |  SR: 97.2%
place_in_drawer: 173 / 175 |  SR: 98.9%
rotate_red_block_left: 62 / 65 |  SR: 95.4%
push_pink_block_left: 65 / 77 |  SR: 84.4%
lift_blue_block_slider: 123 / 132 |  SR: 93.2%
push_red_block_right: 44 / 72 |  SR: 61.1%
lift_pink_block_drawer: 15 / 15 |  SR: 100.0%
rotate_pink_block_right: 70 / 71 |  SR: 98.6%
unstack_block: 67 / 69 |  SR: 97.1%
push_blue_block_right: 51 / 72 |  SR: 70.8%
rotate_pink_block_left: 54 / 57 |  SR: 94.7%
lift_red_block_drawer: 18 / 18 |  SR: 100.0%

Best model: epoch None with average sequences length of 4.302
disconnecting id 0 from server
Destroy EGL OpenGL window.

Again, the performance is slightly higher than the original paper reported.
It`s the SOTA of the ABCD->D leaderboard. Better than the heavy Roboflamingo.

The log files:
result(1).txt
success_rate(1).txt

[2024.4.20] Network Details
Trainable parameters: 45,988,039
Total parameters: 283,139,272 (Since CLIP vision encoder is loaded but not used, the actual parameters number is 195,290,056)
Parameter number of the MAE (frozen): 85,798,656
Parameter number of the CLIP text encoder (frozen): 37,828,608
Parameter number of the perceiver resampler: 18,897,408
resampler arch: transformer with 2 layers and cross attention:
(perceiver_resampler): PerceiverResampler(
    (layers): ModuleList(
      (0): ModuleList(
        (0): PerceiverAttention(
          (norm_media): LayerNorm((768,), eps=1e-05, elementwise_affine=True)
          (norm_latents): LayerNorm((768,), eps=1e-05, elementwise_affine=True)
          (to_q): Linear(in_features=768, out_features=512, bias=False)
          (to_kv): Linear(in_features=768, out_features=1024, bias=False)
          (to_out): Linear(in_features=512, out_features=768, bias=False)
        )
        (1): ...

Parameter number of core transformer (GPT2): 21,294,720
GPT2 arch: 12 layers, forward dim=384
(transformer): GPT2Model(
    (wte): Embedding(1, 384)
    (drop): Dropout(p=0.1, inplace=False)
    (h): ModuleList(
      (0): Block(
        (ln_1): LayerNorm((384,), eps=1e-05, elementwise_affine=True)
        (attn): Attention(
          (c_attn): Conv1D()
          (c_proj): Conv1D()
          (attn_dropout): Dropout(p=0.1, inplace=False)
          (resid_dropout): Dropout(p=0.1, inplace=False)
        )
        (ln_2): LayerNorm((384,), eps=1e-05, elementwise_affine=True)
        (mlp): MLP(
          (c_fc): Conv1D()
          (c_proj): Conv1D()
          (dropout): Dropout(p=0.1, inplace=False)
        )
      )
     (1~11): ...

Parameter number of the image decoder: 3,548,928 (transformer) + 147,840 (embedding)
arch: 2 layer transormer
(decoder_embed): Linear(in_features=384, out_features=384, bias=True)
  (decoder_blocks): ModuleList(
    (0): Block(
      (norm1): LayerNorm((384,), eps=1e-05, elementwise_affine=True)
      (attn): Attention(
        (qkv): Linear(in_features=384, out_features=1152, bias=True)
        (attn_drop): Dropout(p=0.0, inplace=False)
        (proj): Linear(in_features=384, out_features=384, bias=True)
        (proj_drop): Dropout(p=0.0, inplace=False)
      )
      (drop_path): Identity()
      (norm2): LayerNorm((384,), eps=1e-05, elementwise_affine=True)
      (mlp): Mlp(
        (fc1): Linear(in_features=384, out_features=1536, bias=True)
        (act): GELU(approximate='none')
        (fc2): Linear(in_features=1536, out_features=384, bias=True)
        (drop): Dropout(p=0.0, inplace=False)
      )
    )
    (1): ...

Parameters of other layers like the action projection layer are not discussed here

[2024.4.20] Data Flow
In calvin_evaluation.py:
with torch.no_grad():
    prediction = self.policy(
        rgb=rgb_data, # [1, 10, 3, 224, 224]
        hand_rgb=hand_rgb_data, # [1, 10, 3, 224, 224]
        state=state_data, # state_data['arm']: [1, 10, 6], state_data['gripper']: [1, 10, 2]
        language=tokenized_text, # [1, 77]
        attention_mask=attention_mask, #  [1, 10]
   )

[2024.4.20] Internal tensor shape

[2024.4.21] Video Generation Test
Theortically, GR-1 can generate a short video in a single forward pass because of the learned [OBS] tokens. It can aso predicts a short tranjectory (or you can say, an action chunk) in a pass.
The reconstruction quality is poor but the following video still looks like the desk of CALVIN benchmark.

The original desk:

My code may be wrong, I hope @bdrhtw @hongtaowu67 release the official video generation script.

Hi @StarCycle ,
thanks for your attention to this work.
We are not aware of the bug in the turn_off_led task. Can you kindly share more details on this bug?
As for video prediction, we follow MAE to normalize the images by batch in training: https://github.com/bytedance/GR-1/blob/main/models/gr1.py#L193. To generate normal images, without_norm_pixel_loss needs to be set True in training. The training loss for video prediction is the L2 loss--the reconstructed image can be blurred. Nevertheless, it can still be a strong regularization to help the network learn actions more effectively.

Hi @bdrhtw,
I found the turn_off_led bug in the README of 3D Diffuser Actor. They shared a link of this post. Since GR-1 is earlier than their work, I guess you have the same bug in your calvin environment.

For video generation, I see in your evaluation code without_norm_pixel_loss=False (in the config file). If I understand corectly:

You set without_norm_pixel_loss=False to train the current checkpoint. The reconstucted images looks not good in this case but it helps to learn the action output more effectively.
You also trained another checkpoint that without_norm_pixel_loss=False. The reconstucted images looks better but still blurred due to the L2 loss.

btw, it's very helpful if you can enter the wechat group :)

Yes. we trained two checkpoints, i.e., one with without_norm_pixel_loss=False  and another with it set True.

[2024.5.17] For the full training code, please refer to #8

可以更新下群二维码吗

@snitchyang 您好，已经更新，我等会也更新下我repo的代码

请问可以更新一下群二维码吗QwQ

@negativegluon 请用这个

@StarCycle
请问可以载更新一下群二维码吗, 感谢!

@wlxing1901
好的，已经更新，欢迎加群：

求加群

@SpaceLearner
请您用这个二维码：

求加群 @StarCycle 🤗

@AoqunJin

Yes I have updated it!

this

in your terminal output, it shows that you use 3 EGL device choice, but in my output, it shows that "Couldn't find correct EGL device. Setting EGL_VISIBLE_DEVICE=0. When using DDP with many GPUs this can lead to OOM errors. Did you install PyBullet correctly? Please refer to calvin env README",  it seems that i could only use one egl device, but i own 8 GPU, how could i solve this problem, thk a lot !!!

Hello @Jacksonfei,
The EGL problem comes from calvin...and it depends on the machine you use...
One option is to run conda install -c conda-forge gcc=12.1, but it may not 100% succeed.
Would you like to add my Wechat (StarRingSpace)? In the worst case, I can try to set up a docker image for you. You need to train on your machine, and evaluate in the docker...According to my experience, you will finally solve the EGL problem if you switch a docker image or you carefully configure your system...

神，求个新二维码

求加群 @StarCycle 🤗

@1786707378 请您用这个二维码：

@StarCycle 求加群 🤗🤗

@ytx0323 请用这个二维码~

@StarCycle 蹲个新二维码，感谢！

@yueyang2000 请参考~

等待一个新的交流群邀请码～

@YuqiLiu0926 欢迎！


HDDS-8373. Document that setquota doesn't accept decimals

What changes were proposed in this pull request?
Added a note in quota documentation for below 2 conditions

In setquota [Volume & Bucker level ] doesn't accepts decimals
Minimum Storage quota should be default block size * replication factor

What is the link to the Apache JIRA
HDDS-8373
HDDS-8372
Please replace this section with the link to the Apache JIRA)
How was this patch tested?
UT

Thanks @arunsarin85 for working on this.
Please enable the build-branch workflow in your fork.


NXT simualtion get stuck with TypeError: "navigator.mediaDevices.getUserMedia is not a function"

Hi there,
I have a raspberry pi running as an openroberta-server. The rpi runs with Raspbian GNU/Linux 10 (buster) and oracle-java-8. Compilation of ORA works well and without errors.
Everything works well and as expected for EV3
There is a problem with NXT when opening the simulation. The window remains grey and is not functional in any way. Opening a Konsole in firefox an error is reported:

TypeError: "navigator.mediaDevices.getUserMedia is not a function"
Nxt http://cora/js/app/simulation/simulationLogic/robot.nxt.js:77
createRobot http://cora/js/app/simulation/simulationLogic/simulation.js:929
createRobots http://cora/js/app/simulation/simulationLogic/simulation.js:907
...

That does not seem to be an error of firefox nor openroberta-server. Starting openroberta on my Linux-machine locally (localhost:1999) works well.
I presume, that there is something lacking in my raspian-installation. But I have no idea. I would be very lucky if someone knows a solution.
Cheers corvus-albus

This happens due to the "unsecured" connection to the "remote" server. The getUserMedia() method will not work (see documentation). The error also occurs for Calliope, but we catch it and display a message:
Sorry, but there is no microphone available on your system

We should catch this error for NXT as well and display the same message.

We should catch this error for NXT as well and display the same message.

That would be great.
Anyway: Is there an easy way to establish a secure connection from within openroberta-server or do I have to fiddle with apache or nginx?

There are almost identical implementations (except for the error catching) in robot.nxt.js and robot.calliope.js, we should probably pull it up to reduce duplication.

You would have to set up HTTPS on your raspberry, but there seems to be a workaround for Chrome: see answers of this Stack Overflow question.

There are almost identical implementations (except for the error catching) in robot.nxt.js and robot.calliope.js, we should probably pull it up to reduce duplication.

Many thanks for this hint. As a fast (local) fix I copied the corresponding lines from robot.calliope.js to robot.nxt.js and now it works fine!

You would have to set up HTTPS on your raspberry, but there seems to be a workaround for Chrome: see answers of this Stack Overflow question.

Thank you you for this as well. I tried but failed. I have to dig a little bit deeper. I will ask my colleagues for help ...
Cheers
corvus-albus


Repeat a string - clicking Wiki results in 404

Verified in incognito mode to eliminate variable conditions. Other challenges are OK, but clicking "Wiki" on https://www.freecodecamp.com/challenges/repeat-a-string results in a 404.
The associated wiki URL is incorrectly https://www.freecodecamp.com/wiki/en/algorithm-repeat-a-string-repeat-a-string/
It appears to be related to #9321

Hey @wiseleo ,
Thanks for the report, the challenges have been recently renamed back to Repeat a string repeat a string and the changes havent reached the production website yet.
Once the 404 would get resolved automatically, until then the workaround would be to visit the challenge wiki directly with a search.

Closing, This fix should be live within the next few days.


balena-cli: 16.0.0 -> 16.2.7

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/balena-io/balena-cli/releases.
meta.description for balena-cli is: A command line interface for balenaCloud or openBalena
meta.homepage for balena-cli is: https://github.com/balena-io/balena-cli
meta.changelog for balena-cli is: https://github.com/balena-io/balena-cli/blob/v16.1.0/CHANGELOG.md
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 16.1.0 with grep in /nix/store/n7nzf9hkfn5jfkw8k339jbv7m1l6vapd-balena-cli-16.1.0
found 16.1.0 in filename of file in /nix/store/n7nzf9hkfn5jfkw8k339jbv7m1l6vapd-balena-cli-16.1.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
balena-cli

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/n7nzf9hkfn5jfkw8k339jbv7m1l6vapd-balena-cli-16.1.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A balena-cli https://github.com/r-ryantm/nixpkgs/archive/08c3f11177a6cb9aa21432422c1530e4d4ece980.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/n7nzf9hkfn5jfkw8k339jbv7m1l6vapd-balena-cli-16.1.0
ls -la /nix/store/n7nzf9hkfn5jfkw8k339jbv7m1l6vapd-balena-cli-16.1.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

balena-cli

Maintainer pings
cc @kalebpace for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/balena-cli/versions.
meta.description for balena-cli is: A command line interface for balenaCloud or openBalena
meta.homepage for balena-cli is: https://github.com/balena-io/balena-cli
meta.changelog for balena-cli is: https://github.com/balena-io/balena-cli/blob/v16.2.7/CHANGELOG.md
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 16.2.7 with grep in /nix/store/w4lxxkq2dmqlywjkxahkivilzving1ma-balena-cli-16.2.7
found 16.2.7 in filename of file in /nix/store/w4lxxkq2dmqlywjkxahkivilzving1ma-balena-cli-16.2.7

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
balena-cli

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/w4lxxkq2dmqlywjkxahkivilzving1ma-balena-cli-16.2.7 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A balena-cli https://github.com/r-ryantm/nixpkgs/archive/e7511b6af55d99d0c05db6be25c6b95a927f6e69.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/w4lxxkq2dmqlywjkxahkivilzving1ma-balena-cli-16.2.7
ls -la /nix/store/w4lxxkq2dmqlywjkxahkivilzving1ma-balena-cli-16.2.7/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

balena-cli

Maintainer pings
cc @kalebpace for testing.


panic: invalid page type: 6: 10

Trying to pull my drive contents ("Share" directory) using the command line:
drive pull --depth -1 -export docx,pptx,xlsx,pdf --fix-clashes -no-prompt -verbose Share
results in:

panic: invalid page type: 6: 10
goroutine 1 [running]:
panic(0x55a2cd4a92c0, 0xc823ae3320)
/usr/lib/go-1.6/src/runtime/panic.go:481 +0x3e6
github.com/boltdb/bolt.(*Cursor).search(0xc822cbd500, 0xc822cbd560, 0x1c, 0x1c, 0x6)
/build/drive-6YcWil/drive-<IP_ADDRESS>/src/github.com/boltdb/bolt/cursor.go:256 +0x215
github.com/boltdb/bolt.(*Cursor).searchPage(0xc822cbd500, 0xc822cbd560, 0x1c, 0x1c, 0x7f2a0e0ae000)
/build/drive-6YcWil/drive-<IP_ADDRESS>/src/github.com/boltdb/bolt/cursor.go:314 +0x165
github.com/boltdb/bolt.(*Cursor).search(0xc822cbd500, 0xc822cbd560, 0x1c, 0x1c, 0xf)
/build/drive-6YcWil/drive-<IP_ADDRESS>/src/github.com/boltdb/bolt/cursor.go:271 +0x3aa
github.com/boltdb/bolt.(*Cursor).seek(0xc822cbd500, 0xc822cbd560, 0x1c, 0x1c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/build/drive-6YcWil/drive-<IP_ADDRESS>/src/github.com/boltdb/bolt/cursor.go:159 +0xda
github.com/boltdb/bolt.(*Bucket).Get(0xc823b99e80, 0xc822cbd560, 0x1c, 0x1c, 0x0, 0x0, 0x0)
/build/drive-6YcWil/drive-<IP_ADDRESS>/src/github.com/boltdb/bolt/bucket.go:268 +0xf4
github.com/odeke-em/drive/config.(*Context).DeserializeIndex.func1(0xc8202daa80, 0x0, 0x0)
/build/drive-6YcWil/drive-<IP_ADDRESS>/src/github.com/odeke-em/drive/config/config.go:134 +0x1bc
github.com/boltdb/bolt.(*DB).View(0xc820172960, 0xc822cbd728, 0x0, 0x0)
/build/drive-6YcWil/drive-<IP_ADDRESS>/src/github.com/boltdb/bolt/db.go:626 +0xb9
github.com/odeke-em/drive/config.(*Context).DeserializeIndex(0xc82016eec0, 0xc820440580, 0x1c, 0x0, 0x0, 0x0)
/build/drive-6YcWil/drive-<IP_ADDRESS>/src/github.com/odeke-em/drive/config/config.go:140 +0x196
github.com/odeke-em/drive/src.(*Commands).deserializeIndex(0xc82016f000, 0xc820440580, 0x1c, 0x20)
/build/drive-6YcWil/drive-<IP_ADDRESS>/src/github.com/odeke-em/drive/src/push.go:242 +0x38
github.com/odeke-em/drive/src.(*Commands).(github.com/odeke-em/drive/src.deserializeIndex)-fm(0xc820440580, 0x1c, 0x0)
/build/drive-6YcWil/drive-<IP_ADDRESS>/src/github.com/odeke-em/drive/src/changes.go:718 +0x34
github.com/odeke-em/drive/src.resolveConflicts(0xc823ae2f80, 0x2, 0x2, 0xc8239d6000, 0xc822cbd908, 0xc823f0a888, 0x1, 0x1, 0x0, 0x0, ...)
/build/drive-6YcWil/drive-<IP_ADDRESS>/src/github.com/odeke-em/drive/src/changes.go:699 +0x135
github.com/odeke-em/drive/src.(*Commands).resolveConflicts(0xc82016f000, 0xc821b68000, 0x52ee, 0x5400, 0x5400, 0x0, 0x0)
/build/drive-6YcWil/drive-<IP_ADDRESS>/src/github.com/odeke-em/drive/src/changes.go:718 +0x1df
github.com/odeke-em/drive/src.pull(0xc82016f000, 0x2, 0x0, 0x0)
/build/drive-6YcWil/drive-<IP_ADDRESS>/src/github.com/odeke-em/drive/src/pull.go:116 +0x41b
github.com/odeke-em/drive/src.(*Commands).Pull(0xc82016f000, 0x0, 0x0)
/build/drive-6YcWil/drive-<IP_ADDRESS>/src/github.com/odeke-em/drive/src/pull.go:71 +0x36
main.(*pullCmd).Run(0xc8201c8000, 0xc82000a130, 0x1, 0x1, 0xc8201b4ea0)
/build/drive-6YcWil/drive-<IP_ADDRESS>/src/github.com/odeke-em/drive/cmd/drive/main.go:786 +0xb50
github.com/odeke-em/command.Run()
/build/drive-6YcWil/drive-<IP_ADDRESS>/src/github.com/odeke-em/command/command.go:202 +0xaa
github.com/odeke-em/command.ParseAndRun()
/build/drive-6YcWil/drive-<IP_ADDRESS>/src/github.com/odeke-em/command/command.go:209 +0x19
main.main()
/build/drive-6YcWil/drive-<IP_ADDRESS>/src/github.com/odeke-em/drive/cmd/drive/main.go:125 +0x22c7

I tried with a self compiled binary and the debian "curated" package available from the webpage. Same result.
Any clue as to what the "invalid page type" panic might mean?
Thanks for the software,
best regards,
Ricardo

Hello there @pasquinadeus, thank you for reporting this issue and welcome to drive!
Firstly, my apologies for the late reply.
So this isn't an error that pops off the page for me in drive, it looks like an issue with boltdb. This is the second boltdb panic that has been reported, after https://github.com/odeke-em/drive/issues/824.

Hi Odeke-em,
Let me know if I can do anything to help debug this. My experience with go is very limited but I'm motivated to have this fixed.
Thanks,
Ricardo

Thanks @pasquinadeus for the reply. So am currently using boltdb https://github.com/boltdb/bolt/tree/852d3024fa8d89dcc9a715bab6f4dcd7d59577dd. I haven't updated my boltdb since November 25 2015 and it works alright. Hopefully that's just a regression
from the new updates, otherwise will require a bit of digging.

Sorry, had a trip and only got back yesterday.
As seen in the other thread I tried ( on a fresh GOPATH ):

go get -u github.com/odeke-em/drive/cmd/drive
go get github.com/odeke-em/drive/drive-gen && drive-gen
cd $GOPATH/src/github.com/boltdb/bolt && git reset --hard 852d3024fa8d89dcc9a715bab6f4dcd7d59577dd
drive-gen

this results in a binary:

gdrive@UR-SERVER01:~/gopath/src/github.com/boltdb/bolt$ drive version
drive version: 0.3.9
Commit Hash: '5278f2bbc4a68f116d9ce95ba5a7bc61b1e322ab'
Go Version: go1.7.4
OS: linux/amd64
BuildTime: 2017-01-12 12:04:12.784324611 +0000 WET

then I did a "drive init" on a fresh directory and ran the pull command:

time drive pull --depth -1 -export docx,pptx,xlsx,pdf --fix-clashes -no-prompt -verbose Share

and about 10 minutes later it starting getting the repository (still going, but the other error appeared after a few files and we are past that point).
I tried first on the old drive directory and it failed with the original error. Only by "drive init"ing on a fresh directory did it work so the issue is related with the disk cache. Hope this info might help other people.
Thanks for the software, if you need further debugging let me know.
Best regards,
Ricardo

Awesome work @pasquinadeus, thank you very much for the analysis and for posting your findings.
@nelaaro quoted your findings so perhaps we should put this information in a wiki, if you please?

@odeke-em
I have finished the wiki on how to work around this problem.
https://github.com/odeke-em/drive/wiki/Boltdb-breaks-drive-with-(panic:-invalid-page-type:)-or-(panic:--above-high-water-mark)

Hey folks, please get and test out the latest boltdb as per https://github.com/boltdb/bolt/pull/654
You can do so by running
$ go get -u -v github.com/odeke-em/drive/drive-gen && drive-gen

and let me know if the problem persists and I'll report back to the boltdb issue.

Hi there, I don't know if I have the same problem. I received the following message. What should I do?

panic: invalid page type: 64: 10
goroutine 88 [running]:
panic(0x936000, 0xc4202baee0)
/usr/lib/golang/src/runtime/panic.go:481 +0x3e6
github.com/boltdb/bolt.(*Cursor).search(0xc4205eb8d0, 0xc4202baec0, 0x7, 0x8, 0x40)
/builddir/build/BUILD/drive-a9f53bc4cc9d9d2eada836602ad4b4a7902424a6/_build/src/github.com/boltdb/bolt/cursor.go:256 +0x215
github.com/boltdb/bolt.(*Cursor).seek(0xc4205eb8d0, 0xc4202baec0, 0x7, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/builddir/build/BUILD/drive-a9f53bc4cc9d9d2eada836602ad4b4a7902424a6/_build/src/github.com/boltdb/bolt/cursor.go:159 +0xda
github.com/boltdb/bolt.(*Bucket).CreateBucket(0xc4203c01d8, 0xc4202baec0, 0x7, 0x8, 0x8, 0x0, 0x0)
/builddir/build/BUILD/drive-a9f53bc4cc9d9d2eada836602ad4b4a7902424a6/_build/src/github.com/boltdb/bolt/bucket.go:172 +0x1b4
github.com/boltdb/bolt.(*Bucket).CreateBucketIfNotExists(0xc4203c01d8, 0xc4202baec0, 0x7, 0x8, 0xc4202baec0, 0x0, 0x0)
/builddir/build/BUILD/drive-a9f53bc4cc9d9d2eada836602ad4b4a7902424a6/_build/src/github.com/boltdb/bolt/bucket.go:206 +0x55
github.com/boltdb/bolt.(*Tx).CreateBucketIfNotExists(0xc4203c01c0, 0xc4202baec0, 0x7, 0x8, 0x7, 0x0, 0x0)
/builddir/build/BUILD/drive-a9f53bc4cc9d9d2eada836602ad4b4a7902424a6/_build/src/github.com/boltdb/bolt/tx.go:115 +0x57
github.com/odeke-em/drive/config.(*Context).SerializeIndex.func1(0xc4203c01c0, 0x0, 0x0)
/builddir/build/BUILD/drive-a9f53bc4cc9d9d2eada836602ad4b4a7902424a6/_build/src/github.com/odeke-em/drive/config/config.go:271 +0xd3
github.com/boltdb/bolt.(*DB).Update(0xc4201be5a0, 0xc4205ebb70, 0x0, 0x0)
/builddir/build/BUILD/drive-a9f53bc4cc9d9d2eada836602ad4b4a7902424a6/_build/src/github.com/boltdb/bolt/db.go:598 +0xb3
github.com/odeke-em/drive/config.(*Context).SerializeIndex(0xc42001d1c0, 0xc420414300, 0x0, 0x0)
/builddir/build/BUILD/drive-a9f53bc4cc9d9d2eada836602ad4b4a7902424a6/_build/src/github.com/odeke-em/drive/config/config.go:279 +0x1a3
github.com/odeke-em/drive/src.(*Commands).createIndex(0xc42001d440, 0xc4201b1600, 0x0, 0x0)
/builddir/build/BUILD/drive-a9f53bc4cc9d9d2eada836602ad4b4a7902424a6/_build/src/github.com/odeke-em/drive/src/fetch.go:314 +0x1df
github.com/odeke-em/drive/src.(*Commands).localAdd.func1(0xc4205ebd50, 0xc420352680, 0xc42001d440)
/builddir/build/BUILD/drive-a9f53bc4cc9d9d2eada836602ad4b4a7902424a6/_build/src/github.com/odeke-em/drive/src/pull.go:574 +0x65
github.com/odeke-em/drive/src.(*Commands).localAdd(0xc42001d440, 0xc420352680, 0x0, 0x0, 0x0, 0x0, 0x0)
/builddir/build/BUILD/drive-a9f53bc4cc9d9d2eada836602ad4b4a7902424a6/_build/src/github.com/odeke-em/drive/src/pull.go:601 +0x33d
github.com/odeke-em/drive/src.(*Commands).(github.com/odeke-em/drive/src.localAdd)-fm(0xc420352680, 0x0, 0x0, 0x0, 0x0, 0x0)
/builddir/build/BUILD/drive-a9f53bc4cc9d9d2eada836602ad4b4a7902424a6/_build/src/github.com/odeke-em/drive/src/misc.go:1066 +0x56
github.com/odeke-em/drive/src.(*Commands).playPullChanges.func2.1(0xc420352680, 0x0, 0x0)
/builddir/build/BUILD/drive-a9f53bc4cc9d9d2eada836602ad4b4a7902424a6/_build/src/github.com/odeke-em/drive/src/pull.go:477 +0x57
github.com/odeke-em/drive/src.(*changeJobSt).changeJober.func1(0x0, 0x0, 0x0, 0x0)
/builddir/build/BUILD/drive-a9f53bc4cc9d9d2eada836602ad4b4a7902424a6/_build/src/github.com/odeke-em/drive/src/misc.go:120 +0x23e
github.com/odeke-em/drive/src.jobSt.Do(0x0, 0xc42035de80, 0x0, 0x0, 0x0, 0x0)
/builddir/build/BUILD/drive-a9f53bc4cc9d9d2eada836602ad4b4a7902424a6/_build/src/github.com/odeke-em/drive/src/misc.go:100 +0x35
github.com/odeke-em/drive/src.(*jobSt).Do(0xc4202bad20, 0x0, 0x0, 0x0, 0x0)
:6 +0xb0
github.com/odeke-em/semalim.Run.func4.1(0xc4202bace0, 0xc420191d40, 0xc4202bacf0, 0xc4202bad00, 0x7f76b46b10d8, 0xc4202bad20)
/builddir/build/BUILD/drive-a9f53bc4cc9d9d2eada836602ad4b4a7902424a6/_build/src/github.com/odeke-em/semalim/semalim.go:71 +0x46
created by github.com/odeke-em/semalim.Run.func4
/builddir/build/BUILD/drive-a9f53bc4cc9d9d2eada836602ad4b4a7902424a6/_build/src/github.com/odeke-em/semalim/semalim.go:76 +0x12c

@srvanrell Have you tried the suggesions in https://github.com/odeke-em/drive/wiki/Boltdb-breaks-drive-with-(panic:-invalid-page-type:)-or-(panic:--above-high-water-mark)

@canpolat I'm afraid I cannot try those suggestions. I ended up reinstalling my OS so I started all over again with drive.

Hi Odeke,
After doing the update
go get -u -v github.com/odeke-em/drive/drive-gen && drive-gen
I have had no further issues with the high water mark.
This problem looks to have been completely resolved for me.
I do think, that there might still have been an issue with the
boltdb database having gotten corrupted.
rm .gd/drivedb
This will reset the state of your drive and any new push or pull, will
affect lots of files.
Becarefull so as not to lose any local or remote changes.
After your next push or pull the .gd/drivedb file will be recreated.
Kind Regards.
Aaron Nel
https://plus.google.com/+AaronNel
za.linkedin.com/in/nelaaro/
http://www.facebook.com/nelaaro
https://twitter.com/nelaaro
http://stackexchange.com/users/308091/nelaar
mobile:+2772 562 2317
On Wed, Mar 1, 2017 at 5:25 PM, Sebastián Vanrell<EMAIL_ADDRESS>wrote:

@canpolat https://github.com/canpolat I'm afraid I cannot try those
suggestions. I ended up reinstalling my OS so I started all over again with
drive.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/odeke-em/drive/issues/828#issuecomment-283371036, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AEznPb3MSYLusxXWcN4dkCLNu6XtWhWzks5rhY36gaJpZM4Lahb_
.

@canpolat I got the same problem yesterday. I failed to follow instructions of option 1 due to the requirements but I found a simple workaround: I deleted .gd/drivedb. Then I continue using drive as always

@odeke-em I think we can close this issue now, as the updates to fix boltdb #https://github.com/boltdb/bolt/pull/654
As well as removing the .gd/drivedb file get everything working.


Do several attempts to start container on failure

Just sleep a bit and try again. Total number of attempts should be fixed. Later we could add more sophisticated logic with exponential delay growth and so on.

Fixed in https://github.com/aerokube/selenoid/pull/53.


Remove Crow submodule from manual

Issue Description
What did you expect to see happen?
The install manual would not mention crow.
What did you see instead?
Things like:
git submodule update --init moose crow

Do you have a suggested fix for the development team?
Fix the manual
Please attach the input file(s) that generate this error.  The simpler the input, the faster we can find the issue.

For Change Control Board: Issue Review
This review should occur before any development is performed as a response to this issue.

[ ] 1. Is it tagged with a type: defect or improvement?
[ ] 2. Is it tagged with a priority: critical, normal or minor?
[ ] 3. If it will impact requirements or requirements tests, is it tagged with requirements?
[ ] 4. If it is a defect, can it cause wrong results for users? If so an email needs to be sent to the users.
[ ] 5. Is a rationale provided? (Such as explaining why the improvement is needed or why current code is wrong.)

For Change Control Board: Issue Closure
This review should occur when the issue is imminently going to be closed.

[ ] 1. If the issue is a defect, is the defect fixed?
[ ] 2. If the issue is a defect, is the defect tested for in the regression test system?  (If not explain why not.)
[ ] 3. If the issue can impact users, has an email to the users group been written (the email should specify if the defect impacts stable or master)?
[ ] 4. If the issue is a defect, does it impact the latest stable branch? If yes, is there any issue tagged with stable (create if needed)?
[ ] 5. If the issue is being closed without a merge request, has an explanation of why it is being closed been provided?

Also, the .gitmodules still includes relap-7 and crow.

This one probably should have been closed by PR #23


Swagger is not generating correct example xml if the same object is the nested object of different objects

Hi,
Attached is the swagger json generated using swagger v2/apidocs.
I have two java pojos in which I am using the common object SwaggerSubModel.
I am expecting to be named as given in @XmlElement annotation but is defaulting to field name
Two issues:

When referrenced from multiple objects example has subModel as the element name
When referrenced from single object example has SwaggerSubModelTest as name from xmlType annotation.

Need help with fixing the above two issues
Example shown in Swagger Editor:
<?xml version="1.0" encoding="UTF-8"?>
<SwaggerXmlJson>
	<Country>string</Country>
	<DocumentName>string</DocumentName>
	<Language>string</Language>
	<subModel>
		<Test001>string</Test001>
		<Test002>2018-05-02T18:03:16.535Z</Test002>
	</subModel>
	<Url>string</Url>
</SwaggerXmlJson>

I am expecting the highlighted element subModel with SwaggerSubModelXmlJson as mentioned in below pojo:
@Getter
@Setter
@Accessors(chain = true)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "SwaggerSubModelTest")
@XmlType(name = "SwaggerSubModelTest", propOrder = {
        "test001",
        "test002"
})
public class SwaggerSubModel {
    @XmlElement(name = "Test001", required = true)
    @NotNull
    private String test001;

    @XmlElement(name = "Test002", required = true)
    @NotNull
    private Date test002;
}

Two objects referrencing SwaggerSubModel :
@Getter
@Setter
@Accessors(chain = true)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "Accounts")
public class SwaggerXml {

    @XmlElement(name = "Url", required = true)
    @NotNull
    protected String url;
    @XmlElement(name = "Country", required = true)
    @NotNull
    protected String country;
    @XmlElement(name = "Language", required = true)
    @NotNull
    protected String language;
    @XmlElement(name = "DocumentName", required = true)
    @NotNull
    protected String documentName;

    @XmlElement(name = "SwaggerSubModelTest")
    protected SwaggerSubModel subModel;
}

@Getter
@Setter
@Accessors(chain = true)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "SwaggerXmlJson")
@XmlType(propOrder = {
        "url",
        "country",
        "language",
        "documentName",
        "subModel"
})
public class SwaggerXmlJson {

    @XmlElement(name = "Url", required = true)
    @NotNull
    protected String url;
    @XmlElement(name = "Country", required = true)
    @NotNull
    protected String country;
    @XmlElement(name = "Language", required = true)
    @NotNull
    protected String language;
    @XmlElement(name = "DocumentName", required = true)
    @NotNull
    protected String documentName;

    @XmlElement(name = "SwaggerSubModelTestZZ")
    protected SwaggerSubModel subModel;
}

pom dependencies:
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.8.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/io.springfox/springfox-bean-validators -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-bean-validators</artifactId>
            <version>2.8.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/io.swagger/swagger-core -->
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-core</artifactId>
            <version>1.5.3</version>
        </dependency>

Please let me know if I am missing something here
Thanks
Mahitha

@MahithaC have you tried 2.9.0 if it is any better?

Yes not all but most of the issues are fixed with 2.9.0 but I dont see the version available in maven central. When can we expect to have the version available in maven central?

@MahithaC It is available in jcenter

@Mahitac could you report back with findings for 2.9.0

Hello @dilipkrish ,
I have the same issue, a nested object inside an object and the JAXB @XmlElement name is ignored while generating the request structure and defaulted to the object name.
I am using the latest version 2.9.0 but still facing the issue, any help or pointers are appreciated
Thank you,


Isnt finding eu4

No idea why this isnt working
This is what it says in cmd when loading
eu4.exe process found
Trying to find module eu4.exe
CreateToolhelp32Snapshot failed: 12b
eu4.exe module could not be found, has the target app completely loaded?
Previous versions have worked. This seems to be the case with the premade static as well as ones i assemble using Visual studio. No idea why it is doing this

This is strange, based on the CreateToolhelp32Snapshot docs it is only mentioned that the said error code "ERROR_PARTIAL_COPY" appears f.e. if the caller app is a 32bit process but the target process a 64bit process, which would be the case for eu4, but i also just checked the uploaded binaries and they are also 64bit applications.
So the error occurs during the enumeration of the loaded modules of the eu4 process. I even tested the release and debug release with the latest version just now and it works on my machine, so there got no protection implemented into the game.
Have you maybe updated / installed another av software which may protect the game process?
For the time being you could use the cheattable i created for cheatengine.
So it is hard to tell right now what causes the issue. I could provide you with a version which does not relies on createtoolhelp32snapshot to find the base address of the target module, but i will be away for the next weeks, so this may take some unknown time.
So i would suggest the cheatengine solution as mentioned before.
https://www.cheatengine.org/downloads.php
You should find enough examples of how to load a cheattable and use it in the internet if you are not familiar with the software.

Thank you for your reply.
Will attempt to use cheat engine and see how that goes.
Is there anything else i should try that could help identify the problem?

Weirdly when i attempt to enable that script in cheat engine my game freezes after i try console. Rip :(
Not my day aha xD

@Primordial808 and you are sure that you are not downgraded the eu4 game version in the settings? so you are sure that you are playing 1.29.x? the freeze sounds like a bad patch or a bad pattern scan, e.g. the wrong address gets patched oO

The game is most recent version, all up to date, no betas or whatever
My eu4 is not in usual place, but that should matter as it find files... Hmm.

Hi @Primordial808 , for some reason i thought about your issue last night and couldn't sleep because of this ;D so dare you!
Is it possible that the application does not start with administrator rights? Could you manually right click the .exe file and choose run as administrator? Normally an UAC screen should appear on startup which asks if you allow the app to modify your system, which should normally be enough, but missing access rights for the app could probably cause your issues.

okay, sorry for late reply, been stuck with uni work irl.
UAC screen does ask that when i click .exe and run as admin

@Primordial808 , as someone else on yt also mentioned issues with ctd problems after using the standalone or cheattable version, i prepared another simple cheattable which uses fixed offsets, which will only work for 1.29.5, but at least should work for everyone with this version. Would be nice if you could test and confirm this. Your feedback with the new cheattable may help me to improve the default cheattable or this application here to also work for you in the future. it can be found in the release section and is called 'eu4_v1.29.5_static_offset_ironman_console_enabler.CT'.


Add JS plugin information to Settings/Version information

As a user, I want some way in the UI that I can see what plugins are loaded so that I can verify what version of a plugin is loaded easily.

This would be a good one for Akshat. @mattrunyon may have some guidance as well.

As discussed on our huddle:

Plugin version information is only available in the manifest.json
We should add it to the PluginModuleMap so that it is available when calling usePlugins, e.g. something like:

export type VersionedPluginModule = PluginModule & { version: string };

export type PluginModuleMap = Map<string, VersionedPluginModule>;

Add the version to the PluginModuleMap when loading plugins (in PluginsBootstrap#loadModulePlugins)

@mofojed Been working on the implementation here for quite some while, there are couple of problems with the approach discussed in our huddle.

If I create the VersionedPluginModule and then add it to PluginModule, then the other types of Plugins (DashboardPlugin, WidgetPlugins, etc.) do not have the plugin version, since they extend Plugin not PluginModule, which becomes problematic since:
ie. the property component does not exist on type VersionedPluginModule, because the isWidgetPlugin expects a PluginModule, not a VersionedPluginModule (which has the additional required property of version), and then in the isWidgetPlugin, we cast the type by doing plugin is WidgetPlugin, which then causes an error, since the WidgetPlugin does not have version. The solution would be manually adding version to each of the plugins , but then it is more efficient to just add version to the base Plugin interface.

I am currently trying to see if there is any other way where we do not have to add it to the base Plugin, but if not, there is not much sense in creating the VersionedPluginModule , since the PluginModule will already have it by ways of the Plugin


the location WFLW five keypoints of is very worse!

thanks to this nice work, I try to train autoLink on wflw with five keypoints because of low cuda memory. but I don't get the desired result. Any advice is helpful,this is my result.

this is desired location of keypoints.

I remove pytorch lightning and transform the code to prue pytorch, and I add resume checkpoints function, I have trained 40 epoch in fact.

Hi wuyuanmm,
From the heatmap result and its overlap on images seem fine to me, as it covers the face. I cannot be 100% sure if is good because I need more examples to see if it indeed models the shape variation in the dataset.
Note that it is an unsupervised method. Thus the results would not be the same as human annotation. The model would choose those keypoints that are enough to explain the shape variation in the dataset.
If you want the detailed keypoints and edges as those in the paper, I suggest more keypoints (~16) with smaller edge thickness (~1e-3). If memory is the issue, you could try generate smaller heatmaps (~64x64) and then resize them. You could also try to use smaller batch size (~8) as face is not a difficult dataset.
Finally, if you really want keypoints perform like those human-annotated ones, you could try few-shot learning as describe here: https://xingzhehe.github.io/FewShot3DKP/
where you sample partially from annotated examples and partially from unannotated examples. You could supervise both with AutoLink and supervise those with annotated ones with human annotations.
I hope these could help you. If not, ping me again and we can discuss in details how to deal with low-memory issues.
Bests,
Xingzhe


Does not seem to add ProductResponseType(typeof(...), StatusCodes200OK)

Is this supposed to add suggestions for Status code 2xx with their return types?
It does not seem to add ProductResponseType(typeof(...), StatusCodes200OK))
E.g. when I modify the example to the version below, I would expect a suggestion to add the commented line again.
// GET api/contacts/{guid}
[HttpGet("{id}", Name = "GetById")]
// [ProducesResponseType(typeof(Contact), StatusCodes.Status200OK)] --> commented this line
public IActionResult Get(string id)
{
    var contact = _contacts.Get(id);

    if (contact == null)
    {
        return NotFound();
    }

    return Ok(contact);
}

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

ID: 41a1e05b-c19d-6933-92fc-4c100340504f
Version Independent ID: d72414f7-2c53-53a7-1def-428160792a90
Content: Use web API analyzers
Content Source: aspnetcore/web-api/advanced/analyzers.md
Product: aspnet-core
Technology: aspnetcore-webapi
GitHub Login: @pranavkm
Microsoft Alias: prkrishn

@jawn  are you saying the MVC analyzers package should flag that?

Yes.
Motivation:

The existing functionality is good to start.
However, flagging the happy flow 200 return type is what is really completes the picture. This type will typically differ between web apis.

@jawn  that's not a doc bug, that's a product bug.  See https://github.com/aspnet/AspNetCore/blob/master/CONTRIBUTING.md to open a product bug.


added a blog

Fixes # .
Make sure these boxes are checked before creating your pull request -- thank you!

[x] Add Blog Header, including title, author, date.
e.g.

---
title: "'Score Your Face Photo' a ML&Wechaty practice"
author: huyingxi
image: /assets/2020/your-blog-title/teaser.jpg
---

YOUR_FIRST_SENTENCE_SHOULD_BE_A_SUMMARY_FOR_YOUR_POST

[x] Keep all filenames & url as lowercase, and use - to connect words instead of space. e.g. 2017-10-06-wechat-pc-impactor instead of 2017-10-06-WeChat PC Impactor,
[x] Embed the photo & video before publishing, save all external file to the blog /assets/2020 directory.
[x] Add teaser image for the blog
[x] Add your self as an author to the author data file at https://github.com/wechaty/wechaty.js.org/blob/master/_developers/YOUR_GITHUB_USERNAME.yml with your GitHub username. And please also remember to reference yourself with the Github username in your blog post, so that we can have nice author information besides your blog after we published it!

See more

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

Please make github action green and then I can review this PR.

Please remove authors.yml from the commit, see: https://stackoverflow.com/questions/12481639/remove-files-from-git-commit

Removed it, please check.

Good job!
Congratulations! 🎉 🎉 🎉
You become a wechaty contributor successfully! 👏 👏 👏
Please:

[ ] Update your profile here: Contributor List, then other contributors will know you better!
[ ]  Join wechaty org by clicking https://github.com/wechaty
[ ]  Add my wechat: ruirui_0914 and send me this pr link. I will invite you into Wechaty Contributor Room


fixing the nested directory file browsing problem

fixes #2573
Note:  There is an awful lot of duplicated code in the assignments controller and the submissions controller regarding file_manager.  It looks like the code in the assignments controller is meant to support the addition of starter code to student's repos through MarkUs, but I'm betting we really ought to refactor it to minimize duplication and having to fix bugs in multiple places.

I think I should also add a link for the parent directory when we are in the subdirectory.  So don't merge this just yet.

Okay, I think I got the parent directory link implemented correctly now.  (This area of the code base could be refactored.  There is a fair bit of code duplication between the repo_browser and file_manager.)

I think the parent link should have the "folder" icon (which looks quite nice).

@reidka I accidentally merged this into master, so I'll look into the failing test and see if I can get it soon.

@david-yz-liu I'll see if can finish the test tonight or first thing tomorrow morning.


Cow: Watch panditg.in

Cow requests the watch of the watch_keyword panditg\.in. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

panditg\.in has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Nisse Engström in Charcoal HQ


chore(master): release 1.1.0

:robot: I have created a release beep boop
1.1.0 (2023-11-16)
Features

Add command "vscode-neovim.lua" (#1622) (980f40a)

Bug Fixes

document_change: eol is inconsistent when processing changes (#1619) (6d870f9)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/vscode-neovim/vscode-neovim/releases/tag/v1.1.0 :sunflower:


[EASI-4192, EASI-4193] Confidentiality Message

EASI-4192, EASI-4193

Changes and Description

Frontend

Updated NDA Agreement Message
Updated NDA Banner Message

Backend

Database Migration

Renamed nda agreed flag to v1_agreed
Added v2_agreed flag

SQL

Modified queries to reference v2_agreed flag
Updated corresponding data models

How to test this change

Seed data with a user who has previously accepted the NDA agreement
Run a migration using the new migration in this PR
Assert that the column has been renamed to v1_agreed preserving its value and that a v2_agreed column has been created with the value false
Assert that the frontend flow requires re-accepting the NDA
Assert that the frontend text matches Figma specifications

PR Author Review Checklist

[x] Met the ticket's acceptance criteria, or will meet them in a subsequent PR.
[ ] Added or updated tests for backend resolvers or other functions as needed.
[ ] Added or updated client tests for new components, parent components, functions, or e2e tests as necessary.
[ ] Updated the Postman Collection if necessary.

PR Reviewer Guidelines

It's best to pull the branch locally and test it, rather than just looking at the code online!
Check that all code is adequately covered by tests - if it isn't feel free to suggest the addition of tests.
Always make comments, even if it's minor, or if you don't understand why something was done.

Thanks Tom, I'll do a full review a bit later today. In the meantime, could you please update the failing snapshot in the client test?

Thanks Tom,
This looks good functionally. I also validated the migration works as expected using this test data I created.
Leaving explicit approval off for tests to be resolved. If Gary approves for FE, feel free to merge, the backend code is ready to go.
INSERT INTO "public"."user_account"("id", "username", "is_euaid", "common_name", "locale", "email", "given_name", "family_name", "zone_info", "has_logged_in") VALUES('9ca6b75a-d3f7-4099-b817-19b8b01272a6', 'SF13', 'TRUE', 'SF13 Doe', 'en_US'<EMAIL_ADDRESS>'SF13', 'Doe', 'America/Los_Angeles', 'TRUE') RETURNING "id", "username", "is_euaid", "common_name", "locale", "email", "given_name", "family_name", "zone_info", "has_logged_in";

INSERT INTO "public"."nda_agreement"("id", "user_id", "agreed", "agreed_dts", "created_by", "created_dts", "modified_by", "modified_dts") VALUES('cb145a74-7eeb-49c6-9c34-e33e7fe77007', '9ca6b75a-d3f7-4099-b817-19b8b01272a6', 'TRUE', '2024-03-30 15:24:38.179143+00', '9ca6b75a-d3f7-4099-b817-19b8b01272a6', '2024-04-30 15:24:38.179143+00', '9ca6b75a-d3f7-4099-b817-19b8b01272a6', '2024-05-30 15:27:18.964003+00')

Almost certainly I just need to regenerate the snapshots. On it now.


Additional API support

Adding the following functionality to the plugin:

Support for creating ZIP files in IOS
Support for creating ZIP files from multiple input source files
Running plugin logic asynchronously

This makes breaking changes to the API (see further below for examples):

zip method removed
New zipFolder method to create ZIP from single folder (similar to previous zip method)

Removed options parameter, replaced with parameter containing target zip file

New zipFiles method to create ZIP from one or more files
Removed options parameter from unzip method, replaced with parameter containing target folder

Examples:
// Creating ZIP from single folder
window.JJzip.zipFolder(
    cordova.file.dataDirectory + 'inputFolder',
    cordova.file.dataDirectory + 'out.zip',
    function() { console.log('success'); },
    function(err) { console.log('error: ' + err) });

// Creating ZIP with multiple files
const files = [
    cordova.file.dataDirectory + 'file1.txt',
    cordova.file.dataDirectory + 'file2.txt',
];
window.JJzip.zipFiles(
    files,
    cordova.file.dataDirectory + 'out.zip',
    function() { console.log('success'); },
    function(err) { console.log('error: ' + err) });

// Unzipping into target folder
window.JJzip.unzip(
    cordova.file.dataDirectory + 'input.zip',
    cordova.file.dataDirectory + 'extracted',
    function() { console.log('success'); },
    function(err) { console.log('error: ' + err) });

Hello! Thank you for this writing this helpful plug-in. Here's a few improvements a while back in case you're interested in pulling them into the main branch. This includes a breaking change to the plug-in API so I bumped the version number (2.0.0 -> 3.0.0)


#4610 CSS animation added

Title and Issue number
#4610  Add melting ice cream animation
Close #4610

Checklist:

[x] I have mentioned the issue number in my Pull Request.

@MohitGupta121 @TusharKesarwani please review my PR under GSSoC'23


Possible improvement : assuming "asserts" later in the code

If I am correct currently the assert (...); are proven and then discarded by F*.
I think it would be very useful to assume them later in the code and hand them to the SMT solver like what happens when a lemma is manually instantiated.
It would give a flexible and efficient way to find what the prover needs to make the verification go through.

Agreed, assert should first prove the assert and then assume it in the rest of the code. That's the semantics of assert in any other verification system I know.

I thought the F* type checker would feed to Z3 a single formula consisting of conjunction of the assert and VC for rest of the code ? If so, Z3 should have the assert in its context when proving VC for rest of the code (if Z3 proves conjunction a /\ b in the order of a then b) ?

Prims.cut does what you want

I think it would be good to make assert do the same as cut.

module COUNT100
type nat = i:int{0 <= i}
val countTo100: n:int{0 <= n /\ n <= 100} -> x:int{x=100}
let rec countTo100 n =
if n < 100 then countTo100 (n + 1)
else n
let test1 = assert((countTo100 20) = 100)

@catalin-hritcu How can i use assert in F*.

@hungvq00390 Your code is fine except that you need to prove that it terminates
module COUNT100

val countTo100: n:int{0 <= n /\ n <= 100} -> Tot (x:int{x=100}) (decreases %[100-n])
let rec countTo100 n =
  if n < 100 then countTo100 (n + 1)
  else n

let test1 = assert((countTo100 20) = 100)

Seems we're left with both assert and cut, and cut now actually works (#180). Closing.


Added micro_speech_mock example files for create_tflm_tree.py script.

For ARC we used "micro speech mock" example. This small fix adding ability to use
python3 tensorflow/lite/micro/tools/project_generation/create_tflm_tree.py ... -e micro_speech_mock ... to generate directory tree with sources for this example.
BUG=#637

Updated.

Updated.

Updated.

Updated.

Updated.

Updated.

Updated.


Included Python and Django badges in tech stack (README) #235

Added two badges of Python and Django respectively.
Fixes#235
Type of change

[x] New feature (non-breaking change which adds badges in readme file.)

Checklist:

[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[x] New and existing unit tests pass locally with my changes.

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (235)

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Explain the Testing instructions
Test Configuration:

Operating system:
Version:
Text-editors used:

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

ATTACH SCREEN-SHOTS

Thanks for your contribution @kavyashree2001  Thanks for your efforts !! @himanshu007-creator


false lookup

Hi for my IP based in Slovakia SK <IP_ADDRESS> script return country Russia RU

solved that with replacing /usr/share/perl5/Geo/ipscountry.dat with Geo:IPfree database file from http://software77.net/geo-ip/


Fix for undefined name 'bid'

Ok, this should do it.
python privacy_services_manager.py disable contacts Toast
INFO: ################################################################################
Privacy Services Manager, version 1.6.5

    service:  contacts
    action:   disable
    app(s):   ['Toast']
    user:     N/A
    template: False
    language: N/A

INFO: Set to modify local permissions for user 'cda' at '/Users/cda/Library/Application Support/com.apple.TCC/TCC.db'.
INFO: Set to modify global permissions for all users at '/Library/Application Support/com.apple.TCC/TCC.db'.
INFO: Disabling 'com.roxio.Toast' in service 'contacts'...
ERROR: NameError: global name 'bid' is not defined

Wow, nice catch! Thanks, Tim!


Antiforgery requests topic update

Fixes #5554
Internal Review Topic

Reorganizes the content a bit
The usual UE pass attention
Addressed the comments from #5551 and #5525
Promotes the sample to 2.0

Question: There was a (random? lol) mix of "CSRF" and "XSRF" acronyms in the topic. I went with "CSRF," but would you prefer "XSRF" instead?
Also note that I don't have access to comments; so if someone could look and pass along reader feedback, that would be great.

@blowdart  can you review this or assign it to someone else?

@blowdart Updates made.
On the cookie auth "session" para, I just deleted it. I guess Steve just wanted some background basics. I don't think we need that.
On the token remarks, I deleted the first sentence and attempted to include a blurb on how the token might be a reference token.

@Rick-Anderson @scottaddie @rachelappel When anyone gets free, this one is ready for a look :eyes:.

@scottaddie Feedback addressed. I linked those table entries to API browser endpoints. In the process, I noted the ones that are depreciated.


ObjectReflectionCache - Reduce noise from properties that throws exceptions

See also: https://stackoverflow.com/q/63064051/193178
The extra noise was introduced with #2989 (Before exceptions from properties was completely suppressed).

Good idea!


:lock: Add security headers

It's moved the score on from an 'f' to a 'd' https://securityheaders.io/?q=https%3A%2F%2Fconnecting-to-services-pr-166.herokuapp.com%2Ffinders%2Ffind-help&hide=on&followRedirects=on
Not sure what we are aiming for?


Experiment: remove traces & inline trivial lambdas in usecase tests

This is just an experiment (not to be merged) on changes at the PIR level when we remove traces and inline trivial lambdas in the relevant usecase tests.
The overall diff is not interesting as it includes a huge diff from applying plutus's master HEAD. The second commit portraits the actual experiment from applying https://github.com/HachiSecurity/plutus/commit/c8accb12d87de646544fd4200fa240835046a995.
Not much is inlined so improvements are very minimal, but it is also a data point showing little risk from inlining trivial lambdas (there are not that many in real scripts?).

https://github.com/input-output-hk/plutus/pull/4311 closes this now!


[dv] Add end to end debug test to testplan

Signed-off-by: Greg Chadwick<EMAIL_ADDRESS>

Made the suggested changes and moved it over to the ROM E2E testplan merging with the existing test as suggested by @alphan PTAL

LGTM, thanks @GregAC!

Thanks for adding this @GregAC!


quaint(sqlite): index out of bounds: the len is 1 but the index is 1

Reason: [quaint/src/connector/sqlite.rs:69:35] index out of bounds: the len is 1 but the index is 1
Command: prisma db pull
Version: 4.14.1
Binary Version: d9a4c5988f480fa576d43970d5a23641aa77bc9c
Report: https://prisma-errors.netlify.app/report/14754
OS: x64 darwin 22.4.0
JS Stacktrace:
RustPanic: Error in migration engine.
Reason: [quaint/src/connector/sqlite.rs:69:35] index out of bounds: the len is 1 but the index is 1

Rust Stacktrace:
[EXIT_PANIC]
Starting migration engine RPC server
"// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\ngenerator client {\n    provider = \"prisma-client-js\"\n}\n\ndatasource db {\n    provider = \"sqlite\"\n    url      = env(\"DATABASE_URL\")\n}\n"
[quaint/src/connector/sqlite.rs:69:35] index out of bounds: the len is 1 but the index is 1
   0: backtrace::capture::Backtrace::new
   1: migration_engine::set_panic_hook::{{closure}}
   2: std::panicking::rust_panic_with_hook
   3: std::panicking::begin_panic_handler::{{closure}}
   4: std::sys_common::backtrace::__rust_end_short_backtrace
   5: _rust_begin_unwind
   6: core::panicking::panic_fmt
   7: core::panicking::panic_bounds_check
   8: <sql_schema_connector::flavour::sqlite::SqliteFlavour as sql_schema_connector::flavour::SqlFlavour>::set_params
   9: schema_core::schema_to_connector
  10: <schema_core::state::EngineState as schema_core::api::GenericApi>::introspect::{{closure}}
  11: <core::pin::Pin<P> as core::future::future::Future>::poll
  12: <futures_util::future::future::Then<Fut1,Fut2,F> as core::future::future::Future>::poll
  13: json_rpc_stdio::handle_stdin_next_line::{{closure}}::{{closure}}
  14: tokio::runtime::task::raw::poll
  15: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
  16: tokio::runtime::task::raw::poll
  17: tokio::runtime::task::UnownedTask<S>::run
  18: std::sys_common::backtrace::__rust_begin_short_backtrace
  19: core::ops::function::FnOnce::call_once{{vtable.shim}}
  20: std::sys::unix::thread::Thread::new::thread_start
  21: __pthread_start

@jkomyno Hey, I don't have access to the internal report. Could you confirm whether this is reproducible or not?
Thanks 🙏


[Build Error] Could not find com.atlassian.mobile.video:okhttp-ws-compat:3.7.0-atlassian1

I'm receiving the following error when attempting to build the example for android (haven't tested iOS):
FAILURE: Build failed with an exception. Could not find com.atlassian.mobile.video:okhttp-ws-compat:3.7.0-atlassian1
Here is a detailed console output of the error and here is the yarn list from the examples default package.json
Attempted Fixes:

This stackoverflow post suggests specifying exact versions for react and react-native in the package.json. Below is the new build error when trying this with react 16.0.0.-alpha.6 and react-native 0.43.1 (with some warnings):

Execution failed for task ':app:compileDebugJavaWithJavac'.
Here is a detailed console output and here is the yarn list

Another comment  (from the same stackoverflow) suggests modifying .../react-native-interactable/example/android/build.gradle (here is mine) but I still recieve the same build error as above:

It appears this issue is caused by two upstream issues which are tracked here and here
Here is what I did to resolve the build error:

Per this discussion, specify exact versions for react and react-native in
.../react-native-interactable/examplepackage.json (here is what I used)

Per this discussion, modify
...\react-native-interactable\example\android\app\src\main\java\com\example\MainApplication.java
by changing getUseDeveloperSupport()'s access modifier from Protected to Public.  See line-19 here.

*note: I still receive a @providesModule naming collision warning for fb-watchman (shown here) but it does not prevent the app from building for android.


Fix Python Twine Upload Authenticate Task

Task name: TwineAuthenticate@V1
Description:
The Python Twine Upload Authenticate task will fail on feeds that contain a dot in their
name. The dot in the feed name will be escaped in the generated .pypirc
file in the corresponding section headers (e.g. [Feed\.Name]).
See also attached issue for more details.
The issue is due to how the ini npm package encode works. Thus
providing a custom toString implementation that convert repositories
to their .pypirc representation fixes the issue.
A new unit test was added to verify the correctness for a feed name that contains a dot.
The ini npm package is no longer used, therefore it's removed from the dependencies.
Documentation changes required: (N)
Added unit tests: (Y)
Attached related issue: (Y)
#14220
Checklist:

[x] Task version was bumped - please check instruction how to do it
[ ] Checked that applied changes work as expected

/azp

/azp run

/azp run

Please bump the version in task.json as mentioned in the PR description template. Otherwise, LGTM

thanks @jmyersmsft
version bumped ;)

/azp run

any progress on this?
the corresponding issue is about to be closed for being stale.

/azp run

Sorry for the delay, I must have gotten distracted while waiting for the check builds last time.

LOL, no worries, thanks a lot 😊


Support filter comparison with number

Many editors of Mapbox Styles do not care about a difference between number and string for the filters.
So in many style.json there is the following in the filter expression
["==", "layer", 2]

When running filter on such a style one received the error Parsing mapbox style failed: Error in $.layers[X]: Comparing unequal things: Fix (UStr "layer"), Fix (UNum 2.0): Stringvs. Number
As far as I know the styles the number should always be treated as a string here.
It would be amazing to see this being supported.

Again, this is deprecated syntax. You should use:
["==", ["number", ["get", "layer"]], 2 ]

Though, I think (I'm not sure), this would actually work:
["==", ["get", "layer"], 2 ]


Require securerandom for flat arch

Stumbled upon this when I've tried to create a new project with flat arch.
I don't know of a good way to test this unfortunately from the integration tests.

Thanks for sharing this, @alexandru-calinoiu. No worries about the tests at the moment, we're just getting started on those. I'll pull this right in :) Will make a release with this incorporated in the next few days.


(#42) Ability to enable and disable authentication

Changed accessor for the Enabled flag in Authorization options and updated logic to obey the Enabled flag.
Made Authentication optionable and configurable.

@jorgevp Thanks for the PR. In the last PR @sommmen  added a property AlwaysAllowLocalRequests and now with the ability to enable and disable authentication and also the library by default does not check auth for local requests and now it becomes a bit confusing.
The authentication process should be unified and I think may be better to implement custom authorization just like Hangfire as  @sommmen  mentioned a while back ago.

In my case and many others I run containers in a remote environment and these containers do not authenticate with the Identity provider that is in the httpcontext. It would be nice to be able to disable authorization when the service does not use it and the only possible route to the logs ui is a remote path. Since AlwaysAllowLocalRequests is not a fix for my situation and implementing another authentication process is a lengthy undertaking I think a workaround for enabling/disabling authentication would be useful at least until a custom auth provider comes along.


Remove the hasNans config and no_nan data gen in test code.

Signed-off-by: remzi<EMAIL_ADDRESS>close #6487.

build

Hi @jlowe. Thank you for your explanation.
I will close this PR and create a new PR to just clean the hasNan config in the test code.


Add wildcard matching doc

(Readable: https://github.com/boschglobal/kuksa.val/blob/feature/wildcard_matching_doc/doc/wildcard_matching.md )
Look quite sensible to me.  Apart from content, some notes:
Once we have plumbing for that in databroker we should also make gherkin/cucumber tests for it, the table in markdown looks already almost "executable"
Also, instead of just having this file "waiting to be found",  we should then reference it from the authorisation.md document and in the API doc if we ahem had any (we do at least have a little bit in wiki https://github.com/eclipse/kuksa.val/wiki/KUKSA.val-gRPC-interfaces)

Looks good to me, but should only be merged after #641
Should explicitly mention that the expansion rules are applied in the kuksa.val.v1 API paths as well as Expansion of authorisation tokens


Add support for proxy for MQTT client connecting to AWS IoT Core

My devices needs to use a proxy in order to access the internet which I believe is a fairly common scenario.
I thus need a way to configure AWSIotMqttClient with a HTTP proxy.
The implemented solution should also support Socks v4/5 proxies.
One way is to support the relevant system properties.
Authentication in my case is done via X.509 client certificates.
I'm running version 1.3.7 of the library.
Related issues:
https://github.com/aws/aws-iot-device-sdk-java/issues/107
https://github.com/aws/aws-iot-device-sdk-java/issues/49

Sorry, but we are not taking anymore feature requests for this sdk. There is a v2 version that does or you can submit a PR with the requested changes.
Note: aws-iot-device-sdk-java-v2 does support proxies, but it currently does not support Socks.


Remove newlines between elements

Rux is pretty cool and I would like to use it, however I'm getting some unnecessary whitespace that end up in the DOM and cause layout issues.
JSX removes whitespace between elements, while Rux doesn't.
Input:

foo

bar

JSX output:

foo

bar

Rux output:

foo

bar

This change should make Rux more consistent with JSX.
I don't understand how the parser works, so I just made the simplest thing possible to fix this.
Can it be done in a better way?

This was more complicated than I thought! The tests should be correct, but I don't know how to fix the implementation.
Any suggestions?
I'm thinking it would be easier if the parser treated spaces and newlines differently, but maybe there is a better way?

Hey @aalin, thanks for taking a crack at this! If memory serves, I was trying to follow what HTML does, namely collapse multiple consecutive whitespace characters into a single space. As far as whitespace between elements goes, I hadn't really considered it to be a problem because I expected browsers to by-and-large ignore it.
However, it feels right to follow JSX's lead here since 1) Rux is billed as JSX for Ruby, and 2) Rux code isn't HTML.
I put together a branch today that modifies the DefaultVisitor to strip out whitespace between elements. Can you let me know if it works for your use-case? Stick this in your Gemfile:
gem "rux", github: "camertron/rux", branch: "strip_whitespace"

Hi @camertron, thanks for the quick response!
I tried your changes and I still got some unwanted white space, so I made some changes to your code, and after refactoring, it seems like all that was needed was to update Rux::Parser#squeeze_lit. It now strips all white space on either side if the white space on that side includes a linebreak.
This version generates the same output as renderToStaticMarkup() in React:
require "bundler/setup"
require "rux"
require "json"

class Rux::Parser
  def squeeze_lit(lit)
    lit
      .sub(/\A\s+/) { |s| s.match?(/[\r\n]/) ? s.lstrip : s }
      .sub(/\s+\z/) { |s| s.match?(/[\r\n]/) ? s.rstrip : s }
      .gsub(/\s+/, " ")
  end
end

class RuxVisitor < Rux::Visitor
  def visit_list(node)
    node.children.map { |child| visit(child) }.join
  end

  def visit_ruby(node)
    node.code
  end

  def visit_string(node)
    node.str
  end

  def visit_tag(node)
    "".tap do |result|
      if node.name.start_with?(/[A-Z]/)
        result << "Tag.new(#{node.name}"
      else
        result << "Tag.new(#{node.name.to_sym.inspect}"
      end

      node.children.each do
        result << ", #{visit(_1).strip}"
      end

      node.attrs.each do |k, v|
        result << ", #{Rux::Utils.attr_to_hash_elem(k, visit(v))}"
      end

      result << ")"
    end
  end

  def visit_text(node)
    CGI.escape_html(node.text).inspect
  end
end

class Tag
  attr_reader :type
  attr_reader :props
  attr_reader :children

  def initialize(type, *children, **props)
    @type = type
    @props = props
    @children = children
  end

  def inspect
    "#<#{self.class} type=#{type.inspect} children=#{children.inspect}>"
  end

  def to_react_s
    c = children.map do |child|
      if child.respond_to?(:to_react_s)
        ", #{child.to_react_s}"
      else
        ", #{JSON.generate(child)}"
      end
    end

    "React.createElement(#{type.to_s.inspect}, null#{c.join})"
  end

  def to_s
    attributes =
      props
        .map { |attr, value| format(' %s="%s"', attr, CGI.escape_html(value)) }
        .join

    if children.empty?
      "<#{type}#{attributes}/>"
    else
      "<#{type}#{attributes}>#{children.join}</#{type}>"
    end
  end
end

source = Rux.to_ruby(<<~RUX, visitor: RuxVisitor.new)
def render
  baz = 111
  waz = 222

Foo

Bar

{baz} {waz}

      asd
      {baz}
      {waz}

      {baz}

      asd
      {waz}

      {baz}asd {waz}

      one
      {' '}
      two
      {' '}
      th
      ree

      foo
bar

      foo
 bar

 Spaces around

      No spaces

end
RUX

klass = Class.new
klass.class_eval(source)
component = klass.new
nodes = component.render

puts "\e[1;3m Source: \e[0m"
puts source
puts

puts "\e[1;3m Nodes: \e[0m"
p nodes
puts

puts "\e[1;3m HTML: \e[0m"
puts nodes

output_from_react = "

Foo

Bar

111 222

asd111222

111asd222

111asd 222

one two th ree

foo
bar

foo
 bar

 Spaces around

No spaces

"

puts
if nodes.to_s == output_from_react
  puts "\e[1;32mHTML is matching!\e[0m"
else
  puts "\e[1;31mHTML is not matching!\e[0m"
end

puts

puts "\e[1;3m React.createElement() \e[0m"
puts nodes.to_react_s

I just updated the PR :)

Hey @aalin, it's definitely looking better. However I'm a little concerned about stripping whitespace from every literal regardless of where it appears in the document. The branch I worked up specifically removes whitespace between elements. One benefit of doing it that way is to be able to customize whitespace stripping behavior for certain elements. For example. I think we want to leave whitespace intact for the contents of <textarea> and
 elements.
Can you elaborate on where the additional whitespace is that you're seeing?

Can you elaborate on where the additional whitespace is that you're seeing?

Sure! I'm making a VDOM inspired by React, but it runs on the server and pushes patches to the browser whenever something changes. Before stripping whitespace, I would get text nodes containing only one space, and the VDOM thought they were significant while the DOM discarded them, so the VDOM and the DOM would get out of sync and patches didn't work.
I think it would be better not to do any special handling for <textarea> and
. If someone needs preformatted text in a
-tag they could do
{preformatted_text}
. JSX doesn't have any special handling for those tags

Sure! I'm making a VDOM inspired by React, but it runs on the server and pushes patches to the browser whenever something changes

Wow, sounds really cool!

If someone needs preformatted text in a
-tag they could do
{preformatted_text}

Hmm I hadn't considered that, you're absolutely right.

JSX doesn't have any special handling for those tags

Ok good to know

In other cases you might want whitespace nodes between elements

Does JSX let you do this?

Does JSX let you do this?

JSX has the ugly solution of having to return an empty string in a JS injection, like this:

<Fun>{' '}
<Times>

WIll output "Fun Times" (assuming that's what those compnents are doing)
While
<Fun>
<Times>

will output "FunTimes".
However, if it's on the same line, it will add a space:
<Fun> <Times>

outputs "Fun Times"
Visually:

Results in:

Interesting. Ok I'm cool with this as-is then.

Just published this in v1.1.0.


Support indentation?

Any plans on supporting indentation? I noticed the original Parsec from Haskell doesn't. At least not out of the box.

No. If you are interested, I have implemented a sample parser for indentation in parsec branch of YamlSwift.


GeoJson,Polygons, Fitbounds and the Dateline

Hi all, been searching around here and there seem to be several closed issues regarding polygons and the dateline but I am still seeing this problem.I am loading state/country borders and am running into issue with Fiji. I am loading these polygons using geoJson and relying on fitbounds to locate and scale the map. For the other 18 countries I display this works great, Fiji displays the entire world. Is there any way to get this to display correctly? Below is a snippet of the code I use
`		var geojson = L.geoJson(borders, {
style: function (feature) { return feature.properties && feature.properties.style; },
url: function (feature) { feature.properties.url },
onEachFeature: onEachStateFeature
});
	var map = L.map('map', { zoomControl:false }).fitBounds(geojson.getBounds());
	map.dragging.disable();
	map.touchZoom.disable();
	map.doubleClickZoom.disable();
	map.scrollWheelZoom.disable();
	map.keyboard.disable();

	tileLayer.addTo(map);
	var bordersLayer = geojson.addTo(map);
	map.fitBounds(geojson.getBounds());`

Thanks for any help

Dateline management is a tricky one.
Depending on what you do with the data, one workaround may be to have a "continuous world longitude", thus bumping Fidgi's longitude above 180° (i.e. 180.505 instead of 0.505 in short).
I'm closing here, please use preferably stackoverflow or gis.stackexchange for help support.


Add support for attachments

It would be awesome if the message could contain a link to the recently built artifact also...
Using the redirect service of Nexus for example, we can build the url to the artifact.

@einsty fixed, right?

Oh, yes, my other commits would have resolved this.  Thanks again for starting up this project!


ldap user manager does not fill id, opaque_id and idp

currently lookup of opaque_id and idp in ldap is not possible because it the ldap user provider does not fill them with anything. we at least need to be able to configure the idp. the opaque_id should be configurable by specifying which attrubute from ldap to use. we could split the userPrincipalName or configure two attributes for opaqe_id and idp (which map to sub and iss in openid world).
We should implement an id-strategy so that we can implement different solutions how to look up the id.
warning ... this is only a workaround: there might not be a way to retrieve the oidc sub from ldap.
The correct solution is to implement a new SCIM user manager, because there are idps that support listing users using the SCIM api and there is already a draft OpenID Connect Profile for SCIM Services. Tracked in https://github.com/cs3org/reva/issues/327

@madsi1m will provide a configuration option for the LDAP plugin to setup the Idp

We are dancing around the problem that we need a way to persist a user id but the different systems may know the user under different ids:

The idp generates a sub claim that is unknown to eg ldap
LDAP generates a uuid like attrubute, but the organization might have introduced
a custom / different attribute to uniquely identify users, eg the employeeNumber because that does not change on reimports of a user in the ldap tree.
The storage provider internally might use a numeric uid and gid for file ownership and permissions.

The perfect userid for reva is unique, persistent and non-reassignable. Why?

unique, so we can differentiate between two end users called 'Anna Meyer'
persistent, so we can identify the user on  subsequent logins, even if she marries as 'Anna Müller'
non-reassignable, so we treat a new 'Anna Meyer' joining the organization as a different person than the 'Anna Meyer' that left the organization 10 years ago.

Best we can do is keep track of the history uf userids and provide a migration script.
First step to make this technically possible: https://github.com/cs3org/cs3apis/pull/46
It allows the auth providers to return not only return a userid but also other metadata.

Ultimately, we will always need to be able to update the owner and sharing permissions in an easy way. The idea is to have a cli tool that can replace a user or group id and transfer the ownership and share grantees. Tracked in https://github.com/owncloud/ocis/issues/58
Keeping a history of previous ids can be added later, as it only allows deferring the ownership change.

it does now

@labkode @butonic @madsi1m can we look into this now? For OCM, the same opaque_id can be present across mesh providers, but the combination of idp and opaque_id would be unique. So this needs to be implemented for that to work.

outdated