tests: use v:progpath instead of GetVimProg

TODO:

[ ] do not write it to vimcmd in the first place

Ref: https://github.com/vim/vim/commit/da65058a9c4774dc534c7ae98d24c58b5db669fa#r34658132

Codecov Report

Merging #4806 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #4806      +/-   ##
==========================================
+ Coverage   81.55%   81.55%   +<.01%
==========================================
  Files         118      118
  Lines      145681   145681
==========================================
+ Hits       118804   118807       +3
+ Misses      26877    26874       -3

Impacted Files
Coverage Δ

src/gui_beval.c
62.5% <0%> (-0.87%)
:arrow_down:

src/if_xcmdsrv.c
85.63% <0%> (-0.54%)
:arrow_down:

src/gui.c
63.65% <0%> (-0.06%)
:arrow_down:

src/os_unix.c
63.29% <0%> (-0.05%)
:arrow_down:

src/window.c
87.76% <0%> (-0.04%)
:arrow_down:

src/terminal.c
81.34% <0%> (+0.03%)
:arrow_up:

src/viminfo.c
75.64% <0%> (+0.52%)
:arrow_up:

src/profiler.c
93.25% <0%> (+0.56%)
:arrow_up:

Continue to review full report at Codecov.

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

v:progpath was mentioned to not work in https://github.com/vim/vim/pull/2186, but then crossed out.
/cc @ichizok

This is not going to work, because on some systems v:progpath is just "vim".  I tried on Mac OS.

Daniel Hahler wrote:

v:progpath was mentioned to not work in
https://github.com/vim/vim/pull/2186, but then crossed out.

No idea why it was crossed out, it can reproduce it with the current
version of Vim (on MacOS).
--
The real
trick is
this: to
keep the
lines as
short as
possible
and keep
the size
the same
yet free
from the
need for
hyphena-
Dammit!!  (Matthew Winn)
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

v:progpath

According to https://github.com/vim/vim/pull/2186#issuecomment-334345195 it is relative / just "vim" when not starting it with an absolute path?
According to the help this sounds like a bug, since it should be absolute always.
From https://github.com/vim/vim/commit/da65058a9c4774dc534c7ae98d24c58b5db669fa#r34664494:

$VIMPROG may be different from v:progpath, depending on what test you are running and how. I sometimes source a test*.vim file and expect the vim command executed in the terminal be the one that was most recently build, not the one I'm currently running.

So in the case of sourcing a test it would fall back to '../vim' then (because there is no vimcmd), no?  (and the Makefile would also write '../vim' there).
How do you "source a test*.vim file" exactly?
(It is required to be in src/testdir then already (for the relative "imports"), and tests are not run automatically when sourcing.  Do you run the test function then manually?)
(Also it appears to make a difference only for a few tests, i.e. other tests would use the current Vim instance anyway - resulting in a mix of current/build Vim being used)

The vimcmd file has two lines, the stuff in the second line is not in v:progpath, thus we can't drop writing "vimcmd".

Yes, I've not meant to remove the file completely.

For reference: v:progpath is a used already in other tests.  According to the argument above it should use GetVimProg() then probably?

Daniel Hahler wrote:

v:progpath

According to
https://github.com/vim/vim/pull/2186#issuecomment-334345195 it is
relative / just "vim" when not starting it with an absolute path?
According to the help this sounds like a bug, since it should be
absolute always.

The docs may be a bit confusing.  It mentions "including the path", but
that means it includes the path if it was given.  The help also says to
use "exepath()" to get the full path, but on Linux a special trick is
used to get the actual path of the executable, which ends up to always
be a full path.  While on Mac you only get the full path if Vim was
started with a path, not when just typing "vim".
I'll add some more explanation to the help.
--
Q: What is a patch 22?
A: A patch you need to include to make it possible to include patches.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

For reference: v:progpath is a used already in other tests.
According to the argument above it should use GetVimProg() then
probably?

There are actually quite a lot of them.  We defenitely want to avoid the
inconsistency.  Since changing it either way will change the executable
used in corner cases, perhaps we should go for the simpler one and use
v:progpath?
--
"I can't complain, but sometimes I still do."   (Joe Walsh)
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

For reference: v:progpath is a used already in other tests. According to
the argument above it should use GetVimProg() then probably?

There are actually quite a lot of them. We defenitely want to avoid the
inconsistency. Since changing it either way will change the executable used
in corner cases, perhaps we should go for the simpler one and use v:progpath?

I think having a method (GetVimProg) allows for more flexibility, e.g. when
you want to prepend something always (e.g. "covimerage run --append" to get
coverage).
For this however it would need to return a list then, and would not really
reflect what the name implies then.
So for this it would be better to not use v:progpath/GetVimProg in tests,
but the already existing GetVimCommand() and GetVimCommandClean() functions
(which currently return a string - but could be changed to use a list (not
necessary, but cleaner)).

Daniel Hahler wrote:

For reference: v:progpath is a used already in other tests. According to
the argument above it should use GetVimProg() then probably?

There are actually quite a lot of them. We defenitely want to avoid the
inconsistency. Since changing it either way will change the executable used
in corner cases, perhaps we should go for the simpler one and use v:progpath?

I think having a method (GetVimProg) allows for more flexibility, e.g. when
you want to prepend something always (e.g. "covimerage run --append" to get
coverage).
For this however it would need to return a list then, and would not really
reflect what the name implies then.
So for this it would be better to not use v:progpath/GetVimProg in tests,
but the already existing GetVimCommand() and GetVimCommandClean() functions
(which currently return a string - but could be changed to use a list (not
necessary, but cleaner)).

OK, let me do that and see what we end up with.  We can at least drop
some "-u NONE" and "--clean" arguments.
--
"I simultaneously try to keep my head in the clouds and my feet on the
ground.  Sometimes it's a stretch, though."              -- Larry Wall
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


Target modules all-linear not found in the base model.

Thank you for these excellent resources!
When running: https://github.com/philschmid/deep-learning-pytorch-huggingface/blob/main/training/fine-tune-llms-in-2024-with-trl.ipynb notebook. I get an error on this line of code:
 peft_config = LoraConfig(         lora_alpha=128,         lora_dropout=0.05,         r=256,         bias="none",         target_modules="all-linear",         task_type="CAUSAL_LM", )
It gives this error:
ValueError: Target modules all-linear not found in the base model. Please check the target modules and try again.
Any ideas?

It seems like you are not having the up to date versions.

It works for:
# LoRA config
peft_config = LoraConfig(
        lora_alpha=128,
        lora_dropout=0.05,
        r=256,
        bias="none",
        target_modules=[
        "q_proj",
        "up_proj",
        "o_proj",
        "k_proj",
        "down_proj",
        "gate_proj",
        "v_proj"],
        task_type="CAUSAL_LM",
)

I do not have peft == 0.7.1 as the latest version gave an error while installing.

Can you use the commit which is in the sample

Running: pip install git+https://github.com/huggingface/peft@4a1559582281fc3c9283892caea8ccef1d6f5a4f--upgrade as in the sample gives the following error:
error: pathspec '4a1559582281fc3c9283892caea8ccef1d6f5a4f--upgrade' did not match any file(s) known to git
  error: subprocess-exited-with-error

  × git checkout -q 4a1559582281fc3c9283892caea8ccef1d6f5a4f--upgrade did not run successfully.
  │ exit code: 1
  ╰─> See above for output.

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

× git checkout -q 4a1559582281fc3c9283892caea8ccef1d6f5a4f--upgrade did not run successfully.
│ exit code: 1
╰─> See above for output.

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

There was a missing whitespace. i fixed it, the command is
!pip install git+https://github.com/huggingface/peft@4a1559582281fc3c9283892caea8ccef1d6f5a4f --upgrade

Thanks!


Problem with MediaPipe Hands -> Process finished with exit code -1073741819 (0xC0000005)

I'm using the sample code to get hand markers by a video.
It works fine but sometimes the program exit reporting this error:
Process finished with exit code -1073741819 (0xC0000005)
It seems the working time of the program is shorter using higher resolutions, for example 640x480 exits after 5/10 seconds, 512x424 (typical Kinect IR camera) can work for minutes.
I'm working on Windows 10, Python 3.9.18, I7 with 16GBRAM and an nVidia 1070, even if I think I can't use GPU for mediapipe in Windows (at start I get a "INFO: Created TensorFlow Lite XNNPACK delegate for CPU." message).
Thank you in advance!

Hi @simplo,
Can you please give more details about your question? This includes the steps you are following from the documentation and the platform you are using, like Android, Python, or JavaScript. If you are using Android, please also provide info about your Android device.
Also, it is suggested to fill out the template for better understanding and to help us address the issue more comprehensively.
Thank you

FIXED: it was my fault, an issue about a temporary variable released before the cycle was finished.

Hi @simplo,
Thank you for confirming, Can we go ahead and mark this issue resolved and close the status?


[SPARK-40509][SS][PYTHON] add example for applyInPandasWithState

What changes were proposed in this pull request?
An example for applyInPandasWithState usage. This example split lines into words, group by words as key and use the state per key to track session of each key.

Why are the changes needed?
To demonstrate the usage of applyInPandasWithState

Does this PR introduce any user-facing change?
No.

How was this patch tested?
This is an example that can be run manually.

@HeartSaVioR The applyInPandasWithState session window example.

Thanks for the contribution @chaoqin-li1123 ! Looks like python linter is complaining - could you please look into this?
https://github.com/chaoqin-li1123/spark/actions/runs/3133327292/jobs/5086593368
Also would be good to explicitly document how you ran the example in the section of How was this patch tested?.
Thanks in advance!

Can one of the admins verify this patch?

One tip, unlike Scala/Java code, we can leverage dev/reformat-python to reformat python code automatically.

One tip, unlike Scala/Java code, we can leverage dev/reformat-python to reformat python code automatically.

It seems  that dev/reformat-python skip this file, I need to run 'python3 -m black examples/src/main/python/sql/streaming/structured_network_wordcount_session_window.py'

@chaoqin-li1123
https://github.com/chaoqin-li1123/spark/actions/runs/3138156803/jobs/5097193712
Linter is still complaining. Could you take a look?
You can install necessary python dependency requirements from ./dev/requirements.txt and run ./dev/lint-python, and ensure everything passes.

Thanks! Merging to master.

@chaoqin-li1123, I happened to nitpick some. Would you mind creating a followup PR with reusing the same JIRA?

