Static Site with Free sku doesn't support identity anymore?

A PUT request against the static site endpoint (at least for 2019-12-01-preview and 2021-02-01) with below payload fails recently:
{
    "identity": {
        "type": "None"
    },
    "location": "West Europe",
    "tags": {},
    "properties": {
    },
    "sku": {
        "name": "Free",
        "tier": "Free"
    }
}

With error:
{
    "Code": "BadRequest",
    "Message": "SkuCode 'SKU' is invalid.",
    "Target": null,
    "Details": [
        {
            "Message": "SkuCode 'SKU' is invalid."
        },
        {
            "Code": "BadRequest"
        },
        {
            "ErrorEntity": {
                "ExtendedCode": "55925",
                "MessageTemplate": "SkuCode '{0}' is invalid.",
                "Parameters": [
                    "SKU",
                    "Free"
                ],
                "Code": "BadRequest",
                "Message": "SkuCode 'SKU' is invalid."
            }
        }
    ],
    "Innererror": null
}

While if change the sku to Standard, or remove the identity block, it works. Did the service team remove the support of identity from the Free SKU?

It's worth noting Type: "None" is valid across other Azure API's which support Identity (and means the same as the identity block being omitted)

Ping @AzureAppServiceCLI, @antcp, @JackTn


Data Science and matplotlib implementation

I have made some some data science project and also the basic implementation of matplotlib which will help beginners to understand ML better . I have made a Bollywood dataset project which is basically analysing dataset and a titanic dataset which is a classification problem.

I have made some some data science project and also the basic implementation of matplotlib which will help beginners to understand ML better . I have made a Bollywood dataset project which is basically analysing dataset and a titanic dataset which is a classification problem.

Cool, @GeneralSubhra ! I am assigning you the task.


angular 2 with  DOM recycling, tombstones and scroll anchoring

Awesome and easy plugin, I have a request: do you have in mind to do same for angular2  BUT with this approach https://developers.google.com/web/updates/2016/07/infinite-scroller
Because the plugin is very nice, and name "infinite" is only name not very technical possible because of  "adding very large set of elements to DOM" as you know, this consumming a lot memory
thanks in advance

You probably want to watch https://github.com/angular/material2/issues/823
this issue
On 27 Jul 2016 8:54 am, "vltr"<EMAIL_ADDRESS>wrote:

Awesome and easy plugin, I have a request: do you have in mind to do same
for angular2 BUT with this approach
https://developers.google.com/web/updates/2016/07/infinite-scroller
Because the plugin is very nice, and name "infinite" is only name not very
technical possible because of "adding very large set of elements to DOM" as
you know, this consumming a lot memory
thanks in advance
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/sroze/ngInfiniteScroll/issues/303, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAZQTKzHBumklz8BttsHZbVkgl2_vb6Dks5qZw7JgaJpZM4JV7by
.

maybe material do it, but what relation with  ngInfiniteScroll, is this same?
I don't want to use material in my project :)
Just want to know if repo-team envisage develop same plugin for angular 2 and, if it's possible add must-have feature "virtual scrolling" using dom recycling
this is question, feature-request, enhancement
thanks

I don't currently plan on merging any features, only bug fixes
On 27 Jul 2016 9:20 am, "vltr"<EMAIL_ADDRESS>wrote:

maybe material do it, but what relation with ngInfiniteScroll, is this
same?
I don't want to use material in my project :)
Just want to know if repo-team envisage develop same plugin for angular 2
and, if it's possible add must-have feature "virtual scrolling" using dom
recycling
this is question, feature-request, enhancement
thanks
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/sroze/ngInfiniteScroll/issues/303#issuecomment-235518481,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAZQTFDnDf6cPdQITUQFiQ7PaFJ-jlYEks5qZxTfgaJpZM4JV7by
.

damage :-(


Naming: "agenda templates" is "capture templates" in emacs-orgmode

Does this feature exist in Emacs orgmode core?
Yes
Orgmode link
https://orgmode.org/manual/Capture-templates.html
Feature value
No response
Additional context
Why are the emacs-orgmode capture templates called agenda templates here? As far as I can see they don't really have much to do with the agenda (but I'm rather new to org-mode).

You are right. I don't know why I misnamed it. I'll fix it for now to support both ways so I don't introduce big BC break. Thanks.


Replace tilde-indexOf with includes

Description
Replaces the mystery way of checking if string contains other string using ~str.indexOf with str.includes.

Could you remove the package-lock.json file?

Done.

Thanks @dviryamin !! 👏


LazyLoad preloading next/previous slides by configuration

Now LazyLoad is available with preloading next/prev slides as configured.
All you have to do is set the following props:
      lazyLoad: "offset",
      lazyLoadOffset: 1,

lazyLoadOffset will configure the number of next/prev slides to preload.

Any reason why this was rejected?

Also would want to know..


added all dice face remaps

Also modified the dimensions of the d6 pipped to the expected functionality

Closes #43


What is the reason for the restriction on introducing new edges (source node must be in same or lower layer)?

During topological mutation (of WANNs), edges are only added between two nodes if they are in the same layer or if the layer of the source node is in a lower layer than the destination node. In the comments of the respective functions it is stated that this is implemented this way to prevent recurrent connections.
If I am not mistaken, a non-recurrent edge should be possible as long as there is no directed path from the destination node to the source node even if the destination node is in a lower layer. This, of course, would require at least one of the nodes to switch their respective layer (which is not an issue, since the layers a recomputed during expression / translation to the network anyway).
Therefore my questions:
Why did you choose to exclude the possibility to introduce such edges? Did you just implement it this way to reduce complexity (as this would require checking for the existence of such a path and finding an alternative in case such a path exists) or is there another reason?
Theoretically, the search space stays the same, since the resulting network could be evolved from a different starting point (without requiring the introduction of these edges), but the probability to arrive at such a network might be significantly lower.
Are such networks less desirable since a change of the layer structure implies a significant change of functionality (which might be more then one is aiming for during a single mutation)?

I'll be damned you're right. In a network like this
       O-O-O-O-O
      /         \
(in) O           O (output)
      \         /
       O-O-O-O-O

Any of those intermediate nodes should be able to connect to each other --- there is not layer assignment that will make that true with the rule that you can only connect to same or later.
The answer to your question is that it was implemented in the way that it was to reduce complexity. My original implementation added an edge, than did a topological sort to make sure there were no cycles. This is inefficient, but was not a problem in the RL tasks as the networks were never really that big and evaluating the network dominated the cost of the whole algorithm by far. Once it came to MNIST though the situation was reversed, evaluation took almost no time at all and the networks were very big and the most computation was being done on topological sorting. Looks like I missed this case.
Thanks for point it out, I will definitely revisit this. Any clever ideas to test for recurrency with low complexity? Topological sort does more than we need for this.

That's a perfect example where the restriction might be quite drastic!

My original implementation added an edge, than did a topological sort to make sure there were no cycles.

That makes sense! I assume that's why you are explicitly checking for cycles (now, it would probably make sense to throw an exception there since it is not something that should occur during normal usage).
I am trying to figure out a way right now. Your approach has the great advantage that once you picked two nodes, it is guaranteed to not produce cycles.
The only other possibility I came up with is to randomly select two nodes (source node can be selected from input and hidden nodes; destination node from hidden and output nodes) and then do a case differentiation:

ANY of the two nodes is NOT a hidden node => there is no issue, introduce the edge.
There is a indirect directed path from the src node to the dest node (directed path with at least one intermediate node) => not an issue, introduce the edge.
There is a indirect directed path from the destination node to the source node.
There is already an direct edge between the two nodes => either way, we can not introduce a new edge here.

The 3. case could just be resolved by switching the src and dest node (so we arrive at case 2). Of course, this would change the possibilities a bit: Not all possible edges are equally probable, instead short-cuts (edges where a directed path already exists) will be twice as likely (as they will be introduced in either case 2 or 3). I'm not sure if that's such a big issue or if there is way to mitigate the issue.
I not sure what's the best way to handle the 4. case. There is not really much we can do here. Some options include:

Just redraw the random numbers (this might lead to long loops; if no edge is possible, we need to make sure we don't get stuck)
Just don't do anything - mutation had its chance. Alternatively, allow redrawing the numbers a finite number of times.
Restrict destination nodes to those where no direct connection exists. This would also mess with he probabilities though - if a node has connections to all other nodes but one, then the probability of an edge between these two nodes being introduced is much higher than any other. This probably not something we want.

I don't really see a way of making every possible edge equally probable without figuring out which edges are in fact possible (and thats obv. too complex)...
For figuring out if there is a directed path, I suggest using breadth first search using the connectivity matrix. So, something along the lines of this (draw random indices for the nodes in regard to the weight matrix not the node ids in the genes and the later do a lookup):
def path_exists(src, dest):
    if src > dest:  # no path possible (otherwise ordering would have been different)
        return False

    visited = np.zeros(number_of_nodes, dtype=bool)
    visited[src] = True

    connectivity_matrix = weight_matrix != 0  # if edge is nan / disabled there is also a path between the two in the same direction

    n_visited = 0
    while n_visited < np.sum(visited):  # loop as long as we a reaching new nodes
        n_visited = np.sum(visited)  # np.sum counts the number of True values
        visited = np.any(conn_mat[visited], axis=1)
        if visited[dest]:  # dest can be reached from src
            return True

    return False  # no more nodes can be reached from src & dest wasn't one of them

Obviously this is still quite complex, but might be a little bit faster than a complete topological sorting. I don't see another way to ensure all non-recurrent edges are possible...

Maybe a suitable alternative would be to build up a reachability matrix:
connectivity_matrix = weight_matrix != 0
np.fill_diagonal(connectivity_matrix, True)
reachability_matrix = np.copy(connectivity_matrix)

n_paths = 0
while n_paths < np.sum(reachability_matrix):
    n_paths = np.sum(reachability_matrix)
    reachability_matrix = np.dot(connectivity_matrix, reachability_matrix)

possible_edges =  (reachability_matrix == False).T * (connectivity_matrix == False)  # * can be used as logical and

Using np.where and this matrix we can a valid choices
i = np.random.randint(np.sum(possible_edges))
possible_edges = np.where(possible_edges)
src, dest = possible_edges[0][i],  possible_edges[1][i]

I agree that using a reachability matrix is a good idea --- the complexity of doing this on MNIST by checking if the graph had any cycles was not only that a large graph has to be sorted, but that there are a lot of possible edges to check (and to find there are no valid edges you have to check every one...). Precomputing a number of valid edges is a nicer solution, especially if we can find a way to update it rather than start over one the edge is added.
I haven't looked at it too closely, but are you sure the reachability matrix can be compute this elegantly? A quick search shows methods the seem much more involved.

Ps. This approach would also allow for more sophisticated edge selection strategies (eg. increasing the probability of edges to and from nodes that have a small degree and decreasing the probability for edges to and from nodes that already have many connections).

This is a nice idea, especially for WANNs where having a ton of connections to the same node with random weights can easily saturate an activation function.

I think caching is a good idea, changing the activation function (obviously) and re-enabling an edge does not change the reachability matrix at all, since re-enabling just makes the path shorter (but it had to exist before anyway). Adding a node does not change it either - we just need to add a row and column: the row can be copied from the old destination (for now all paths will go through that node), and the column can be copied from the old source (same reason essentially).
Adding an edge should not be to complicated. Though it might require a larger update, we don't need to have an outer loop: All nodes that reach the source now also reach all nodes the destination reaches -> this can also be calculated with np.dot.

I haven't looked at it too closely, but are you sure the reachability matrix can be compute this elegantly? A quick search shows methods the seem much more involved.

I haven't tested the implementation yet, but I was aiming for a Breadth-first search (which is also mentioned in the Wikipedia article you referenced). The reason why it is so simple is that np.dot does most of the work and no preprocessing is done beforehand.


add room log sampler

around 5.7% of logs from cloud don't have a room field so for now i think we're safe to write all of these. if it turns out log sampling was culling anything especially noisy we can deal with it later but this seems low risk.
projectID is present in around 86.8% of logs so we could consider applying project-specific room sampling rates... the logs where room is defined but projectID is not seem to mostly be from the parts of signaling shared with oss.

lgtm @paulwe ! But, this log sampling thing and the interfaces/option hurt my head. So, am going to ask some dumb questions :-)

The room logger is using ItemSampler here. Participant/Track loggers are derived from room logger. So, they would get the sampling too I believe (we ad hoc create logger with room/participant fields in a lot of places, they won't have sampling, with this they can get some form of sampling too). How would things look with this logger? I guess if this logger is enabled, it would override other log sampling?
Logger config specifically refers to sampled logs for participant/track (not related to this PR), but it is just item sampling right. Would be good to change the language there and mention it is a generic item sampling and participant/track can be quoted as examples of where it can be used.
What are you planning to use for room sampling rate with this logger.
The code looks like it is a generic field sampled logger. Would be good to call it fieldSampler (or something more generic in the logging library here which is more generic) and pass in a key. There can be a wrapper (or not) roomSampler in where it is used which uses the fieldSampler and instantiates it with RoomKey.
When doing the above, the config can be changed to be more generic (actually with the above change, config may not belong here, it could be moved to application config) to have fields like UseFieldSampledLogging and FieldSampleLoggingKey. Is that possible? I guess the main thing I am trying to suggest here is to avoid the concept of a specific thing like roomSampler/RoomKey in the logger which is currently very generic and used by a lot of repos.

Thinking more, I guess the generic field sampled logging config can be here (and should be here if it applies globally). It can be done using

UseFieldSampledLogging
FieldSampledLoggingKey
FieldSampleLoggingRate

it seemed like ItemSampler was used to create a logger with its own counters. i was going to delete these but since this would break backward compatibility with the old sampler i'll need to do something with it. good callout
👍
50%? it would be nice to base this on data but i don't think dd queries are powerful enough to give us the aggregate we need to make a less arbitrary decision.
👍
👍

i'm not sure how generic this needs to be. i agree that it can accept the sample driving field but i can't really see operators getting value out of being able to configure it. it only makes sense to sample using room which was why i didn't bother with this in the first place. also, with any luck we can throw this all out in a few weeks so it may never even be part of an oss release.

i thought about this and ended up going a slightly different direction. we can leave oss untouched since this is sort of a stopgap until we can migrate away from dd.
the config remains unchanged so we don't have to worry about how it's presented as much - when we construct the logger in cloud we can call WithFieldSampler to add the room sampling behavior. the threshold is defined with an atomic so we can wire this into config reloading and make adjustments based on observed log rate. as long as legacy sampling is disabled WithItemSampler will just work. we don't have to change anything here.


Compute Scheduling

This was another issue that came out of Friday's call that I said I'd raise and am just getting to now.
When an RPC call comes in from the outside world to request the execution of a compute job, the Protocol needs to be able to schedule that job across the network to varying extents and depending on the type of job that it is. We anticipate seeing a variety of approaches to scheduling jobs in the future, but for betanet, we only need to see two implemented:

Contract scheduler -- this would take the compute job request and request it be run on all of the compute nodes in a given quorum.
Ad-hoc scheduler -- this is a very simple scheduler that just has the job execute on any one node in the network or a given quorum (I believe that in betanet network == quorum anyway). This is for the prototype non-contract compute case.

Feel free to break this down into smaller chunks or add any extra detail here.

What if we extend the Decentralized Task Scheduler for this too? which considers backpressure on compute nodes!


Does anyone have a list of dead toolkit settings?

Does anyone have or know where I can find a list of what is currently down in the toolkit?

Ideally, none of them are :)
There was an issue with a release from YNAB which caused the toolkit to break but it was somewhat quickly resolved as far as I know. Time has been hard to come by as of late when it comes to working on the Toolkit but hopefully all features are in working order now!

Not complaining.  I think the toolkit is unbeatable,
BUT
There are still things broken.  One I spotted is the “Show reconciled balance” in the accounts settings page.  And there are others I’m sure.
That is why I would like a resource I can refer to.
Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10
From: Josh @.>
Sent: 02 August 2021 19:08
To: @.>
Cc: @.>; @.>
Subject: Re: [toolkit-for-ynab/toolkit-for-ynab] Does anyone have a list of dead toolkit settings? (#2449)
Ideally, none of them are :)
There was an issue with a release from YNAB which caused the toolkit to break but it was somewhat quickly resolved as far as I know. Time has been hard to come by as of late when it comes to working on the Toolkit but hopefully all features are in working order now!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/toolkit-for-ynab/toolkit-for-ynab/issues/2449#issuecomment-891227391, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AJC3Z2JMY5HTVFZYBDPNMITT23NJBANCNFSM5AYS4SMQ.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email.

The resource is definitely just our bug reports, honestly. I know there are a lot of them right now (because we have too many feature requests that we need to get moved out). I just checked on Show Reconciled Balance and it's working fine for me!


fix: apply phase allocation database changes

HCAP-1296
This PR moves the migrations for Phase Allocation tables to the right folder, so that it will actually apply on dev. In this ticket we identified that this is the way to do it. To see what the tables look like in general, please see this ticket and PR#818.

Just finished reviewing the code base and getting better understanding of what is going on here and... It all makes sense. I'm good with that.


Add additional proxy methods for NativeMethodsMixin

Making SC Native future proof (TM)
This will make Styled Components future-proof for
Yoga Nodes, which depends on a couple of additional
methods to exist. It's unclear whether this will actually
be enabled by default, but I'm sure it doesn't hurt to support
Yoga Nodes for those who need it.
The methods that were added: https://facebook.github.io/react-native/docs/nativemethodsmixin.html

Or maybe @k15a ? :)

Unfortunately I not using React Native very much so I don't know if this is used or not ;) Mabye we should wait until someone actually requests this feature?

@k15a I'd rather add it now, since it doesn't really hurt anyone and is making the proxying more complete

Ok, let's keep this around for the next patch release :)

Can we ship this once conflicts are released?

@kitten do we still want to ship this?


[WIP] Persist SQL Lab state in the backend

CATEGORY
Choose one

[ ] Bug Fix
[ ] Enhancement (new features, refinement)
[X] Refactor
[ ] Add tests
[ ] Build / Development Environment
[ ] Documentation

SUMMARY

This PR implements SIP-23, moving the persistence of SQL Lab state from the browser's localStorage to the backend.
I've created two custom views, /tabstateview/ and /tableschemaview/, which are used to keep the state in sync between the browser and the backend.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TEST PLAN

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

REVIEWERS

Thanks for the implementation. Can you describe the new architecture a little bit, like when and where to store query, what is flow look like when user interact with multiple tabs and browsers?

@graceguo-supercat:

Thanks for the implementation. Can you describe the new architecture a little bit, like:
when and where to store sql lab state,
which state data is persist and which are not,
what is flow look like when user interact with multiple tabs and browsers?

Everything is synced to the backend, including query, tales (and if expanded or not), data preview, results (fetched from the backend), tab title, active tab, selected DB, etc. All changes are stored asynchronously, and the sync of the SQL query itself is done with debouncing.
For multiple tabs and browsers, the old experience remains: the last edit wins. I think we should improve that experience, but the goal for this PR is to move state management to the backend, without changing ay extra functionality.

Hi @betodealmeida In the new implementation, do you store actual query results in table? when query results are huge, it will be a problem for storage. and when user refresh browser, do they download query results again and again?

@graceguo-supercat

Hi @betodealmeida In the new implementation, do you store actual query results in table? when query results are huge, it will be a problem for storage. and when user refreshing browser, do they download query results again?

