Hovering over a selected comment causes a ghc-mod crash

Hovering over a comment normally works, but if I select a comment and then hover over that, then I get a loud error message.

Atom Version: 1.4.3
System: Mac OS X 10.11.3
ghc-mod version: 5.5.0
stack resolver: 5.0
haskell-ghc-mod version: 1.6.5
Log / Stack Trace
Haskell-ghc-mod: ghc-mod interactive command info failed with error ghc-modi crashed

caps: {"version":[5,5,0,0],"legacyInteractive":true,"fileMap":true,"rootExec":false,"quoteArgs":true}
URI: /Users/jaking/gits/cj/cis-194-winter-2016/src/Homework/Week03/Assignment.hs
Args: -- This is a comment!
message: NG Invalid option `-- This is a comment!'\n\nUsage:  info FILE SYMBOL\n  Look up an identifier in the context of FILE (like ghci's `:info')
log:
-19.733s: Trying to run ghc-modi in /Users/jaking/gits/cj/cis-194-winter-2016
-19.733s: Checking for ghc-modi in /Users/jaking/gits/cj/cis-194-winter-2016
-19.733s: Found running ghc-modi instance for /Users/jaking/gits/cj/cis-194-winter-2016
-19.733s: Started interactive action block in /Users/jaking/gits/cj/cis-194-winter-2016
-19.732s: Running ghc-modi command info,/Users/jaking/gits/cj/cis-194-winter-2016/src/Homework/Week03/Assignment.hs,Bin
-19.588s: Got response from ghc-modi:
type Bin = (Integer, Int)  	-- Defined at src/Homework/Week03/Assignment.hs:28:1
OK
-19.588s: Ended interactive action block in /Users/jaking/gits/cj/cis-194-winter-2016
-16.275s: Trying to run ghc-modi in /Users/jaking/gits/cj/cis-194-winter-2016
-16.275s: Checking for ghc-modi in /Users/jaking/gits/cj/cis-194-winter-2016
-16.275s: Found running ghc-modi instance for /Users/jaking/gits/cj/cis-194-winter-2016
-16.274s: Started interactive action block in /Users/jaking/gits/cj/cis-194-winter-2016
-16.274s: Running ghc-modi command info,/Users/jaking/gits/cj/cis-194-winter-2016/src/Homework/Week03/Assignment.hs,
-16.15s: ghc-modi said: EXCEPTION: info:
-16.149s: ghc-modi said:                parse error (possibly incorrect indentation or mismatched brackets)
-16.149s: Got response from ghc-modi:
Cannot show info
OK
-16.149s: Ended interactive action block in /Users/jaking/gits/cj/cis-194-winter-2016
-16.149s: Trying to run ghc-modi in /Users/jaking/gits/cj/cis-194-winter-2016
-16.149s: Checking for ghc-modi in /Users/jaking/gits/cj/cis-194-winter-2016
-16.149s: Found running ghc-modi instance for /Users/jaking/gits/cj/cis-194-winter-2016
-16.149s: Started interactive action block in /Users/jaking/gits/cj/cis-194-winter-2016
-16.148s: Running ghc-modi command type,/Users/jaking/gits/cj/cis-194-winter-2016/src/Homework/Week03/Assignment.hs,19,3
-16.025s: Got response from ghc-modi:
OK
-16.025s: Ended interactive action block in /Users/jaking/gits/cj/cis-194-winter-2016
-15.339s: Trying to run ghc-modi in /Users/jaking/gits/cj/cis-194-winter-2016
-15.339s: Checking for ghc-modi in /Users/jaking/gits/cj/cis-194-winter-2016
-15.339s: Found running ghc-modi instance for /Users/jaking/gits/cj/cis-194-winter-2016
-15.338s: Started interactive action block in /Users/jaking/gits/cj/cis-194-winter-2016
-15.338s: Running ghc-modi command info,/Users/jaking/gits/cj/cis-194-winter-2016/src/Homework/Week03/Assignment.hs,
-15.217s: ghc-modi said: EXCEPTION: info:
-15.217s: ghc-modi said:                parse error (possibly incorrect indentation or mismatched brackets)
-15.217s: Got response from ghc-modi:
Cannot show info
OK
-15.217s: Ended interactive action block in /Users/jaking/gits/cj/cis-194-winter-2016
-15.217s: Trying to run ghc-modi in /Users/jaking/gits/cj/cis-194-winter-2016
-15.217s: Checking for ghc-modi in /Users/jaking/gits/cj/cis-194-winter-2016
-15.217s: Found running ghc-modi instance for /Users/jaking/gits/cj/cis-194-winter-2016
-15.217s: Started interactive action block in /Users/jaking/gits/cj/cis-194-winter-2016
-15.216s: Running ghc-modi command type,/Users/jaking/gits/cj/cis-194-winter-2016/src/Homework/Week03/Assignment.hs,19,4
-15.094s: Got response from ghc-modi:
OK
-15.094s: Ended interactive action block in /Users/jaking/gits/cj/cis-194-winter-2016
-9.455s: Data.List.Split created
-9.455s: Data.List.Split updating
-9.455s: running ghc-mod browse,-d,Data.List.Split with options.cwd = /Users/jaking/gits/cj/cis-194-winter-2016,options.env = [object Object],options.encoding = utf-8
-9.443s: Data.List.Split moduleName mismatch: Homework.Week04.Assignment != Data.List.Split
-9.443s: Data.List.Split moduleName mismatch: Homework.Week03.Assignment != Data.List.Split
-9.442s: Prelude created
-9.442s: Prelude updating
-9.442s: running ghc-mod browse,-d,Prelude with options.cwd = /Users/jaking/gits/cj/cis-194-winter-2016,options.env = [object Object],options.encoding = utf-8
-9.438s: Prelude moduleName mismatch: Homework.Week04.Assignment != Prelude
-9.438s: Prelude moduleName mismatch: Homework.Week03.Assignment != Prelude
-8.902s: ghc-mod ended with code 0
-8.901s: Data.List.Split updated
-8.843s: ghc-mod ended with code 0
-8.841s: Prelude updated
-4.552s: running ghc-mod check,/Users/jaking/gits/cj/cis-194-winter-2016/src/Homework/Week03/Assignment.hs with options.cwd = /Users/jaking/gits/cj/cis-194-winter-2016,options.env = [object Object],options.encoding = utf-8
-4.548s: running ghc-mod lint,/Users/jaking/gits/cj/cis-194-winter-2016/src/Homework/Week03/Assignment.hs with options.cwd = /Users/jaking/gits/cj/cis-194-winter-2016,options.env = [object Object],options.encoding = utf-8
-3.937s: ghc-mod ended with code 0
-3.813s: ghc-mod ended with code 0
-2.935s: Trying to run ghc-modi in /Users/jaking/gits/cj/cis-194-winter-2016
-2.935s: Checking for ghc-modi in /Users/jaking/gits/cj/cis-194-winter-2016
-2.935s: Found running ghc-modi instance for /Users/jaking/gits/cj/cis-194-winter-2016
-2.934s: Started interactive action block in /Users/jaking/gits/cj/cis-194-winter-2016
-2.933s: Running ghc-modi command info,/Users/jaking/gits/cj/cis-194-winter-2016/src/Homework/Week03/Assignment.hs,comment
-2.802s: ghc-modi said: EXCEPTION: info:     Not in scope: ‘comment’
-2.802s: Got response from ghc-modi:
Cannot show info
OK
-2.802s: Ended interactive action block in /Users/jaking/gits/cj/cis-194-winter-2016
-2.802s: Trying to run ghc-modi in /Users/jaking/gits/cj/cis-194-winter-2016
-2.802s: Checking for ghc-modi in /Users/jaking/gits/cj/cis-194-winter-2016
-2.802s: Found running ghc-modi instance for /Users/jaking/gits/cj/cis-194-winter-2016
-2.802s: Started interactive action block in /Users/jaking/gits/cj/cis-194-winter-2016
-2.802s: Running ghc-modi command type,/Users/jaking/gits/cj/cis-194-winter-2016/src/Homework/Week03/Assignment.hs,9,17
-2.677s: Got response from ghc-modi:
OK
-2.677s: Ended interactive action block in /Users/jaking/gits/cj/cis-194-winter-2016
-0.013s: Trying to run ghc-modi in /Users/jaking/gits/cj/cis-194-winter-2016
-0.013s: Checking for ghc-modi in /Users/jaking/gits/cj/cis-194-winter-2016
-0.013s: Found running ghc-modi instance for /Users/jaking/gits/cj/cis-194-winter-2016
-0.012s: Started interactive action block in /Users/jaking/gits/cj/cis-194-winter-2016
-0.012s: Running ghc-modi command info,/Users/jaking/gits/cj/cis-194-winter-2016/src/Homework/Week03/Assignment.hs,-- This is a comment!
-0.01s: Got response from ghc-modi:
NG Invalid option `-- This is a comment!'\n\nUsage:  info FILE SYMBOL\n  Look up an identifier in the context of FILE (like ghci's `:info')
-0.001s: ghc-modi for /Users/jaking/gits/cj/cis-194-winter-2016 ended with 1
-0.001s: ghc-modi for /Users/jaking/gits/cj/cis-194-winter-2016 ended with 1
-0.001s: Running ghc-modi command unmap-file,/Users/jaking/gits/cj/cis-194-winter-2016/src/Homework/Week03/Assignment.hs
-0.001s: ghc-modi crashed: NG Invalid option `-- This is a comment!'\n\nUsage:  info FILE SYMBOL\n  Look up an identifier in the context of FILE (like ghci's `:info')

ghc-modi crashed: NG Invalid option `-- This is a comment!'\n\nUsage:  info FILE SYMBOL\n  Look up an identifier in the context of FILE (like ghci's `:info')
    at module.exports.Util.mkError (/Users/jaking/.atom/packages/haskell-ghc-mod/lib/util.coffee:154:15)
    at ChildProcess.exitCallback (/Users/jaking/.atom/packages/haskell-ghc-mod/lib/ghc-mod/interactive-process.coffee:76:20)
    at emitTwo (events.js:92:20)
    at ChildProcess.emit (events.js:172:7)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)

Should be fixed by v1.6.6.

Aha, glancing at the fix, I probably should have realized what was going on! Thanks a lot, though, haha, I appreciate the quick response. This is a great tool.


Firbase latest sdk not running in flutter project

I am using latest skd for firebase
firebase_analytics: 7.1.0
firebase_crashlytics: 1.0.0
facing this issue

Hi @bhusanpawar1604
From what I can see, the issue is related to a FlutterFire plugin rather than to Flutter itself. Please open the issue in the dedicated repository.
Closing, as this isn't an issue with Flutter itself.
If you disagree, please write in the comments,
providing your flutter doctor -v, your flutter run -v,  your pubspec.yaml
a minimal reproducible code sample that does not use 3rd party plugins,
and I will reopen it.
Thank you


getSubscriptions crashes on Android