No problem, I will create a new PR with the suggested change.


Documentation clarification: Correlator ActivityAttempts -- SWF allows reusing activity ids?

The correlator has an ActivityAttempts field.  Does SWF allow reusing activity ids?  It seems ActivityAttempts is keeping track of how many times the same id has been attempted.  I just assumed activity ids had to be unique or SWF would complain?

activity ids are similar to workflow ids in swf, are primary-key-like.  you can only have 1 activity of the same id scheduled/running at once (per workflow), but once that activity completes/fails/times-out you can reuse the same id.
So the attempts counting does count by id.

Great.  Will leave this open for now until I can submit a PR with a paraphrase of your comment added to the documentation.

Actually, I think the current documentation already implies this, so will just close for now.


[Performance] Accelerate TD lambda return estimate

Description
Implement a version of for vec_td_lambda_return_estimate optimized for the case where gamma is a scalar.
Motivation and Context
In the case gamma is a scalar one can do the same optimization as done in #1141. Instead of constructing a big gamma tensor [B, T, T], one can split and pad the consecutive traces:
reward = [r00, r01, r02, r03, r10, r11]
done = [False, False, False, True, False, False]

into
r_transformed = [
    [r00, r01, r02, r03],
    [r10, r11, 0, 0]
]

and then apply a gamma filter to this transformed input.
Types of changes
What types of changes does your code introduce? Remove all that do not apply:

[x ] Bug fix (non-breaking change which fixes an issue)

Closes #1148
Checklist
Go over all the following points, and put an x in all the boxes that apply.
If you are unsure about any of these, don't hesitate to ask. We are here to help!

[x] I have read the CONTRIBUTION guide (required)
[x] I have updated the tests accordingly (required for a bug fix or a new feature).

Performance comparison for shape (16, T, 1) on GPU. Shown is the the ratio runtime(algorithm)/runtime(td_lambda_return_estimate).


get token key failed from google

Error: get token key failed from google

Same issue here.
Not able to get media file via google-tts:get token key failed from google

Google switched to a new API #35

This is a duplicate of #33

let me try to fix  on https://github.com/zlargon/google-tts/pull/37

For anyone looking for an immediate solution, you can check out my comment I left in issue #35 : https://github.com/zlargon/google-tts/issues/35#issuecomment-737032391
I created a new package google-translate-tts which uses the new Translate API. Who knows if it will stick, but it fixed the immediate problems I was having.

So tried when I saw this

This is my idea of api.js, but let me figure out how to merge it properly into api.js.
const fetch = require('node-fetch');
module.exports = (async (text, lang, speed) => {
  const data =
    JSON.parse(JSON.parse((await (await fetch("https://translate.google.com/_/TranslateWebserverUi/data/batchexecute", {
      method: "POST",
      headers: {
        "content-type": "application/x-www-form-urlencoded"
      },
      body: "f.req=" + encodeURIComponent(JSON.stringify([
        [
          ["jQ1olc", JSON.stringify([text, lang, parseInt(speed) === 1 ? null : true, "null"]), null, "generic"]
        ]
      ]))
    })).text()).replace(/^\)]}'/, ''))[0][2])[0];
  return `data:audio/mpeg;base64,${data}`;
});

Let me try to adopt ↑ at https://github.com/zlargon/google-tts/pull/38

This issue has been fixed in PR https://github.com/zlargon/google-tts/pull/37 by @freddiefujiwara and has been released in version 0.0.6.
Thank you all. 🎉


Make better error message for "Endpoint not allowed"

If somebody tries to delete a statement in a root T they do not have the necessary rights, error message is displayed which says "Endpoint not allowed", which does not say much. Make a better error message text so that it says something reasonable.