No, I changed the backend so that sync queries are also stored in the results backend (if it's configured), similar to async queries. Then when we load the tab we load the results from the results backend.

Recreating this on https://github.com/apache/incubator-superset/pull/8060


Added clear configuration to error window

UI version
1.0.23
Your idea
A (not as uncommon as we would like) issue is that the Joulescope UI configuration becomes corrupted.  When the Joulescope UI is running, you can use File → Clear config and exit to delete the configuration and restart from defaults.  However, if the configuration prevents the Joulescope UI from starting, users see the ErrorWindow.
The ErrorWindow should also have the option to delete the existing configuration and restart from defaults.

Fixed in 1.0.27


Generate runnable MLIR from polymer-opt

Currently we generate a single function that takes in block arguments. In order to make it compatible with polybench code in general, we should change the codegen behaviour.
The workflow should work as follows:

The input MLIR code should contain a @main function that acts as the entry point. It should also have a set of affine functions that should be optimised by polymer-opt.
Given the names of the entry point and the affine functions to be transformed (should be passed as command-line args), polymer-opt optimises all the given affine functions and replaces the function call to them by the optimised versions.
We can then perform some post optimisation and lower it down to LLVM.

For example, command like this should work properly:
# In the build/ directory
./bin/polymer-opt ../test/polymer-opt/PlutoTransform/matmul.mlir --pluto-opt=matmul | ../llvm/build/bin/mlir-opt --lower-affine --convert-scf-to-std --convert-std-to-llvm | ../llvm/build/bin/mlir-cpu-runner --entry-point-result=void -O3

TODO -

[ ] #42

If a given input code itself is runnable, Polymer should just replace its scop functions.


Resolve envoy service name from a different position

Using "service.istio.io/canonical-name" to replace "app" label to resolve service name
Improving FieldsHelper to support dot in labels

Fixed #6647

@hanahmily Code style issue? Please recheck.


clarification on pseudo

Nice repository! What is the difference between epseudo and ipseudo algortihms, and the difference between versions?
Thanks in advance.

Nice question. In brief,

The prefixes i and e mean iteration pseudo labels and epoch pseudo labels, respectively. Iteration pseudo labels regard the class estimations in current iteration as the targets of unlabeled data. And epoch pseudo labels regard the class estimations in previous epoch as the targets of unlabeled data in current iteration.
The main difference between versions is how to read data for unsupervised loss. In version 1, the mini-batch data X=Concat(X_labeled, X_unlabeled). That is, the version 1 guarantees a fixed number of labeled data included in mini-batch data X. In version 2, however, the mini-batch data X = RandomSubset(dataset).
More details please refer to the codes.

Thank you so much for the reply.


Pipeline GUI for Devs: Prototype internal team-facing dashboard using Grafana

Explore using Grafana for an internal team-facing dashboard that can be used to look at the health of the validation pipeline and functioning of validation processing.

@lmcnabb Relabeled for Roadmap.   Please review confirm and advise.


Refactor test files to use dynamic resource group names

This pull request introduces changes to the test files in the internal/services/licensing directory to ensure unique resource group names by appending a random number. The most important changes involve modifying the resource group names in various test functions and importing necessary packages.
Test Function Updates:

internal/services/licensing/datasource_billing_policies_environments_test.go: Updated TestAccBillingPoliciesEnvironmentsDataSource_Validate_Read to append a random number to the resource group name using strconv.Itoa(rand.IntN(9999)).
internal/services/licensing/datasource_billing_policies_test.go: Updated TestAccBillingPoliciesDataSource_Validate_Read to append a random number to the resource group name.
internal/services/licensing/resource_billing_policy_environment_test.go: Updated several functions (TestAccBillingPolicyResourceEnvironment_Validate_Create, TestAccBillingPolicyResourceEnvironment_Validate_Update) to use a random number in the resource group name. [1] [2] [3] [4]
internal/services/licensing/resource_billing_policy_test.go: Updated multiple functions (TestAccBillingPolicyResource_Validate_Create, TestAccBillingPolicy_Validate_Update, TestAccBillingPolicy_Validate_Update_ForceRecreate) to use a random number in the resource group name. [1] [2] [3] [4]

Package Imports:

Added math/rand/v2 and strconv imports to several test files to facilitate the generation of random numbers for resource group names. [1] [2] [3] [4]

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 76.26%. Comparing base (e153201) to head (4ffc078).
Report is 9 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #483      +/-   ##
==========================================
- Coverage   76.38%   76.26%   -0.13%
==========================================
  Files          98       98
  Lines       11207    11246      +39
==========================================
+ Hits         8561     8577      +16
- Misses       2048     2060      +12
- Partials      598      609      +11

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


Add diagrams page to Documentation style overview

This is a Feature Request
Add documentation diagram page to documentation style overview. This provides guidance/instructions on how to create and add useful diagrams to contributions where appropriate.
What would you like to be added
Diagrams add clarity and understanding to docs readers. Docs contributors should have instructions on how to create and add very simple diagrams to docs  pages.
Why is this needed

No formal or informal content on docs diagram generation, placement, different methods, etc. Result is ad-hoc or no diagrams.

Comments

Refactor https://github.com/chrismetz09/K8s-docs-mermaid as input
Include instructions/examples of how to imbed and reference svg or png files
any other important features/functions contributors should have for making diagrams.

Hi @chrismetz09 Can I work on this issue?

Hey @jayesh-srivastava, I already have some content ready to go. Can I ask you to review?

/assign

@chrismetz09 Sure will review it.


Getting very inaccurate temperature readings

Hey guys,
I have six of the sensors around the house, some also where already other sensors exist, so  I can compare the results. Something I don't really need another sensor for is the fact, that the remperature is off by some extend. It's always way too high by 5-10°C - same error with °F btw.
Any ideas what could cause this? It makes them practially useless.
Thanks

Do you by any chance have DHT11 rather than DHT22

No, but I think I see the issue now: the case. I think it heats itself up and the ventilation by the few left-outs isn't enough by any chance to get proper readings.
How I know this? I aimed a little USB ventilator at the box to get some airflow. And voila, the temperature seems much more likely to be correct: went from 31°C to 24° - which seems reasonable.
I will verify further, design a new case and make a pull request for it once I've tested it ... will take some time though :-)

Yeah, in doing some testing with this tonight. It does appear that the case is causing the heating issues. Sorry about that! You could add an offset in the code, but that's not a great solution. I'm going to redesign the case and move the sensor further from the board. That should help.
@TheFitzZZ, if you come up with a new case design, too. I'd be happy to post the link or host the STL in the repo if you want!
Cheers!

Hi
I am using dht11 sensor.
it shows temprature 987 c and humidity 1098%.
Can you help me out to fix this issue?
Thanks

@gillrishi get a dht22

Ok..
Thanks for your help

Yeah DHT11 sensors aren't as great. If you use a DHT11, make sure you set line 73 to
#define DHTTYPE   DHT11

Cheers!

Looks like the V2 case might be doing something similar though. i'm getting about 5C difference even on the new case.


Bug:  Deployed Elixir app breaks due to Rustler trying to link in Mix

Mix is only available in a dev environment, not a release environment, and it seems that Rustler is using Mix itself at:  https://github.com/hansihe/Rustler/blob/master/rustler_mix/lib/rustler.ex#L14
This causes the app to fail when deployed.  What should happen is that any generated nif's should be stored in the application-specific priv directory (which you can get via :code.priv_dir(:application_name), thus you might need to have the load_nif macro get passed in the application atom as well), then loaded from that directory by getting the private directory path (again via :code.priv_dir(:whatever_application_name)).  Mix should never be accessed at any other time other then during compilation.  :-)

Also, the tasks at lib/task_compile.ex and lib/task_new.ex should really be located at lib/mix/tasks/compile.rustler.ex and lib/mix/tasks/new.ex respectively.  :-)

I did not think of this, this is definitely a high priority issue.
I will hopefully get to look at this later on today.


Need to test the enrichment plugin code

THe module load code needs to be test.  In theory, it goes through the plugins directory and stores them in a yapsy plugin manager as well as an in-memory sql lite database for referencing.  However, we need to ensure it all works.

completed.


chore: [IOBP-832] Add refreshControl to the GradientScrollView component

Short description
This PR adds the refreshControl properties to the GradientScrollView component to use in some scenarios where it is required to let the user hard-refresh the content in the scroll view.
List of changes proposed in this pull request

Added the optional property refreshControl to the GradientScrollView component that if provided, that prop is passed to the animated scroll view.

How to test
You could test it by using this PR with this implementation made in the io-app repository: https://github.com/pagopa/io-app/pull/6108

@Hantex9 GradientScrollView has been replaced by IOScrollView in the main app. What are the current limitations in the IOScrollView component that don't allow you to use the latter?

@Hantex9 GradientScrollView has been replaced by IOScrollView in the main app. What are the current limitations in the IOScrollView component that don't allow you to use the latter?

IOScrollView, like GradientScrollView, does not have integrated support for refreshControl, which is necessary for implementing pull-to-refresh functionality. I opened this PR because the file I modified was already using GradientScrollView, and since it didn't have a deprecation tag, I assumed it was still valid to use. However, the change should indeed be made to IOScrollView. I'll address this in the parent PR for the main app and close this PR for this repository. Thank you!


feat: Connect to synchronized kernel

I managed to implement an MVP for my feature request on https://github.com/kiyoon/jupynium.nvim/issues/76. The implementation follows your suggested approach:

start sync
Request the connection info by executing javascript Jupyter.notebook.kernel.id
Open a terminal and connect to it by running jupyter console --existing.

This implementation supports connecting to a remote kernel by explicitly passing a hostname parameter and a naive approach(ssh host -t), and this require https://github.com/akinsho/toggleterm.nvim as a dependency
You can view the workflow here:
https://user-images.githubusercontent.com/41792945/231675700-e4987167-9f4d-4225-9a62-e2c9ec690d9e.mp4
In my opinion, to improve this functionality, we may need to:

[x] Better function name
[x] Native terminal
[x] Expose user configuration interfaces to modify the running command and terminal style.
[x] Document
[x] Check windows support

Long-term plan

[ ] Improve the process of connecting to a remote kernel to make it more intelligent.
[ ] autocompletion https://github.com/jupyter/qtconsole/issues/99 https://github.com/hrsh7th/nvim-cmp/issues/1219
[ ] Notebook 7 support https://github.com/kiyoon/jupynium.nvim/issues/74

As a beginner in JavaScript and Neovim plugin development, I would be grateful if you could share any additional ideas you may have to further improve this functionality. Additionally, I would appreciate your guidance on what else I need to do to merge this pull request.

Hi, thanks a lot for the PR! This looks awesome.