Version of react-native-iap
4.4.9
Version of react-native
0.61.5
Platforms you faced the error (IOS or Android or both?)
Android
Expected behavior
RNIap.getSubscriptions(itemSkus).then((subscriptions)) should have a list of subscriptions
Actual behavior
The application crashes with no indication in React Native why it might be doing so. Launching the app using Android Studio produces the following error:
java.lang.NoSuchMethodError: No virtual method getIntroductoryPriceCycles()Ljava/lang/String; in class Lcom/android/billingclient/api/SkuDetails; or its super classes (declaration of 'com.android.billingclient.api.SkuDetails' appears in /data/app/dev.plenti.plenti-SDT18zrW_L-NnlfSqe0VqA==/base.apk)
        at com.dooboolab.RNIap.RNIapModule$5$1.onSkuDetailsResponse(RNIapModule.java:274)

Tested environment (Emulator? Real Device?)
Emulator
Steps to reproduce the behavior

This is because I didn't set up my android project with the same version of the Billing API that RNIap uses under the hood. The correct version is 2.0.3


Albacore v2.0.1

Well, I knew this day would come (https://github.com/jts/nanopolish/issues/134) and it's finally happened: Albacore v2.0.1 doesn't do events! It does, however, seem to save 'Events' into the fast5s, though based on a Nanopore Community post it seems that these are just evenly-spaced chunks of raw signal.
I tried Nanopolish with Albacore v2.0.1, but it didn't work because it didn't know how to interpret the model:
error: could not parse model string: template_r9.4_450bps_5mer_raw.jsn
I tried to crudely hack in a fix myself:
diff --git a/src/nanopolish_squiggle_read.cpp b/src/nanopolish_squiggle_read.cpp
index 8171c12..13df86e 100644
--- a/src/nanopolish_squiggle_read.cpp
+++ b/src/nanopolish_squiggle_read.cpp
@@ -260,7 +260,7 @@ void SquiggleRead::_load_R9(uint32_t si,

             // remove prefix/suffix
             auto fields = split(mt, '_');
-            if(! (fields.size() == 4 || (fields.size() == 5 && fields[4] == "nontransducer.jsn")) ) {
+            if(! (fields.size() == 4 || (fields.size() == 5 && fields[4] == "nontransducer.jsn") || (fields.size() == 5 && fields[4] == "raw.jsn")) ) {
                 fprintf(stderr, "error: could not parse model string: %s\n", mt.c_str());
                 exit(EXIT_FAILURE);
             }

And while this indeed made Nanopolish run, it did not work particularly well (i.e. the resulting assembly wasn't any better than the input assembly).
Is there anything users can do to make Nanopolish work with Albacore v2, or are Nanopolish updates planned? Writing software that works on Nanopore reads is like aiming for a moving target, isn't it? :smile:

The last few weeks I've been working on a general solution to this and other fast5 parsing issues. The solution is to drop down to only use the raw samples (present in the fast5s produced by MinKNOW during the run). All other processing, from event detection to determining which events correspond to each k-mer in the read, is done within nanopolish. This increases compute time (there is an expensive event-to-read alignment) but has benefits beyond being immune to fast5 changes:

nanopolish will work with lightly preprocessed reads, like porechop-ing adapters, rather than rigidly requiring the exact basecalled sequence
we will no longer require the extremely large basecalled fast5s, saving a huge amount of disk space
if/when fast5 is dropped for lighter file formats, it won't break nanopolish

I won't push this to github until next week and will probably write a blog post about it when I do.

That's great news. I thought you might already be working on this one. I'm keen to give the new version a try when it's out, but no rush. Thanks!

We also ran into this error and can't seem to figure out why. Below is the workflow we are currently following, is there something different we should be doing? We are trying to call variants on minion data.
error: could not parse model string: template_r9.5_450bps_5mer_raw.jsn

albacore version: 2.0.2
porechop version: 0.2.2
nanopolish version: 0.8.3

@stephenturner @slguertin

I think the problem is that you used albacore's fast5 output option and extracted reads using nanopolish extract, which forced nanopolish down the old event-based code path. I'll have to put in an explicit check for the albacore version to avoid this, but in the meantime if you change the names in your fastq headers from @guid:1D_000:template to just @guid it will probably work.
Very nice and useful diagram, thanks!

Thank you for the quick response. So I should have albacore go directly to fastq rather than using nanopolish extract. I'll report back.

Yes, that will be faster and save you a lot of disk space.

@stephenturner @slguertin @jts
The nanopolish variants call is actually running now. Thanks for the help.


Information roadmap for Zowe CLI is not in the TOC

The Information roadmap for Zowe CLI is not attached to the TOC for the web site.  We link to it from the Zowe CLI installation checklist.
Checklist: https://docs.zowe.org/stable/user-guide/cli-install-cli-checklist
CLI Info roadmap: https://docs.zowe.org/stable/getting-started/user-roadmap-zowe-cli
Corrective action:

Rename the file Zowe CLI information roadmap
Update the sidebar.js file. Insert the file immediately after Getting Started > Zowe fundamentals > Zowe architecture.
Ensure that the link in the checklist opens the article.

The roadmap has been added to the ToC.


[HOTFIX] Fix Repeated access to getSegmentProperties

Why is this PR needed?
getSegmentProperties is accessed repeated in query processing, which  leads to  heavy time overhead.
What changes were proposed in this PR?
Reuse the segmentProperty.
Does this PR introduce any user interface change?

No

Is any new testcase added?

No

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/2638/

Build Success with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/929/

retest this please

Build Failed  with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/945/

Build Failed  with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/2656/

Build Failed  with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/946/

Build Failed  with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/951/

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/2661/

retest this please

LGTM.
waiting for build to merge

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/2666/

Build Failed  with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/956/

retest this please

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/2678/

Build Success with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/966/


Constant features

@Tejash-Shah

rebased master latest changes onto branch
simplified the code in fit quite a bit
re-worded a few attributes
separated the first to example tests into 2 different test functions

There are a few things that need a look:

could you separate each test example into a different test function? look at how it was done for the transformer DropFeatures on the same test script
could you, in the test function name say exactly what the test is testing? look as examples the ones I re-worded.
could you add asserts for the fit() attributes? see how I did in the tests 1 and 2.
in the transform part of each test, if we assert dataframe.equals, I think that is enough, we don't need to test the shape as well, so please drop these lines from the tests.

After all tests have past, we need to update the docs. Within the docs folder, the scripts that need updating are:

index.rst: add new transformer to the list
within docs/selection add a script with the new transformer and an example of how it is used
in docs/selection/index.rst add a link to the new rst in 2.

Thank you and let me know if you need anything  :)

@Tejash-Shah are you ok to resolve the conflict? otherwise let me know. cheers

Thank you for the fixes. I have pulled the latest changes and working on your suggestions.


ci: remove release notes [ci skip]

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

v6.0.1
GitHub release

Your semantic-release bot :package::rocket:


Left menu of drop down item (2 levels deep) opens over parent menu

See the following JSFiddle: https://jsfiddle.net/u9ob28se/2/
When you hover over Item 1 you can see that the sub menu (which is a left menu), hovers over the parent menu. This is not a problem with Item 2, which is a right menu.
The issue seems to be caused by in dropdown.less line 967:
.ui.dropdown > .left.menu {
  right: 0px !important;
}

If you change the value to 100% (which you can try out in the fiddle), the issue is solved. This value is also assigned on line 973, but overriden by the !important.
Maybe this was added for another issue, but it causes this issue.

@stale-bot; Given the "needs milestone" status, I would presume that they still intend to address this issue at some point.

@stale-bot; this i getting annoying. If it's not closed it's not closed.

You have to use item instead of ui dropdown item. Then it works as expected.
See https://jsfiddle.net/u9ob28se/3/


Mezzanine ignores the view, displays the template but does not pass the context.

Hello,
I created a view for my model, with the corresponding urls and template files. Then, in the admin panel, I have created a Rich text page, specifying the same URL (ingredients) defined in urlpatterns. Mezzanine ignores the view, displays the template but does not pass the context. How can I solve it?
These are the codes:
models.py
from django.db import models
from mezzanine.pages.models import Page
from django.utils.translation import ugettext_lazy as _

class Ingredient(Page):
    name = models.CharField(max_length=60)
    information = models.TextField(null=True, blank=True, verbose_name=_("Description"))

views.py
from django.template.response import TemplateResponse
from .models import Ingredient

def ingredients(request):
    ingredients = Ingredient.objects.all().order_by('name')
    templates = ["pages/ingredients.html"]
    return TemplateResponse(request, templates, {'ingredients':ingredients})

urls.py
from django.conf.urls import url
from .views import ingredients

urlpatterns = [
    url("^$", ingredients, name="ingredients"),
]

Please use the mailing list for questions.


errors with gray scale input or output or both

i am seeing errors when either input_c_dim=1 or output_c_dim=1 or both of them =1
only input or output ==1 and the other==3:
ValueError: Trying to share variable d_h0_conv/w, but specified shape (5, 5, 6, 64) and found shape (5, 5, 4, 64).
both ==1:
ValueError: Cannot feed value of shape (1, 256, 256, 1, 6) for Tensor 'real_A_and_B_images:0', which has shape '(1, 256, 256, 2)'

i fixed this on my fork. if interested i can make a PR

@eyaler I experienced the same problem. How did you fix it?

i have the same problem, have you solved it？

I changed the parameters of the init function like this:
def __init__(self, sess, db_path, image_size=256,                  batch_size=1, sample_size=1, output_size=256,                  gf_dim=64, df_dim=64, L1_lambda=100,                  input_c_dim=1, output_c_dim=1, dataset_name='data',                  checkpoint_dir=None, sample_dir=None):
which sounds quite strange because I passed the parameters in the main... You may also need to change something else in the code, I don't remember if it worked directly with this trick.


Allow programatically focusing auro-hyperlink

Is your feature request related to a problem? Please describe.
I am unable to call focus() on an auro-hyperlink.
Describe the solution you'd like
Implement focus on auro-hyperlink. There's an example in auro-button.
Describe alternatives you've considered
None.
Additional context
n/a

Here is what I do know. Not all elements are focusable. E.g. the :focus selector is allowed on elements that accept keyboard events or other user inputs. That means you need to drill into the anchor tag inside the element.
Also, there is no UI for hyperlink currently for just the :focus pseudo selector.
In the demo for hyperlink, if I were to add this...
function getFocus() {
  let foo = document.getElementById("foo").shadowRoot.querySelector('a');
  foo.focus();
}

then
<button onclick="getFocus()">click me for focus</button>

lastly
.hyperlink:focus {
    color: orange !important;
  }

I can get the following UI.

So this is supported, but what is it you are not getting from what you need to do?

The issue with that approach is that it requires the developer to query inside the shadowRoot, which I usually think of as being part of the component's private API. It's probably a reasonable assumption that auro-hyperlink contains an a tag, but I don't think this pattern is something we want to encourage.
This isn't a new pattern. We've done the same thing for auro-button and auro-input. It allows developers to call focus on those elements just like they would a normal DOM <button> or <input>, without needing to know anything about the element's internals.

The addition of the code addresses a focus, but there is a question of the UI feedback that needs to be resolved.

:tada: This issue has been resolved in version 3.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Unable to download Topic Channels

Describe the bug
When trying to download a channel from a topic channel, I am returned no objects so am unable to download anything. I can get the Topic channel's name, but no video_urls are returned.
To Reproduce
Steps to reproduce the behavior:
I am using the following code to download videos from channels. This works correctly with normal channels:
def download_channel(url, file_type, target_extension, dir_path):
channel = Channel(url)
print(f'Downloading videos by: {channel.channel_name}')
for url in channel.video_urls:
print(url)
download_single(url, file_type, target_extension, dir_path) # working function to download a single video
in here, the channel.video_urls is simply empty same with channel.videos etc
You can try it with the following links:
I can download this channel: https://www.youtube.com/@videogamedunkey
but I cannot download this channel: https://www.youtube.com/channel/UC4CWZQtZEqHctU1RjoYjRfg
Expected behavior
A list of video urls should be returned that i can iterate through and use to download videos
Desktop (please complete the following information):

OS: [Windows 11]
Browser [Firefox]
Version [123]

Describe the bug When trying to download a channel from a topic channel, I am returned no objects so am unable to download anything. I can get the Topic channel's name, but no video_urls are returned.
To Reproduce Steps to reproduce the behavior:
I am using the following code to download videos from channels. This works correctly with normal channels: def download_channel(url, file_type, target_extension, dir_path): channel = Channel(url) print(f'Downloading videos by: {channel.channel_name}') for url in channel.video_urls: print(url) download_single(url, file_type, target_extension, dir_path) # working function to download a single video
in here, the channel.video_urls is simply empty same with channel.videos etc
You can try it with the following links: I can download this channel: https://www.youtube.com/@videogamedunkey but I cannot download this channel: https://www.youtube.com/channel/UC4CWZQtZEqHctU1RjoYjRfg
Expected behavior A list of video urls should be returned that i can iterate through and use to download videos
Desktop (please complete the following information):
* OS: [Windows 11]

* Browser [Firefox]

* Version [123]

try pytubefix==2.0rc2

@JuanBindez
This issue is caused because this channel only has the homepage available and pytubefix is not yet able to handle the homepage's JSON.
We can create a method called .home, for example, which returns an array containing the videos, shorts, playlists and channels from the home page.
The presentation videos for subscribers and non-subscribers are volatile, so it wouldn't be worth including them.

@JuanBindez I have updated to your recommended version, but am still unable to download the second channel.

Try pytubefix==2.1rc1

@JuanBindez I have updated to your recommended version, but am still unable to download the second channel.

see if this version works and tell us if it works pytubefix==2.1rc1

Unfortunately not, sorry


How to Automatically merge the generated contents to the current document?

just like the changelog said in version 0.2.1

Automatic merging refers to applying the changes (by AI) to the current document with automatic reconciliation. It's like how Git is working. Let's say you made AI to make some changes, at the meantime, you edited the original document. Later, when you accept the change, instead of replacing the original selection with the AI generated contents, the extension finds out the exact changes that AI made, and applies them to your current version document.
To to simplified, this feature allows you continuing your works without waiting for AI to generate contents.


Error while building project due to stale/unupdated dependencies in @microsoft/ocsdk

After installing latest version 1.1.1-main.2f608b7 and building the project, I'm getting below error

I looked into it and found that @microsoft/ocsdk has dependency on webpack 4, and from error log
BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

So we need to update the dependencies in @microsoft/ocsdk project.
Note:- I was able to work the around the issue by following the suggestions, and added below in my webpack config after installing both dependencies.
fallback: {
       crypto: require.resolve('crypto-browserify'),
       stream: require.resolve('stream-browserify'),
     },

webpack is a dev dependency which means, it's just being installed on development and not in production. webpack is being used to build the CDN package.
On v4, the node modules (crypto, stream, etc) were part of webpack, which means users won't have to manually install them to be able to use them. On v5, these dependencies are no longer part of webpack, so it must be manually installed.
It's by design with v5.

Thanks for your reply @xTEddie .
Shouldn't the dependencies be resolved and fixed in the library itself, instead of expecting the end user to fix/workaround it.
Least we could have this limitation/prerequisite mentioned in Readme file for the end user to work around this.
I was trying to fix the issue in  @microsoft/ocsdk by upgrading the packages and replacing crypto with crypto-browserify in SDK.ts  but it has a indirect dependency on  node.js core module stream in cipher-base.


Rename MR::ReadModel::Struct to MR::ReadModelStruct

This renames MR::ReadModel::Struct to MR::ReadModelStruct to
avoid issues with rubies Struct. Having a Struct module under
the MR::ReadModel namespace meant that once a class mixed in
MR::ReadModel the Struct constant name no longer referenced
rubies Struct but instead referenced MR's read model struct.
This avoids the issue by not using the Struct constant name.
This renames the struct mixin and organizes it as a sibling to the
MR::ReadModel mixin. This doesn't change any of the
functionality of the mixins.
@kellyredding - Ready for review.

@jcredding we discussed hotfixing all the MR files to namespace consistently.  I'll look again once this is rebased on that hotfix.

@kellyredding - I've rebased this off of 329d31e so its not so noisy.

@jcredding I'm good with this - thanks for fixing the indentation that hotfix to keep this diff as clean as possible.  I'm OK with this - it still feels a little weird for me to have this not under the ReadModel namespace but it probably shouldn't.  I'm OK though 👎


handle Stream closes in WindowUpdateManager

Remove the stream from the streamOffsetsmap.
Might be necessary when doing connection-level flow control. Right now, it's just a (minor) security issue.

I'm not sure if we will need this connection level flow control. If so, it will probably not be sufficient to remove the stream in the Session.garbageCollectStreams().


Add SVG material design icons support

Nice work! Comming from reddit. I recently did a small experiment with AngularJS and OpenLayers 3. See here: https://medium.com/angularjs-meetup-south-london/angular-integration-with-openlayers-3-5a6e8d29e635. Includes github/slides/demo.
Few featues that you may enjoy:

SVG Material Design icons - crispy clean markers improving UX on mobiles
Map animations - better UX
Custom zoom to extent control
Filtering markers

Maybe the most beneficial is the SVG icons as you can style them (shape, color) and historically it was a pain as you had to create the markers as images.

That's a really nice piece of code! I'll take a look at it, there are very interesting ideas I could add to this project, if you don't mind.

Thanks! Feel free to browse and use what you like. I'm very happy to share
it. There's also a post to explain what I'm doing if it's not clear from
the code. =)
On 2 Mar 2015 07:14, "David Rubert"<EMAIL_ADDRESS>wrote:

That's a really nice piece of code! I'll take a look at it, there are very
interesting ideas I could add to this project, if you don't mind.
—
Reply to this email directly or view it on GitHub
https://github.com/tombatossals/angular-openlayers-directive/issues/63#issuecomment-76667519
.

Using SVG assets for achieving crispy looking assets on mobile, is not a great idea.
I tried doing this, and if you have more than a few markers on your map frame at a given point, there's a very significant performance hit and panning movement renders at 3-5 fps.
This is caused by mobile browsers inability to render SVG to canvas efficiently.
I had use raster based markers instead, and the frame rate for the same amount of markers was over 30 fps.

Good point. Nonetheless dropping a feature for everybody because there's a
corner scenario that is not very performant (mobile and many markers) is a
little extreme.
SVG icons are generally available on mobile and a great way to avoid having
to manually create and style different image based markers, eg: for each
possible color and size. Besides SVG also allow for extra CSS styling and
animations.
In general for first page load performance, maybe adding Angular plus  your
library to the mix is not the way to go considering you can achieve all
features with plain JavaScript and have Google Closure, with two way data
binding already there.
On 3 Mar 2015 06:05, "Naor Biton"<EMAIL_ADDRESS>wrote:

Using SVG assets for achieving crispy looking assets on mobile, is not a
great idea.
I tried doing this, and if you have more than a few markers on your map
frame at a given point, there's a very significant performance hit and
panning movement renders at 3-5 fps.
This is caused by mobile browsers inability to render SVG to canvas
efficiently.
I had use raster based markers instead, and the frame rate for the same
amount of markers was over 30 fps.
—
Reply to this email directly or view it on GitHub
https://github.com/tombatossals/angular-openlayers-directive/issues/63#issuecomment-76892316
.

SVG assets used for markers are rendered to the canvas, therefore, they will be static and couldn't be manipulated with CSS or animations.
I think it might be possible to achieve the same crispy look of SVG on the markers, if the SVG asset is rendered once to a canvas, then .toDataUrl is used to extract the SVG as image and that is set as data URI to the src attribute of the ol.Style.Icon instance, but I haven't attempted that yet.
Initial page load didn't appear to be affected, btw.
The performance hit was noticeable while panning and zooming the map.

That's not the implementation I'm using but its good to know about other
approaches.
I was talking about time for first render as you have to download Angular +
library + OpenLayers. That's a big chunk for mobile.
On 3 Mar 2015 09:04, "Naor Biton"<EMAIL_ADDRESS>wrote:

SVG assets used for markers are rendered to the canvas, therefore, they
will be static and couldn't be manipulated with CSS or animations.
I think it might be possible to achieve the same crispy look of SVG on the
markers, if the SVG asset is rendered once to a canvas, then .toDataUrl is
used to extract the SVG as image and that is set as data URI to the src
attribute of the ol.Style.Icon instance, but I haven't attempted that yet.
Initial page load didn't appear to be affected, btw.
The performance hit was noticeable while panning and zooming the map.
—
Reply to this email directly or view it on GitHub
https://github.com/tombatossals/angular-openlayers-directive/issues/63#issuecomment-76909453
.

Yeah, I see, but I suggested that it might be a way to achieve the a result which looks the same while working around the performance issue I had.
The file size didn't matter that much for my use case, as I'm using this component in a hybrid app.

I see. I thought this was a general discussion. Yeah that is something I've
used before with good results. It also improves zoom in/out in my
experience.
On 3 Mar 2015 09:15, "Naor Biton"<EMAIL_ADDRESS>wrote:

Yeah, I see, but I suggested that it might be a way to achieve the a
result which looks the same while working around the performance issue I
had.
The file size didn't matter that much for my use case, as I'm using this
component in a hybrid app.
—
Reply to this email directly or view it on GitHub
https://github.com/tombatossals/angular-openlayers-directive/issues/63#issuecomment-76911116
.

So, as a supplement, however as a main point try this amazing free app. Createer.com is an online software for easily designing online ads, responsive landing pages and print materials such as flyers, posters, covers, invitations and more. Createer lets you easily share your designs on social media, send them via email, download as HTML, image or PDF. You can even design UI mockups for mobile as for standard display (html, js, css always generating without any coding required from you). Createer also includes 3,000 predesigned templates (browse here: https://beta2.createer.com/Templates?ghi) and over 250,000 images (illustrations, photos and icons) to work with in its user-friendly drag’n’drop enviroment. And finally this amazing stuff is here: https://beta2.createer.com/?ghi


Possible bug with template and custom modifier

Hello, I'm trying to apply a custom modifier to a field and the expected output should be the complete json, although it is ignoring the remaining fields.
Reproduction
package main

import (
	"fmt"
	"strings"

	"github.com/tidwall/gjson"
)

func main() {

	gjson.AddModifier("case", func(json, arg string) string {
		if arg == "upper" {
			return strings.ToUpper(json)
		}
		if arg == "lower" {
			return strings.ToLower(json)
		}
		return json
	})

	json := `
	{
		"name": {"first": "Tom", "last": "Anderson"},
		"age":37,
		"children": ["Sara","Alex","Jack"],
		"fav.movie": "Deer Hunter",
		"friends": [
		  {"first": "Dale", "last": "Murphy", "age": 44, "nets": ["ig", "fb", "tw"]},
		  {"first": "Roger", "last": "Craig", "age": 68, "nets": ["fb", "tw"]},
		  {"first": "Jane", "last": "Murphy", "age": 47, "nets": ["ig", "tw"]}
		]
	  }
	`
	result := gjson.Get(json, `{"children":children|@case:upper,"name":name.first,"age":age}`)
	fmt.Println(result.Raw)
}

Expected Output (all fields)
{"children":["SARA","ALEX","JACK"], "name":"Tom", "age": 37}

Actual Output (missing all the other fields)
{"children":["SARA","ALEX","JACK"]}

I just pushed a fix. Thanks for reporting.

@tidwall It's working now! Thank you for the amazingly fast response 🥇


Helm: Fix extraArgs

Description
ExtraArgs was not applied in the following two deployments and one cronjob, so fixed it so that it is applied correctly.

deployments/liqo/templates/liqo-metric-agent-deployment.yaml
deployments/liqo/templates/liqo-proxy-deployment.yaml
deployments/liqo/templates/liqo-telemetry-cronjob.yaml

Hi @kariya-mitsuru, thanks for your contribution. In other components we use this syntax to add extraargs https://github.com/kariya-mitsuru/liqo/blob/a3748d493921bc07262461d7277a21fd5d9e633c/deployments/liqo/templates/liqo-crd-replicator-deployment.yaml#L39-L41.
Can you adapt your commit to our syntax or modify all the other components?

LGTM! 👍🏻
Can you please squash all commits into one?


process upstream February root updates

See https://bugzilla.mozilla.org/show_bug.cgi?id=1870673
Removals:

SECOM Trust.net - Security Communication RootCA1
This expired root CA was removed upstream.
See https://bugzilla.mozilla.org/show_bug.cgi?id=1865450

Additions:

Telekom Security TLS ECC Root 2020
See https://bugzilla.mozilla.org/show_bug.cgi?id=1820592

Telekom Security TLS RSA Root 2023
See https://bugzilla.mozilla.org/show_bug.cgi?id=1820592

https://bugzilla.mozilla.org/show_bug.cgi?id=1870673 mentions two additions:

Additions
Add D-Trust S/MIME Roots - TBD (CA Program Bug # 1781510)
Add Deutsche Telekom Roots - TBD (CA Program Bug # 1820592)

The D-Trust additions are for SMIME trust bit roots and so wouldn't be relevant here. The Telekom additions include some TLS roots that I would expect to show up in the CCADB report since they've already been included into NSS, however the CCADB CSV we process doesn't include any rows for these new roots. Not sure what to make of that.

File a Mozilla issue about the lack of new roots in the CCADB report?

https://bugzilla.mozilla.org/show_bug.cgi?id=1878122

I'm going to guess there are a couple of batch processing pipelines between the mozilla sources and CCADB; maybe they'll appear after one or two 24 hour periods?

Well, if Mozilla batches up the changes it seems weird that they end up in the CCADB in multiple batches, right?

Version bump?

Version bump added.

Should we backport this given that there's still quite a bit of old rustls in the wild?

Yeah I think that's worthwhile. I can do that tomorrow.

Pushed tag v/0.26.1
Published webpki-roots v0.26.1 at registry crates-io
Created 0.26.1 GitHub release.


Problem installing the module

First of all thank you for sharing with us this great module. I followed your steps to install it, so I created a GalleryPage.php and a GalleryPage.ss filled with the example you provided, now when I create a new GalleryPage Pgae type it shows a blank area; no tabs for Gallery or video gallery..
Can you tell me what I am missing here?
regards

Hi, thanks for the feedback - can you provide the code you are using and any error messages... and did you run /dev/build ? You don't need a specific page - it'll run on any page provided the data schema is set up correctly.
I set the module up on a current site a few days back and it worked ok so I'm thinking it's a setup issue or a  bug  in the instructions.
Thanks
James

I just pushed an update to the readme.md with some documentation fixes, review the diff here:
https://github.com/codem/DisplayAnything/commit/75edc38f3b4f12534745696e6867ee048a8d9e11
you may have included some of the incorrect documentation in your own GalleryPage?

I created a new class based on the new code you provided and I changed the name from MyPage to MediaPage and added the subdirectory for uploads. run dev/build?flush=1.. the database fields are successfully added to the database. Then when I create a page of MediaPage type, a blank page shows with no fields and no errors..
I'm trying to megrate from ImageGallery module to this module, and when I click on the Image Gallery page I don't see any migration tab there..so what am I missing something here?


Update Boomi Data Services for PCF (PKS) Documentation

This PR addresses concerns with the previous version:

Naming inconsistency
Licensing information
Installation Task presentation

@jhunt Thanks! I will work with the Docs team to review and let you know any feedback they have


Lots of unnecessary JavaScript in generated Nuxt static build

Version
v2.4.5
Reproduction link
https://github.com/dinerojs/dinerojs.com
Steps to reproduce

Generate a pre-rendered build with nuxt generate or yarn generate.
Inspect the _nuxt directory and see the generated JavaScript files.

What is expected ?
When pre-rendering my website with nuxt generate, I would expect my HTML to be pre-rendered and for all the JavaScript that's used for this purpose not to be in the final build.
In fewer words, I would expect the only JavaScript that ends up in the final build to be the one that's necessary for runtime, nothing else.
What is actually happening?
Pre-rendering the website fills the _nuxt directory with unnecessary and heavy JavaScript. The HTML files are appropriately rendered, but the built JavaScript contains unnecessary things like the Markdown parser, Highlight.js, Nuxt store, etc.
Another side effect of getting all that development JavaScript in the production build is that it tries to apply build-time logic at runtime (e.g., determining what sidebar item is active to open the right parent, doesn't work because trying to determine this from this.$route).
Additional comments?
I'm not sure how to tell Nuxt how to differentiate what I'll need in my final bundle (e.g., code to handle collapsing menus) and what is only there for generation of HTML. I couldn't find it in the documentation.
There are some closed tickets on these topics (e.g., https://github.com/nuxt/nuxt.js/issues/2822) but they only offer hacky and incomplete workarounds. Using Cheerio to strip out unwanted generated code doesn't address the real issue (code that shouldn't be there in the first place), adds CI time, and doesn't account for the JavaScript that you do need to keep.
Thanks a lot in advance for your help! Been enjoying using Nuxt and this is likely the final hurdle before I can push my project live. 🙂

This bug report is available on Nuxt community (#c8848)

client side scripts need to be there because on client vue need to do rehydration of your data.
Also look here https://github.com/nuxt/rfcs/issues/22

@aldarund Sorry but I'm not sure I understand. I fetch the data upon generation of the build (which is precisely why Nuxt needs me to expose the dynamic ones in nuxt.config.js) and it ends up being hardcoded in the HTML files (as expected). Why would Vue need to rehydrate?
When I serve the built website and disable JavaScript, it works as expected (apart from the JavaScript that I need at runtime of course). I understand that these scripts are needed for SPA mode and SSR mode, but not for pre-rendering mode, which goal is to render everything beforehand, at build time, and not rely on JavaScript to do so.

Hi. You can try https://github.com/maoberlehner/vue-lazy-hydration and pass ssr-only prop. For rendering only on server side, without hydration and loading component on client side

@dschewchenko Hi and thanks for the suggestion! However this seems to be for SSR, and I'm not using it (I'm pre-rendering with the intent of serving pre-generated, purely static files).
Also, it seems odd that this doesn't come included with Nuxt 🤔 The Nuxt documentation has a dedicated "Static Generated (Pre Rendering)" section which says "When building your application, it will generate the HTML for every one of your routes and store it in a file." This is why I've decided to go with Nuxt, because static site generation is exactly what I need.
It also has an ad to this VueSchool course that says "Prerendering or static site generation is an invaluable technique that every front-end developer should know. Compiling your application into static HTML files is a process that improves both performance and SEO." or again "Prerendering is not the same as server-side rendering." When watching the first video "What is Prerendering?", it clearly states "pre-rendering, as the term implies, means that an application is rendered or generated upfront [...] What happens, is that the application is rendered in static HTML files [...] This way you can eliminate the hosting costs, and benefit from SEO and super fast page load." so it seems clear that my vision of pre-rendering is aligned with what Nuxt advertises. This is why I'm confused.
Is the pre-rendering mode unfinished? Is what's advertised different from the final product? Is it a bug? Or do I totally get what's being said wrong? No problem in any case, but it would be awesome to get an answer so I can move forward with my own project and make the appropriate technical choices. 🙂

Generate is already SSR , but only once. It works. You can PR to nuxt.js to add same option for components

Hey @sarahdayan :wave:
I'm using nuxt generate in a bunch of projects, so let me try to clear up the situation :relaxed:
The coherence between SSG and SSR
https://twitter.com/nuxt_js/status/1098358432984375296
(as @dschewchenko said)
Generate Static HTML files
When you use nuxt generate together with the universal mode (default) you will receive static HTML files as planned. Of course you still have javascript included because your static Nuxt/Vue app will still behave like an SPA after the initial request to get the "best of both worlds". That's what the extra JS is for, similar to the (dynamic) SSR/universal mode.
Conclusion
nuxt generate works as expected. There is only one larger caveat which will be resolved through https://github.com/nuxt/rfcs/issues/22

Hope that helps :relaxed:

Hey @manniL, thanks for the reply.
About the link between SSR and SSG, yes, I agree and it's clear to me. The reason why I insisted against it was that Nuxt has them as two separate modes, and it sounded odd to me to use a module for behavior A so I can achieve something with behavior B that (I think) it should handle on its own. But let's not dwell on semantics 😅
From your explanation, I understand that my understanding of static site generation is different from what Nuxt implies (at least for now). My experience comes from static website generators like Jekyll or Middleman, which outputs fully static websites, meaning that the data fetching is fully taken care of at build time and any data updates requires another build. If I'm not mistaken, I think that's also how Gatsby works.
I think making nuxt generate fully static (or creating a new mode as #22 seems to be implying) would be awesome, but in the meantime, it would be really great to clarify the documentation. From what I've seen I'm not the only one who got confused. If Nuxt doesn't (yet) behave as most static website generators, this is something you want to know as soon as possible.
Thanks again for clarifying this, and good luck! Can't wait to see full static mode come to life 🙂
@manniL Do you have recommendations to circumvent the issue in the meantime?

@sarahdayan 	No problem!
Yes, https://github.com/nuxt/rfcs/issues/22 is how every other static site generator works/should work and will be tightly coupled to nuxt generate (through a feature flag I'd guess) and likely default for nuxt generate in Nuxt 3.
You can use https://github.com/DreaMinder/nuxt-payload-extractor in the meantime to achieve a similar result (as mentioned in the RFC too) :+1:

@manniL Thanks for this. I've tried https://github.com/DreaMinder/nuxt-payload-extractor, unfortunately this only applies to asyncData, therefore only partly solves the issue. A lot of JavaScript still gets shipped to the final build, because content still needs to be fetched from these JSON files.
What I'm looking for is to use JavaScript for content generation, and get rid of as much as possible upon build. I only need light runtime scripts, such as event handlers for clicks on accordion menus. I do not need highlight.js, since my code snippets are already tokenized in the HTML. I do not need JavaScript-powered routing, I'm fine with traditional, web-server powered routing. I do not need asyncData to exist at all, since my HTML pages are here and well already.
I don't know if nuxt/rfcs#22 is going this route. I've read the thread but it seems that the purpose is mostly to move the content that asyncData requests to static files, and read from those with JavaScript. Am I reading this incorrectly?
Thanks again for the conversation, trying to dig as deep as I can on this issue to make sure I understand everything 🙂

@sarahdayan Unfortunately it is not possible to partially extract and include some javascript functionalities like an accordion. We have to possibilities:

[nuxt level] Adding a new option to completely disable client-side js after SSR. Can be useful for AMP support too.
[project level] Refactor some plugins like highlight.js to be running on SSR only. Can be a little tricky and variable based on usage.

@pi0 I hear you. Curious though, why isn't it possible to extract runtime scripts?
I guess an alternative could be to have a place where to write runtime JavaScript (vanilla or else), then entirely disable client-side JavaScript after SSR/generate except for this runtime part.

Why isn't it possible to extract runtime scripts?

Vue.js, Highlight.js and also all of the codes inside .vue files are a part of the same runtime that is being compiled as a single bundle. Only excluding some from client bundle would be possible.

I guess an alternative could be to have a place where to write runtime JavaScript

Yep. Can be a solution. A tiny lib like bootstrap.js for supporting dropdowns and disabling nuxt client js. But I highly suggest not bothering to do this approach. It needs a custom compile step for second js bundle and can be difficult to handle in complex scenarios when combined with SSR.
Some logic like highlighted code generation can be moved to the server (API or SSR-only) side. Combining this with full-static generate (as @manniL mentioned) we can have a reasonable small runtime (without heavy sized libraries in client bundle) and also no dependency to the API after deployment (full generate)
More details about SSR-only
Nuxt (and almost all SSR compatible frameworks) compile the same code-base twice. Once for Browser and once for Node.js. These two bundles should be able to produce the same content so client-side routing works. If we omit the need for client-side routing by only using <a> links, we can assume only SSR side is required for page generation. Nuxt provides various ways to make different bundles from the same code-base. So we can only include heavy sized libraries like highlight.js in server bundle. An alternative approach would be moving it to the API side.

@pi0 Thanks for explaining. Moving the highlighting part to the server is easy enough, and should considerably reduce the build.

Combining this with full-static generate (as @manniL mentioned) we can have a reasonable small runtime (without heavy sized libraries in client bundle) and also no dependency to the API after deployment (full generate)

Sure, but there would still be calls to static files that hold the data, instead of letting the browser navigate to the right HTML page. At least that's what https://github.com/DreaMinder/nuxt-payload-extractor does, and this is what, from what I've understood, nuxt/rfcs#22 is about. Is it being considered to let users disable this entirely so asyncData calls are remove altogether, and there's no JavaScript navigation?

@sarahdayan With nuxt/refs#22, the goal is removing the need for API after static deployment.
It means still client-routing can work so when the user is navigating in the website does not need to fully download .html files of each page. The state (vuex + asyncData) will be stored as static chunks which are deployable to any static hosting.

@pi0 Got you, I understood it well then :)
Would there ever be a possibility of a 100% static, no JS option?

@sarahdayan So "no SPA", just a static site?
It probably is already You can use Nuxt's hooks to remove all the JS from the HTML output

Yes, it is possible using hooks, writing regex and remove <script> tags. (example. It has little performance penalty but does the job.
As it has some use cases (Search engine and AMP), I may open a PR for adding an option for this.

@pi0 does it still have a perf penalty when using nuxt generate? 🤔

@manniL for nuxt generate it is once.But for SSR purposes it should apply that regex on each request so has perf penalty.

@manniL @pi0 Thanks a lot for your help and input! I think I will end up fully stripping the generated JavaScript and handle the client-side stuff with some custom JS instead of using Vue for it (so removing all the @click). My goal is to ship something really small and performant, so if I can avoid non essential client-side JavaScript, that's better.
Thanks again and good luck with the full generate option!

@sarahdayan it sounds like you'd better use something like svelte instead of vue (and sapper instead of nuxt) in your case. But sadly it is not so mature as nuxt.

@manniL
I am trying to build nuxt generate but after I deploy to surge and gitlab, the result is still same
it was not work properly, it likes my css not working, and my pics can't be load
I have put router.base thought but still not change

I ran into the same issues as @sarahdayan.
I picked nuxt because i wanted to fully pre-render my blog then ship the generated static html. However when navigating routes, it attempts to call the api again. I understand it's trying to maintain the spa behaviour, but the issue here is that my source is on my machine(local ghost-cms instance).
So this completely falls through for my use-case unless i host my cms on a publicly accessible server(defeating the whole purpose of my experiment).
Would this mean Nuxt is not appropriate for such use case and I should look more towards something like  Hugo ?


Video file download doesn't seem to be working

Video file download seems to be broken since a couple of days. The metadata still gets downloaded properly but instead of a proper video file I get a ~400 byte (kinda empty) file with pyktok. With traktok (which I originally used and all worked well until some days ago) I just get HTTP403 (same issue, metadata gets downloaded, but no video).
I came here from traktok to see if the issue is isolated to it or not (seems like not).
Also tried this with 2 different computers, 4 different wifi networks across 2 countries, also changed the cookie files, updated all libraries I could, still consistently get HTTP403 in traktok (and a broken <1kb file with pyktok).
Also tried not just the account I am interested in now, but also those I successfully downloaded videos from just last week, and the one in the example here, all have the same issue.
to try reproducing - basically the code from the video download example gives the issue. if for everyone else this still works though, I will try to locate what could be causing the issue on my side beyond all I've tried (as described above)
pyk.save_tiktok('https://www.tiktok.com/@tiktok/video/7106594312292453675?is_copy_url=1&is_from_webapp=v1',
True,
'video_data.csv')

I just fixed it in traktok (https://github.com/JBGruber/traktok/issues/6). @dfreelon the download function now needs the header referer = "https://www.tiktok.com/" and some cookies (I did not test which ones).

oh that was quick, works like a charm in traktok now, just tested!

@aurman21 Try this: pyk.save_tiktok('https://www.tiktok.com/@tiktok/video/7106594312292453675?is_copy_url=1&is_from_webapp=v1',True,browser_name='chrome') (this requires that you have Chrome; you can also use 'firefox')

@dfreelon just tried, still same issue with pyktok (but now traktok works again (see @JBGruber solution above, guess that was the issue for both pyktok and traktok)

Here's a revised version of save_tiktok with that header added which you can try. Use the same call I posted above to try it (i.e. browser_name needs to be either firefox or chrome, and this may not work on command-line only systems):
headers = {'Accept-Encoding': 'gzip, deflate, sdch',
           'Accept-Language': 'en-US,en;q=0.8',
           'Upgrade-Insecure-Requests': '1',
           'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36',
           'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
           'Cache-Control': 'max-age=0',
           'Connection': 'keep-alive'}

def save_tiktok(video_url,
                save_video=True,
                metadata_fn='',
                browser_name=None):
    if save_video == False and metadata_fn == '':
        print('Since save_video and metadata_fn are both False/blank, the program did nothing.')
        return

    tt_json = get_tiktok_json(video_url,browser_name)

    if save_video == True:
        regex_url = re.findall('(?<=@)(.+?)(?=\?|$)',video_url)[0]
        video_fn = regex_url.replace('/','_') + '.mp4'
        tt_video_url = tt_json['ItemList']['video']['preloadList'][0]['url']
        headers['referer'] = 'https://www.tiktok.com/'
        tt_video = requests.get(tt_video_url,allow_redirects=True,headers=headers)
        with open(video_fn, 'wb') as fn:
            fn.write(tt_video.content)
        print("Saved video\n",tt_video_url,"\nto\n",os.getcwd())

    if metadata_fn != '':
        data_slot = tt_json['ItemModule'][list(tt_json['ItemModule'].keys())[0]]
        data_row = generate_data_row(data_slot)
        try:
            data_row.loc[0,"author_verified"] = tt_json['UserModule']['users'][list(tt_json['UserModule']['users'].keys())[0]]['verified']
        except Exception:
            pass
        if os.path.exists(metadata_fn):
            metadata = pd.read_csv(metadata_fn,keep_default_na=False)
            combined_data = pd.concat([metadata,data_row])
        else:
            combined_data = data_row
        combined_data.to_csv(metadata_fn,index=False)
        print("Saved metadata for video\n",video_url,"\nto\n",os.getcwd())

thx!


adjust and remove heading css

Removed, adjust and reuse heading tags.
This should fix reported formatting issue to login/logout page and other unreported inconsistency.
Description

We have to make sure all headings are being displayed properly in terms of size and location on screen.
This should fix login/logout and other inconsistency caused by adjusting heading tags.
Types of changes

Checklist

[x] I have read the CONTRIBUTING doc
[x] I have checked that unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Further comments

the changes look good. those pages were pretty hidden!
more of a visual/css issue for me but, i wonder if these h1 headings need to be bold, others h1's are font-weight 400.
or maybe they all should be.
maybe the one in the sidebar should be smaller.

this heading as well is maybe inconsistent.

maybe we ask @tpantella

maybe we ask @tpantella

Hi! I think "Select a bucket" looks correct, but whatever more closely matches h1 on gov.bc.ca, such as this example:
https://www2.gov.bc.ca/gov/content/health/health-drug-coverage/pharmacare-for-bc-residents/drug-review-process-results/drug-review-decisions
"Drug review decisions" is the correct styling and weight. We should try to mimic this with our H1s.  You can jump around on gov.bc.ca to see examples of H2 and H3 as well if that is of interest.
On an object list, the "Files" heading seems to be the wrong weight, it should be consistent with the above.
On a full file details page, the "File details" heading seems to be the wrong weight, it should match the above.
On the side pane heading, which is what Tim was actually asking about, I believe it's ok to have H1s in the side pane - it's ok to use multiple H1s, the side pane is acting as a sort of framed page, and it's a separate and overarching topic that earns an H1. I could also see a case for it being H2, which would then force any child headings to be H3, and children of children to be H4. My preference is H1 since it must draw attention to itself and becomes the new "main topic" being observed on the page. If a developer has a strong preference and makes a case for it, or if H2 for side pane headers and cascading all other sizes down one is easier and looks good, I am open to that. This comes down more to what looks good, since there is a style justification for either approach.
Design System guidance on weights is here if this helps:
https://developer.gov.bc.ca/Design-System/Typography
I think specified weights rather than specified bold styling is interpreted differently by screen reader software, where bold can invoke a shouty voice or emphasis, and I think we should also try to avoid variants of headings in bold and non-bold at the same H-level.
tl;dr - I think we need to make all H1s heavy in weight but not explicitly stated as "bold", I think some need fixing, I think the side pane heading could be H1 or H2 depending on what looks best, some adjustments may be needed on children headings if it goes to H2


unexpected success on local

@coolreader18 The weird thing here is, why it isn't catched by CI.

Yeah, that is really weird. It wasn't failing on master before this?

yep, no failing. would there be any case of silience failure of unittest?

Idk, maybe an unexpected success doesn't actually cause it to fail? Though I swear it has caused a ci failure before


Error: new BigNumber() not a base 16 number:

At step 5. Run the web application, after registering a Partner, when go to Sign In page, there is error
Error: new BigNumber() not a base 16 number:
In console, it shows:
Getting the Contract
Got address: 30a5c90d8593a94a89fdcb7a5e2aeb065f18b7af
Getting the Contract
{ BigNumber Error: new BigNumber() not a base 16 number:
at raise (/home/trung/go/src/github.com/hyperledger/loyalty-points-evm-fabric/web-app/node_modules/bignumber.js/bignumber.js:1177:25)
at /home/trung/go/src/github.com/hyperledger/loyalty-points-evm-fabric/web-app/node_modules/bignumber.js/bignumber.js:1165:33
at new BigNumber (/home/trung/go/src/github.com/hyperledger/loyalty-points-evm-fabric/web-app/node_modules/bignumber.js/bignumber.js:212:28)
at SolidityTypeString.formatOutputString [as _outputFormatter] (/home/trung/go/src/github.com/hyperledger/loyalty-points-evm-fabric/web-app/node_modules/web3/lib/solidity/formatters.js:220:19)
at /home/trung/go/src/github.com/hyperledger/loyalty-points-evm-fabric/web-app/node_modules/web3/lib/solidity/type.js:246:25
at SolidityTypeString.SolidityType.decode (/home/trung/go/src/github.com/hyperledger/loyalty-points-evm-fabric/web-app/node_modules/web3/lib/solidity/type.js:247:11)
....
Any ideal how to fix this?

Hi All,
Finally I have successfully register a Partner and a Member into the Network. I managed to login as the new Member, then select a Partner using drop-down list . When I click the button "Purchase Item X for $20 and earn 30 points", there is error in the console:

node app.js

app running on port: 8000
Getting the Contract
Got address: 0d2dc1658066c63ab46d2f772b7e2074766d4350
Getting the Contract
AccountCode: 0xd5c456b7218e9d11c577bd015c61aee93458157f
memberData:0xd5c456b7218e9d11c577bd015c61aee93458157f,Hong,Le,le@yahoo.com,0,true
Getting the Contract
Got address: d9da3fc47ff1d292d1eba3338ab68636bf20a6e7
Getting the Contract
Got address: d9da3fc47ff1d292d1eba3338ab68636bf20a6e7
Using param - points: 30 partnerAddress: 0x64602e1922b94c026785cdd5ea729822bc1207a4
Getting the Contract
Got address: d9da3fc47ff1d292d1eba3338ab68636bf20a6e7
Error: Failed to execute transaction: Transaction processing for endorser [localhost:7051]: Chaincode status Code: (500) UNKNOWN. Description: failed to execute contract: call error: REVERT not yet fully implemented
at Object.InvalidResponse (/home/trung/go/src/github.com/hyperledger/loyalty-points-evm-fabric/web-app/node_modules/web3/lib/web3/errors.js:38:16)
at RequestManager.send (/home/trung/go/src/github.com/hyperledger/loyalty-points-evm-fabric/web-app/node_modules/web3/lib/web3/requestmanager.js:61:22)
at Eth.send [as sendTransaction] (/home/trung/go/src/github.com/hyperledger/loyalty-points-evm-fabric/web-app/node_modules/web3/lib/web3/method.js:145:58)
at SolidityFunction.sendTransaction (/home/trung/go/src/github.com/hyperledger/loyalty-points-evm-fabric/web-app/node_modules/web3/lib/web3/function.js:170:26)
at SolidityFunction.execute (/home/trung/go/src/github.com/hyperledger/loyalty-points-evm-fabric/web-app/node_modules/web3/lib/web3/function.js:256:37)
at Object.earnPoints (/home/trung/go/src/github.com/hyperledger/loyalty-points-evm-fabric/web-app/dapp.js:627:33)
at /home/trung/go/src/github.com/hyperledger/loyalty-points-evm-fabric/web-app/app.js:180:25
at Layer.handle [as handle_request] (/home/trung/go/src/github.com/hyperledger/loyalty-points-evm-fabric/web-app/node_modules/express/lib/router/layer.js:95:5)
at next (/home/trung/go/src/github.com/hyperledger/loyalty-points-evm-fabric/web-app/node_modules/express/lib/router/route.js:137:13)
at Route.dispatch (/home/trung/go/src/github.com/hyperledger/loyalty-points-evm-fabric/web-app/node_modules/express/lib/router/route.js:112:3)

@gnurtcouq the { BigNumber Error: new BigNumber() not a base 16 number: error usually occurs if you try to redeem points without picking a partner first.
I have not seen this problem with Error: Failed to execute transaction: Transaction processing for endorser [localhost:7051]: Chaincode status Code: (500) UNKNOWN. Description: failed to execute contract: call error: REVERT not yet fully implemented
.. are you still running into that chaincode status problem? When I have ran the code pattern earlier today, I did not run into that problem.

closing due to inactivity


Incident Detail Page 404

Describe the bug
The incident detail page on https://dispatch.domain.com/incidents/dispatch-1 is not found. There is so much link to this page, but it is not found. Is it already on the backlog or a bug in my setup?
To Reproduce
Steps to reproduce the behavior:

Go to the incident detail page on domain.com/incidents/dispatch-number
The system returns a 404 page.

Expected behavior
Dispatch return incident detail.
Screenshots

This is a bug, let me work on a fix.

This is a bug, let me work on a fix.

@kevgliss after pulling the latest code in ae5aacc212f79ad48df483cd08864df707477186 , I get the following error when accessing the incident detail page:
BadFilterFormat
Filter spec `[{"and":[{"model":"Incident","field":"name","op":"==","value":"dispatch-59"}]}]` should be a dictionary.

@kevgliss after pulling the latest code in ae5aacc212f79ad48df483cd08864df707477186 , I get the following error when accessing the incident detail page:
BadFilterFormat
Filter spec `[{"and":[{"model":"Incident","field":"name","op":"==","value":"dispatch-59"}]}]` should be a dictionary.

After updated the code to 494db6e4b86db85fd0a60ba37e14929d0a1b1ac2, it is working properly, thanks @kevgliss

After updated the code to 494db6e4b86db85fd0a60ba37e14929d0a1b1ac2, it is working properly, thanks @kevgliss


Add support for Windows WSL in run_console_local.sh

/retest

/test unit

/test e2e-aws

@ecordell @njhale Some test failed, but I believe they are not related to my change. Could you rerun the tests?

/ok-to-test
/retest

/retest

/retest


[Bug] no longer works on WebGL-only browsers, WebGL2 for configuration only

In the latest version these lines have been introduced:
https://github.com/OHIF/Viewers/pull/4052/files#diff-d84d3e071e77a96cd602c4c9fc02fb1dca91dc931167b87c5ef30eb3a4e87f36
// get the maximum 3D texture size
const canvas = document.createElement('canvas');
const gl = canvas.getContext('webgl2');

const max3DTextureSize = gl.getParameter(gl.MAX_3D_TEXTURE_SIZE);
appConfigState.max3DTextureSize = max3DTextureSize;

doing so creates a direct dependency with WebGL2 making it a minimum requirement.
however Cornerstone3d also works in browsers that only support WebGL.
I applied this temporary patch and it started working again on our customer's browser:
const max3DTextureSize = gl ? gl.getParameter(gl.MAX_3D_TEXTURE_SIZE) : 2048;

Does it make sense as a solution?
Is it possible to do better?
Thank you
Steps to Reproduce

open the viewer in a WebGL only browser

The current behavior
the viewer does not load due to a js error:
const canvas = document.createElement('canvas');
const gl = canvas.getContext('webgl2');

const max3DTextureSize = gl.getParameter(gl.MAX_3D_TEXTURE_SIZE);

gl is undefined
The expected behavior
the viewer works
OS
Windows
Node version
20
Browser
Chrome

Yeah, I don't think we have a plan to address this, and our focus will shift to WebGPU and its future rather than looking backward.


Add security advisory to 2.19.0 changelog

No associated issue, this is a docs chore.
Description Of Changes

Adds security advisory to 2.19.0 changelog

Code Changes
n/a
Steps to Confirm
n/a
Pre-Merge Checklist

[ ] All CI Pipelines Succeeded
Documentation:

[ ] documentation complete, PR opened in fidesdocs
[ ] documentation issue created in fidesdocs

[ ] Issue Requirements are Met
[ ] Relevant Follow-Up Issues Created
[x] Update CHANGELOG.md
[ ] For API changes, the Postman collection has been updated

Please don't merge this until I've added the CVE number (pending, requested from GitHub).

@galvana, any chance you'd review & approve this PR to update the changelog?


Update aux schema to support entrance randomizer

Currently, we support connecting two rooms with doors/exits. But in order to support entrance randomizer, more info is needed. Saying that room A and room B are connected by door C isn't sufficient, since room B may have more than one door. Instead, the shuffler needs to know which door/entrance door C is connected to.
The logic format actually supports this with the distinction between entrance/exit/door, I just didn't pick up on it until now :)

@NoobTenLuka I think I'm correct and this would logically support shuffling entrances lmk if this makes sense to you. As of this comment I updated Cannon.json with the new schema if a concrete example is clearer.

main appears to be broken, since running the built randomizer.exe throws a bunch of different pydantic errors on main, #95, and #96. I'll just merge both of these PRs and open a third to fix everything to avoid rebasing


[FLINK-7228] [history] Use free port in HistoryServerStaticFileServer…

This PR changes HistoryServerStaticFileServerHandlerTest#testRespondWithFile to select a free port.
Previously the test always tried to use port 8081, which could lead to test failures if this port was taken, for example by another web interface.

This looks good.
+1


LDAP support

Add a pac4j-ldap module based on the pac4j-http module with specific Authenticator and ProfileCreator for LDAP
Use Ldaptive (like in CAS)?

PR: https://github.com/pac4j/pac4j/pull/201


Feature request: IPv6 address support

Kubernetes has added full support for dual stack services; it would be nice if kube-vip-cloud-provider could handle and assign ipv6 addresses as well as ipv4.
see https://kubernetes.io/docs/concepts/services-networking/dual-stack/
There are a couple of ways you could approach this; I think the easiest way would be to look at the clusterIPs array and assign one address for each class of ip that is in the list. I was able to get a semi-hacked version of the MetalLB controller working this way (from https://github.com/metallb/metallb/pull/727), but they don't have it in the mainstream tree yet and it hasn't been updated recently.
Here is an example service from that, with ip addresses tweaked:
apiVersion: v1
kind: Service
metadata:
  annotations:
    meta.helm.sh/release-name: external
    meta.helm.sh/release-namespace: ingress-haproxy
    metallb.universe.tf/address-pool: external
  creationTimestamp: "2021-09-08T23:58:49Z"
  labels:
    app.kubernetes.io/instance: external
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: haproxy-ingress
    app.kubernetes.io/version: v0.13.3
    helm.sh/chart: haproxy-ingress-0.13.3
  name: external-haproxy-ingress
  namespace: ingress-haproxy
  resourceVersion: "223919524"
  uid: 7ef512e2-9a16-405b-a5a3-9d9892df5d2b
spec:
  allocateLoadBalancerNodePorts: true
  clusterIP: <IP_ADDRESS>
  clusterIPs:
  - <IP_ADDRESS>
  - xxxx:xxxx:1000:21::20:f86f
  externalTrafficPolicy: Local
  healthCheckNodePort: 31319
  internalTrafficPolicy: Cluster
  ipFamilies:
  - IPv4
  - IPv6
  ipFamilyPolicy: PreferDualStack
  ports:
  - name: http-80
    nodePort: 32117
    port: 80
    protocol: TCP
    targetPort: http
  - name: https-443
    nodePort: 31303
    port: 443
    protocol: TCP
    targetPort: https
  selector:
    app.kubernetes.io/instance: external
    app.kubernetes.io/name: haproxy-ingress
  sessionAffinity: None
  type: LoadBalancer
status:
  loadBalancer:
    ingress:
    - ip: xx.xx.xx.160
    - ip: xxxx:xxxx:1000:21::40:0

It's worth noting that the loadBalancerIP field does not support an array of addresses, so there is no way in the spec to request more than one specific ip address -- some people get around that by creating two services (one ipv4, one ipv6), or using a custom annotation, e.g. the metalLB PR I referenced uses metallb.universe.tf/load-balancer-ips: "<IP_ADDRESS>,1000::20"
I am available for discussion in the kubernetes slack in the #kube-vip room -- happy to help as I'm able, though I'm super swamped with a bunch of things right now and I'm not super familiar with golang.

Are there any prospects for getting this support? Is it in the roadmap at all? I have an IPv6-only cluster running kube-vip and I'd much rather use this than metalLB, since it sounds like metalLB would be pretty redundant.

I ended up using metallb; if you have the BGP stuff done you can disable part of it, I'm only running the controller.
This project would probably be better for my needs if it supported ipv6, but metallb does have full support for ipv6 now. (it didn't when I opened the ticket)

Are you still using kube-vip with your metalLB setup? If you don't mind me asking, what is your configuration? Which CNI? I have Calico running a purely ipv6 network with BGP between the nodes, and kube-vip running ARP mode.
When you say having BGP set up, is that referring to kube-vip in BGP mode or the CNI?

No, there is no need. I'm using Calico.
There are two pieces to MetalLB -- the controller which assigns IP addresses to LoadBalancer services and the route advertiser which handles BGP connections to advertise the routes out of the cluster.
Calico already uses BGP, so you're better off doing the BGP peering to your ToR router via CalicoBGP and in your Calico "BGPConfiguration" resource you set the serviceExternalIPs and serviceLoadBalancerIPs addresses so that it will advertise those as well.
Kube-VIP and metallb basically do exactly the same thing (both parts) except that Kube-VIP supports the other ARP mode as well, so I can't think of any reason you'd ever use them together.
When you install MetalLB just either only install the controller or else remove the advertiser piece after installation and as long as your calico BGP peering is configured correctly everything should Just Work.

There is another option I just stumbled on -- https://purelb.gitlab.io/docs/
PureLB appears to have supported IPv6 for a lot longer and looks like it may be more flexible than metallb -- I haven't used it, but if I had known about it when I was setting things up I would likely have tried it first as it looks like a better fit for my needs.

Interesting,I'll have to check that out. Maybe it addresses the concern I have regarding metallb.
Regarding metallb,it looks like it doesn't provide the high availability static pod functionality for apiserver (or another alternative) like kube-vip does. Did you get yours to have similar functionality?

I use a proxy on my ToR router to provide the load balanced API server, so
I haven't really looked. I don't think it does, though. No idea about
PureLB.
Richard
On Tue, May 9, 2023 at 2:15 PM Miles Simpson @.***>
wrote:

Interesting,I'll have to check that out. Maybe it addresses the concern I
have regarding metallb.
Regarding metallb,it looks like it doesn't provide the high availability
static pod functionality for apiserver (or another alternative) like
kube-vip does. Did you get yours to have similar functionality?
—
Reply to this email directly, view it on GitHub
https://github.com/kube-vip/kube-vip-cloud-provider/issues/9#issuecomment-1540832897,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABWYTSKGWG7QLQ46FUHL7LXFKQVHANCNFSM5DXZMBGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

For those following this issue, looks like a PR for IPv6 support has been opened in #56.

The current change in https://github.com/kube-vip/kube-vip-cloud-provider/pull/56 only supports single stack.
Will work on dual stack in a bit

supported in 0.0.9 now as part of  https://github.com/kube-vip/kube-vip-cloud-provider/pull/71


Env detect

Summary
firmware/utilities/build includes a shell script that detects the build environment.  I works in both Windows and Linux.
Test Plan

Build from firmware/ec. Verify that firmware/utilities/build/build_ec_cfg.txt is created and firmware builds with no new issues.  The text file should be created even if the build fails.
Build from firmware/host. Verify that firmware/utilities/build/build_host_cfg.txt is created and host builds with no new issues.  The text file should be created even if the build fails.

Issues
Fixes Issue #171 .

Need to rebaseline


Adding Yield to Controller Action

I tried adding a yield so that I could return the koa context to one of my tests calling the route that hits this action method find().
Why? Because since I'm test driving my code I'd like to receive the context back to check values that were set by the controller.
module.exports = {
    gateway: setGateway,
    find: function *() {
        var response = this;
        response.statusCode = 200;
        var foundData = null;

            if(!foundData || Object.keys(foundData).length === 0){
                response.body = null;
                response.statusCode = 204;
            }

            response.body = foundData;
            yield response;
    }
};

problem is after adding yield here, I get an error:
RangeError: Maximum call stack size exceeded
      at Object.objectToPromise (/node_modules/co/index.js:166:25)

is it not possible with koa-controller or am I just missing something here?

solved it by cloning the response and made the gateway.find's callback a generator function.


Mast: Watch +2347085480119

Mast requests the watch of the watch_number +2347085480119. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by tripleee in Charcoal HQ

Approved by tripleee in Charcoal HQ


POC: add snapshot testing for API in /clients

POC : test if everything described in https://github.com/etalab/annuaire-entreprises-site/issues/643#issuecomment-1733967596 work as planned.

[x] Add snapshot testing for client
[x] Use snapshot for mocking E2E tests
[x] Clean & industrialize
[ ] Add a github action / ansible task to run non regression test periodically on production ?

Observation
This approach leads to create a LOT of test for non regression. A little too much maybe, given that almost everyone of them can be potentially invalidated by a change of state in real world (new company created, old one modified, etc.)
Perhaps we should extends the approach began in clients/sirene-insee/siret/_test/index.test.ts by differencing code used to generate fixtures for E2E and the cases we actually test for non regression.

closes #643

Is there a need for these empty folders ?

The actual behaviour is to throw an error if we use stubClient({ clientName }) without creating folder clientName in _test. It ensures that we didn't make a typo that would be silently ignored.
I stubbed those clients, but they are not called in the current cypress test. We might want to create new scenarios which test them as well.
Meanwhile, I left the empty folder to be populated once it's the case.

In snapshots a lot of the time args are already declare in the snapshot file why do we redeclare it ?

The args of the .json snaphots files are generated by those declared in the *.test.ts files. The first time you launch the test, the file is created with both the args and the response.


[BUG] Support READ_MEDIA_VISUAL_USER_SELECTED for Android14

Describe the bug
About image pick in Android 14
When you select an image, a dialog box will appear and offer you three choices

Select photos and videos
Allow all
Don't allow

If you select fluttercandies/flutter_wechat_assets_picker#1, you will see the Android picker, not the wechat_assets_picker's picker.
The image selected there will not be called back to AssetPicker.pickAssets() method.
How should I respond?
How to reproduce
Running AssetPicker.pickAssets() on Android14
Steps to reproduce the behavior:

Execute AssetPicker.pickAssets();
Attachment file's dialog appears.
Select Select photos and videos
The android14 image picker is displayed.
Selection is not call back to the my app.

Expected behavior

Screenshots (If contains)

Version information

Device: Pixel 6a
OS: Android 14 beta
Package Version: wechat_assets_picker 8.6.2
Flutter Version: 3.10.5

Sorry.
Should I have made this issue in following repository?
https://github.com/fluttercandies/flutter_wechat_assets_picker

No. The picker is backed by the manager so it should be at least implemented by the manager first, the picker might not require further implementations.

Resolved by #982


Adding Diganostics to Ecdf Plots in the spirit of TARP

This pull request focuses on enhancing the functionality of the ECDF plotting functions plot_sbc_ecdf. The changes include adding new rank computation methods in the spirit of Lemos, Pablo, et al. "Sampling-based accuracy testing of posterior estimators for general inference.". Feedback is welcome!
The idea is to compute ranks based on distances to the origin or a random point instead of the marginal fractional ranks. This way one can analyse the joint calibration of the model instead of looking at single parameters. If the random reference has some dependency on the data, this can reveal biases which would not be detected by the standard ECDF plots (e.g. when the prior equals the posterior the ECDF indicate a well calibrated model; when we have a tutorial on the diagnostics as discussed in #236, I would add an examples there). One can also pass a distance function as an argument, which could be for instance a distance based on the log-probability of the approximator.
Furthermore, I fixed some minor bugs in the function plot_posterior_2d.

That looks cool, thank you! @jerrymhuang would you mind reviewing this PR since you have been working on the diagnostics module previously?

@jerrymhuang Can you fix the conflicts due to the very recent changes in dev diagnostics?
@paul-buerkner As an author of the original ECDF paper, can you approve the new interface and functionality?

Before implementing the feature, I considered the following: The key requirement is that the rank of the true parameter with respect to samples from the posterior distribution is uniformly distributed, regardless of how the parameters are transformed (e.g. just looking at the marginals or apply a norm). With this condition satisfied, everything, including the simultaneous confidence bands, works out fine.
In the paper by Lemos et al., they basically showed that you can even use a rank based on a distance to random reference point to compute valid coverage statistics. So instead of ECDFs (as we do here) they computed expected coverages based on these ranks.

That makes sense, thank you! We could later on generalize or extend this feature to allow for other kind of metrics that a distance, including the (log) likelihood density as target, which we suggested in https://arxiv.org/abs/2211.02383. But that is subject to a separate PR.

That makes sense, thank you! We could later on generalize or extend this feature to allow for other kind of metrics that a distance, including the (log) likelihood density as target, which we suggested in https://arxiv.org/abs/2211.02383. But that is subject to a separate PR.

This is already possible by constructing a distance based on the likelihood density and passing it with the argument distance to ranks_kwargs. But we could certainly implement it in way, so the user can just apply it!

Good point! And I agree, some more convenience functionaly for common use cases would be cool down the line.

@stefanradev93 you can merge if you are happy with the PR as well.

Thank you all!


feat(nx-plugin): add qualifier to cdk generator

fixes #491
The idea of this fix is:

each stack gets its bootstrap stack named CDKToolkit{projectName}
each bootstrap stack uses a qualifier to ensure resources won't clash
this qualifier must be explicitely passed to cdk bootstrap, otherwise it is not applied
this qualifier must be less than 10 chars, so a SHA1 hash is enough

See https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html

Ok, I checked on my project. Once everything is deployed, the old bootstrap stack will still be present, but can safely manually deleted

@adriencaccia is that ok for you?


Swap refactor for use with API SOR

Refactor Swap to interface with response from API.
Assume its still important that Swap returns TokenAmounts to consumer rather than bigint to improve dev ex. API can't return a TokenAmount so should return a raw amount instead (e.g. 1USDC=1000000). If it also returns decimals information the b-sdk/Swap object can create a Token so the user doesn't have to.
Suggested API response:
type GqlSorPath {
   pools: [String]! --- note this would be address?
   tokens: [Token]!
   outputAmountRaw: String!
   inputAmountRaw: String!
}

type Token {
    address: String!
    decimals: Int!
}

Pseudo code for user flow:
const sorPaths = api.getSwapPaths(swapKindd, tokenIn, tokenOut, ...); // Returns array of GqlSorPaths

const swap = new Swap(chainId, sorPaths, swapKind);

const apiQuote = swap.quote();

const updated = await swap.query();

Proposed API response returns an array of SorPath objects which consumer can use as inputs to the constructor of Swap.
Swap uses Path[] to create PathWithAmount[] and PathWithAmount creates Token/TokenAmount.
Note - Also need to add Limits, Call construction etc to Swap as in this PR: https://github.com/balancer/b-sdk/pull/220

Closing in favour of an alternative branch.


[PROPOSAL] Make HTML escaping of form labels optional

HTML5 labels can legitimately contain phrasing content.
Eg:
Name required
Currently, this would render as
Name Name <em>required</em>
I propose an optional (default true) 4th argument to FormBuilder.php which when set to false, skips html escaping of label content.
[Example implementation] (https://github.com/chrishow/framework/commit/f0a24aa51440507beec189862390f4fa554741fc)

I came across this problem when I tried to display html content in a label. This content is required sometimes and when user input is displayed then html stuff should be escaped. So, when my app is displaying default html content then I call label function with HtmlString(content) and when the user entry should be displayed then just the content. So, a simple change to the label method solved my problem:
if ($escape_html && !($value instanceof \Illuminate\Support\HtmlString)) {       $value = $this->html->entities($value); }
What do you think?


Deploys with GH actions instead of Travis

there will probably be a glitch only noticed after merge as this is the first repo to try deploy with GH actions.

will watch master like a 🐦


Update screenshots to use new UI

After the UI refresh that was released today a large number of screenshots in the workshop need to be updated.

On pause due to O11y Suite UI changes

All screenshots complete, thank you @p-hagen


Remove extensions in shaders when upgrading to WebGL 2.0

Replace extension preprocessor that isn't required in WebGL 2.0 in shaders code with WEBGL_2 preprocessor. All the shaders will automatically have #define WEBGL_2 after #version 300 es to indicate the context version being used by Cesium
This should fix the issue where log depth doesn't work properly when zooming out from the earth in WebGL 2.0:

The issue comes from czm_writeLogDepth function. It checks if GL_EXT_frag_depth extension is available, but the extension is only available in WebGL 1.0. So the code doesn't run.
@lilleyse Can you please take a look at the changes?

Thanks for the pull request @baothientran!

:heavy_check_mark: Signed CLA found.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.
[ ] Works (or fails gracefully) in IE11.

@baothientran thanks for the fix! I should be able to review tonight.

@dennisadams 's comment is the solution for the last puzzle I have for depth texture. The new commit should fix the below issues:
Fixes #7952
Fixes the zooming issue
Fixes the issue where geometries disappear when moving mouse

That latest changes look good to me 👍


Additional windows difficult to close

The red/yellow/green buttons are removed in this theme which makes it difficult to close a window. If I have multiple windows open with multiple tabs in each, when i want to close one of the windows i have to use shift-cmd-W or go to the Shell menu and select Close Window.
I like how the app looks with your theme (and without the red/yellow/green buttons), but wondering if there could be an easier way to close windows?

Actually sorry it's the hyper-tabs-enhanced plugin

With hyper-tabs-enhanced plugin you can also add the traffic buttons (red/yellow/green) back with a config option.
module.exports = {
  config: {
    ...
      hyperTabs: {
        trafficButtons: true,
      }
    ...
  }
}

Thank you, I have done that now :-)


BlockNumber::block_num and BlockNumber::version should be u64

They are currently u32; however, on-chain they are represented by Felt, so shouldn't they be u64?
I started making the change, but then this is baked into our sqlite code, and so is a more involved change. Is there some limitation from sqlite that prevents us from using u64?

I believe sqlite does not support u64. Any similar type (eg UNSIGNED BIG INT) has an affinity of INTEGER (i64). You can however interpret your u64 as i64 in Rust code when executing a sqlite transaction (and i64 as u64 when reading results from transactions) without data loss/corruption: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=a180f72b629dddfd5cc0cabe2b81699b

Thank you for the insight! So given what you've just shown, this confirms that we should indeed be able to represent BlockNumber::block_num and BlockNumber::version as u64 - we store it as UNSIGNED BIG INT in sqlite, retrieve in Rust's sqlite library as i64 (I assume), and type cast to u64.

At the protocol level, I'd still keep it as u32 (assuming 3-second block times, this actually gives us 400+ years). How we store this in the database could be different (e.g., storing it as i64 may be fine if it simplifies things).

protobuf uses varint encoding for the field and the mismatch forces us to do a lot of conversions here and there

Why does this happen? I would have imagined that we get a u32 from protobuf deserializer and then no other conversions are necessary.

At the protocol level, I'd still keep it as u32

Again, this has no benefit:
use prost::Message;

#[derive(Clone, PartialEq, Message)]
struct A {
    #[prost(uint32, tag = "1")]
    a: u32,
}

#[derive(Clone, PartialEq, Message)]
struct B {
    #[prost(uint64, tag = "1")]
    a: u64,
}

fn main() {
    println!("Value 0");
    println!("A: {:?}", A { a: 0 }.encode_to_vec());
    println!("B: {:?}", B { a: 0 }.encode_to_vec());

    println!("Value 256");
    println!("A: {:?}", A { a: 256 }.encode_to_vec());
    println!("B: {:?}", B { a: 256 }.encode_to_vec());

    println!("Value 65536");
    println!("A: {:?}", A { a: 65536 }.encode_to_vec());
    println!("B: {:?}", B { a: 65536 }.encode_to_vec());
}

outputs:
Value 0
A: []
B: []
Value 256
A: [8, 128, 2]
B: [8, 128, 2]
Value 65536
A: [8, 128, 128, 4]
B: [8, 128, 128, 4]

The type just defines the upper limit and the encoding depends on the value being encoded. This decision only leads to discussion and has zero differences in the wire.

Why does this happen? I would have imagined that we get a u32 from protobuf deserializer and then no other conversions are necessary.

Because we have to:

decode from bytes to the message
the message has a u32 in memory
anything that uses the block_num with a u64 / Felt needs conversion. example

Agreed that there are no benefits in terms of encoding efficiency - but I'd say that specifying an upper bound is still useful for a variety of reasons.
Also, in this case specifically, we should probably be using fixed32 data type as we'll get to needing 4 bytes of variable encoding within about a month (assuming 3-second block times).
I went through the other protobuf definitions, and I think we should make the following changes:

In the BlockHeader message

Change block_num type to fixed32.
I'm also wondering if we should change timestamp to fixed32 as well because in our case variable-length encoding will always take 5 bytes. But I maybe saving one byte is not worth it.

In the Note, NoteCreated, and NoteSyncRecord messages:

Change block_num type to fixed32.
Change sender type to AccountId.
Change tag type to fixed64 as in most cases this will be set to account ID.
Ideally, num_assets would be a fixed8 (because it would always be a single byte), but there is no such type in protobuf.

In the GetBlockHeaderByNumberRequest, AccountHashUpdate, NullifierUpdate, NullifierTransactionInputRecord, SyncStateRequest, and NullifierLeaf messages:

Change block_num type to fixed32.

In the SyncStateResponse message:

Change chain_tip to fixed32.

anything that uses the block_num with a u64 / Felt needs conversion. example 1 2.

I would say that in the first example, we should probably change block_num (as well as timestamp and version) to non-Felt data types.
In the second example, I think the conversion cannot be avoided as we are converting from Word to either u64 or u32.

Should we create a separate issue for this, and close this one?

Should we create a separate issue for this, and close this one?

Yes, let's do it.

#112


Coeval.> and < combinator

It can be found in cats.Apply syntax and/or cats.FlatMap
but it's very common to use, so importing cats all the time is annoying.
final def *>[B](that: => Coeval[B]): Coeval[B]
final def <*[B](that: => Coeval[B]): Coeval[A]

coevalA *> coevalB // runs coevalA , then coevalB, returns the result of coevalB
coevalA <* coevalB // runs coevalA , then coevalB, returns the result of coevalA

I can pick it up

Hey, see my comments on #935.
*> and <* have a strict parameter in Cats and we need to be consistent with it.  We might also want to introduce << and >> which have the non-strict parameter.
Also an @inline wouldn't hurt, I see that Cats uses the @inline annotation a lot for aliases, although I don't necessarily trust it.
And personally I'd prefer a PR for both Task and Coeval. We need too ensure consistency or otherwise we risk introducing an operator in Coeval that's missing in Task 🙂

Well, the requirement for the single PR really is optional. If you're in the context of a hackathon, then I guess two PRs are preferable.

Well, the requirement for the single PR really is optional. If you're in the context of a hackathon, then I guess two PRs are preferable.

I am, but I can also merge the PRs - no problem


220903 add in operator

Codecov Report

Merging #63 (4bf449c) into version/0.14.1 (90d362a) will decrease coverage by 0.09%.
The diff coverage is 95.20%.

@@                Coverage Diff                 @@
##           version/0.14.1      #63      +/-   ##
==================================================
- Coverage           96.35%   96.25%   -0.10%
==================================================
  Files                  35       36       +1
  Lines                3373     3498     +125
  Branches              742      775      +33
==================================================
+ Hits                 3250     3367     +117
- Misses                122      129       +7
- Partials                1        2       +1

Impacted Files
Coverage Δ

src/models/Expression.ts
82.47% <85.71%> (-0.94%)
:arrow_down:

src/binder.ts
89.74% <87.50%> (-1.03%)
:arrow_down:

src/models/Condition.ts
87.73% <88.88%> (+0.39%)
:arrow_up:

src/models/Operand.ts
95.79% <98.24%> (+0.95%)
:arrow_up:

src/AggregateFunction.ts
100.00% <100.00%> (ø)

src/FromItemInfo.ts
100.00% <100.00%> (ø)

src/ItemInfo.ts
100.00% <100.00%> (ø)

src/ReturningItemInfo.ts
97.43% <100.00%> (ø)

src/SelectItemInfo.ts
100.00% <100.00%> (ø)

src/UpdateSetItemInfo.ts
93.54% <100.00%> (ø)

... and 17 more

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