acl entry added - endpoint is allowed by default for all users, per-actant rules are then applied (can view/can edit/can delete).
If the user doesn't have permission to delete, error  message actant cannot be deleted by current user.
`


Documentation

Prepare documentation.
If you are interested in this library and need more documentation,
please let me know by adding one of the positive reactions (+1, Heart, Rocket) to this issue :)

It's a great library! I run a market place website and really want to replace my current chat app with this. More documentation would be great, as it's quite confusing how to hook it up to a real API.
Cheers

@baj84 I'm glad you like it :) What API library do you use?

@zakim2307 Thank you for your question.
ExampleChatService is available in package. You can import it here:
import {ExampleChatService} from "@chatscope/use-chat/dist/examples";

The source of ExampleChatService is available here:  https://github.com/chatscope/use-chat/blob/main/src/examples/ExampleChatService.ts
However, please note that this is only an example and should be taken as a starting point for implementing your own service.
Please also check the comments in the ExampleChatService.ts source - it can help a little.
I'm currently working on a simple chat server (nodejs) and adapter (service) for it. Based on this I will write a tutorial about how to make your own adapters.
Also in the next steps, I'll write ready-to-use adapters for some chat API providers.
So please be patient the documentation is under construction and will be available with examples soon.

hey @supersnager thank a lot for the quick reply...
when i was using the example(given by yourself) i was able to run chat app smoohly but when i installed the package in my project i am not able to see the example folder.
and i tried to downgrade the useChat package but it was the same(could not locate ExampleChatService.js
if you could see in the attachment there is no folder called example.
Once again thanks for quick reply and once again i know that it should be only for example but i need it to understand how your package is working and how i could write my own set of code for the service....
Also i will be looking forward to the finished documentation

s)

hey @supersnager i made it work but i think that how i did was not the best thing so i will be waiting for your documentation man and you have made a great library man it could go to heights if you give more features in it but most important i think is documentation itself.

hi there @supersnager how can i send attachments through the app i cannot see any options in the documentation

sorry @supersnager i found out how to send attachments

amazing library!

Amazing! I believe this library would be able to save me from my project.
This library would enable me to build a chatapp without a server?

@joshlpaige

This library would enable me to build a chatapp without a server?

No, you can't build a chat app without a server (to be honest you can do it, using WebRTC, but it won't be very usable :) ).

Can I get the source code of this demo?
https://demo.chatscope.io/login

No, for now. For an explanation, please refer to the Help -> FAQ section of the demo.

Hello, @supersnager
I am trying to add conversastions with fetching data from api.
I tried like this

Is pagination feature available in chat components?
if it is not there it would be really helpful to have that feature in chat

Prepare documentation.
If you are interested in this library and need more documentation, please let me know by adding one of the positive reactions (+1, Heart, Rocket) to this issue :)

When do you expect a comprehensive documentation for use-chat state management hooks will be available ?

Hi, is that this library able to apply in ionic angular app?


Feat ood uab ui customize

Where do the changes for the  additional Files menu entries appear?  Also, which line relocates the "ondemand" folder to /data/user/$USER?


Crashes on launch

Hi,
I am unable to run the project . It is crashing as it is launched :(

Fixed the issue, it was a missing module name in IB for the progress view. It was a by product of testing the Obj-C version.


Cut off Windows CI

The Windows builds take forever to run in AppVeyor. While the slowest build on Anaconda Server can be around 3 minutes (https://anaconda.org/poliastro/poliastro/builds) and 4 minutes in Travis CI https://travis-ci.org/poliastro/poliastro/builds/95558901, AppVeyor builds can take as long as 7 minutes and they run sequentially https://travis-ci.org/poliastro/poliastro/builds/95558901. Therefore, at the current pace one has to wait between 30 and 40 minutes for Windows builds to finish. This is unacceptable.
Based on the survey that Thomas Robitaille run earlier this year (http://astrofrog.github.io/blog/2015/05/09/2015-survey-results/):

it looks like Windows users are usually the most up to date. The Windows users I care about are using Anaconda or similar.
I suggest removing these builds:

Python 3.3: nobody uses it.
Python 3.5/NumPy 1.9: if you are using the latest Python you probably aren't stuck with NumPy 1.9.
Python 3.4/NumPy 1.10: if you are using the latest NumPy you probably can upgrade your Python version too.

With this we would save between 15 and 20 minutes, which is a lot. What do you think @newlawrence @AunSiro? @proinsias I don't know what OS are you using, what are your thoughts on this?

The other option is to disable it completely except for release branches, and put there last minute fixes.

It's a matter of project workflow philosophy. It will be ideal to be sure that every single change in the code doesn't break it on every single combination of the dependencies and posible contexts. But, if the tests take longer each time... can we still considering it agile development?
I think your last suggestion is right. If the tests take so long, then just lets use them as a way to keep final releases bugs free. The package has the advantage to be, in principle, platform agnostic so if there's no issues in one of the platforms it shouldn't be in the rest.

I disabled Windows builds for pull requests and the master branch, at least for the moment. Feel free to go on with the discussion - if AppVeyor ever switches to parallel builds I might consider activating them again.

@Juanlu001 – apologies for the delay in replying. I mostly use OS X now, so this change wouldn't affect me. Thanks for checking with me!


Small change to bold and italics toggle.

I wanted the bold and italics toggles to work more like the way they do in Google Docs where the user can toggle bold to "on", type the word or words they want, then toggle bold to "off" to keep typing in normal style.
The way I accomplished this in the code is to have the cursor jump to outside of the "*" or "**" in the markdown if the user hits the keyboard shortcut again while the cursor is at the end of the bold text but still inside of the asterisks.
In other words, if the user hits Ctrl+B when the cursor is at:
**bold text|**

the cursor will jump two places to the right:
**bold text**|

and the user can keep typing as normal without having to hit the "end" key or use the mouse.

Good idea 👍

BTW, do you have a good description about the toggling behavior to put in the README?
I prefer this format,

If there is no selection, ...
If there is a selection, ...

But I don't know how to properly describe it 😅

I am glad you like the idea. Here is how I describe the functionality:

If there is NO selection and the cursor is at the end of a Bold or Italic word but BEFORE the asterisk (*) as shown here:
  **Bold|** or *Italic|*

Pressing the corresponding hotkey (Ctrl+B or Ctrl+I) will move the cursor to the outside of the asterisk(s) as shown here:
  **Bold**| or *Italic*|

All other functionality regarding the Bold and Italic hotkeys remains the same. This is similar to a rich text editor where the user can press the Bold or Italic hotkey to "turn on" the styling, type some text, and press the hotkey again to "turn off" the Bold or Italic styling and continue typing as normal.

This does not cover underscore styles. I don't know if that matters. Also if the user presses a hotkey to make text bold or italic when no text is selected, the asterisks are placed around the cursor but if the user presses the hotkey again without typing anything in the text, the extension adds more asterisks around the cursor instead of removing the "unwanted" ones. I almost fixed this but then I realized how this can be useful in certain situations so I left it alone. I'm not sure how you want to handle that, if at all.

Thanks!
For the empty bold block **|** (or italic), I'd like to remove the asterisks, so it will behave like "turn off".
How do you plan to fix this? Adding another isEmptyBlock method?

I'm not sure yet how I will fix that.

OK, I will work it out later. Thanks again.


View task edit

Description

Add React Icons for styling.
Removed styled components and added them inline using sx
Mild formatting changes
Fixes # (issue)
None

Type of change
Please delete options that are not relevant.

[x ] New feature (non-breaking change which adds functionality)

Change Status

[x ] Complete, tested, ready to review and merge

How Has This Been Tested?

[ x] Jest/Component does not crash upon rendering

Checklist

[ x] My code follows the style guidelines of this project
[x ] I have performed a self-review of my own code
[x ] My code has been reviewed by at least one peer
[x ] I have commented my code, particularly in hard-to-understand areas
[ x] I have made corresponding changes to the documentation
[x ] My changes generate no new warnings
x[ ] I have added tests that prove my fix is effective or that my feature works
[x ] New and existing unit tests pass locally with my changes
[x ] There are no merge conflicts

I like the styling! The icons are a nice touch :)


HmRsBody matcher for checking response body

At the moment we have HmRsHeader and HmRsStatus which allows us to use Hamcrest to match against Response headers or status codes, respectively.
It would be good if we have a class HmRsBody that will allow us to match the Response body as well. Let's create one, with public constructors that can accept Matcher<String> and Matcher<byte[]>, to support both text and binary responses.

@carlosmiranda @davvd ready to take this

@yegor256 what do you think?

@yegor256 ping

@carlosmiranda attached this issue to milestone "1.0" (let me know if this is wrong)

@carlosmiranda thanks for the report, I topped your acc for 15 mins, payment ID 73824706

@rfqu this task is for you, keep these principles in mind, and don't hesitate to ask any technical questions; 30 mins is the budget of the task. This is exactly how much will be paid when the problem is solved (no matter how much time you will actually spend). See this for more information

I am almost done, but one of new tests fails because of the issue #524.

@rfqu keep in mind that you should address your messages to someone, by starting them with the name of the person you're talking to. otherwise, it's just noise, nobody will pay attention to what you're saying. check this out: http://www.yegor256.com/2014/11/24/principles-of-bug-tracking.html#4.-avoid-noise-—-address-your-comments

@rfqu the ticket is with you for 15 days already. If it is not finished in the next 48 hours, it will be re-assigned to someone else, see No Obligations principle, this article should help if you're stuck. added -30 to your rating, now it is equal to -30

@davvd @yegor256 @carlosmiranda  fixed - see pull request #545

@rfqu let's wait for merge.

@davvd @yegor256 @carlosmiranda  fixed - see pull request #545

@rfqu thanks, I'll take a look

@yegor256 I see you "improved" code validator so that it blocks writing any complex programs - see issue #550

@rfqu you've been working with this task for too long. I'm sorry, but I'll assign someone else. Please stop working with it. See our no obligations principle... added -60 to your rating, now it is equal to -75

@davvd @yegor256  actually I finished this task.
I propose to drop ConfusingTernary check and accept my solution.

@danff please proceed, it's yours

@davvd need more time

@davvd need more time

@danff OK, take your time

@0crat in

@0crat in (here)

@yegor256 Job gh:yegor256/takes#485 is in scope.

Job gh:yegor256/takes#485 assigned to @caarlos0, please go ahead (policy).

@caarlos0 this job was assigned to you 8 days ago.
It will be taken away from you after 10 days from start (this is our policy).

Oops! Job gh:yegor256/takes#485 is not assigned to anyone.

Oops! Job gh:yegor256/takes#485 is not assigned to anyone.

Oops! Job gh:yegor256/takes#485 is not assigned to anyone.

@carlosmiranda can you close this one? #785 was merged and puzzles created.

@t-izbassar thanks!

Order was successfully finished: +30 points just awarded to @t-izbassar/z, total is +225

The job #485 is now out of scope

@carlosmiranda 3 puzzles #819, #820, #832 are still not solved; solved: #794, #795.

@carlosmiranda 3 puzzles #819, #832, #859 are still not solved; solved: #794, #795, #820.

@carlosmiranda 2 puzzles #819, #832 are still not solved; solved: #794, #795, #820, #859.

@carlosmiranda the puzzle #819 is still not solved; solved: #794, #795, #820, #832, #859.

@carlosmiranda all 6 puzzles are solved here: #794, #795, #819, #820, #832, #859.


CupertinoDatePicker in Arabic showing months in wrong way

CupertinoDatePicker show us months in arabic wrong
CupertinoDatePicker shows months in arabic not completed for example january showing it janua
but in arabic. example in arabic "اغسطس"  showing it to "غسط"
snippet of the code:
showCupertinoModalPopup(
        context: ctx,
        builder: (_) => Container(
          height: 190,
          color: const Color.fromARGB(255, 255, 255, 255),
          child: Column(
            children: [
              SizedBox(
                height: 180,
                child: CupertinoDatePicker(
                  mode: CupertinoDatePickerMode.date,
                  initialDateTime: DateTime.now(),
                    onDateTimeChanged: (value) {
                      setState(() {
                        _expiredDate = value.toLocal();
                      });
                    },

                ),
              ),
            ],
          ),
        ));

Hi @MrNaifpp, thanks for filing the issue.  This issue is reproducible on the latest stable and master channels.
The issue happens with CupertinoDatePicker whilst the Material Design date picker displays correctly.

Android/iOS: ❌
MacOS: ❌
Web: ❌

✅: No Issue ❌: Issue reproduced

Demo

CupertinoDatePicker
Material Design date picker

Sample code
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';

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

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

  @override
  Widget build(BuildContext context) {
    return CupertinoApp(
      title: 'Flutter Demo',
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
      localizationsDelegates: [
        GlobalMaterialLocalizations.delegate,
        GlobalCupertinoLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
        DefaultCupertinoLocalizations.delegate,
      ],
      supportedLocales: [
        // const Locale('en', 'EN'),
        const Locale('ar', 'AR'),
      ],
    );
  }
}

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

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

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

  void _incrementCounter() {
    showCupertinoModalPopup(
      context: context,
      builder: (_) => Container(
        height: 190,
        color: const Color.fromARGB(255, 255, 255, 255),
        child: Column(
          children: [
            SizedBox(
              height: 180,
              child: CupertinoDatePicker(
                mode: CupertinoDatePickerMode.date,
                initialDateTime: DateTime.now(),
                onDateTimeChanged: (value) {},
              ),
            ),
          ],
        ),
      ),
    );

    // showDatePicker(
    //   context: context,
    //   initialDate: DateTime.now(),
    //   firstDate: DateTime.now().subtract(Duration(days: 10)),
    //   lastDate: DateTime.now().add(Duration(days: 10)),
    // );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: SingleChildScrollView(
        child: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            mainAxisSize: MainAxisSize.min,
            children: <Widget>[
              const Text(
                'You have pushed the button this many times: ',
              ),
              Text(
                '$_counter',
                style: Theme.of(context).textTheme.headline4,
              ),
            ],
          ),
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        child: const Icon(Icons.add),
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel stable, 3.0.5, on macOS 12.2.1 21D62 darwin-x64, locale en-VN)
    • Flutter version 3.0.5 at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f1875d570e (9 hours ago), 2022-07-13 11:24:16 -0700
    • Engine revision e85ea0e79c
    • Dart version 2.17.6
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

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

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

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

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

[✓] Connected device (3 available)
    • SM T225 (mobile) • R9JT3004VRJ • android-arm64  • Android 11 (API 30)
    • macOS (desktop)  • macos       • darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)     • chrome      • web-javascript • Google Chrome 103.0.5060.114

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel master, 3.1.0-0.0.pre.2501, on macOS 12.5 21G72 darwin-x64, locale en-EE)
    • Flutter version 3.1.0-0.0.pre.2501 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision bd4264b4a0 (5 minutes ago), 2022-08-25 22:43:35 -0400
    • Engine revision 865a240ed8
    • Dart version 2.19.0 (build 2.19.0-139.0.dev)
    • DevTools version 2.16.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13E113
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 12.5 21G72 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 104.0.5112.101

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

I have the same issue

I have the same issue.

I have the same issue

This was fixed by https://github.com/flutter/flutter/pull/151128.

Closing this issue as fixed. Thank you for your contribution, @Mairramer!

Hi @MrNaifpp @AbdullahGaber0610 @Muhammad-Gamal2, is this still an issue?


fix: removed falling blocks from blocks.json

Hi stranger!
I removed falling blocks, so now the generated litematic file can be pasted into a minecraft world without falling apart.
If this commit is something that you like you can merge :)

I also fixed a block name that caused that block to not appear in #d20f8f4

Hey! I did not quite understand. It was said that falling blocks are no longer added, but I am facing the problem of falling blocks. Is there a possibility to fix this? Is there any way to disable these blocks?

@kfgfdf You'll have to create a new block palette that doesn't contain any falling blocks. Or you can go into /res/palettes and edit all-supported.palette and remove all falling blocks from there.

This was added in 6672d2eda29bdc7d2624a437bf4ff0a261851a66. You can now choose how to handle blocks that will fall when the structure is placed.


New Linter rule proposal for deprecated versions

Is your feature request related to a problem? Please describe.
I would like to propose a new linter rule that warns you about using versions that has officially be announced as deprecated. For example there was recent announcement on API Management https://azure.microsoft.com/en-us/updates/api-versions-being-retired-for-azure-api-management/ and I think official announcement is coming for some Azure SQL database versions.

implementation note: it should be responsibility of "deprecation team/process" to update a source of truth of deprecated API versions


Showing error when using  >>  "$GITHUB_ENV"

Describe the bug
After updating code to adhere to GitHub Actions: Deprecating save-state and set-output commands vscode-github-actions started to show errors in code.
To Reproduce
      - name: Read Python version from .python-version
        run: echo "python_version=$(cat .python-version)" >>  "$GITHUB_ENV"

      - name: Set up Python
        uses: actions/setup-python@v4
        with:
          python-version: ${{ env.python_version }}

Expected behavior
No errors.
Screenshots
The error:

The GitHub Action log showing the code runs without problems:

Extension Version
v0.25.7
Additional context
VSCode version: 1.79.0-insider
I am using Visual Studio Code Dev Containers
The action is running fine as a GitHub Action.
The entire code, for context
name: YAMLLint

on:
  pull_request:
    paths:
      - '**.yaml'
      - '**.yml'

jobs:
  lint:
    runs-on: ubuntu-latest

    steps:
      - name: Check out repository
        uses: actions/checkout@v3

      - name: Read Python version from .python-version
        run: echo "python_version=$(cat .python-version)" >>  "$GITHUB_ENV"

      - name: Set up Python
        uses: actions/setup-python@v4
        with:
          python-version: ${{ env.python_version }}

      - name: Install yamllint
        run: |
          python -m pip install --upgrade pip
          grep yamllint requirements.txt | xargs -n 1 pip install

      - name: Lint YAML files
        run: |
          git fetch --no-tags --prune --depth=1 origin +refs/heads/*:refs/remotes/origin/*
          git ls-files --exclude-standard --cached --others -- '*.yaml' '*.yml' | xargs yamllint

duplicate of #47

Duplicate


git mv breaks functionality (for ejected projects)

Hi, the changes to use git mv instead mv, while having good motivation, cause the rename operation to fail when not using version control, of course. This means that generated folders (of the type that many react native users will be using after running react-native eject, for example - we do this in our project at every major RN upgrade) cannot be renamed. Perhaps a flag to use mv instead of git mv would be the best solution?

Good point there! :-) thanks @sinewave440z

Done fixing it, so my solution is to just use "mv" if there's an error (128) in "git mv".


in-reply-to property not being picked up correctly

For my reply to https://webmention.rocks/test/1 (https://doubleloop.net/2018/12/03/4631/), the in-reply-to property is not being picked up correctly.
My reply is listed in the section labelled "The mentions below linked to this post, but did not include this post's URL as an in-reply-to property."
Quoting Aaron on chat:

it doesn't recognize the nested h-cite

Thanks!

I don't know how, but this commit https://github.com/aaronpk/webmention.rocks/commit/4bcda409a6b426f14c286bb782ef87ab0a51bfde added the is_array check which doesn't really make sense here. I wonder if I was trying to fix something else by doing that, but as the rest of that function makes clear, the value only makes sense as a string passed in.


Uncaught Error: Requested measurement of a line that is not currently rendered

[Enter steps to reproduce:]

...
...

Atom: 1.19.2 x64
Electron: 1.6.9
OS: Mac OS X 10.12.6
Thrown From: Atom Core
Stack Trace
Uncaught Error: Requested measurement of a line that is not currently rendered
At /Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:2227

Error: Requested measurement of a line that is not currently rendered
    at horizontalPositionsToMeasure.forEach (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:2225:29)
    at Map.forEach (native)
    at TextEditorComponent.measureHorizontalPositions (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:2218:45)
    at TextEditorComponent.measureContentDuringUpdateSync (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:393:16)
    at scheduler.readDocument (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:277:20)
    at ViewRegistry.module.exports.ViewRegistry.performDocumentUpdate (/Applications/Atom.app/Contents/Resources/app/src/view-registry.js:191:15)
    at /Applications/Atom.app/Contents/Resources/app/src/view-registry.js:3:65

Commands
  5x -2:13.2.0 core:backspace (input.hidden-input)
     -2:11.6.0 core:save (input.hidden-input)
  2x -2:02.8.0 core:undo (input.hidden-input)
  2x -2:00.0 core:redo (input.hidden-input)
     -1:55.9.0 core:undo (input.hidden-input)
     -1:35.2.0 core:backspace (input.hidden-input)
     -1:34.5.0 core:save (input.hidden-input)
  3x -1:12.8.0 core:undo (input.hidden-input)
     -1:06.2.0 core:save (input.hidden-input)
  5x -0:30.9.0 core:backspace (input.hidden-input)
     -0:28.7.0 core:save (input.hidden-input)
  3x -0:07.6.0 core:move-up (input.hidden-input)
     -0:07.1.0 core:move-right (input.hidden-input)
  2x -0:06.6.0 core:move-up (input.hidden-input)
  2x -0:06.1.0 core:move-right (input.hidden-input)
     -0:05.7.0 core:move-down (input.hidden-input)

Non-Core Packages
atom-shortcuts 0.0.2
busy-signal 1.4.3
emmet 2.4.3
intentions 1.1.5
learn-ide 2.5.2
learn-ide-material-ui 1.3.15
learn-ide-notifications 0.66.5
learn-ide-tree 1.0.23
linter 2.0.0
linter-eslint 8.2.1
linter-ui-default 1.6.7
markdown-preview-plus 2.4.0
markdown-writer 2.6.1
open-in-browser 0.5.2
run-in-browser 0.1.3

Thanks for the report!  Can you confirm a few things for us?

what were you doing at the time of the error?
is the error is reproducible?
if reproducible, do you see the error in safe mode (atom --safe)?

Thanks for taking the time to contribute!
We noticed that this is a duplicate of https://github.com/atom/atom/issues/15263. You may want to subscribe there for updates.
Because we treat our issues list as the Atom team's backlog, we close duplicates to focus our work and not have to touch the same chunk of code for the same reason multiple times. This is also why we may mark something as duplicate that isn't an exact duplicate but is closely related.
For information on how to use GitHub's search feature to find out if something is a duplicate before filing, see the How Can I Contribute? section of the Atom CONTRIBUTING guide.


Vineyard streams: abort pending streams if the client closed (both normally and unexpectedly)

Describe your problem
Current streams seems requires an explicit abort operation and if the client crashes and closed unexpectedly, the stream seems won't be closed (as aborted) safely.

Such feature has already been implemented in main.


Make it easy to generate help section and version show up

When I'm doing protoc-gen-X --help I would expect to have a little section about how I can configure buf to use this plugin, what are the different options available that I can pass in my buf.gen.yaml.
When I'm doing a protoc-gen-X --version I would expect the version to show up.
Could it be possible for protoplugin to implement interface that support all of that? Having validation that ensure that all options are documented could be really helpful as well :)

The --version flag  is supported but is an opt-in option for Run and Main, see:
https://github.com/bufbuild/protoplugin/blob/e2735f6c31ee362c926089f837e4f2efead6bf8e/protoplugin.go#L105-L115
Regarding the first point on --help I think that's an interesting one because something I've always wanted in the Protobuf ecosystem is to have a common way to configure, view and retrieve available options (in a programmatic way). This is typically left to plugin maintainers to keep up-to-date in README or doc pages, and surely there's gotta be a better way.
I'm sure @bufdev has some thoughts and opinions on plugin options.


What is macOS Command key?

I'm trying to do some custom binding for macOS. Mac has a Command key which similar to Win key in some senses. I.e. bootcamp dual-boot treats it as Win key when you run Windows on Apple hardware. What's the right way to use it in PSReadLine? I was reading Key.cs, but could not make sense out of it.

Maybe you figured it out already, but I don't think the Command key is usable in PSReadLine.
PSReadLine only supports Alt (Option on a Mac), Control, and Shift modifiers. PSReadLine does not support bindings using the Windows key, so it makes sense that it wouldn't support Command either.

Yes, Windows == Command

does not support bindings using the Windows key
Why?

Because it's not implemented.
Console.ReadKey returns immediately when Windows is pressed, so any custom binding would need to be a chord, like LeftWindows,k instead of LeftWindows+k.
But as a chord, the Windows key brings up the start menu, so you really need the modified form, and .Net just doesn't support that.

I should add - it wouldn't be portable anyway - I'm not seeing the Windows key in Linux, tested on CentOS via showkey -a - no .Net involved at all.


Revert API change

Pre-Flight checklist

[x] Testing

[x] Code is tested
[x] Changes have been manually tested

What are the relevant tickets?
Related to #1188
What's this PR do?
Reverts changes to the websites API, because the course image thumbnail metadata isn't output in a format that ocw-hugo-themes can interpret.
How should this be manually tested?
Tests should pass

Codecov Report

Merging #1200 (89bfb5d) into master (a34e4d3) will increase coverage by 3.69%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1200      +/-   ##
==========================================
+ Coverage   90.88%   94.57%   +3.69%
==========================================
  Files         211       99     -112
  Lines        8753     3004    -5749
  Branches     1630      738     -892
==========================================
- Hits         7955     2841    -5114
+ Misses        689      157     -532
+ Partials      109        6     -103

Impacted Files
Coverage Δ

websites/factories.py

websites/serializers.py

websites/views.py

videos/apps.py

main/features.py

...agement/commands/markdown_cleaning/cleanup_rule.py

gdrive_sync/__init__.py

gdrive_sync/constants.py

websites/site_config_api.py

websites/signals.py

... and 102 more

Continue to review full report at Codecov.

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


Linux build: unsupported cflag fvisibility passed to gcc

As it happened in all recent PRs (eg: https://travis-ci.org/omnia-md/conda-recipes/jobs/139170394#L2575 or https://travis-ci.org/omnia-md/conda-recipes/jobs/138610361#L3793) I wonder if the holy build box has been updated?
Or are these flags dragged in by distutils/setuptools since Anacondas Python has been built with this (exotic) flag?

#541 #545

I don't think it's related to the build image, since I don't think that image has been updated and it doesn't autoupdate. But it could be related to a new version of any intervening package, or to the Python build itself.

I would think it should be -fvisibility=hidden, but maybe somewhere the hidden is being removed?

On 21.06.2016 15:50, Robert T. McGibbon wrote:

I would think it should be |-fvisibility=hidden|, but maybe somewhere
the |hidden| is being removed?
Thats the crucial question: where does this setting come from?

Just to confirm: I haven't updated the omnia build box in four months:
https://hub.docker.com/r/jchodera/omnia-build-box/builds/

I'm curious whether this addition of compiler arguments might have triggered some other arguments to be added...?
https://github.com/markovmodel/PyEMMA/commit/6adf0d87d35e39380f7aa4b3b9e60d91242d0b28

holy build box defines some cflags
Holy build box activated
Prefix: /hbb_exe
CFLAGS: -g -O2 -fvisibility=hidden -I/hbb_exe/include
LDFLAGS: -L/hbb_exe -static-libstdc++
STATICLIB_CFLAGS: -g -O2 -fvisibility=hidden -I/hbb_exe/include
SHLIB_CFLAGS: -g -O2 -fvisibility=hidden -I/hbb_exe/include
SHLIB_LDFLAGS: -L/hbb_exe -static-libstdc++

and then the compilation that fails (for msmbuilder)
gcc -pthread -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -g -O2 -fvisibility -fPIC -I/anaconda/envs/_build/lib/python3.5/site-packages/numpy/core/include -I/anaconda/envs/_build/include/python3.5m -c msmbuilder/example_datasets/_muller.c -o build/temp.linux-x86_64-3.5/msmbuilder/example_datasets/_muller.o

I'm trying to replicate this locally with conda build but it doesn't respect the cflags at all

Although the docs
conda.pydata.org/docs/building/environment-vars.html
Say that environment variables are not inherited, and CFLAGS isn't set on linux

Weeeeird...

I can reproduce with the docker image

I modifed a recipe's build.sh to echo $CFLAGS before running setup.py, and it prints...
-g -O2 -fvisibility

This has to be a conda-build bug.

$ export CFLAGS="-g -robert -mcgibbon -fvisibility=hidden"
$ conda-build ...
[snipped]
gcc -pthread -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -g -robert -mcgibbon -fvisibility -fPIC -DUSE_OPENMP -I/anaconda/envs/_build/lib/python3.5/site-packages/mdtraj/core/lib -I/anaconda/envs/_build/lib/python3.5/site-packages/numpy/core/include -Ipyemma/coordinates/clustering/include -I/anaconda/envs/_build/include/python3.5m -c pyemma/coordinates/clustering/src/regspatial.c -o build/temp.linux-x86_64-3.5/pyemma/coordinates/clustering/src/regspatial.o -std=c99 -g -O3 -pg -fopenmp
gcc: error: unrecognized command line option ‘-robert’
gcc: error: unrecognized command line option ‘-mcgibbon’
gcc: error: unrecognized command line option ‘-fvisibility’

I agree. My investigative data points:

running python setup.py directly works
running CFLAGS='' conda build ... works

That being said: it doesn't explain why I can't reproduce the problem outside of the docker container
Can we unset the cflags that are being set by holy build box?

Try setting export CFLAGS=-hello=world and running setup.py outside of the docker container, and you will reproduce it.

The bug is here: https://github.com/conda/conda-build/blob/master/conda_build/environ.py#L388-L389

omg I couldn't reproduce because I didn't update my conda-build  even though I thought I did. At least now it makes sense

I'll file an issue.

lol why is all software terrible.

Agile == fragile

Going forward, we could pin the version of conda-build that we use to avoid this kind of thing. I'm not sure if that would prevent the bulk of the issues, but it's an option.
Sent from my iPhone

On Jun 21, 2016, at 9:14 PM, John Chodera<EMAIL_ADDRESS>wrote:
Agile == fragile
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

I'm happy with pinning conda-build (until we discover the next bug in the pinned version)...
The fixed version is 1.20.1
Thank you guys for figuring this out!


[android] Update to NDK 23b

The latest Long Term Support NDK finally removed binutils, including the bfd/gold linkers and libgcc. This simplifies our Android support, including making lld the default linker for Android. Disable three reflection tests that now fail, likely related to issues with swift-reflection-dump and switching to lld.
@drodriguez, this tweaks the now-reverted #39045 to work with the just-released LTS NDK 23b and pass the Windows CI. I also removed the libatomic addition on armv7, because NDK 23 just uses libcompiler-rt instead. You can diff this against #39045 to see the few tweaks I made.

Rebased and switched from ar to llvm-ar too.

@CodaFi, would you run the CI on this?

@swift-ci please test

Android AArch64 CI just passed, armv7 should pass in a couple minutes, glad to see the CI on the latest NDK. 🧨


allow GP solves to return near_dual_feas solutions

Closes #1048
@whoburg, ready for review

thanks @bqpd! this seems to have increased our solution reliability

@1ozturkbe run your code on this branch and it should work

also, I think the D8 repo will start reliably passing tests once this is merged to master

@bqpd i added a warning message to this

@whoburg ready for rereview

@whoburg hold off going to add a unit test

@whoburg this is ready for review the unit test can't be written until relaxed constants solution heuristic is added to gpkit. once this is merged i will made an issue to add the requisite unit test so we don't forget

also...I think that D8 will pass tests once this is merged

@mayork that other branch is merged, this is ready for a test!

now that I think about this, I think it's better without a test4. For one, I've only been able to generate near optimal in large signomial programs (>1,500 variables) and I don't think we want our tests to run slow because of this one units test. Further, near_optimal is returned non-deterministically so I'm not sure a good test can be formulated regardless of speed.

interesting point. I just saw it yesterday with one of Ali's robust GPs, maybe we should use that as a test instead?

Yeah that seems like a better test. if you post a commit hash I can build a test.

On Apr 20, 2017, at 14:53, bqpd<EMAIL_ADDRESS>wrote:
interesting point. I just saw it yesterday with one of Ali's robust GPs, maybe we should use that as a test instead?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

test models please

Looks good to me. I added one commit. This looks ready to merge once it passes tests.

@bqpd can this be merged? It'd get the full D8 suite running back on master

i added a few more aircraft models to the D8 tests....it will pass once this is merged to master

Merging, will create issue for test.


on player hover, only put scrim on controls and not the entire video

https://github.com/vidstack/player/blob/b57db0be1768a6f8c852c068df42b6fc32fda375/packages/vidstack/src/player/skins/community/video.css#L48
instead of putting gray overlay/scrim on the whole player, we could put a fading overlay/scrim effect on controls only (like Youtube):
:where(media-community-skin[data-video] div[part="scrim"]) {
  background: linear-gradient(
    180deg,
    transparent 75%,
    rgba(0, 0, 0, 0.75) 100%
  );
}

Thanks for the suggestion! I've used a linear-gradient to avoid darkening the entire player UI with a scrim and it'll be available in the next release.

Thank you @mihar-22


Warning about missing #description method.

When I run a spec, I get the following warning:
specify { expect(object).to matcher }

or this:

it { is_expected.to matcher }

RSpec expects the matcher to have a #description method. You should either
add a String to the example this matcher is being used in, or give it a
description method. Then you won't have to suffer this lengthy warning again.

My spec looks like this:
  specify {
    expect(destination_root).to have_structure {
      directory "db" do
        directory "migrate" do
          migration "create_friendships"
        end
      end
    }
  }

Is it the way I am using this gem, or is there something missing in the gem, as the warning suggests?

@sungwoncho You're not missing anything. This code removes the warning (though not with anything useful):
class GeneratorSpec::Matcher::File
  def description
    'hello'
  end
end

class GeneratorSpec::Matcher::Directory
  def description
    'hello'
  end
end

I'll submit a PR to fix it properly if the author is interested ?

Sounds good @bobf 👍


request license of this project

Hi
I find this react chatbot is very versatile, may i request for the license of this project?
Thank you very much

I also find this chatbot very nice from first glance. Haven't found anything out there that is better. But doesn't seem like there is much activity as of late. Anyway this license can get merged in?


[bug] New indent is added to ignored code block on each run (of formatting)

Before formatting
#let template(doc) = {
  //typstfmt::off
  show figure.where(kind: table): it => align(center)[
    #it.body
  ]
  //typstfmt::on

  // END ======================================================================
  doc
}

#let template(doc) = [
  //typstfmt::off
  #show figure.where(kind: table): it => align(center)[
    #it.body
  ]
  //typstfmt::on

  // END ======================================================================
  #doc
]

#let template(doc) = [
//typstfmt::off
#show figure.where(kind: table): it => align(center)[
  #it.body
]
//typstfmt::on

// END ======================================================================
#doc
]

After 1st run
#let template(doc) = {
  //typstfmt::off
  show figure.where(kind: table): it => align(center)[
      #it.body
    ]
    //typstfmt::on

  // END ======================================================================
  doc
}

#let template(doc) = [
//typstfmt::off
  #show figure.where(kind: table): it => align(center)[
    #it.body
  ]
  //typstfmt::on

// END ======================================================================
#doc
]

#let template(doc) = [
//typstfmt::off
#show figure.where(kind: table): it => align(center)[
  #it.body
]
//typstfmt::on

// END ======================================================================
#doc
]

After 10th run
#let template(doc) = {
  //typstfmt::off
  show figure.where(kind: table): it => align(center)[
                        #it.body
                      ]
                      //typstfmt::on

  // END ======================================================================
  doc
}

#let template(doc) = [
//typstfmt::off
  #show figure.where(kind: table): it => align(center)[
    #it.body
  ]
  //typstfmt::on

// END ======================================================================
#doc
]

#let template(doc) = [
//typstfmt::off
#show figure.where(kind: table): it => align(center)[
  #it.body
]
//typstfmt::on

// END ======================================================================
#doc
]

Smaller examples:
#let template(doc) = {
  //typstfmt::off
  let a = ""
  //typstfmt::on
  // END ======================================================================
  doc
}

#let template(doc) = {
  let a = ""
  //typstfmt::off
  //typstfmt::on
  // END ======================================================================
  doc
}

Config:
ident_space = 2
max_line_length = 80
experimental_args_breaking_consecutive = false

Version: https://github.com/astrale-sharp/typstfmt/commit/578d39fb304020d0c26118e4eeab272868c9d525

Here, block isn't ignored at all:
#{
  let a = ""

  // typstfmt::off
  ```anylang
  anything
  ```
  // typstfmt::on
}

wow this skipped my attention, I'll have to take a look, thanks!

I have an idea of what's going on but it's going to be a pain to fix I suspect

This is fixed in code blocks but testing would need to be done for content blocks, args (breaking and tight) etc

Related case: https://github.com/astrale-sharp/typstfmt/pull/101

Happens not only in ignored blocks.
/* multiline
    comments */

also do float each typstfmt call, and so do raw blocks

I think ignore code block still doesn't work as intended and to fix this and many other things, a big refactoring needs to be done to make code more maintainable. At least this information was accurate about a month ago.

Yes I would love to see dev in this area as well, It's quite difficult for me to handle it right now


⚠ Processors has degraded performance

In 38c8fed, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 71 ms

Resolved: Processors performance has improved in 11692cd.


extra Documentation

I added documentation that answered many of the questions I had as I was getting started.

There are just two typos


Cannot get the transaction by its hash when the transaction fails

When a transaction fails, for instance when the offer in under funded or the reserve is to too low for changing trust, getting the transaction by its hash return a 404. The only way to find out what's happened is to dig into the txhistory table of the stellar db and decode the txresult.

@FredericHeem This is by design, but also exposes where we haven't yet finished implementing the whole of the API.  This History portions of the horizon api (of which the "Transaction by Hash" endpoint is a member of) only deals in successful transactions.   By ensuring this, we don't run the risk of someone falsely assuming that because /transactions/SOME_HASH returns a 200 response that the transaction was successful.
When the API is complete, making a POST to /transactions will not respond until we have a definitive answer from the network about whether or not the transaction was successful or not.  In the case of a closed connection prior to receiving a response, you would simply re-submit the same exact transaction again and horizon will continue where it left off, returning a response when consensus is complete (or immediately if consensus completed while you were disconnected).

Right now, how can we find out when a transaction fails and how do we retrieve the error message ? This is absolutely necessary for any kind of stellar app.

@FredericHeem I completely realize it is necessary to build any kind of stellar app.  This is one of several reasons why horizon has not had a launch.  We are still pre-alpha.
At present, instead of polling for status on GET /transactions/HASH, poll on POST /transactions until it responds with a body with the result attribute set to something other than "received".  It's not ideal, but I plan on working things out prior to launch so that the whole cycle is cleaner.

I am still not convinced  why transactions ended with errors cannot be accessed by its hash.
Getting a transaction status with an HTTP POST is really weird and non standard. The usage of an HTTP POST is to creates a resource and modifies the server state, HTTP GET is read only, it doesn't modify the server state.

The reason why I segregate failed transactions from successful, finished transactions is the same reason why the "validated" flag or the partial payment system in the old stellar network were bad ideas:  It adds additional required verification steps for clients, leaving room for misinterpretation of the worst kind in a payment system: false positives payments.  I'm willing to live with a little bit of weirdness if it means the api has fewer possibilities to expose that kind of failure to clients.  Both the justcoin hack and the transaction malleability bug in bitcoin from back in the day are instances of this kind of failure, as some examples about how disastrous a false positive payment can be.  We already have several examples of million's of dollars worth of cryptocurrency pilfered due to these kinds of bugs.
Remember, when the API is feature complete, you'll only be POSTing to "check status" when you get disconnected from the initial submission prior to consensus happening.  In that case, simply posting the transaction again is the most efficient way to check status and retry if necessary.

An HTTP POST is not designed to check the status of a resource, it should return immediately with the hash and not waiting synchronously for the reply which can never arrived for a various number of reasons. The api  GET /transactions/  could be called anytime after the transaction has been created. Knowing the state of a transaction and find out eventual error messages is not an option.
The malleability bug and the partial payment flag vulnerability has little or none in common with this API design discussion.

it should return immediately with the hash and not waiting synchronously for the reply

I disagree. We are optimizing this API for understandability, and a synchronous process is almost always going to be simpler to understand and integrate with than an asynchronous process. If you disagree, I’m happy to discuss further.  IMO, an async submission process is only beneficial for efficiency, which is why I plan on allowing an asynchronous submission flag for clients that need to optimize for throughput;  This is something that we will definitely enable in the near future; it’s only absent now because the code is pre-alpha.

reply which can never arrived for a various number of reasons

This is exactly why the POST model is better. In the case of ambiguity (connection timeout, server crash, client crash, etc) you can simply POST the transaction again and use the response of the second request as canon.  Idempotency is a powerful tool in HTTP APIs.

The api GET /transactions/ could be called anytime after the transaction has been created. Knowing the state of a transaction and find out eventual error messages is not an option.

I don't understand what you're trying to express here. Could you please rephrase?

The malleability bug and the partial payment flag vulnerability has little or none in common with this API design discussion.

I disagree.  Can you explain why you think it has little or none in common?  To me, these bugs were due to a design flaw that made misinterpretation likely.
I think we might be talking about different things, since it feels like your counter-arguments don’t really address what I’m saying. Please let me know if you’d like additional clarification about the POST model we’ll be implementing in the near future.


📃:words are going on edges away from display and not showing. correctly

🔴 Title : small bug
🔴 Tech stack : HTML CSS
🔴 Objective : To make it more clear
🔴 Summary : have to change the pixel size
📸 Screenshots
<

✅ Details to Include When Taking the Issue: here. "S" of suduku is not visible it s zoomed more then the requirement
Name : AYUSH GOPAL
Participant Role (Specify the Open Source Program name, GSSOC, Hacktoberfest.):

Happy Contributing! 🚀
Wishing you all the best on your open source journey. Enjoy! 😎

the issue is fixed


Formating of date fields is very "basic", does not respect language

e.g. start/end field of event accepts the german format "10.11.2020" (10th November) as input.
It is converted to: 2020-10-11 (11th October)
and is shown when editing the as: 2020-10-11T00:00:00+00:00
The same problem is on the fields "Publishing Date" and "Expiration Date".
volto 3.2.7 / Plone 5.1.6
volto 4.0.0-alpha.10 / Plone 5.2

Possible duplicate of #678. See also #709.

This was improved, the date widget shows a localized date/time.


Revoking single line not working.

From looking at the tests, it looks like it should work to revoke a single line. But it currently still displays the number.
Example
#import "@preview/equate:0.2.0": *

#set page(height: auto, margin: 1cm, width: 10cm)
#show: equate
#set math.equation(numbering: "(1.1)")

$
A =& B + C
\
=& C + D
$

$
A =& B + C
\
=& C + D
$ <equate:revoke>

$
A =& B + C #<equate:revoke> \
=& C + D
$

Ah, I just realized that this is a change that happened after the latest release. Would it be possible to make another one with this feature?

Done with typst/packages#957 :)

That was quick, thanks a lot!


v1.3.0 Download Failed: Insufficient hosts to recover file

Case of Use: Trying download a file of 14mb uploaded yesterday using Sia GUI
SO: macOS Sierra 10.12.5
Sia UI version::  v1.3.0
Sia version::  v1.3.0

goroutine 118 [running]: runtime/debug.Stack(0x1043947, 0x0, 0xc425875bf0) 	/usr/local/go/src/runtime/debug/stack.go:24 +0x79 runtime/debug.PrintStack() 	/usr/local/go/src/runtime/debug/stack.go:16 +0x22 github.com/NebulousLabs/Sia/build.Critical(0xc425875d70, 0x3, 0x3) 	/home/luke/go/src/github.com/NebulousLabs/Sia/build/critical.go:16 +0xa7 github.com/NebulousLabs/Sia/persist.(*Logger).Critical(0xc4202a0500, 0xc425875d70, 0x3, 0x3) 	/home/luke/go/src/github.com/NebulousLabs/Sia/persist/log.go:37 +0xe0 github.com/NebulousLabs/Sia/modules/renter.(*Renter).managedDownloadIteration(0xc420961440, 0xc425875f20) 	/home/luke/go/src/github.com/NebulousLabs/Sia/modules/renter/download.go:365 +0x67d github.com/NebulousLabs/Sia/modules/renter.(*Renter).threadedDownloadLoop(0xc420961440) 	/home/luke/go/src/github.com/NebulousLabs/Sia/modules/renter/download.go:635 +0x37e created by github.com/NebulousLabs/Sia/modules/renter.newRenter 	/home/luke/go/src/github.com/NebulousLabs/Sia/modules/renter/renter.go:220 +0x3e3 Critical error: ERROR: the renter is idle, but tracking 4 active pieces; resetting to zero

Is there any a alternative to test status (available or unavailable) of all files from folder ? Because redundancy show at 3.2x but result in fail download.

If necessary I send all databases (transactionpool.db, host.db, etc) to debug

I am getting the same thing.  File shows 3.7x redundancy and as soon as I click download I get this message.  I get a warning Icon in the download toolbar with the downloading of that selected file sitting with a progress bar. Progress bar shows more pieces downloaded but taking over 1 minute.

Critical error: ERROR: the renter is idle, but tracking 4 active pieces; resetting to zero is a duplicate of #2395.  Are you seeing other errors besides that one?  If yes, add them and reopen this issue.
Recommendation to devs: close


Error on sbJSON read

Getting "sbJson schema version" is not supported when reading sbJSON. sbJSON doesn't support versioning, so we shouldn't ever get this error in practice.

Looks like all the tests that would normally catch this are disabled.

I tack on the version object in the reader.  I did this because I thought I remembered hearing the Fort was working on a version 2 of sbJson.  It shouldn't get in the way of any submitted sbJson.  I have it loaded the test examples because they don't come in through the code at front door, I can remove it if its bugging you.  But it's not really a bug.

That's fine but it's preventing translation in v2.1.1.
readerRequested: sbJson
readerVersionRequested: 0.0.0
readerVersionUsed: 0.1.0
readerStructurePass: false
readerStructureMessages: ["sbJson schema version '' is not supported"]
readerValidationLevel: normal
readerValidationPass: true
readerValidationMessages: []
readerExecutionPass: true
readerExecutionMessages: []
writerRequested: mdJson
writerPass: true
writerMessages: []
writerOutputFormat:
writerOutput:
writerShowTags: false
writerCSSlink:
writerMissingIdCount: _000
translatorVersion: 2.1.1

Did you just bump the version?  Yeah, had not tested against the new version numbers.  I'll just take that stuff out.

Okay, got that straightened out.

the version bump to sbJson reader triggered failure
I stripped out all the sbJson versioning code since it will not likely ever be versioned
that caused a problem in the HTML writer which expects schema information to include in its report
I added schema information directly for the sbJson reader, which no longer relies on schema information from the input file


Adding Tarmak high level overview diagram

What this PR does / why we need it:
A high level overview cloud architectural diagram for Tarmak added to the documentation to give a broad overview of the components within Tarmak.

Good work really like it, maybe add the source file (xml, svg) to it and I am happy

Good work really like it, maybe add the source file (xml, svg) to it and I am happy

Thanks! I've added the XML source file to the existing PR.

/assign @mattbates


How to configure route definitions in mirage/config.js to handle query parameters?

I find nothing in documentation about how to configure route definitions in mirage/config.js to handle query parameters?
It seems like Mirage supports the two ED methods findRecord(modelName, id, options) and store.findAll(modelName, options), though I am not sure about the options parameter?
It is however unclear for me, whether Mirage supports the two ED methods store.queryRecord(modelName, query) and store.query(modelName, query).
In my application store.queryRecord(modelName, query) seems to ignore the query parameter and effectively acts, as if I had used the method store.findAll(). Additionally, using the store.queryRecord() method results in an error message - see #771.
Also store.query(modelName, query) seems to ignore the query parameter, and effectively acts, as if I had used the method store.findAll().

Well, well ... I discovered the solution myself!
In mirage/config.js i replaced relevant shorthand definitions like this one:
this.get('/reg-summaries');

with expanded definitions like this one:
this.get('/reg-summaries', (schema, request) => {
    return schema.regSummaries.where(request.queryParams);
});

I humbly propose the documentation to be improved in respect to route definitions supporting query parameters.

I was able to customise my definitions in the same way as well. But is this the best way to do so?

Yep, this is how to drop down and use Pretender's request object to return data based on any info contained in the request, such as query params


Respect project root option

First, nice work on this module 👏
Actually when using the root option in the vite.config.ts. I also have to define it in the pagesDir option.
I expect to be joined directly.
import { join } from 'path'
import voie from 'vite-plugin-voie'

export default {
  root: join(__dirname, 'app'),
   plugins: [
    voie({
      pagesDir: 'app/pages' // should be only pages
    })
  ]
}

I know @antfu fixed it for vite-plugin-component: https://github.com/antfu/vite-plugin-components/commit/60ed61054212047b8602819f8a93ef886784e235

Thanks for your kind words. I decided to make this module because I missed the routing features of Nuxt, so thanks should also go to you and the Nuxt team for the inspiration 😅
This is a great suggestion, I'll take a look at it when I get the chance

I have developed an initial working implementation of this, but it's a bit rough around the edges currently.
The fix that was implemented for vite-plugin-component as far as I can tell requires you to duplicate the vite root config in the component options, so I have gone for the same approach here. I can look at automatically resolving the root from the vite config once this issue with vite is resolved.
Your config could now look something like:
import { join } from 'path';
import voie from 'vite-plugin-voie';

const root = join(__dirname, 'app');

export default {
  root,
  plugins: [voie({ root, pagesDir: 'pages' })],
};

with your directory structure being something like:
/app
  /pages
    index.vue
  App.vue
  index.html
  main.js
package.json
vite.config.js

The new root option will be available from v0.6.0 😃


Add "engines" specification to "package.json"

Problem Description
This package does not indicate which versions of Node are supported.
For example, your update of "markdownlint" caused the supported version
of Node to change in a patch release. This requires others to have to track
through your commits as well as those of your dependencies to figure out
WTH happened. While I see no reason for this package to have specified a
newer version of "markdownlint" (since its API did not  change), this change
would have been caught by TravisCI if "engines" had been specified.
This fix should officially update the package version to 2.0.0, as should
have occurred for 1.1.5.
Fix to specify Node-6 LTS
...
"engines": {
    "node": ">= 6.14.12",
    "npm": ">= 3.10.10"
  }
}

done


Maven repository become unavailable

The mentioned maven repository https://heisluft.tk/maven/ is not available anymore.

Just for reference the updated URL at least for a while was https://heisluft.de/maven/ - but that is also unresponsive right now. Think it might have been before then come back. We published a copy to our own artifact repository (which in fairness also does crash once in a rare while till we give it a kick)


Allow not to insert newline when parsing/outputing HTML

I am currently trying to rewrite my plugin to mark external url, in order to use SVG icons in place of dedicated fonts. My issue is, when I do something like
icon = HTML.parse('<svg class="icon"><use xlink:href="/~lthms/imgs/icons.svg#github"></use></svg>')
HTML.append_child(link, icon)

The produced HTML “pretty-print” the svg tag… which introduces newline in my a tag… which introduces unwanted whitespace.
Is there a way to tell soupault not to do that? Otherwise, we could imagine append_child_inline in addition to append_child (and alike)

This issue seems to happen at the printing rather than the insertion stage.
utop # #require "lambdasoup";;

utop # open Soup.Infix;;
utop # let svg_src = "<svg class=\"icon\"><use xlink:href=\"/~lthms/imgs/icons.svg#github\"></use></svg>" ;;
utop # let doc = Soup.parse "
 foo
" ;;
utop # Soup.append_child (doc $ "a") (Soup.parse svg_src) ;;
utop # Soup.pretty_print doc ;;
- : string =
"
\n foo\n <svg class=\"icon\">\n  <use href=\"/~lthms/imgs/icons.svg#github\"></use>\n </svg>\n\n
\n"

utop # Soup.to_string doc ;;
- : string =
"
 foo<svg class=\"icon\"><use href=\"/~lthms/imgs/icons.svg#github\"></use></svg>
"

I've added a new option for whitespace control:
[settings]
  pretty_print_html = false

It forces soupault to use Soup.to_string rather than Soup.pretty_print for rendering output files. That function doesn't intentionally remove any whitespace, it just refrains from inserting any on its own, so it may be a good solution.
Let me know if it helps.

It works perfectly, thanks!

This is arguably an upstream bug. Lambda Soup's (that is, Markup's) pretty-printer is supposedly sensitive to the meaning of elements, and should only insert whitespace where it would have no semantic effect (typically, where there is already whitespace around HTML phrasing content, and anywhere around HTML flow content). It should probably just treat all SVG (and MathML) as opaque, while IIRC it currently applies blind pretty-printing to it instead.

I opened https://github.com/aantron/markup.ml/issues/63 to track it in Markup. Given this is already resolved and released in Soupault, I'm not going to rush doing it, but it might help someone else in the future not to have this questionable behavior on Markup's part.


Is COUNT O(n) / storing counts in the R-Tree?

This is related to #209, in that it's the same use case / testing.
Using COUNT on, e.g., a WITHIN query, seems to be ~O(n). E.g.,
<IP_ADDRESS>:9851> WITHIN addr LIMIT 5000000 WHERE beds 2 2 COUNT TILE 327 791 11
{"ok":true,"count":28758,"cursor":0,"elapsed":"305.070034ms"}
<IP_ADDRESS>:9851> WITHIN addr LIMIT 5000000 WHERE beds 2 2 COUNT TILE 163 395 10
{"ok":true,"count":43653,"cursor":0,"elapsed":"837.100618ms"}

(The second query is the containing tile of the first query; you can also see similar behavior in the timing output in the example output on #209.)
I think I was naïvely hoping that the R-Tree had a count of the number of things in each subtree, s.t. if an entire subtree fell within the target rectangle, that count could just be returned directly, instead of needing to iterate through the points in the subtree, which is what the timings suggest to me that Tile38 might be doing. (On the fringes of the input area, one might need to either subdivide further, or just outright iterate and test, but the point being that parts of the operation could potentially be sped up.)
I thought about this for a bit longer, and I don't think it's as simple as I first thought:

storing a count of the number of objects in a subtree doesn't really help if the query includes a WHERE
I'm not certain how storing a count would work for non-points/polygons; could those span an enclosing rectangle (and thus be at risk of being double-counted?) or does the R-Tree structure prevent this?

There's also of course the downside of the additional RAM usage for the counts.
(My use case here, and in #209, is that querying an area with a massive number of points is slow, simply due to the volume of data returned. It generally isn't useful to flood a (in my case, mobile) client w/ 1,000,000+ points, so the thinking was that we would, if the resultset was over a particular size, just return a count instead. (E.g., if <1000 results, get results normally, else get a count.) The client would need to drill in further / narrow their query. The thought was to implement this by first issuing a COUNT, on the hopes that that would be fast, but now, I'm not so certain. We're using WHERE, so even with the above, things are still slightly complicated.)

Using COUNT on, e.g., a WITHIN query, seems to be ~O(n).

The R-tree is very quick at getting to the target rectangle O(log n). It then will need to iterate over each intersecting child node and finally the objects. The iterating part would be O(n) where n is the number of items intersecting the target rectangle.
I agree that 300ms seems a bit slow for filtering on 1,000,000 objects. I'll investigate and let you know what I find.


Roundtrip api-gateway expr prop tests

Write property based test generating Expr and test round trip: generate Expr, evaluate the Expr using some variables, convert to the original to_json and parse it again, and re-evaluate to form the same result

Gave it 3 because,what if they fail, and I am pretty sure it will start killing the time


Enable scala-steward

Enable https://github.com/scala-steward-org/scala-steward for the project

I'm up for this and this is my first open-source contribution. Can I land it?

Wow sure! That's also gonna be the first external contribution (from outside VirtusLab) to this project as well :)
This might require some admin-only actions on the repo (like adding a GitHub application), pls let us know when needed

The project https://github.com/scala-steward-org/scala-steward has been stopped since Jun 1, 2021. The repo-github has been archived and accepts no pull requests. I think the issue should be closed.

Hmmm how did you find the info about scala-steward being stopped? 🤔 I can see recent development:

As I said the repo-github is archived, but the bot accepts new PRs here.
Just wanted to check that do you want the updates to be done by scala-steward's bot, or want to run your own instance?

Hi Ali! Thanks for your comments. It looks like the "standard" scala-steward bot is still up and running - e.g. it creates PRs on this repo: https://github.com/circe/circe
So you can treat https://github.com/circe/circe as an example (it most probably has proper configuration for this bot). We just want the bot to create PRs on our repository as well. We do not want to run our own instance.

The PR is created to add VirtusLab/akka-serialization-helper to maintaining repos of scala-steward, waiting to be merged.

Hmmm that location (repos.md in https://github.com/scala-steward-org/scala-steward) seems to be an internal list of scala-steward repos to be treated with scala-steward (kinda dogfood) 😅 what I'd suggest is that you first try setting up Scala Steward on a repository where you have a full Admin rights... and then we'll replicate the steps on this repository (where we have Admin rights)

Oh, I'm sorry I didn't know you have your own instance of Scala-steward. I was trying to make a PR for the public instance of it.
This is what I understood: in the first step I will fork the Scala-steward, then do my changes and commit them and then make a PR for VirtusLab/scala-steward-repos. Is that right?

Okay! this seems to be the intended workflow indeed, pls open a PR to VirtusLab/scala-steward-repos and add me to the review or @mention me

Wow I wasn't aware that VirtusLab basically took over the public Scala Steward instance 😯

@PawelLipski and @LukaszKontowski thank you for your support.
Is this issue closed now? Do I have to close it?

Thank you, Ali! Please, do not close this yet. We would like to keep it open until we are 100% sure that scala steward does it's job correctly in our project.

Maybe the bot has to be manually added to our repo as a member with proper access rights to be able to create PR? Just a guess, I do not know for sure.

I'm asking the responsible guys to check scala-steward logs (or just for any hints, for that matter)

I'm asking the responsible guys to check scala-steward logs (or just for any hints, for that matter)

I'm also checking for any probable clue to find which instance is active.

According to this document, Virtus instance of Scala-steward is not even up and running. It needs the file .github/workflows/scala-steward.yml to be set and scheduled. Looks like running instances of bot are as following:

Adform
Agoda
AutoScout24
Avast
Babylon Health
Besedo
Bitrock
Chartboost
Colisweb
commercetools
Dataswift.io
Enliven Systems
Evolution Gaming
Firstbird
Hellosoda
HolidayCheck
iAdvize
LeadIQ
Lightbend
Ocado Technology
PlayQ
Precog
Rewards Network
Rivero
Septeni Original
Snowplow Analytics
SoftwareMill
Spotify
SpringerNature
Teads
Tegonal GmbH
Tupl
wehkamp
Zalando

These instances are listed in Scala-steward readme.md file. By the way, I didn't find any publicly running instance of bot.

Okay... so the blog shows just one way to set up scala-steward (via GitHub Actions cron)... but we've got it running on Azure, just a scheduled scala-steward container run.
It's triggered yesterday, quite a few PRs opened, looks that it's working 🎉 so we can consider the issue closed, I think :)
Actually, speaking of scala-steward README... would you mind opening a PR and adding VirtusLab? 😅

Happy for the Virtus instance 😁 Sure, I will make a PR for the README.

If you like, you can also pick up https://github.com/VirtusLab/akka-serialization-helper/issues/199 :)

...in the meantime, I'm slowly merging all the ~10 version-update PRs, still 4-ish to go 😅

Happy to see that our effort is paying 😍


[api-minor] Highlight search results correctly for normalized text (PR 9448)

This patch is a rebased and refactored version of PR 9448, such that it applies cleanly given that PDFFindController has changed since that PR was opened; obviously keeping the original author information intact.
This patch will thus ensure that e.g. fractions, and other things that we normalize before searching, will still be highlighted correctly in the textLayer.
Furthermore, this patch also adds basic unit-tests for this functionality.
Note: The [api-minor] tag is added, since third-party implementations of the PDFFindController must now always use the pageMatchesLength property to get accurate length information (see the web/text_layer_builder.js changes).

/botio unittest

/botio unittest

/botio-linux preview

/botio-linux preview

Thanks a lot for fixing up this old PR! I found this version easier to follow, and with the added unit tests I have much more trust in that the functionality is correct.

Thanks a lot for fixing up this old PR! I found this version easier to follow, and with the added unit tests I have much more trust in that the functionality is correct.


enables click on contents table moves to content

@sapioit Thanks for this, but this should be fixed in the package.json file. The README.md file is generated from package.json.

I'm going to merge this, but if you can change it in the package.json file too, that would be great!

I have just fixed this. Interesting trick. 😂

That explains why the file was already fixed, when I checked it. Thanks! ^^

It's not working. You need to replace ' with \", because the HTML (on the majority of the browsers) doesen't accepts \`` or 'instead of"`, for the tags. Some browsers do, but the most don't.