Is there any reason you used toggleterm? I haven't used the plugin but it's better not to have too many dependencies. Is it possible to just open a terminal natively and connect to the kernel?
To keep the naming consistent, we can change the name to :JupyniumKernelConnectInTerminal. Or, :JupyniumKernelOpenInTerminal may be a more user-friendly name?

Thank you for your suggestion. I will start making the changes immediately. The following points may require further input:
Toggleterm exposes an interface(https://github.com/akinsho/toggleterm.nvim#custom-terminals) for creating terminals, which makes it easier to configure and use. To balance this point and keep the dependencies minimal, it may be possible to fallback to Neovim's native terminal (just like Notify) when the user is detected not to have installed it.
Personally, I don't use Windows, so I would like to know which functions may not be compatible with Windows?

If the configuration is not absolutely game-changing, I think the native terminal still can do most. We already have quite many dependencies and things like this can be hard to maintain and test. I also know many people like to use floaterm, so toggleterm is not necessarily the one and only chose when it comes to terminal management?
Maybe it will work directly on PowerShell / CMD if your command is simple. If you have strings with quotes etc. you have to escape the commands in a slightly different way. You can assume that the command ssh is installed already, as I think it is installed by default on PowerShell? I also don't develop on Windows but I realised many people develop on Windows just because it's a company requirement related to software security etc. etc.

OK, I will use the native terminal as default and expose the kernel id, so the user can define their own terminal interface if they want. As for Windows, the commands I am currently using are relatively simple, so they should be able to run without issue. However, I will keep in mind that I may need to use more complex commands in the future.

Let's first see how many people uses this feature. I think it's a niche functionality only a few people may use (but still very useful, thanks!), so if they ever wanted to customise terminal interface we can then put some more options without a dependency. First of all, is there any requirement for you or is horizontal split enough most of the time?
And the kernel ID is able to be achieved with the Lua API with one line of javascript. We don't need to really expose it I think.

And the kernel ID is able to be achieved with the Lua API with one line of javascript. We don't need to really expose it I think.

What I meant was to implement a function similar to Jupynium_connect_info(bufnr), which would only return the kernel ID. There is no need to create a Vim command for it, but it could be mentioned in the README file along with an example of how to require it to create a terminal. This way, users can configure it in their init file.
Or do we already have something like :lua Jupynium_execute_js()? Then that's definitely unnecessary.

:lua Jupynium_connect_info(bufnr)

This can be done with Jupynium_execute_javascript(bufnr, "Jupyter.notebook.kernel.id"). It's in the Lua API section in the README. So we can provide your functionality without needing an extra dependency, but for people who really want to customise it can still achieve that easily.

In the README, I think instead of long description you can just add in the Vim Commands section, add one line of description would be enough? I appreciate it though!

In the README, I think instead of long description you can just add in the Vim Commands section, add one line of description would be enough? I appreciate it though!

Good for me, I also feel that the long description now looks a bit inconsistent.

@sho-87 Hi, it would be really appreciated if you can test this feature on Windows. It runs a shell command so I think potentially it will be buggy on Windows shell.
Only if you care about this feature though!
You can just test :JupyniumKernelOpenInTerminal and see if you can interact with the Jupyter kernel of the opened notebook.

A couple of things:

JupyniumStartAndAttachToServerInTerminal is not available to me without first starting/attaching to the server. I presume I should be running this command instead of the traditional startattach?
The command JupyniumKernelOpenInTerminal itself seems to work fine for me. I created a cell and executed the code, then running JupyniumKernelOpenInTerminal opens up an nvim terminal running ipython, and I have access through that to the variables I created. neat stuff

Isn't this basically a REPL window that is connected to the notebook kernel? Calling it a REPL might make it more obvious what this feature does

Basically, yes. But it would be a bit weird to use it as REPL since we don't know which kernel to connect without sync with jupynium. And jupynium already work as a better REPL.
Or we can let JupyniumStartAndAttachToServerInTerminal available without syncing (then it only connects to recent created kernel), and we can use it also a REPL if we cannot access GUI at some moment. But this seems inconsistent with current jupynium workflow

@sho-87

I think it's because you lazy load on command. However, you don't need to run that to be using this feature. :JupyniumStartAndAttachToServerInTerminal just shows the output logs of Jupynium, and I don't see a good way to combine this two features

I'm open for suggestions. I used the name kernel for consistency, but REPL might be a better name. If we do change the nameit would be JupyniumOpenREPLInTerminal

I think it's because you lazy load on command. However, you don't need to run that to be using this feature. :JupyniumStartAndAttachToServerInTerminal just shows the output logs of Jupynium, and I don't see a good way to combine this two features

yup, I was just confused about the correct way to test this, but the JupyniumKernelOpenInTerminal by itself was working fine

I'm open for suggestions. I used the name kernel for consistency, but REPL might be a better name. If we do change the nameit would be JupyniumOpenREPLInTerminal

tbh I'd be ok with it either way. I was just trying to create a mental model for myself regarding what the feature would be for and REPL was the first thing that came to mind

To make it a real REPL we should also implement a method to send code cell to the terminal, currently it's just a plain terminal

Okay, I think it's ready and the current name sounds good enough. Thank you @fecet and @sho-87 for this cool feature and testing it!


Symbol confusing in Chapter Gaussian Process 18.2.2 Mercer’s theorem (version 2022-07-01)

Hi,
I found the symbol of eigenvector and eigenfunction is somewhat confusing in 18.2.2 Mercer’s theorem, formula 18.33 and 18.34.
In formula 18.33, the vector φ(x_i) = Λ^(1/2) U:i seems to be eigenvector multiplied by a scale lamda.
However, in formula 18.34, φ is denoted as a uniform eigenfunction with inner product of the value Kronecker delta across each other.
(I suggested writing something, so that readers be aware that φ in formula 18.34 and 18.35 is actually uniformed, and is different with that in formula 18.33.)
Another symbol which may cause confusing is that, in formula 18.37, eigenfunction φ is seems to be scaled as that in 18.33.
(I mean, it's not a very big issue for reader who is good at matrix analysis. But for some unskilled reader as I am, it takes some time to figure out what is going here. For example, now that it is not a uniformed eigenfunction, it would not follow as the formula 18.35, of which the inner product is something else, Kronecker delta multiplied by a specific eigenvalue, rather than a  Kronecker delta.)

fixed thanks


[Fix #12888] Fix --no-exclude-limit for cops with Max config option

Fixes #12888. Basically, the problem here was a missing no_exclude_limit? when deciding if Max should be set. Factored out into its own method because of Metrics cops.

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

Thanks!


Bug: does not show how many votes remain (says NaN)

I was on rinkeby not xdai. It works fine on xdai!

Ah. Great to hear! Thanks for following up :)


Notebooks: Run All Cells in SQL Kernel Doesn't Render All Tables Completely

Create new notebook with 3 cells (each line is in a new code cell):
SELECT * from sys.tables
SELECT * from sys.all_columns
SELECT * from sys.tables

The 2nd cell doesn't render completely:

I see a lot of exceptions that may be related in the console:
Cannot read property 'displayValue' of undefined: TypeError: Cannot read property 'displayValue' of undefined

For tomorrow 😛


What is cd_target

in the training code, there is cd_target argument.
can you explain what it is ~?

Hi there, thank you for your interest in our work!
cd_target refers to the different consistency distillation target (see our paper Sec 3.2), it is defined here https://github.com/yhZhai/mcm/blob/d210332490cfbcb6bc9c71a57dd1091907e5b16d/args.py#L402

so much thanks for the answer,
i want to know that model name "ViT-g-14" does not correspondent to "weights/open_clip_pytorch_model.bin"
Can you check once.. ?
Thanks!

Hi there,
The CLIP model is downloaded with this script, where the CLIP model checkpoint is named as open_clip_pytorch_model.bin. Please find more details from the original repo.


jellyfin: Add version 10.6.4

Hi,
Jellyfin is a open source fork of Emby, a media server similar to Plex.
This is my first manifest, so I am happy about any feedback I can get.
Also, please squash and merge these changes (if you don't do this anyway) when ready, as my commits are small and many.

I am not sure I understand what you are requesting exactly. The manifest in this PR is using the same URL (and release of Jellyfin) as the one in your personal bucket.
If you are referring to the "more portable" release of Jellyfin than this one, the one that is actually named "portable", I am afraid that it does not contain a runnable jellyfin.exe file and would introduce an additional dependency on the .net core runtime. Would that still be preferrable to this release, considering that the app itself (although not the data) is portable?

I am not sure I understand what you are requesting exactly. The manifest in this PR is using the same URL (and release of Jellyfin) as the one in your personal bucket.
If you are referring to the "more portable" release of Jellyfin than this one, the one that is actually named "portable", I am afraid that it does not contain a runnable jellyfin.exe file and would introduce an additional dependency on the .net core runtime. Would that still be preferrable to this release, considering that the app itself (although not the data) is portable?

/verify

/verify


set height to auto for mobile

Carousel image text was illegible on mobile. I understand it does break the aesthetic of full height splash images. But the Aspect ratio was braking. I hope its an ok commit. Let me know if there are any problems.

 That is crazy. What browser are you using? That seems like a positioning problem that I don't know how to recreate.

I am really happy how we we're able to help such a huge community and form an entire network of open-sourcers. Thank you for taking up this project to present. Anyways, I'll try to look into a way on how you could recreate the bug and let you know soon :)


IValidatableObject.Validate should always be called

Due to this line:
https://github.com/aspnet/Mvc/blob/dev/src/Microsoft.AspNetCore.Mvc.Core/ModelBinding/Validation/ValidationVisitor.cs#L243
The IValidatableObject.Validate method of a complex type will not be called when any of its child nodes have failed validation.
I feel that this should not be so: consider, for instance, a custom bit of validation logic that needs to assess the values of three properties in relation to each other. Having one other property on the model that uses a data annotation attribute will prevent the error from being displayed to the user. They will think they have corrected their submission according to the details displayed in their browser only to be greeted by a new, different error that should have been displayed the first time.

We did some research and it seems that the behavior in MVC matches what Data Annotations does in its various validation APIs. You can see the logic here: https://referencesource.microsoft.com/#System.ComponentModel.DataAnnotations/DataAnnotations/Validator.cs,360
The object-level validation runs only if the properties are valid.

I am aware of that behavior... and I am not a fan of it, considering scenarios like the one I outlined. I thought maybe I had already logged an issue with corefx asking for another overload of TryValidateObject that doesn't skip object-level validations, but I can't find it, so I guess not.
Is this something where the team would consider adding an option to influence this behavior? Without digging into the source again, my memory is telling me that it wouldn't be a walk in the park to achieve the same result by extending or implementing something (I don't recall if ValidationVisitor can even be subbed for something else.)

@rynowak any thoughts on that?
I recall that in MVC1 - 5 there was a way to plug in validation providers that could introduce entire new validation paradigms to increase synergy ahem. Back in the day there was first an IDataErrorInfo provider (how many of you kids are old enough to remember that interface), and then later the Data Annotations-based provider. And one could easily plug in their own completely custom mechanism.
I'm not sure if ASP.NET Core MVC has this type of extensibility.

A rough workaround:
public async Task<IActionResult> ActionName(ViewModel vm)
    {
        ValidateViewModel(vm);

        if (!ModelState.IsValid)
        {
            ...
    }

private void ValidateViewModel(IValidatableObject vm)
    {
        var errors = vm.Validate(null).ToList();

        errors.Where(vr => vr.MemberNames == null)
            .ToList()
            .ForEach(vr => ModelState.AddModelError("", vr.ErrorMessage));

        errors.Where(vr => vr.MemberNames != null)
            .SelectMany(vr => vr.MemberNames.Select(mn => new { MemeberName = mn, vr.ErrorMessage }))
            .ToList()
            .ForEach(vr => ModelState.AddModelError(vr.MemeberName, vr.ErrorMessage));
    }


Addition of female population percentage for Bangladesh

Hi ,
I want to add the female population percentage for Bangladesh.
Can i go ahead ?

Sure @AdityaGupta2791  .. you can go ahead and raise a PR.


Create GitHub repo and enable Travis from CLI

It would be nice if yo nm had the option of creating a GitHub repo, and enabling Travis on it. With the hub and travis CLIs this is fairly easy to do:
$ git init my-repo
$ cd my-repo
$ yo nm
$ hub create -d 'My awesome repo'
$ travis enable

# code...

$ git add -A
$ git commit -m 'Init commit'
$ git push origin master
$ npm version major
$ npm publish
$ git push origin master --follow-tags

I put this together, I'm trying to find a good way of packaging up the travis gem as well.

I think I am :-1: on this.
In my mind there are only two lines of interest.
$ hub create -d 'My awesome repo'
$ travis enable

I definitely do not want the rest of those lines happening automatically.
Even then, I usually do not run hub create until I am sure I am onto something useful. I make a fair number of false starts that I quickly discard.
It seems like it would be better to create a wrapper-cli that does this:
$ hub-create -d 'My awesome repo'

# performs the following
git init  #if required
hub create -d 'My awsome repo'
travis enable
# set description in package.json
# set description line in README.md (that might be hard to parse).

I definitely do not want the rest of those lines happening automatically.

sorry, i just posted my entire copy-paste script

I personally prefer to work in private until I have something worth showing and then do the publish travis dance.

@sindresorhus what about a sub-generator (nm:publish) that handled the "publish travis dance".
You could defer most of the prompts until the latter steps.
$ yo nm
? Do you need a CLI (y/N)

yo nm:publish
? Init GitHub Repository (Y/n) #skipped if `git init` already ran and has at least one remote set.
? What do you want to name your module #sets name in package.json, and repo name for `hub create`
? Provide a description # sets description in package.json / Readme.md / and description for `hub create`
? What is your GitHub username # defaults to package.json, followed by stored previous answer
? What is the URL of your website # defaults to value in package.json, followed by stored previous answer
? Enable Travis (Y/n)

I'd prefer to still git push on my own, so nm:publish may not be the correct name.

I like that idea.

My fork (#68) basically does this. Screenshot:

Also, I did not think of making this a sub generator... I'm wondering how important that is now?

I'm going to pass on this. I don't want to maintain something I wouldn't use myself. I'm happy to link to alternative generators though.

I'm going to pass on this. I don't want to maintain something I wouldn't use myself. I'm happy to link to alternative generators though.


Bump service version from 3.27.0 to 3.28.0

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 31.551%

Totals

Change from base Build<PHONE_NUMBER>:
-0.02%

Covered Lines:
12546

Relevant Lines:
14234

💛  - Coveralls


Mostly Fixes TEIIDTOOLS-132

had to keep the wizard button where it currently is (to the right of the other buttons). I managed to move it to the other buttons but the footer resized to the size of its contents. When I changed the footer to span 100% of the width the cancel button moved all the way to the left while the other buttons stayed all the way to the right.
separated the git widget repository properties and authentication properties into separate pages.
unable to test a successful git export. Even before this work I could never get it to work. So please whoever is reviewing test this first.
the URL validation will currently not allow a git SSH URL as it does not comply to with the URL validator built into angular.

Looks good.


Icons: enable ebrc icons from @veupathdb/web-common

Custom font-based icons from @veupathdb/web-common are not working. It is likely an issue with how the icon woff files are deployed.

It appears that the file-loader webpack loader is corrupting the font files. This only impacts the local dev site. A workaround is to link @veupathdb/web-common from the repo https://github.com/VEuPathDB/EbrcWebsiteCommon. When this is done, the fonts are loaded property.
Given the workaround, I'm going to move this issue to technical debt list, even though this isn't technically technical debt.

Icons in the EDAWorkspaceHeading component look fine. Icons in the DataGrid button are currently hidden


cache installer in the toolcache

Some concern about caching the entire install, but this should at least save self-hosted runners having to download the installer every run.
Enhancement for #145

Unfortunately, this is not working as intended.  It seems that the date is not passing the check of a valid semver, and causing the toolcache to not find any version.  Stupid thing.

@jeremyd2019 do you need a new release of this action (since #148 was merged)?

Not personally.  I've moved to using release: false to reuse the msys2 install on my self-hosted runner, I just have to remember to install it manually when setting up the runner.


Radio Group Example Doesn't Render

Prerequisites

[X] I have searched for duplicate or closed issues
[X] I have read the contributing guidelines

Describe the issue
https://modus-web-components.trimble.com/?path=/docs/user-inputs-radio-group--medium#radio-group

Reduced test cases
No response
What operating system(s) are you seeing the problem on?
Windows
What browser(s) are you seeing the problem on?
Microsoft Edge
What is the issue regarding ?
Modus Web Components Website (Storybook)
What version of npm package are you using ?
0.16.0
Priority
Low
What product/project are you using Modus Components for ?
ModusBlazor
What is your team/division name ?
AECO
Are you willing to contribute ?
None
Are you using Modus Web Components in production ?
No response

Just highlighting this more specifically:

This has been fixed with a documentation update.


:lady_beetle: Add 'glance' storage to individual vm, instead of all Openstack vms

Issue:
We currently assume all Openstack vms use 'glance' storage:
Ref:
https://github.com/kubev2v/forklift-console-plugin/blob/a69b29f7182559b0c2039a5af0761b319f451321/packages/forklift-console-plugin/src/modules/Providers/views/migrate/reducer/calculateMappings.ts#L125
We should refine this assumptions with better check for getStoragesUsedBySelectedVms and add glance only to vms that use vm.imageID != ""  and remove the current code for adding glace to all vms.
Ref:
https://github.com/kubev2v/forklift-console-plugin/blob/8bdf65251db4b59a65083bedb65f6fc0e9243c87/packages/forklift-console-plugin/src/modules/Providers/views/migrate/reducer/getStoragesUsedBySelectedVMs.ts

Closing as duplicate of #1081


Fatal Error: infiniband/verbs_exp.h and Compilation terminated

Hello Team,

I am working on the freeflow practical simulation and facing an error while runing build.sh file as described in Step 2.
Request you to please suggest some solution.

are you using exactly this OFED library? MLNX_OFED_LINUX-4.0-<IP_ADDRESS>-ubuntu14.04-x86_64.tgz?

Yes I am using the same OFED Library. Also I am getting another error while running ./configure --prefix=/usr/ --libdir=/usr/lib/ --sysconfdir=/etc/
as shown in screenshot.

Thank you I am able to download the correct version of Mellanox OFED driver. However again got new error while installing as shown in screenshot saying one or more packages are missing. Could you please suggest commands to solve this.

This is not related to Freeflow. This is a Mellanox OFED installation issue, or it could be your docker container issue.
It seems that apt-get cannot run properly to install Mellanox OFED prerequisites.


Consider reservedTo before switch priority

@bratseth
FYI @yngveaasheim

Hmm, are we sure we want this? They will just be moved afterwards when switch rebalancing is enabled.

At the moment, this is a problem due to VESPA-19616, making it pretty hard to avoid nodes ending up on another host with bad SSD, eg as experienced in VESPA-19879. Also ref VESPA-19882.

Yes, we're missing a feature for dealing with this problem (we's want something like the reverse of reservedTo), and are trying to make do with what we have.
Fine, but could you add a todo on correcting the order again later @mpolden ?

They will just be moved afterwards when switch rebalancing is enabled.

Yes, but I think that's fine. This also applies to rebalancing, if skew can be reduced by using a non-reserved host Rebalancer will move away from the reserved host eventually (since reservedTo is cleared after first deployment).
Additionally if a non-reserved host is always picked over a reserved one, the latter will never become available to other tenants (reservedTo is never cleared).

Additionally if a non-reserved host is always picked over a reserved one, the latter will never become available to other tenants (reservedTo is never cleared).

Good point. Reminds me why I don't like the reservedTo feature.


"ui.view.symbols.seamlessNavigation" causes spurious navigation events

3.6 dev
If you have the ui.view.symbols.seamlessNavigation setting it will occasionally cause spurious navigation events while navigating using the crossReference pane.
Repro steps:

Click on an code reference to a IAT or PLT entry
Double click the code reference in the cross references pane
Notice that it navigates to the function start instead of the cross reference

Fixed in 3.6.4774-dev.


General refactoring and initial release

Added in https://github.com/butuzov/mirror/commit/1e3ebec59b384c7e5e30210f4345c7f4081419c4


Create icon (svg)

I have created the icon. Here is a screenshot:

I wasn't sure how to use it in your project so I have left it in the root folder so you can use as desired.

Hey, It looks awesome!! Thanks, @validity-check .


No payload.before or url in old (< 2015) PushEvents in githubarchive on BigQuery

I'm wanting to find what the old HEAD was for PushEvents using Google BigQuery.
Events after 2015-01-01 include a payload.before field that includes this. Old commits (prior to 2015-01-01) don't have this field. However, old commits instead have a url field of the form https://github.com/user/repo/compare/0000000000...ffffffffff which can be parsed to recover the same value (though truncated to 10 characters).
Until recently the url field was a column in both [githubarchive:year.20xx] and [githubarchive:github.timeline] and I could use it fine. It recently disappeared. Could you please add this data back to the Google BigQuery dataset?
If you're doing any dataset normalization before uploading to BigQuery, you might want to parse the old sha1 from the url field of <2015 PushEvent and inject it into the payload as payload.before. Or just add the whole url field back as a column in BigQuery.
(A side note, now that I would have to query the whole payload column in BigQuery, this is a very expensive query. Previously I could just get the value I wanted from the url column. This is a ~1TB query instead of a few GB. I'm not entirely sure what the value of BigQuery is now that you've combined all the data into one payload column.)

We normalized the dataset between 2011-2015.. so, all pre 2015 events have same top-level structure and all remaining fields are within the payload (JSON field). You should be able to extract the field you're looking for from that via JSON_EXTRACT.

No, the data I'm looking for isn't there. If you look at PushEvent events from 2014-01-01-1.json.gz, the payload only contains sha, size, ref, and head in the top level payload. The problem is the url field is another top level field and is not present in the BigQuery data.
If you look at https://bigquery.cloud.google.com/table/githubarchive:day.20140101 and use the preview option to look at some PushEvent records, you will see that the payload column matches the payload field from the json.gz file exactly, and the url value is no where to be found. It is not in the other column either.

All that said, I realized there's a second way I can recover this data. I should be able to query BigQuery for all PushEvents and then use window functions to group each push event with the previous PushEvent for the same repo, user and ref. The LAG() function should be able to return the previous value. (This assumes there are no missing push events in the archive, actually preserving url field the data would avoid any missing data problems.)

@bburky hmm, interesting. For this particular case, that field should have been pushed into "other" string field. Except, I don't see it.. @arfon, did we miss this one?

@bburky hmm, interesting. For this particular case, that field should have been pushed into "other" string field. Except, I don't see it.. @arfon, did we miss this one?

Yeah, looks like we did 😞 . @igrigorik - it's straightforward for me to regenerate the transformed files again to be imported into the githubarchive tables (and I don't think this field is present anymore so isn't an issue for newer events).
Shall I go ahead and re-process the older files or would it be better to just have a smaller set of event_id => url mappings so that you can update the tables in place?
Also, thinking about it, this issue was caused by me writing this method pretty stupidly as I've essentially got the schema hard coded in here (for the top level fields). I'll try and look at improving that.

Shall I go ahead and re-process the older files or would it be better to just have a smaller set of event_id => url mappings so that you can update the tables in place?

The former, we can just overwrite the pre 2015 tables once over.

The former, we can just overwrite the pre 2015 tables once over.

@igrigorik - OK, I've started these processing this morning. I'm about to head out on holiday for a week and so will try and find some internet access during my trip to upload these when they're processed.
@bburky sorry about this!

Great, glad you figured it out. I'll wait for the data to be updated.

@igrigorik - I'm uploading the re-generated files to gs://githubarchive-bigquery/transformed-part-deux/. These should all be there in < 24 hrs.
I processed all years but I'm pretty sure that this top-level url field is only present in the PushEvents for pre-2015 data.
Perhaps you could share some links to some of these files from the githubarchive-bigquery bucket once these have been uploaded so that @bburky can confirm these are looking better? (I'm currently on very spotty internet in rural Canada 🍁 and so would have done this myself otherwise)

OK, @bburky - could you take a look at the attached file? This now has the url persisted in the other field: 2014-01-01-1.json.gz
@igrigorik these are all uploaded now to gs://githubarchive-bigquery/transformed-part-deux/

Hey guys, apologies, I've been out all last week.

@bburky can you confirm that the file @arfon shared has all the data you're looking for?
Once we confirm I can cp the new files to the gs bucket and we'll have to rebuild the BQ tables once over. Anything else? @arfon do we need to update the transformer code in this repo to match your changes?

@arfon do we need to update the transformer code in this repo to match your changes?

I think we probably should for good housekeeping. There's now a set of 'expected' top-level fields that we check against and warn if there's something new.
Knowing what I know now I'd really like to completely rework this code but I'm a little short on time to work on this currently...

Yes, it looks like the url field is showing up in other now. This should work fine. Thanks!

Knowing what I know now I'd really like to completely rework this code but I'm a little short on time to work on this currently...

If you get around to it, I'd be happy to take a pull :-)

I've rebuilt the BQ tables for 2011-2015 based on reprocessed files -- thanks!
Monthly + Yearly summary tables have been updated based on (1)

Closing.

If you get around to it, I'd be happy to take a pull :-)

Will do.

Thanks for your fixing the data. I was able to use BigQuery to get the data I wanted.
If you ever want to get git reflog-like data out of the archive you can use the following query:
select *
from (
  select
    created_at,
    REGEXP_EXTRACT(repo_url, '/([^/]+)/[^/]+$') as user,
    REGEXP_EXTRACT(repo_url, '/[^/]+/([^/]+)$') as repo,
    JSON_EXTRACT_SCALAR(payload, "$.head") as head,
    IFNULL(
      JSON_EXTRACT_SCALAR(payload, "$.before"),
      REGEXP_EXTRACT(
        JSON_EXTRACT_SCALAR(other, "$.url"),
          '/compare/([A-Fa-f0-9]+)\\.\\.\\.[A-Fa-f0-9]+')
      ) as before,
  from TABLE_QUERY([githubarchive:month], 'true')
  where type = 'PushEvent'
) where
  -- Skip pushes with no change. `before` might be truncated though.
  LEFT(head, LENGTH(before)) != before;

(The regex isn't perfect, it really should end with a $, but I got tired of fighting regexes.)
This gets the before and after values of HEAD for each PushEvent from the GitHub archive. After processing 1.41TB of data (and $7 for the query), this returns a nice small 30GB of results that can then be analyzed.


Small CI tool improvements

Objective

The CI tool is slowly getting more difficult to maintain and could use a bit of refactoring.

Solution

Do a first pass of small improvements.

For Reviewers
This PR is best reviewed commit-by-commit, because I separate it into a collection of small changes. :)

Accidentally deleted the branch, re-opening 😅


Is supported BatchDeleteItem for custom resolver?

Hello everybody!
I have a problem with a custom resolver using BatchDeleteItem operation.
mutation:
type Mutation {
    batchDeleteDocuments(ids: [ID]): [Document]
}

resolver
"BatchDeleteDocumentsResolver": {
	"Type": "AWS::AppSync::Resolver",
	"Properties": {
		"ApiId": {
			"Ref": "AppSyncApiId"
		},
		"DataSourceName": "DocumentTable",
		"TypeName": "Mutation",
		"FieldName": "batchDeleteDocuments",
		"RequestMappingTemplateS3Location": {
			"Fn::Sub": [
				"s3://${S3DeploymentBucket}/${S3DeploymentRootKey}/resolvers/Mutation.batchDeleteDocuments.req.vtl",
				{
					"S3DeploymentBucket": {
						"Ref": "S3DeploymentBucket"
					},
					"S3DeploymentRootKey": {
						"Ref": "S3DeploymentRootKey"
					}
				}
			]
		},
		"ResponseMappingTemplateS3Location": {
			"Fn::Sub": [
				"s3://${S3DeploymentBucket}/${S3DeploymentRootKey}/resolvers/Mutation.batchDeleteDocuments.res.vtl",
				{
					"S3DeploymentBucket": {
						"Ref": "S3DeploymentBucket"
					},
					"S3DeploymentRootKey": {
						"Ref": "S3DeploymentRootKey"
					}
				}
			]
		}
	}
}

request:
#set($ids = [])
#foreach($id in ${ctx.args.ids})
  #set($map = {})
  $util.qr($map.put("id", $util.dynamodb.toString($id)))
  $util.qr($ids.add($map))
#end

{
  "version" : "2018-05-29",
  "operation" : "BatchDeleteItem",
  "tables" : {
    "DocumentTable": $util.toJson($ids)
  }
}

response:
$util.toJson($ctx.result)

error:

Is it my mistake or is not supported the BatchDeleteItem operation?
I can see that the actions not allow this operation:
"Action": [
    "dynamodb:BatchGetItem",
    "dynamodb:BatchWriteItem",
    "dynamodb:PutItem",
    "dynamodb:DeleteItem",
    "dynamodb:GetItem",
    "dynamodb:Scan",
    "dynamodb:Query",
    "dynamodb:UpdateItem"
],

How can support be added to this need?
Thanks!

I found my mistake thanks to the issue #1079, instead:
#set($ids = [])
#foreach($id in ${ctx.args.ids})
  #set($map = {})
  $util.qr($map.put("id", $util.dynamodb.toString($id)))
  $util.qr($ids.add($map))
#end

{
  "version" : "2018-05-29",
  "operation" : "BatchDeleteItem",
  "tables" : {
    "DocumentTable": $util.toJson($ids)
  }
}

must be:
#set($ids = [])
#foreach($id in ${ctx.args.ids})
  #set($map = {})
  $util.qr($map.put("id", $util.dynamodb.toString($id)))
  $util.qr($ids.add($map))
#end

{
  "version" : "2018-05-29",
  "operation" : "BatchDeleteItem",
  "tables" : {
    "Document-irlvgawxhbekzpuxpzjwg4o57y-dev": $util.toJson($ids)
  }
}

It is confusing :(, the TableName really is DocumentTable, at least in AppSync, but on DynamoDB the TableName is Document-irlvgawxhbekzpuxpzjwg4o57y-dev, that's how it works.

Yea the issue the resolver needing the exact name of the table listed in dynamodb, though we are looking at some ways can address this.

I tried to replicate this exact same behavior, but using the mock api. The code compiles but executing it does nothing. Is an expected behavior for local db for mocking?

@SwaySway is there a way to address having the exact table name in the batch resolver?


[freeimage] Fatal build when add costom definition under editable mode.

Describe the bug
I used freeimage library. The wrong thing happend when I try to change BGRA color order into RGBA by adding new definition in CMakeLists.txt under editable mode. There are lots fatal log reported. Below shows how I operated:
Environment

OS: Windows
Compiler: MSVC2019

To Reproduce
Steps to reproduce the behavior:

1 vcpkg install freeimage:x64-windows --editable
2 add definition "#define FREEIMAGE_COLORORDER FREEIMAGE_COLORORDER_RGB" in FreeImage.h
3 vcpkg install freeimage:x64-windows --editable

Expected behavior
Build successfully.
Failure logs

Additional context
Add any other context about the problem here.

Please append error logs.

Please append error logs.

Do you mean failure logs ? If not I don't know where the error logs file locates.

As shown in your screenshot:
See logs for more information:
    D:\GitProject\vcpkg\buildtrees\freeimage\install-x64-windows-dbg-out.log

install-x64-windows-dbg-out.log


Do not pass ng test when an unknown option prevent them to run

Versions
Angular CLI: 6.0.3
Node: 10.0.0
OS: linux x64
Angular: 6.0.2
... animations, cdk, common, compiler, compiler-cli, core, forms
... http, language-service, material, platform-browser
... platform-browser-dynamic, platform-server, router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.6.3
@angular-devkit/build-angular     0.6.3
@angular-devkit/build-optimizer   0.6.3
@angular-devkit/core              0.6.3
@angular-devkit/schematics        0.6.3
@angular/cli                      6.0.3
@angular/flex-layout              5.0.0-beta.13
@ngtools/webpack                  6.0.3
@schematics/angular               0.6.3
@schematics/update                0.6.3
rxjs                              6.1.0
typescript                        2.7.2
webpack                           4.8.3

Repro steps

run ng test --single-run true

Observed behavior
$ ng test --single-run true
Unknown option: '--singleRun'
Done in 0.69s.
Job succeeded

:warning: None of the tests run but the job succeeded :warning:
People who upgraded to angular-cli 6.x might have missed that and get their tests passing without actually running them.
Desired behavior
If the tests are not run, ng test should fail.
Mention any other details that might be useful (optional)
Possibly a bit related to https://github.com/angular/angular-cli/issues/10677

@maxime1992 ng test --watch=false should work

@gperdomor yep thanks, I've checked the doc right after and I've seen the changes.
My point here is that for people upgrading from 5 to 6 and who've missed that out... Some of them might have a :evergreen_tree: :evergreen_tree: :evergreen_tree: CI with actually no tests running.
Pretty dangerous. If tests are not running, an error should be thrown instead.

There's a PR about this problem, but it's revealing some problems in our error handling logic https://github.com/angular/angular-cli/pull/10923

Thanks for reporting this issue. This issue is now obsolete due to changes in the recent releases. Please update to the most recent Angular CLI version.
If the problem persists after upgrading, please open a new issue, provide a simple repository reproducing the problem, and describe the difference between the expected and current behavior.


Suggestion: Pre UI loading...

You might want to consider a different way/strategy of loading m3u files, since some m3u's are getting pretty tremendous.
3 strategies I can think of off the top of my head:

Let user know there is limitation to file size and that files over a certain file size will be split into multiple .m3u files.  Make it where user could export manipulations to re-merged master .m3u file.  Another idea split the .m3u silently and use a pages layout for your table instead of a scrolling layout.  When switch pages or maybe multiple pages it loads from another file in the background(instead of loading the complete file into memory).

Change strategy of how file is being loaded.  Load only so many lines of the file at a time.  Keep a pointer to where you are in the file and work your way up and down as people transverse the .m3u list.  You may have to put some kind of spinner for loading of new content.  One of the main downsides of this is figuring out how to make a search function work well.  You could parse the file in the background without completely loading the data into memory or at least avoiding it visually in the GUI.

Pre-Main GUI initialization convert to a sqlite db.  Then just run queries against the database.  Also UI elements can utilize the db over loading the whole m3u files at once.  Some UI elements pull data as needed from db to display it instead of loading everything in memory and forcing it on the UI.

3rd option would probably be the best way to solve the issues.  I might fork and mess around with it a bit.  My eyes aren't so good anymore and I get severe headaches when I strain them to code for extended periods of time.
Please take my suggestions as only constructive suggestions.  Thanks for your time and effort you have put into the project!

Please enlight me, why has somebody m3u lists with thousands of iptv links? You cannot watch them, or?
What are you doing with it?
The code was a spin off from my Kodi m3u playlist editor and is getting hard to change for bigger things. Such changes would be an idea for a
new codebase with WPF UI.
Will think about it.
PS had eye problems with working on screens too and found out that I had zinc and vitamine A level too low, both leading to bad eyes.     On Tuesday, January 30, 2024 at 07:11:04 PM GMT+1, Christopher Whitehead @.***> wrote:
You might want to consider a different way/strategy of loading m3u files, since some m3u's are getting pretty tremendous.
3 strategies I can think of off the top of my head:

Let user know there is limitation to file size and that files over a certain file size will be split into multiple .m3u files. Make it where user could export manipulations to re-merged master .m3u file. Another idea split the .m3u silently and use a pages layout for your table instead of a scrolling layout. When switch pages or maybe multiple pages it loads from another file in the background(instead of loading the complete file into memory).

Change strategy of how file is being loaded. Load only so many lines of the file at a time. Keep a pointer to where you are in the file and work your way up and down as people transverse the .m3u list. You may have to put some kind of spinner for loading of new content. One of the main downsides of this is figuring out how to make a search function work well. You could parse the file in the background without completely loading the data into memory or at least avoiding it visually in the GUI.

Pre-Main GUI initialization convert to a sqlite db. Then just run queries against the database. Also UI elements can utilize the db over loading the whole m3u files at once. Some UI elements pull data as needed from db to display it instead of loading everything in memory and forcing it on the UI.
3rd option would probably be the best way to solve the issues. I might fork and mess around with it a bit. My eyes aren't so good anymore and I get severe headaches when I strain them to code for extended periods of time.
Please take my suggestions as only constructive suggestions. Thanks for your time and effort you have put into the project!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Please enlight me, why has somebody m3u lists with thousands of iptv links? You cannot watch them, or? What are you doing with it? The code was a spin off from my Kodi m3u playlist editor and is getting hard to change for bigger things. Such changes would be an idea for a new codebase with WPF UI. Will think about it. PS had eye problems with working on screens too and found out that I had zinc and vitamine A level too low, both leading to bad eyes. On Tuesday, January 30, 2024 at 07:11:04 PM GMT+1, Christopher Whitehead @.> wrote: You might want to consider a different way/strategy of loading m3u files, since some m3u's are getting pretty tremendous. 3 strategies I can think of off the top of my head: - Let user know there is limitation to file size and that files over a certain file size will be split into multiple .m3u files. Make it where user could export manipulations to re-merged master .m3u file. Another idea split the .m3u silently and use a pages layout for your table instead of a scrolling layout. When switch pages or maybe multiple pages it loads from another file in the background(instead of loading the complete file into memory). - Change strategy of how file is being loaded. Load only so many lines of the file at a time. Keep a pointer to where you are in the file and work your way up and down as people transverse the .m3u list. You may have to put some kind of spinner for loading of new content. One of the main downsides of this is figuring out how to make a search function work well. You could parse the file in the background without completely loading the data into memory or at least avoiding it visually in the GUI. - Pre-Main GUI initialization convert to a sqlite db. Then just run queries against the database. Also UI elements can utilize the db over loading the whole m3u files at once. Some UI elements pull data as needed from db to display it instead of loading everything in memory and forcing it on the UI. 3rd option would probably be the best way to solve the issues. I might fork and mess around with it a bit. My eyes aren't so good anymore and I get severe headaches when I strain them to code for extended periods of time. Please take my suggestions as only constructive suggestions. Thanks for your time and effort you have put into the project! — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.>

The reason I personally used your tool is actually to trim those lists down to reasonable channel lists.  Your wondering why someone would have lists that long is exactly the reason I'm using your tool, I didn't create the original .m3u/.m3u8 lists(probably like most people don't).  I would never create a .m3u list with that many channels, but you got to deal with what ya got.  Also you can add VOD type content, which I don't, into those lists.  Just 1 popular TV series could be 100 or more entries.
After I tried out your tool I wrote a Python script that would just split the lists up, then I feed them into your tool and filtered out different channels(I have tried 5000 entries at a time, which worked fine in your tool).  I haven't thoroughly used your tool, so I'm not sure of it's complete capabilities.  If you want the Python script I can post it back.  Would need to add a command line -help feature and add some error checking though.

Ok, I see, you take a generic 15k lines list and delete, select the lines you need from it. The prog can handle 15k lines on my Gen8 i7 laptop, search for duplicates takes some time (I found a bottleneck, the time will half in next version). Such long lists are not good to look at, of cause.
An other user asked for a filter list, I will probably add a special tab for such a list, when I find some time for programming.
On Tuesday, January 30, 2024 at 11:29:42 PM GMT+1, Christopher Whitehead @.***> wrote:
The reason I personally used your tool is actually to trim those lists down to reasonable channel lists. Your wondering why someone would have lists that long is exactly the reason I'm using your tool, I didn't create the original .m3u/.m3u8 lists(probably like most people don't). I would never create a .m3u list with that many channels, but you got to deal with what ya got. Also you can add VOD type content, which I don't, into those lists. Just 1 popular TV series could be 100 or more entries.
After I tried out your tool I wrote a Python script that would just split the lists up, then I feed them into your tool and filtered out different channels(I have tried 5000 entries at a time, which worked fine in your tool). I haven't thoroughly used your tool, so I'm not sure of it's complete capabilities. If you want the Python script I can post it back. Would need to add a command line -help feature and add some error checking though.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.

Yea, when I said searching earlier I was referring to the highlighting.  I usually read back over my posts because I'm bad about completing half thoughts then going on to something else.  I figured you knew what I meant, but a real search filter/feature would be much much better.  Currently if you do a search it highlights based off what you type.
One other tip about the search feature.  You may want to wait until there is a minimum of 2 chars in the search box before searching.  On larger lists it will sit there and stall out just from typing 1 letter at a time.  I understand what your going for with the search feature and I'm sure it works like you want on small sets of data.  You were trying to implement a more responsive search, but that's one of the downfalls of it(I've run into that myself before).  Another tip if you want to even take it further.  Say you change it to a 2 char minimum before searching.  After the person types 2+ letters, start a timer after they type the last letter for about 3 seconds before you start their search query.  If they start typing again before that 3 seconds you cancel the search and then when they stop typing for 3 seconds it searches for that query.  It could be 2 seconds, you have to figure out the number that seems natural to actually respond to the query.  It keeps the search from being so jarring.  I think you understand what I'm talking about.
These are just suggestions.  I understand this is just something you did on the side and you may not have the heart for it anymore.  Many a projects I started in the past died by the wayside.  You work on it to get basically what you want to accomplish, then you get bored with it and don't care about making it into some professional product(and that is fine).  You learned a lot of stuff a long the way of making the project and you are happy that it did whatever you wanted it to.  People start giving suggestions and some of them you may actually think are good.  Problem is, deep down you really don't care that much anymore because the initial need has been fulfilled.  It's just not worth your time anymore.
These are not features I'm requesting of you.  I appreciate that you were willing to share your tool instead of me having to go write one myself to do similar things.  If "you" want to take the project further or maybe just learn some new tricks then the suggestions above are some things you may think about.  That's all I'm saying here.  I've already got my primary use out of it and I probably will use it again in the future.  If there are some new things you do to it, heh great.
Thanks again for sharing and saving other people time...

I always appreciate good ideas. The 2 letter threshold and the timer I will implement. Historically it was a spin-off from my Kodi m3u editor (AFAIK there is no other editor dedicated for Kodi playlists out there) and they have not more than 100-200 entries so you don't get such problems as with 10000 line lists.
Biggest problem is that I have to find time to do it.
On Thursday, February 1, 2024 at 08:22:19 AM GMT+1, slippyC @.***> wrote:
Yea, when I said searching earlier I was referring to the highlighting. I usually read back over my posts because I'm bad about completing half thoughts then going on to something else. I figured you knew what I meant, but a real search filter/feature would be much much better. Currently if you do a search it highlights based off what you type.
One other tip about the search feature. You may want to wait until there is a minimum of 2 chars in the search box before searching. On larger lists it will sit there and stall out just from typing 1 letter at a time. I understand what your going for with the search feature and I'm sure it works like you want on small sets of data. You were trying to implement a more responsive search, but that's one of the downfalls of it(I've run into that myself before). Another tip if you want to even take it further. Say you change it to a 2 char minimum before searching. After the person types 2+ letters, start a timer after they type the last letter for about 3 seconds before you start their search query. If they start typing again before that 3 seconds you cancel the search and then when they stop typing for 3 seconds it searches for that query. It could be 2 seconds, you have to figure out the number that seems natural to actually respond to the query. It keeps the search from being so jarring. I think you understand what I'm talking about.
These are just suggestions. I understand this is just something you did on the side and you may not have the heart for it anymore. Many a projects I started in the past died by the wayside. You work on it to get basically what you want to accomplish, then you get bored with it and don't care about making it into some professional product(and that is fine). You learned a lot of stuff a long the way of making the project and you are happy that it did whatever you wanted it to. People start giving suggestions and some of them you may actually think are good. Problem is, deep down you really don't care that much anymore because the initial need has been fulfilled. It's just not worth your time anymore.
These are not features I'm requesting of you. I appreciate that you were willing to share your tool instead of me having to go write one myself to do similar things. If "you" want to take the project further or maybe just learn some new tricks then the suggestions above are some things you may think about. That's all I'm saying here. I've already got my primary use out of it and I probably will use it again in the future. If there are some new things you do to it, heh great.
Thanks again for sharing and saving other people time...
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>


FEATURE: Need support for non Node.js environments (Browser Extensions).

Hi,
I use dom-to-semantic-markdown in a browser extension at https://github.com/MODSetter/SurfSense
I want to move dom processing to service worker so whole extension scripts can have access to it. (Currently only popup script have its access and it can have access to DomParser API)
Extension Background Scripts/service workers doesn't work on Node.js env. It doesn't have access to DomParser API.
Now I have tried these till now:
Without overrideDOMParser :
err:

With JSDOM:
func:

err:

With Linkedom (Global Node vars defined)  :
func:

err:

How should I try to solve this?

Hi @MODSetter !
It seems like for the most part the DOMParser is working but the content you are handling might have some properties missing, I fixed this in v1.2.5, can you try and report back?

Hi @MODSetter !
It seems like for the most part the DOMParser is working but the content you are handling might have some properties missing, I fixed this in v1.2.5, can you try and report back?

Tried the new version. Getting this now:

@MODSetter thanks for the bug report, the issue was with trying to do escapeMarkdownCharacters on a null attribute.. please try again with v1.2.7 🙏

@MODSetter thanks for the bug report, the issue was with trying to do escapeMarkdownCharacters on a null attribute.. please try again with v1.2.7 🙏

Hi @romansky
Its working now ☺ . Thanks for the quick fixes it really saved me a lot of time. Nice work 👍


Add a --output/-o option to specify mdx test output

Fixes #193
This PR adds a --output/-o option to set the output for the ocaml-mdx test command.
It used to always write to <input_file>.corrected so the default behaviour is preserved, i.e. if you do not pass the --output option, it still writes to that file.
If passed --output -, the command will write the corrected file to stdout instead of writing it to a file. Setting stdout as the output implies --force-output. This seems like the best behaviour if you want to pipe it into some other command or redirect it to a file for later diffing.
I deleted the code of Misc.run_expect_test (which isn't part of the pulbic API) since it was only used in Mdx.run. Instead I created a more generic function Mdx.run_str which returns a pair composed of the test result (whether the corrected version is equal to the input or not) and the corrected content.
It is used by two new functions Mdx.run_to_stdout and Mdx.run_to_file. The former just writes the corrected content to stdout no matter what, the second preserves the behaviour of Misc.run except that it takes an outfile argument.
I wasn't too sure about what needed to be done with the "clean up" behaviour which takes care of deleting the corrected file if it exists and the test succeeded so I kept it for any output file, whether it's the default are an explicitly specified one. I don't think it's necessary to do that when used through dune as it doesn't use the file presence alone to determine which files need to be promoted but that's unrelated to this PR.
Finally, to preserve the public API, I exposed these two new functions and re-implemented Mdx.run on top of Mdx.run_to_file so that its behaviour and signature remain the same.
I also added tests to ensure that this option works properly.
Let me know what you think!

Can you use the compat layer to keep support for 4.02? Thanks
# File "bin/cli.ml", line 113, characters 17-19:
# Error: Unbound constructor Ok

I think force-output should always be true, that would spare some effort on our hand and offer a more consistent behaviour but let's keep that for a separate PR!

Can you use the compat layer to keep support for 4.02? Thanks

Done!

I think force-output should always be true, that would spare some effort on our hand and offer a more consistent behaviour but let's keep that for a separate PR!

I meant setting force-output when --output is set. Changing the default behavior requires an other PR but this is the behavior of --output that I'm talking about. Let's not implement legacy code.

I understood what you meant, my point was that we can just tackle one thing at a time. Having --force-output implied when output is specified means having completely different behaviours for --output and the default which currently is just --output <input>.corrected.
I'd rather drop force-output completely in a future release. Let's keep the breaking changes to a minimum for the next one.

I don't agree. The default feels like --output <input>.corrected but it doesn't have to be !
My point was that this has nothing to do with the default behavior and it should be discussed and implemented correctly the first time.
This behavior (not writing a file, or worse, removing it when, as a user, I wrote it on the command-line) is not right for me.
You already implemented a special case for --output -.

Yeah it's a good point, I just fixed it!


fix: isomorphic layout effect

Goals

fix error caused by calling useLayoutEffect during SSR page generation

Issue

closes #77

Thank you so much @flaming-codes !


Plugins conflicts with older cordova-android

Expected Behaviour
Compile Android Project without error
Actual Behaviour
I get an error where on cordova platform add android the plugin is skipping
I need the Version 6.4.0 because other plugins like cordova-plugin-device are not up to date and can't find the AndroidManifest.xml because in the new cordova-android version the manifest is at another directory.
Steps to Reproduce
build with cordova android version 6.4.0
add the plugin and try to build or add the platform
Cordova CLI version and cordova platform version
cordova                           8.0.0
cordova-android        6.4.0

Plugin version
2.2.2
Logs taken while reproducing problem
Plugin doesn't support this project's cordova-android version. cordova-android: 6.4.0, failed version requirement: >=7.1.0
Skipping 'phonegap-plugin-push' for android

Sorry, we need 7.1.0 because of other fixes, so if you want to use a previous version you'll have to backport the changes you need.

@adappter I'd rather you tell me what plugins need to get updated. This plugin is relying on newer features of cordova-android so it the latest will keep it's requirement of >=7.1.0.

What version of this plugin introduced the dependency on cordova-android 7.1.0?  The documentation still says 6.2 or greater: https://github.com/phonegap/phonegap-plugin-push/blob/master/docs/INSTALLATION.md
I'm having this same problem.  I need the fix for Issue 2051, but I have other plugins that don't support cordova-android 7.x.

You can check that in the package.json
https://github.com/phonegap/phonegap-plugin-push/blob/master/package.json#L62

@AlphaCreative thanks for the heads up, I updated the installation table.