Skip to content

Commit

Permalink
fix(#1645): Encode rule name in Weak Labeling API requests (#1649)
Browse files Browse the repository at this point in the history
This PR encodes the rule name to avoid errors in the API request

Closes #1645
  • Loading branch information
leiyre authored and frascuchon committed Aug 3, 2022
1 parent f9a80cc commit b2aec8b
Show file tree
Hide file tree
Showing 2 changed files with 147 additions and 5 deletions.
136 changes: 135 additions & 1 deletion commitlint.config.js
Original file line number Diff line number Diff line change
@@ -1 +1,135 @@
module.exports = {extends: ['@commitlint/config-conventional']}
module.exports = {
parserPreset: 'conventional-changelog-conventionalcommits',
rules: {
'body-leading-blank': [1, 'always'],
'body-max-line-length': [2, 'always', 100],
'footer-leading-blank': [1, 'always'],
'footer-max-line-length': [2, 'always', 100],
'header-max-length': [2, 'always', 100],
'subject-case': [
2,
'never',
['sentence-case', 'start-case', 'pascal-case', 'upper-case'],
],
'subject-empty': [2, 'never'],
'subject-full-stop': [2, 'never', '.'],
'type-case': [2, 'always', 'lower-case'],
'type-empty': [2, 'never'],
'type-enum': [
2,
'always',
[
'build',
'chore',
'ci',
'docs',
'feat',
'fix',
'perf',
'refactor',
'revert',
'style',
'test',
],
],
},
prompt: {
questions: {
type: {
description: "Select the type of change that you're committing",
enum: {
feat: {
description: 'A new feature',
title: 'Features',
emoji: '✨',
},
fix: {
description: 'A bug fix',
title: 'Bug Fixes',
emoji: '🐛',
},
docs: {
description: 'Documentation only changes',
title: 'Documentation',
emoji: '📚',
},
style: {
description:
'Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)',
title: 'Styles',
emoji: '💎',
},
refactor: {
description:
'A code change that neither fixes a bug nor adds a feature',
title: 'Code Refactoring',
emoji: '📦',
},
perf: {
description: 'A code change that improves performance',
title: 'Performance Improvements',
emoji: '🚀',
},
test: {
description: 'Adding missing tests or correcting existing tests',
title: 'Tests',
emoji: '🚨',
},
build: {
description:
'Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)',
title: 'Builds',
emoji: '🛠',
},
ci: {
description:
'Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)',
title: 'Continuous Integrations',
emoji: '⚙️',
},
chore: {
description: "Other changes that don't modify src or test files",
title: 'Chores',
emoji: '♻️',
},
revert: {
description: 'Reverts a previous commit',
title: 'Reverts',
emoji: '🗑',
},
},
},
scope: {
description:
'What is the scope of this change (e.g. component or file name)',
},
subject: {
description:
'Write a short, imperative tense description of the change',
},
body: {
description: 'Provide a longer description of the change',
},
isBreaking: {
description: 'Are there any breaking changes?',
},
breakingBody: {
description:
'A BREAKING CHANGE commit requires a body. Please enter a longer description of the commit itself',
},
breaking: {
description: 'Describe the breaking changes',
},
isIssueAffected: {
description: 'Does this change affect any open issues?',
},
issuesBody: {
description:
'If issues are closed, the commit requires a body. Please enter a longer description of the commit itself',
},
issues: {
description: 'Add issue references (e.g. "fix #123", "re #123".)',
},
},
},
};
16 changes: 12 additions & 4 deletions frontend/models/TextClassification.js
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,9 @@ class TextClassificationDataset extends ObservationDataset {

async _getRule({ query }) {
const { response } = await TextClassificationDataset.api().get(
`/datasets/${this.task}/${this.name}/labeling/rules/${query}`,
`/datasets/${this.task}/${this.name}/labeling/rules/${encodeURIComponent(
query
)}`,
{
// Ignore errors related to rule not found
validateStatus: function (status) {
Expand All @@ -169,7 +171,9 @@ class TextClassificationDataset extends ObservationDataset {

async _deleteRule({ query }) {
const { response } = await TextClassificationDataset.api().delete(
`/datasets/${this.task}/${this.name}/labeling/rules/${query}`
`/datasets/${this.task}/${this.name}/labeling/rules/${encodeURIComponent(
query
)}`
);
return response.data;
}
Expand Down Expand Up @@ -234,7 +238,9 @@ class TextClassificationDataset extends ObservationDataset {
);
if (response.status === 409) {
const apiResult = await TextClassificationDataset.api().patch(
`/datasets/${this.task}/${this.name}/labeling/rules/${query}`,
`/datasets/${this.task}/${
this.name
}/labeling/rules/${encodeURIComponent(query)}`,
{ labels, description }
);
response = apiResult.response;
Expand All @@ -244,7 +250,9 @@ class TextClassificationDataset extends ObservationDataset {
}

async _fetchRuleMetrics({ query, labels }) {
var url = `/datasets/${this.task}/${this.name}/labeling/rules/${query}/metrics`;
var url = `/datasets/${this.task}/${
this.name
}/labeling/rules/${encodeURIComponent(query)}/metrics`;
if (labels !== undefined) {
const urlLabels = labels.map((label) => `label=${label}`);
url += `?${urlLabels.join("&")}`;
Expand Down

0 comments on commit b2aec8b

Please sign in to comment.