I'm working on it.

Thanks, I didn't know that. It was working in my browser but improvements are always welcome. 😀
Sent from my iPhone

On 07 Jul 2016, at 21:47, sapioit<EMAIL_ADDRESS>wrote:
I'm working on it.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or mute the thread.


Dashboards issue queries before variables are loaded

On a dashboard that uses variables, the queries on the dashboards fire before the value for the variable has been loaded. All the queries error and then are re-run with the value of the variable when it returns.
(ignore the two right most cells) Notice the error blip in the four cells to the left before being rerun.

dupe of influxdata/idpe#6675. i can't figure out how to remove the blip and still keep a "please select a variable" in front of the user without it triggering seizures, but working it out.


Wrong inference calculation

Hi,
I'm not sure if there is a problem with solving the inference task or I'm using the module the wrong way. I have to implement the sprinkler example by Kevin Murphy.
After implementing and executing inference I get wrong results. You can find my code here.
The results of my code:
P(s=1 | w=1) = 0.148459431093
P(r=1 | w=1) = 1.0

The right values are according to the calculations by Kevin Murphy:
P(s=1 | w=1) = 0.430
P(r=1 | w=1) = 0.708

Greetings,
Thomas

Yep, BayesPy uses variational Bayesian (VB) approximation for the graph. It doesn't make much sense for such a small graph, but the exact inference algorithms for discrete graphs are under development currently. So, basically you'll get incorrect (i.e., approximate) results in this case.
The used VB approximation assumes that the variables are independent in the posterior. However, this is not the case in general and in particular not the case in this example. Because you observe "grass is wet" and you have P(grass is wet | no sprinkler, no rain) = 0, either "sprinkler" or "rain" has to be "true". But because VB doesn't model the coupling, it chooses "rain" to be "true" because it's a more probable explanation. A rule of thumb: if you have probabilities near 1.0 in the conditional probability tables, there's a risk that the VB approximation can be really bad.
We are currently working on exact inference for discrete graphs and I hope it will become available in the near future: https://github.com/bayespy/bayespy/issues/37
There is a "brute-force" way of solving this problem. You could model the latent variables jointly with one variable with 2^3=8 possible values/states. Then you'll not only get true marginals but you'll get the true full joint posterior. Here's how to do it.
from bayespy.nodes import Categorical, Mixture, MultiMixture
from bayespy.inference import VB

cloudy = [0.5, 0.5] # p(cloudy) = 0.5
rain = [
    [0.8, 0.2], # p(rain | not cloudy) = 0.2
    [0.2, 0.8], # p(rain | cloudy) = 0.8
]
sprinkler = [
    [0.5, 0.5], # p(sprinkler on | not cloudy) = 0.5
    [0.9, 0.1], # p(sprinkler on | cloudy) = 0.1
]

joint_prob = np.einsum('c,cr,cs->crs', cloudy, rain, sprinkler)

joint = Categorical(joint_prob.ravel())

likelihood_prob = np.array(
    [
        # Not cloudy
        [
            # Not rain
            [
                # Not sprinkler
                [1.0, 0.0],
                # Sprinkler
                [0.1, 0.9]
            ],
            # Rain
            [
                # Not sprinkler
                [0.1, 0.9],
                # Sprinkler
                [0.01, 0.99]
            ]
        ],
        # Cloudy
        [
            # Not rain
            [
                # Not sprinkler
                [1.0, 0.0],
                # Sprinkler
                [0.1, 0.9]
            ],
            # Rain
            [
                # Not sprinkler
                [0.1, 0.9],
                # Sprinkler
                [0.01, 0.99]
            ]
        ],
    ]
)

wetGrass = Mixture(
    joint,
    Categorical,
    likelihood_prob.reshape((-1, 2))
)

wetGrass.observe(1)

Q = VB(wetGrass, joint)
Q.update(repeat=100, verbose=True)

# Reshape the posterior probability table so that each variable has its own axis.
joint_posterior = joint.get_moments()[0].reshape((2,2,2))

# Show marginals
print('P(c=1|w=1) =', np.einsum('crs->c', joint_posterior)[1])
print('P(r=1|w=1) =', np.einsum('crs->r', joint_posterior)[1])
print('P(s=1|w=1) =', np.einsum('crs->s', joint_posterior)[1])

Iteration 1: loglike=-4.352544e-01 (0.001 seconds)
Iteration 2: loglike=-4.352544e-01 (0.001 seconds)
Converged at iteration 2.
P(c=1|w=1) = 0.575799721836
P(r=1|w=1) = 0.70792767733
P(s=1|w=1) = 0.429763560501

/home/jluttine/Workspace/bayespy/bayespy/inference/vmp/nodes/dirichlet.py:91: RuntimeWarning: divide by zero encountered in log
  logp = np.log(p)

Note that now we can print the joint probability distribution of "rain" and "sprinkler". And notice that the probability p(no rain, no sprinkler|wet grass) is zero.
print("Joint probability p(rain,sprinkler|wet grass):")
print(np.einsum('crs->rs', joint_posterior))

Joint probability p(rain,sprinkler|wet grass):
[[ 0.          0.29207232]
 [ 0.57023644  0.13769124]]

Did this answer your question? If there was something unclear please don't hesitate to ask for more detailed explanation.

Of course, you don't need to use BayesPy at all for such a simple problem. You can use, for instance, numpy.einsum directly to compute the required posterior distributions conveniently. Just write all conditional probability tables as NumPy arrays where each axis corresponds to one of the variables. Then you multiply them all together to get the full joint probability table, slice the "likelihood axis" to condition on the observation, sum over the axis you want to marginalize over and normalize.
# Conditional probability tables
cloudy = [0.5, 0.5] # p(cloudy) = 0.5
rain = [
    [0.8, 0.2], # p(rain | not cloudy) = 0.2
    [0.2, 0.8], # p(rain | cloudy) = 0.8
]
sprinkler = [
    [0.5, 0.5], # p(sprinkler on | not cloudy) = 0.5
    [0.9, 0.1], # p(sprinkler on | cloudy) = 0.1
]
grass = [
    # Not rain
    [
        # Not sprinkler
        [1.0, 0.0],
        # Sprinkler
        [0.1, 0.9]
    ],
    # Rain
    [
        # Not sprinkler
        [0.1, 0.9],
        # Sprinkler
        [0.01, 0.99]
    ]
]

# Joint probability
joint = np.einsum('c,cr,cs,rsg->crsg', cloudy, rain, sprinkler, grass)

# Observe wet grass (pick the correct slice from the grass axis)
joint_posterior = joint[...,1]

def normalize(p):
    return p / np.sum(p)

# Compute marginal
print("Cloudy:", normalize(np.einsum('crs->c', joint_posterior))[1])
print("Sprinkler:", normalize(np.einsum('crs->r', joint_posterior))[1])
print("Grass:", normalize(np.einsum('crs->s', joint_posterior))[1])

# Compute some joint posteriors
print("Rain and sprinkler:")
print(normalize(np.einsum('crs->rs', joint_posterior)))

This method (and the above method with BayesPy I suggested) don't scale to large graphs because these methods compute the full joint distributions and these arrays grow exponentially with the size of the graph.